栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > 学术 > 人文期刊 > 科技视界

基于STM32的步进电机运动状态闭环检测系统设计

基于STM32的步进电机运动状态闭环检测系统设计

胡向东

摘 要为了实时检测步进电机在运动过程中是否发生了失步或者堵转情况,设计一种基于STM32的闭环检测系统。系统中使用STM32F429微处理器向步进电机驱动器发送控制信号,并通过增量编码器将步进电机的运动状态反馈到STM32F429中,以此来构成一个闭环的控制系统。使用该系统可以实时确定步进电机的运动状态,从而判断出步进电机是否在运动的过程中发生了失步或者堵转的情况。

关键词步进电机;控制信号;闭环控制;增量编码器;STM32F429

0 引言

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件[1]。步进电机驱动器每接收到一个控制信号,就驱动步进电机按设定的方向转动一个固定的步距角。由于步进电机的转动角度仅与其驱动信号的脉冲个数有关,其控制过程非常简单。步进电机每转动一圈所需要的脉冲个数是固定的,因此其只有单步转动过程中产生的单步误差而没有连续转动产生的累积误差。步进电机的这种特点使其在工业中的精确位置控制领域得到了广泛的应用。步进电机实现精确位置控制的前提条件是,其在转动过程中不发生失步或者堵转的情况。在实际应用中,步进电机会由于其驱动频率太高或者变化速度太快以及其驱动负载的改变而导致失步,从而使步进电机的位置控制精度下降,严重时会产生堵转,使步进电机无法正常工作。因此,对步进电机运动状态的检测便显得十分重要。本文使用STM32F429微处理器作为主控制器构成一个闭环的步进电机控制系统来对步进电机的运动状态进行检测,通过该系统可以实时检测步进电机是否发生了失步或者堵转的情况。

1 系统方案设计

用于检测步进电机失步或者堵转情况的步进电机闭环控制系统结构如图1所示。在该闭环控制系统中,STM32F429微处理器发送控制信号到步进电机驱动器;驱动器接收到该控制信号后,根据设定的驱动参数来驱动步进电机;步进电机通过联轴器带动增量编码器进行转动;增量编码器在转动过程中向STM32F429微处理器发送反馈信号;STM32F429对反馈信号进行处理后得出步进电机当前的运动状态,并将该结果输出到TFTLCD顯示屏上进行显示。

2 步进电机驱动与信号反馈

步进电机选用雷赛公司生产的42HS03两相混合式步进电机,该型号步进电机的基本步距角为1.8°,单步运动误差为±5%。42HS03上有黑、绿、黄、橙、红、蓝、白、棕8根引出导线,对其进行驱动时,将黑、绿、黄、橙四根导线串联构成步进电机的A相绕组,将剩下的四根导线串联构成B相绕组,相绕组的具体串联方式如图2所示。

驱动器选用雷赛公司的高性能数字式两相步进驱动器,型号为DM542S。该驱动器采用32位DSP技术,利用驱动器上的拨码开关既可以对常用的8档电流进行选择,也可以对16档细分驱动进行选择,其对控制信号的响应频率最高可达200kHz,具有过压、短路等保护功能。该驱动器的强大功能使其能够满足大多数步进电机驱动应用的场合。

驱动器DM542S接+24V电源,使用A+、A-两个功率输出端口来驱动42HS03步进电机的A相,使用B+、B-两个端口驱动B相,驱动电流峰值设置为1.0A,平均值为0.7A。驱动器的细分设置为不细分,即步进电机以基本步距角进行转动,每转动200步所转过的角度为360°。

驱动器通过信号引脚PUL+、PUL-来接收步进电机运动控制信号,使用DIR+、DIR-来接收转动方向判断信号。该运动控制信号与方向判断信号由STM32F429的GPIO引脚PC6与PC7发送。由于STM32F429的GPIO引脚只能输出3.3V的高电平,而DM542S所接收的高电平信号电压不能低于3.5V,因此在其两者之间连接一个可以输出5V电压的高速反相器74HC04。STM32F429与DM542S的连接电路如图3所示。

增量编码器型号选择分辨率为2000脉冲/转的为E6B2-CWZ3E,其最大转速为每分钟6000转,理论上能够识别0.18°的转角变化,其角度测量的精度很高。E6B2-CWZ3E支持+5V—+12V的宽范围直流供电电压,本文选择+5V直流供电。E6B2-CWZ3E有A相、B相与Z相三路信号输出端,其中A相与B相成正交输出关系,即A相与B相信号在相位上相差90°[2-3],编码器每转过一个刻度,A相与B相就相应输出一个脉冲信号,当编码器每转过一周,则A、B相各输出2000个脉冲信号,而Z相此时仅输出一个脉冲信号。将E6B2-CWZ3E的A、B两相信号分别对应连接到图3中所示STM32F429的GPIO引脚PH2与PH3上,通过PH2与PH3的外部中断来捕捉增量编码器的反馈信号。

3 运动状态检测方法

在步进电机运动状态的检测方法借鉴了M法测量转速原理。在规定时间内测量增量编码器产生的脉冲个数,经过计算后可得被测目标的转速,这种获得转速的方法被称为M法[4]。在检测步进电机失步或者堵转的过程中,不需要计算转速,只需在规定时间内统计出增量编码器产生的脉冲个数,然后与理论值进行对比即可。如果实际脉冲个数与理论值的差值在规定的误差范围内,则判定步进电机没有发生失步或者堵转问题;如果二者的差值超出了规定的误差范围,则判定步进电机发生了失步或者堵转问题。为了提高检测的精度,避免误判,采用4倍频的方式接收增量编码器的脉冲信号[5-7]。对A、B两相信号的上升沿与下降沿均进行统计并将所有脉冲个数进行叠加。

由于设定了步进电机转动一圈需要200步,也就是需要200个控制脉冲信号,而编码器相应的在理论上总共会产生8000个脉冲。也就是说,步进电机每转动一步,STM32F429理论上可以接收到40个反馈脉冲信号,考虑到联轴器安装与电机振动带来的测量误差,规定接收到的反馈信号在25-55之间均有效。

4 结束语

通过设计步进电机的闭环控制系统,可以实时检测步进电机的运动状态,从而判断步进电机是否发生失步或者堵转情况。在设计中需要注意步进电机与增量编码器之间的连接偏差要尽可能的小,以减小测量误差,最好将二者固定在同一个基座上,步进电机固定要牢固,以减小其振动。STM32F429发送控制信号使用定时器的计数溢出中断,在中断发生后需要软件清除其相应的中断标志位。

参考文献

[1]袁赛,王德辉,曹海丽,等.基于Multisim10的步进电机数控电路的分析和设计[J].电子设计工程,2013,21(23):69-72.

[2]孙小平.基于FPGA的增量式光电编码器接口电路设计[J].自动化应用,2017(12):6-8.

[3]梁学修,陈志,赵博.基于FPGA的电机转速高精度测量技术研究[J].制造业自动化,2015,37(23):50-52.

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/xueshu/269097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号