学习单片机必备基础:步进电动机的控制
关注微信订阅号:机械工业出版社E视界
长按上方二维码,识别二维码,加关注!
文末有福利,大家注意咯!
步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。
表1 常用的步进电动机
步进电动机及驱动器
1.步进电动机
采用两相永磁感应式步进电动机,步距角为1.8°,工作电流1.5A,电阻1.1Ω,电感2.2MH。
2.步进电动机驱动器
驱动器为SJ-23M2,具有高频斩波、恒流驱动、抗干扰性高、5级步距角细分、输出电流可调的优点。供电电压为24~40V。如图1所示。
驱动器可通过拔码开关来调节细分数和相电流。拔码开关拔向上为0,拔向下为1。拔码开关的1、2、3位用于调节步距角,拔码开关设定的每一个值对应着一个步距角(共有0.9°、0.45°、0.225°、0.1125°、0.0625°五种)。在允许的情况下,应尽量选高的细分数即小的步距角,以获得更精、准的定位。拔码开关的4、5固定为1,6、7、8用于调节驱动电流。做实验时可设为最小的驱动电流(1.7A),因为负载较小。
图1 步进电动机驱动器步进电动机驱动器的端子说明:
(1)CP:由单片机输出步进脉冲传到CP,用于驱动步进电动机的运行位置和速度。每一个步进脉冲使步进电动机转动一个步距角。该驱动器要求CP脉冲是负脉冲,即低电平有效,脉冲宽度(即低电平的持续时间)不小于5μs。
(2) DIR:方向控制。DIR取高电平或低电平,改变电平就改变了步进电动机的旋转方向。注意:改变DIR电平,需在步进电动机停止后且在两个CP脉冲之间进行。
(3)FREE:脱机电平。若FREE=1或悬空则步进电动机处于锁定或运行状态;若FREE=0,则步进电机处于脱机无力状态(此时用手能够转轴)。
(4)A、Ā、B、B为驱动器输出的用于驱动步进电动机运行的电压信号。
步进电动机位移装置与及保护装置
步进电动机位移装置与及保护装置如图2所示。
图2 YL-236单片机实训台步进电动机模块1.位移机构
步进电动机转轴上设有皮带轮,步进电动机转动时,皮带轮转动,拖动传送带(皮带)运动。有游标固定在传送带上。另设有150mm的标尺,所以电动机运行时,游标会在标尺上移动。通过编程控制步进电动机的运行,可以实现标尺的精确定位,这一特点可以模拟很多动作机构的运行。
2.左右限位、超程保护装置
左右限位、超程保护装置采用了槽式光耦传感器(又称光遮断器),如图3所示)。其工作原理是,当没有物体进入槽内,传感器内的红外发光管发出的红外光没有被挡住,光敏晶体管饱和导通,传感器输出低电平;当有物体进入槽内,传感器内的红外发光管发出的红外光被挡住,光敏晶体管截止,传感器输出高电平。
在位移机构的左限位处设有两个槽式光耦传感器。一个用于通过编程的方式来限位(限制不能再向左移动);另一个用于超程保护(即限位失败后,可通过硬件来进行保护)。在右限位处也是这样。
图3 槽式光耦传感器(1)编程限位。在传送带上除固定有游标外,还固定有一个遮光块。从图2可以看出,当游标向左移动时,遮光片在向右运动。当游标运动到标尺0刻度时,遮光块就已接近右限位保护装置(即槽式光耦传感器)了。当遮光片再向右移动进入右限位光耦传感器时,传感器输出高电平。编程时通过检测该电平,终止步进电动机的驱动脉冲,就能使步进电动机停止。左限位的方法也是这样。限位光耦传感器电路如图4所示。
图4 步进电机模块的左、右限位光耦传感器(是一样的)(2)步进电动机模块的超程保护。如果编程不当导致限位失败后,遮光片会继续沿原来的方向移动,会进用于超程保护光耦传感器,传感器会输出高电平,通过晶体管驱动继电器动作,切断给步进电动机驱动器的+24V供电,从硬件上保证电动机能立即停止,以实现超程保护,原理如图5所示。
图5 超程保护的原理图3.多圈电位器
步进电动机转动时,会带动多圈电位器也随着转动。当给多圈电位器加上电压时,多圈电位器的输出端会输出变化的电压,该电压与游标移动的距离有近似线性的关系。
步进电机模块游标的归零
1.思路
上电后游标向左运动,遮光片向右运动,当右限位检测到遮挡物时(即RL为高电平时),游标肯定已移动到0刻度的左边了。这时使步进电动机短时停止,再给步进电动机838个脉冲,改变步进电动机的旋转方向,游标向右运动,当步进电动机走完838步时,即可到达0刻度。
注意:步进电动机驱动器采用不同的细分,步距角是不一样的。该示例采用的细分是011,对应的步距角为0.1125°,在此条件下试验,得出当遮光片到达右限位后,游标归0需要的脉冲是838个。不同的设备该值有所差异,可酌情修正。
2.程序代码示例
说明:这种用延时函数产生脉冲的方式,在综合时项目里,步进电机可能干扰其他功能。最好是用定时器来控制脉冲的产生,在下面的任务中就采用定时器来产生脉冲。
步进电动机的定位
1.任务书
利用YL-236实训台的步进电动机模块,实现游标从任意位置归0并在0刻度停5s,再移动到5cm处并停3s,再移动到10cm处。
2.思路
首先要测量不同细分数时游标移动1mm所需的脉冲。其方法如下。
我们可以在没上电时(步进电动机处于脱机状态),手动旋转转轴使游标归0,再编程,随意地给步进电动机加1000个、2000个、5000个或10000个脉冲,观察步进电机会停止的位置(设为X毫米处)。再用X除以加的脉冲的个数,就可得每毫米所需的脉冲个数。经实验得出,当设置驱动器采用最小步距角时每毫米所需的脉冲个数为137~138个。不同的设备有所差异,可自行修正。
3.程序示例
4.总结
驱动步进电动机的关键是掌握归0和精确定位的方法。脉冲的个数须根据示例中的数据结合具体的设备进行修正。
步进电动机可结合按键、显示、直流电机等进行综合应用,可以做本文及后续的训练任务。
-THE END-
选自《51单片机C语言编程一学即会》
往期精彩
LED入门基础知识:LED发光原理、封装形式、技术指标及注意事项
↓↓↓