步进电机工作原理相比直流电机更复杂一些,网上资料也较多,我也不做过多讲解。下面贴出的是我认为讲的比较好的原理介绍。
步进电动机
步进电机及其工作原理
★步距角:改变一次通电状态(或者说一个脉冲信号)电机转子对应转过的角度。θ=360°/(z*n),θ是步距角,z是转子齿数,n是工作拍数。
★在非超载情况下,电机的转速和停止位置只取决于控制脉冲信号的频率和脉冲数;
★脉冲数越多,转动角度越大;频率越高,转动速度越快(不能超过电机规定的最高频率)。
28:步进电机的有效最大外径是28毫米
B:表示是步进电机
Y:表示是永磁式
J:表示是减速型(减速比1:64)
48:表示四相八拍
(实际应用中,此种步进电机用的不多,更常见到是后面介绍的双极性两相步进电机)
★该电机是4相,最多可采用8拍的工作方式,此时步距角最小,为5.625°。但是此步进电机还配有减速齿轮,减速比为1:64。因此,实际上每拍电机转动5.625/64≈0.08789°,即转动一圈需要4096拍。
★使用时就简单看成下面这幅图即可(仔细推敲会发现这个图算出步距角与此电机给的并不相符。因为实际上28BYJ-48电机的内部结构与此有些差异。具体可看这篇文章:步进电机28BYJ(个人总结版)。)
此为该图片原文链接:28BYJ-48单极性步进电机。个人认为此文分析有误,感兴趣可以推敲一下。
★该电机属于单极性电机,即有一个公共端(红线,接VCC),只需对其余四根线对应施加低电平即可实现转动。每相中的电流只有一个流向。
有以下几种工作方式:(A相-橙线,B相-黄线,C相-粉线,D相-蓝线)
1.单四拍:A—B—C—D;
2.双四拍:AB—BC—CD—DA;
3.八拍:A—AB—B—BC—C—CD—D—DA;
以八拍为例:(如果要改变转动方向只需从后向前变化:⑧->⑦·····②->①,四拍也是如此)
拍序号 | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ |
---|---|---|---|---|---|---|---|---|
红线 COM | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
橙线 A相 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
黄线 B相 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
粉线 C相 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
蓝线 D相 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
比较:双四拍由于每拍两相通电,因此比单四拍输出的扭矩更大。八拍工作时的步距角是四拍工作时的1/2,即精度更高。
经测试,空载时正常工作的频率范围约200Hz~2000Hz。(每个电机性能可能略有差异)ULN2003是一种新型的七路高耐压、大电流达林顿晶体管驱动IC。可用于驱动继电器、电磁阀、步进电机等。每路输出电流可达500mA。使用上面的28BYJ-48步进电机时多会选择此芯片进行驱动。
1~ 7脚为输入口;
8脚接地;
9脚为公共端COM(具体使用后面介绍);
10~16脚为对应输出口。
★从驱动的逻辑图可看出,此芯片实际类似于一个反向器,若输入口为高电平,输出口对应低电平;输入低电平,输出对应高电平。
★此即为一路输入输出的内部结构图,原理十分简单。两个NPN三极管构成达林顿结构,提高了电流放大倍数。其中基极B连接输入脚;集电极C连接输出脚;COM为公共端,所接的二极管即上面逻辑框图中的二极管。
★当基极B为高电平时,三极管导通,电流可通过三极管到地(开启);当基极B为低电平时,三极管截止,电流无法到地(关闭)。类似于一个三极管开关电路。
★公共端COM接二极管实际上是提供一个续流回路,接感性负载时(如继电器,步进电机等),需要将其接到负载电源上。如下图所示:这样就可以在断开后释放感性元件上储存的能量,防止烧坏其他元件。(Tip:如果驱动的是阻性元件,则不需要接,悬空即可)。
用ULN2003对此步进电机进行驱动十分简单,基本不需要外接任何元件。如下图所示:
★其中接电阻和发光二极管可以起到指示的作用,当一相导通时对应LED会亮(如果不需要,可去掉)。
★ULN2003的输入端接单片机的I/O口。需注意:ULN2003内部是反相器,编程时输入要对应取反。
★ULN2003中达林顿结构的开启电压在2.5V左右,因此3.3V逻辑电平的单片机也是可以驱动的。只是相比5V的逻辑电平驱动,最大输出电流可能会有所减小。(三极管的特性)
对于双极性步进电机与单极性的差别可以看下面两篇文章:
双极性步进电机知识
单极性驱动和双极性驱动的区别
简单来说:单极性步进电机工作时,每相线圈绕组中电流是单向的,通过每相的轮流导通来控制转动;而双极性步进电机工作时,每相线圈绕组中电流是双向的,通过切换电流流向以及每相的轮流导通共同控制转动。
因此双极性步进电机的驱动方式较为复杂。
42步进电机是一款2相4线的步进电机。其中42是指安装机座尺寸是42mm。八拍工作时,步距角最小,为1.8°。
内部原理可简单看成下图:(想了解42步进电机的内部拆解可点击此链接)
★如上图所示,通过A、B两相的导通以及每相中电流方向的改变可以改变定子上的磁极,从而实现转动。虽然原理相比单极性有所改变,但控制的逻辑基本类似。
★上图的左下角是一般情况下对应的接线。(如有不同,以购买的说明为准)
★下面说明控制逻辑:
1.单四拍:A — B — A- — B-;
2.双四拍:AB — BA- — A-B- — B-A;
3.八拍:A — AB — B — BA- — A- — A-B- — B- — B-A;
仍以八拍为例:(如果要改变转动方向只需从后向前变化:⑧->⑦·····②->①,四拍也是如此)
拍序号 | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ |
---|---|---|---|---|---|---|---|---|
黑线 A | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
绿线 A- | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
红线 B | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
蓝线 B- | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
在直流电机驱动时已经具体介绍了此芯片,此处不再赘述。其他类似的双H桥芯片均是同样原理。
如上图所示将42步进电机的四根线依次接到两个H桥的输出端。通过输入端的逻辑控制改变H桥的工作方式,从而实现步进电机的转动。
★此为其中一个H桥的逻辑控制表。在用此类芯片驱动步进电机时,只需关注正反转两种工作方式,驱动直流电机时的衰减模式和PWM控制此时均不需要。(衰减模式将在后面一种芯片中使用到)
★从上表可发现:IN和OUT的电压高低是对应的。因此当把两个H桥的输入接到单片机的I/O后,只需根据上面42步进电机不同工作方式(四/八拍)的逻辑对应设置,即可正常驱动此电机。
★DRV8825同样是一款集成了双H桥的PWM电机驱动芯片,专门用于驱动两相步进电机。
★内部集成了一个专门用于控制步进电机的1/32微步进分度器,也就是常说的细分。
★输入的驱动电压为8.2~45V,输出峰值电流为2.5A。
★与DRV8825基本相同的还有一款A4988芯片,最大不同在于此芯片最多16细分,网上也有其对应模块。
引脚名称 | 引脚标号 | I/O | 功能 | 引脚名称 | 引脚标号 | I/O | 功能 |
---|---|---|---|---|---|---|---|
CP1 | 1 | I/O | 用于外接电荷泵的飞跨电容,需在CP1和CP2之间接一个0.01uF,耐压50V的电容 | V3P3OUT | 15 | O | 3.3V电压输出,需要一个0.47uF,耐压6.3V的陶瓷电容接地 |
CP2 | 2 | I/O | 同1脚 | nRESET | 16 | I | 复位控制输入,低电平时初始化分度器逻辑并关闭H桥输出 |
VCP | 3 | I/O | 提供高端基极驱动电压,需接一个0.1uF耐压16V的陶瓷电容和一个1MΩ的电阻到VM | nSLEEP | 17 | I | 睡眠模式控制输入,低电平时进入低电压睡眠模式,高电平使能芯片 |
VMA | 4 | – | H桥A的驱动电压,需接一个0.1uF的旁路电容到地 | nFAULT | 18 | OD | 当温度过高或通过电流过大时会输出低电平进行提示 |
AOUT1 | 5 | O | H桥A的输出1 | DECAY | 19 | I | 电流衰减模式选择:低电平时为慢衰减,高电平时为快衰减,悬空/高阻态时为混合衰减 |
ISENA | 6 | I/O | H桥A的电流控制,可通过一个电阻接地限制电流(不限电流时直接接地) | DIR | 20 | I | 方向控制输入,高低电平代表不同方向 |
AOUT2 | 7 | O | H桥A的输出2 | nENBL | 21 | I | 使能输入 ,高电平关闭芯片,低电平打开芯片 |
BOUT2 | 8 | O | H桥B的输出2 | STEP | 22 | I | 步输入 |
ISENB | 9 | I/O | H桥B的电流控制,可通过一个电阻接地限制电流(不限电流时直接接地) | NC | 23 | – | 空脚 |
BOUT1 | 10 | O | H桥B的输出1 | MODE0 | 24 | I | 和MODE1、MODE2一起进行微步进(细分)模式控制,具体对应下面贴出 |
VMB | 11 | O | H桥B的驱动电压,需接一个0.1uF的旁路电容到地,必须和VMA所接电压相同 | MODE1 | 25 | I | 同上 |
AVREF | 12 | I | H桥A电流限制时的比较参考电压,可以接在V3P3OUT引脚上 | MODE2 | 26 | I | 同上 |
BVREF | 13 | I | H桥B电流限制时的比较参考电压,可以接在V3P3OUT引脚上,一般和AVREF相同 | nHOME | 27 | OD | 当转到homestate位置时输出一个低电平 |
GND | 14 | – | 接地端 | GND | 28 | – | 接地端 |
此芯片很多引脚都与一般的双H桥芯片类似,有以下几点不同:
★1.不再是以AIN1、AIN2这样的引脚来控制H桥,而是直接集成为一个STEP脚,只需对其输入脉冲,便可实现步进电机的转动。
★2.控制DIR引脚的高低电平可直接实现正反转;控制DECAY引脚的高低电平可实现衰减模式的切换。
★3.nHOME脚,从上电开始电机转过45°的位置是home state.电机转到home state时nHOME脚会输出一个低电平。
★4.三个MODE脚的组合便可实现不同细分度的切换。
注: 很多H桥芯片中都会出现VCP这样的脚,具体可查询电荷泵的工作原理(飞跨电容、飞跨二极管等)
简单点理解:所谓细分,其最终效果就是可以将步进电机的步距角再一次减小。
★例如:上述电机的步距角为1.8°,即转一圈需要200个脉冲。此时如果把芯片控制为1/8细分,那么就会变成转一圈需要1600个脉冲。
同时需要注意:细分的主要目的是减弱或消除步进电机的低频振动,提高运转精度只是附带功能。如果细分度过大,电机无法达到,也会出现输入多个脉冲才会产生一次转动的现象。
在电机实际使用时,如果对转速要求较高,且对精度和平稳性要求不高的场合,不必选大细分。如果转速很低情况下,应该选大细分,确保平滑,减少振动和噪音。
有关细分的具体原理可看下面这篇文章:
步进电机的细分控制原理
网上模块的原理图:
★如上图,模块中常常有一个电位器接在电流比较的参考电压引脚上。通过改变比较电压从而调节H桥可通过的最大电流。
I m a x = V r e f 5 ⋅ R I S E N X , 其 中 5 为 D R V 8825 的 增 益 ( 看 作 常 数 即 可 ) \begin{aligned} I_{max}=\frac{V_{ref}}{5·R_{ISENX}},其中5为DRV8825的增益(看作常数即可) \end{aligned} Imax=5⋅RISENXVref,其中5为DRV8825的增益(看作常数即可)
★DECAY脚悬空,默认为混合衰减模式。(此模式为快慢衰减结合,具体原理可百度)
★由于nSLEEP和nRESET两个引脚内部均有下拉电阻(即不接时默认为低电平);而nFAULT脚通过内部的三极管,默认为高电平(具体可看手册中的框图)。因此,在模块中通过电阻R5将nFAULT脚和nSLEEP相连,使得nSLEEP也默认变为高电平(不进入睡眠模式)。当过温或过流时,nFAULT输出低电平,这不仅会在模块输出口反应出来(右边的7脚),还会使nSLEEP变为低电平,从而进入睡眠模式。在使用此模块使常常将nSLEEP和nRESET脚相连(左边的3、4脚),从而使nRESET也受到相同的控制效果。