教程 · 中级 · 35 分钟

步进电机工作原理:滞后角与丢步

步进电机并不是一步一步走——而是让转子被旋转磁场拖着走。这解释了微步、丢步,以及为什么电机不在你以为的位置。

让步进电机讲通的那一句话

步进电机并不“迈步”。

这听起来像个文字游戏,但它是关于这个零件最有用的单一事实。驱动器真正做的是在电机内部以小增量旋转一个磁场。转子是带齿的永磁体,它跟随磁场的方式就像指南针的针跟随磁铁——不是因为有人告诉它要跟,而是因为它被拉。

所以转子永远落在磁场后面。它必须如此:如果它和磁场完全对齐,它身上就没有任何力,既克服不了摩擦,也驱动不了负载。磁场指向的方向和转子实际所在方向之间的夹角有个名字——滞后角,有时也叫负载角——而步进电机几乎所有让人意外的行为,都是关于这个角度的事实。

一张正弦曲线:转矩除以保持转矩,对指令磁场与转子之间的滞后角(以电角度计),从负 180 跑到 270。负 90 到正 90 之间的区域用阴影标为稳定区。90 度处有一个红色标记标注为失步拉脱,并注明越过该点之后转矩随转子继续滑落而下降。约 26 度处有一个琥珀色标记,标为真实负载所在位置,峰值的 43%。负 180 和 180 处的标记标为不稳定。注解指出一个整步等于 90 电角度。
步进电机的全部行为就在这一条曲线里。转矩正比于滞后角的正弦,所以它在 90 电角度处达到峰值——正好是一个整步——然后随转子落得更远而下降。下降的那一半就是陷阱。 下载 SVG

写下来,整个模型就是一行:

T = T_peak × sin(δ)

其中 δ 是以电角度计的滞后角。下面所有内容都是它的推论。

电角度,以及 1.8° 的电机

步进电机是按机械角度标称的——一台“1.8° 电机”每走一个整步轴转 1.8°,于是每转 200 个整步。但磁性的重复比轴快得多。标准混合式电机有 50 个转子齿,所以磁周期每轴转重复 50 次:

量 机械 电气
一个整步 1.8° 90°
一转 360° 18 000°(50 个周期)
峰值转矩处 落后 1.8° 落后 90°
稳定范围 ±1.8° ±90°

这个换算是你唯一需要的算术:一个整步永远等于 90 电角度,对每一台 1.8° 电机都成立。所以稳定范围——落后越多、转子被往回拉得越狠的那个范围——是 ±1 个整步,而 180° 的不归点只落后两个整步。

步进电机为什么会丢步

再回头看那条正弦曲线。在 −90° 到 +90° 之间,电机表现得像一根弹簧:落后越多,被拉得越狠。这是一个稳定平衡点,也正是步进电机在完全没有编码器、没有反馈的情况下能开环运行的原因。转子会自我纠正。

越过 90°,正弦开始翻转。此时再落后更多,往前拉你的转矩反而更弱。于是你落得更远;于是它更弱;到了 180°,转矩整个变号,开始把转子推向下一个极而不是拉回这一个。从那里开始,转子一路滑到下一个稳定齿面上,那整整是一个电周期之外。

所以 90° 就是稳定负载跑到路的尽头:越过它就没有可以待住的平衡点,只有一个斜坡。短暂的越过 90° 仍然可能撑得过去——只要转子有动量能回来——整步驱动在每个步沿上正是这么干的,每次冲到大约 100° 再收回来——但一个停留在 90° 之外的负载已经在下坠了。

这就是丢步,它有三个值得记住的性质:

  • **它是安静的。**没有编码器。驱动器继续数脉冲,固件继续相信这些脉冲,于是机器心里自己所在的位置永久地错了。此后每一次移动都是偏的。
  • 它以四为倍数来。转子落在下一个稳定点上,那是一个电周期之外——360 电角度,也就是四个整步。步进电机绝不会丢一步。它丢四步、八步,或者一百步。
  • **它自己永远修不好。**之后在反方向上丢的步,除了巧合之外不会把它抵消掉。

步进模拟器是直接积分这套规律,而不是把它脚本化:代码里没有任何东西在找丢步。转子的运动方程就是上面那条正弦律,而当 sin(δ) 翻转时,转子自己就失步了——而报出来的损失总是四的倍数。

是什么让滞后角变大

有三样东西,而把它们区分开正是诊断一台机器的方法。

**负载。**在稳态运动中,滞后角会稳定在“产生的转矩等于需要的转矩”的那个位置:

sin(δ) = torque demanded ÷ peak torque available

峰值 43% 的负载坐在 26 电角度上。71% 的负载坐在 45°。100% 的负载坐在 90°——正好在悬崖边上,余量为零。这就是为什么通常的建议是按步进电机一半的可用转矩来选:不是因为迷信安全系数,而是因为一半转矩是 30 电角度的失步,给你留下 60° 的余量去应付那个你没有建模的瞬态。

**加速度。**让转子动起来同样要转矩,而那份转矩出自同一个预算。加速期间需求是 负载 + J × α,所以滞后角最糟的时刻在斜坡上,而不是在稳速时。对一台静止的电机下令立刻全速跑,指令磁场就窜了出去,而转子还在收拢自己——一两毫秒内失步就超过 90°,而没有任何东西把它拉回来,它就继续下去,电机只是在原地嗡嗡响。这个极限有个名字:起动率,也就是从静止出发、不加斜坡时你能下发的最高步进率。

**速度。**这一项最不显然,却是现实故障最常见的原因,它值得单独一节。

转矩随速度下降,而保持转矩是一个营销数字

电机标签上的数字——“0.44 N·m 保持转矩”——是在轴静止、绕组里流着额定电流的条件下测出来的。它对一台正在动的电机几乎什么都说明不了。

绕组是一个电感。为了产生转矩,驱动器必须把电流灌进去,然后一遍又一遍地把电流反向,而且随着电机加速越来越快。有两样东西在反抗:

  • **感抗。**绕组对电流变化的阻碍正比于电频率,而电频率是轴速的 50 倍。
  • **反电动势。**旋转的永磁转子自己产生电压,反抗电源。超过某个速度,电源根本就把电流灌不进去。
固定 1.2 安限流下,一台电机的失步拉脱转矩(牛顿米)对电机转速(转每分)的曲线,画了三种电源电压。每条曲线在 0.311 牛顿米处平直到一个拐速然后下降:12 伏时 280 转每分,24 伏时 599 转每分,36 伏时 907 转每分。一条虚线参考线标出 1.2 安下的保持转矩。
同一台电机、同一个限流、三种电源电压。平直的那一段是驱动器还赢的地方;拐速是它不再赢的地方。电压会移动这个拐点,这也正是 3D 打印机从 12 V 迁到 24 V 的全部原因。 下载 SVG

于是产生了两条规则,在机器跑不够快时很要紧:

现象 改什么 为什么
低速下带载就堵 提高限流 拐点以下,电流直接决定转矩
只有高速时才堵 提高电源电压 拐点以后,是电压在强行把电流灌进去
到处都堵 电机选错了,或者负载太大 没有任何设定能救一台选小的电机

更多安培买转矩,更多伏特买速度。为了解决高速堵转去加大电流,一点用都没有,因为过了拐点驱动器本来就从来没达到设定电流——而你只会换来一个发烫的电机。

微步:它能做什么,不能做什么

微步的意思是通过混合两相电流,让磁场只转一个整步的一个分数,而不是让两相彻底地开关切换。在 1/16 步下,一个 STEP 脉冲让磁场前进 5.625 电角度,而不是 90。

它真正修好的是振铃。转子是一个几乎没有阻尼的、装在磁弹簧上的质量。每次被踢 90 电角度,它就会冲过头、振荡、然后稳定下来——听得见也看得见。那就是整步电机的噪声,也是它在表面加工上留下的波纹。把这个冲击除以十六,激发就几乎消失了。

这一点是能量出来的。用同样的轴、同样的速度、同样的负载驱动,并记录滑车偏离指令路径多远:

微步 步长(GT2 皮带) 相对路径的最坏偏差 负载带来的稳态误差
整步 0.200 mm 0.127 mm 0.049 mm
1/2 0.100 mm 0.082 mm 0.045 mm
1/4 0.050 mm 0.061 mm 0.044 mm
1/8 0.025 mm 0.050 mm 0.044 mm
1/16 0.0125 mm 0.045 mm 0.044 mm

把最后两列对着读,因为它们就是整个论证。十六倍的分辨率换来大约 2.8 倍更好的跟踪,然后就再也不改善了——而负载造成的稳态误差一动不动。整步下是 0.044 mm,十六步下还是 0.044 mm。第三列的曲线正在向第四列压平,而第四列并不是由分辨率构成的。

微步修不好的是滞后角。在这个负载下,转子坐在磁场后面大约 20 电角度,也就是 0.4 机械角度,在这根轴上就是 **0.044 mm 的位置误差。**整步下那是四分之一个步,没人会注意。1/16 步下同样的 0.044 mm 是 3.5 个微步,而驱动器正自信地报告一个它根本不在的位置。把步长除细,让那个误差以步为单位看起来更大,而它对误差本身什么都没做。

原因值得明说。要把位置保持在离定位点一个微步的地方,电机要产生 T_peak × sin(90° ÷ 微步数)——每个微步可用的转矩随着你细分的程度而崩塌:

微步 保持一个微步的转矩 占保持转矩的比例
整步 sin(90°) 100%
1/8 sin(11.25°) 19.5%
1/16 sin(5.625°) 9.8%
1/256 sin(0.352°) 0.61%

最后那个数字和驱动文献里引用的 1/256 微步数值吻合,而这就是整件事:在很细的细分下,区分一个微步和下一个微步所需的转矩,比你机器里的摩擦还小。转子在物理上根本分不出它们。它要等到累积的指令大到足以克服摩擦才动,然后就一次动好几个微步。

**所以:要用微步去换平滑和安静,不要用它换精度。**如果你需要位置是对的,你要么需要足够的转矩余量,要么需要一台编码器。

亲眼看到它发生

最有用的实验也是最便宜的那个。在步进模拟器里,把一次 60 mm 的移动跑两遍,除了斜坡之外一切都相同:

有加速度斜坡 直接下发全速
峰值滞后角 25°——舒服 1.2 毫秒时越过 90°,到 3.0 毫秒才消失
丢的整步数 0 280
轴最终停在哪 60.00 mm 4.0 mm

同一台电机、同一个驱动器、同一个限流、同一个目标。唯一的区别是步进率有没有加斜坡,而它们之间的差别就是整次移动的差别。这就是为什么运动曲线对步进机器来说不是锦上添花——它是让机器能工作的那件事。

出问题时

现象 可能原因 怎么办
电机巨响却不转 下发的步进率超过起动率 加加速度斜坡;检查起步速度
每打印几毫米就漂,永远朝一个方向 在斜坡上丢步 降加速度、提电流,或者放慢
低速正常,一加速就堵 超过了拐速 提高电源电压——电流帮不上忙
位置错了一个四个整步的倍数 典型的极滑移 找出是哪一次动作过载了;计数会告诉你丢了多少
电机烫到碰不得 限流太高,或者电机真在干活 60–80 °C 属正常;拿限值对一下额定
只在某个特定速度上又粗又吵还振 中频共振 改微步设置、加大阻尼,或者避开那个速度
两组线圈被接成了一对 线序配错 测电阻:一对是几欧,配错则开路

通向哪里

一旦滞后角进了你的脑子,步进世界的其余部分就不再是一堆互不相关的规则。给 A4988 设限流就是在设 T_peak。选皮带还是丝杠就是在选一毫米的误差要花掉你多少电角度。对着限位归零是一台开环机器恢复它永远无法测量的绝对位置的办法。而运动曲线是让滞后角在整次移动中都待在 ±90° 以内的东西。

它们是同一条正弦曲线的四个面。

探索关联图谱

本教程所属的搭建

包含本教程的项目和学习路线。

延伸阅读

参考资料