059、步进电机闭环控制:编码器反馈
从一次丢步事故说起
去年做一台三轴点胶机,Z轴用的是57步进电机加1:5行星减速器。调试时发现一个诡异现象:点胶针头在连续工作半小时后,Z轴原点位置会漂移0.3mm左右。起初怀疑是丝杠间隙,换了C3级滚珠丝杠,问题依旧。最后用示波器抓了驱动器的STEP脉冲和电机实际电流波形,才确认是步进电机在高速启停时发生了丢步——驱动器发了1000个脉冲,电机只走了997步。
这就是典型的开环步进系统痛点:你永远不知道电机是否真的走到了指定位置。除非你装一个编码器,让电机学会“回头看”。
编码器选型:别被分辨率忽悠了
步进电机闭环控制的核心是编码器反馈。但选型时有个常见误区:盲目追求高分辨率。
我见过有人给57步进电机配了17位绝对值编码器(131072线),结果发现电机在低速时抖动得像筛糠。原因很简单:步进电机的步距角通常是1.8°(200步/圈),细分后能做到0.9°甚至0.45°。但编码器分辨率太高时,位置环的误差信号会包含大量量化噪声,导致PID控制器输出剧烈波动。
实际经验:对于大多数步进电机闭环应用,1000线增量式编码器(4000计数/圈)已经足够。如果要求更高精度,2000线(8000计数/圈)是上限。再往上,要么换伺服电机,要么做好滤波算法。
另外注意编码器类型:增量式便宜但断电丢位置,绝对值式贵但省心。如果做多轴联动(比如雕刻机),建议用绝对值编码器,否则每次上电都要回零,很烦。