当控制环境比较恶劣,周边可能存在大型的电机对电磁抗干扰能力影响较大时,管道闸中的阀门控制将面临一定挑战和障碍,面对这种情况,该如何明确阀门的位置和检测扭矩?世健邀请了客户——行业资深工程师阮工来分享他的实战案例。
ADI的TMC5160是一款高度紧凑的步进电机控制器和驱动器IC,具有最低功耗和最高动态性能的功率级,能确保无噪音运行,结合最高效率和最佳电机扭矩。阮工运用TMC5160 StallGuard2,通过编码器来判断阀门是否已经开启或关闭,通过扭矩判断阀门是否异常不能打开和关闭。该项目输入参数如下表:
图1.输入参数
图2.系统架构
电源电压输入部分
步进电机驱动部分
通信部分
位置反馈
程序调试
- IHOLD_IRUN 0X10:电流寄存器-设置合适的电流,设置电流大小直接影响电机的负载能力。设定电流改变后sgt值也需要调节。
图3.IHOLD_IRUN 电流寄存器表
- VMAX 0X27 最高速度,使用StallGuard2的最佳工作速度范围在10-300PRM,不同的电机速度有所区别。
图4.VMAX最高速度寄存器表
- SW_MODE 0X34: sg_stop 10bit- 1:启用STALLGUARD 2功能。
图5.sg_stop寄存器表
- COOLCONF 0x6D: 16bit-22bit StallGuard2 阈值,该值用于设置灵敏度;24bit-标准/滤波模式。
图6.COOLCONF 寄存器表
- TCOOLTHRS 0X14:使能CoolStep和StallGuard2功能的下限速度,到达此值电机停止并保持。
图7.TCOOLTHRS 寄存器表
- DRV_STATUS 0X6F: StallGuard2值和驱动错误标志0-9bit SG_RESULT(负载值) 用于监测电机所剩的扭力。
图8.SG_RESULT 寄存器表
1.以适用的正常运行速度运行电机,并监控SG_RESULT 。
2.缓慢增加电机的机械负载。如果电机在SG_RESULT达到0之前停止,则减小SGT。如果
SG_RESULT在电机停止之前达到0,则增大SGT。0是SGT初始值。SGT是有符号的,可正可负。
3.将TCOOLTHRS设置为高于TSTEP的值,并启用sg_stop使能堵转停止功能。确保电机在停机时安全停止。如果电机在堵转发生前停止,增加SGT。通过禁用sg_stop或读并写入RAMP_STAT寄存器(写+清除功能)重新启动电机。
4.在电机增加负载堵转前,SG_RESULT最佳范围大约在0和10之间,且在没有负载的情况下SG_RESULT增加100或更多时。在大多数情况下,SGT应在某个运动速度或速度范围调整。确保设置在一定范围内(例如所需速度的80%至120 %)以及极端电机条件下(最低和最高适用温度)工作可靠。
允许自动调整 SGT 的可选步骤
1.以小于10 RPM(即每秒几个至几十个全步的低速运行电机,并获得目标运行电流和电源电压。)在此速度范围内,SG_RESUL对电机负载的依赖性不大,因为电机不会产生显著的反电势。因此,机械负载对结果影响不大。
2.打开sfilt滤波器。将SGT从0逐渐增加到SG_RESULT开始增加。当SGT值较高时,SG_RESUL将上升到最大值,继续增大SGT则SG_RESULT会溢出到0。 现在,SGT值被设置成最大敏感。当看到SG_RESULT以较高的速度增加时,则检测到堵转。