郑晓彬, 符秀辉, 韩 良, 林田卓
(沈阳化工大学 信息工程学院, 辽宁 沈阳 110142)
步进电机作为控制执行设备,其实质是将电脉冲信号转变为角位移或线位移,是开环控制元件.给电机加一个脉冲信号,电机则转过一个步距角.步进电机的转速正相关于脉冲的频率.在非超载的情况下,电机的停止位置只取决于脉冲信号脉冲数,而不受负载变化的影响.这一线性关系的存在加上步进电机只有周期性的误差而无累积误差等特点,使步进电机广泛应用于各种自动化控制系统和精密仪器等领域.在高精度位置控制系统中,既要求步进电机高速运动快捷,又要求低速运行平稳.传统控制方式存在控制精度低、电流突变导致电机运行不够平稳、噪声大等缺点.通过理论和实践证明:步进电机细分驱动可提高步距精度,减少振动,改善步进电机的各种性能.本文采用PWM方法实现步进电机连续多倍细分驱动控制,提高了步进电机的分辨率、矩频特性和动态、静态输出转矩.
由电磁场理论可知交变的电场产生交变的磁场,步进电机是电磁场理论的一个典型应用实例.步进电机以对各相绕组交替通电的方式产生交变的电场,交变的电场感应出交变的磁场,交变磁场带动转子做步进式旋转.由于传统矩形波电流驱动方式存在着分辨率不高、噪声大等缺点,由此提出用变化平滑近似正弦波的阶梯型电流(如图1所示)代替矩形波电流,当阶梯型电流变化时,通电相的电流不会马上上升到位,断电相的电流不会马上下降到位,它所产生的磁场合力(如图2所示)会使转子有一个新的平衡位置,这个新的平衡位置在步距角范围内.这种驱动方式使电机运行更平稳,噪声更小,电机的各相性能指标都得以改善,这就是步进电机细分驱动的实质.
图1 电流波形
图2 旋转磁场矢量
步进电机通过细分驱动,其步距角变小了.假如驱动器工作在N(N为常数)细分状态时,其步距角只为‘电机固有步距角’的N分之一,即当驱动器工作在不细分的整步状态时,控制系统每发一个步进脉冲,电机转动1°;而用细分驱动器工作在N细分状态时,电机只转动了N分之一度.细分功能完全是由驱动器靠精确控制电机的相电流所产生,与电机无关.本研究应用高性能的单片机产生精确的PWM信号,用硬件电路实现PWM信号到电流信号的精确量化.
脉宽调制(PWM)是利用处理器的数字输出对模拟电路进行控制的一种非常有效的技术.步进电机细分驱动系统利用STM32F103RBT6[1]作为中央处理器,STM32F103RBT6是一款基于Cortex-M3[2]内核的处理器;STM32F103RBT6能产生多达30路PWM[3]数字信号,能够满足步进电机细分驱动[4]系统对PWM信号的需求.该系统框图如图3所示,框图以A相PWM细分信号驱动为例对步进电机驱动系统进行分析.光电隔离与整形电路用于对单片机输出的所有数字信号进行传递和电气隔离.PWM信号经过保护电路进入积分电路,积分电路用于获取PWM细分信号的直流分量,此直流分量正相关于步进电机各相电流大小.积分电路输出信号和触发信号作为检测及驱动电路的驱动信号,检测及驱动电路中的高端场效应管工作在开关状态,场效应管[5]的开关控制着各相驱动电流大小,通过此框图可以实现单片机输出的PWM信号和步进电机各相电流的精确量化.
图3 驱动系统框图
图4 PWM-DC转换电路
STM32F103RBT6是一款基于三级流水线具有极强的中断响应能力和运算能力的处理器.通过其独特的寄存器管理并以硬件处理各种异常和中断方式,最大程度地提高了中断响应和中断切换速度.STM32F103RBT6具有丰富的串口资源,功能相当强劲,对无线通信提供了强有力的保障.常用无线通信模块的频率和手机频率很接近,在应用过程中容易受外界环境的干扰,且功耗高,灵敏度低.无线通讯模块UTC-1212SE对这种缺点进行了改进.UTC-1212SE模块是高度集成、超低功耗、半双工、微功率的无线数据传输模块.采用新一代高性能射频芯片,其采用高效的循环交织纠检错误码,使抗干扰和灵敏度都大大提高.总线是两线式串行总线(inter-integrated circuit),用于连接单片机和E2PROM.因其控制方式简单,因此在微电子通信控制领域被广泛采用.E2PROM是掉电能够保存数据的存储器件,遵循二线制协议,由于其具有数据掉电不丢失、擦写寿命长等特点,被选用为步进电机位置的数据存储器.
步进电机细分驱动系统的硬件结构框图如图5所示,图中光电开关模块用于检测滑块的复位信号.24C02用于存储滑块位置,单片机通过两线式串行总线先读取后存储24C02的数据.无线通信模块用来接收上位机发送来的指令.
图5 硬件结构框图
串行通信作为一种灵活、方便、可靠的通信方式,广泛应用于计算机与其他设备之间的通信以及工业控制系统中,是计算机与外部设备进行数据通信时经常使用的方式之一.现利用MSComm控件实现上位机与下位机串口通信.上位机界面如图6所示,将丝杠等分为14份,通过上位机界面设置串口并且打开,点击界面上的相应滑块位置按钮,串口会发送相应命令,点击界面按钮时发送对话框会显示相应字符,下位机接收上位机的命令并且完成相应动作.
图6 上位机界面
下位机软件流程如图7所示.
图7 软件流程
2.2.1 零点标定
步进电机带动滚珠丝杠[7]旋转,滚珠丝杠上加入滑块(见图8).通过控制步进电机的角位移来实现滑块位置的精确控制.由于E2PROM 具有字节擦除的优点,单片机通过 E2PROM实现数据的存储.在丝杠一端边缘加入光电接近开关,当滑块运动到丝杠边缘时,光电开关发出信号送给单片机,单片机对信号进行处理,通过步进电机驱动器改变滑块运动方向.单片机输出固定个数脉冲定位滑块位置,并且将此位置标定为零点,单片机把零点保存到外部E2PROM中.这个过程称为零点标定.当系统运行过程中,由于异常情况引起单片机复位时,无论滑块处于滚珠丝杠的什么位置,滑块都会向光电开关方向运动,系统会重新进行一次零点标定,保证了系统可靠性和稳定性.
图8 滚珠丝杠结构示意图
2.2.2 定位过程
当单片机接收到无线信号时,单片机先读出E2PROM中的零点,通过运动位置与零点比较确定电机运动方向及最后停留的位置.步进电机运动完成后把新的停留位置保存到E2PROM中,下次步进电机运动时先读出E2PROM中上次存储的数据,通过运动停留位置与读出数据比较确定电机新的运动方向和驱动脉冲数.步进电机运动完成后把新的停留位置保存到E2PROM中.当再次接收到新的指令时重复上述过程.用此种方法实现滑块定位.流程如图7所示.
滚珠丝杠的结构示意图如图8所示.步进电机转动带动丝杠转动,丝杠通过滚珠带动滑块移动,滑块的位移量正相关于步进电机转动角位移.实验将丝杠的长度14等分,用上位机界面发送丝杠的停止位置.通过测量滑块的实际位置来验证系统的可靠性和精确性.表1为实验测量数据.通过实验数据分析可知该系统能够实现步进电机的精确定位,系统具有很好的稳定性.
表1 滑块位置测量数据
通常利用电机实现位置控制的系统均为闭环控制系统,系统结构复杂,硬件成本过高,系统的抗干扰能力差,控制方法过于复杂.本研究利用步进电机作为位置控制的驱动电机,由其硬件电路框图可知步进电机的控制简单且为开环控制.利用STM32F103RBT6产生精确的PWM细分信号,用硬件电路实现了PWM矩形波信号变化到平滑近似正弦波的阶梯型电流信号,达到了精确细分控制的要求.通过测量滑块位置可知细分技术提高了步进电机的分辨率,改善了电机的各相性能指标.应用两线式串行总线实现了单片机和存储器之间数据传输,方法简单,便于控制.串行E2PROM选用24C02,单片机以先读取24C02的数据,处理完数据后写入24C02的方式存储数据,较其它存储数据方式有更高的可靠性和稳定性.通过实验数据验证了本研究的稳定性和可靠性.本研究的开机初始化方面过于繁琐,希望读者再做进一步改进.
参考文献:
[1] 王永虹.STM32系列ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2008:47-75.
[2] Joseph Yiu.Cortex-M3权威指南[M].宋岩,译.北京:北京航空航天大学出版社,2009:25-48.
[3] 余永权,李小青.单片机应用系统的功率接口技术[M].北京:北京航空航天大学出版社,1992:148-152.
[4] 刘宝廷,程树康.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997:159-167.
[5] 蒋永平,徐杜.一种步进电机全数字任意细分及驱动方法[J].微电机,1999(2):19-22.
[6] 叶树明,李顶立.PWM细分恒流步进电机驱动电路的设计[J].机电工程,2004,21(12):20-23.
[7] 张文超.步进电机PWM恒转矩细分驱动技术研究[J].机械制造,2003,41(6):33-34.