李 汉,钟饰勇
(广州航海高等专科学校,广东广州510725)
在经济型数控机床中,普遍采用步进电动机作为伺服驱动部件。步进电动机将电脉冲信号转换成角位移,驱动执行机构按一定的规律运动。高精度的位置控制常采用全闭环控制[1-2],然而全闭环位置控制不仅需要高精度的位置检测装置,而且控制系统结构包含非线性环节导致控制系统模型复杂化,影响系统的稳定性和快速性。为解决非线性问题将自适应控制[3]、变结构模糊控制[4]等引入步进电动机位置控制系统中,提出三段控制策略[1]。但是这些控制方法和策略建立在步进电动机线性化的基础上,或要求确定位置控制系统较多的参数,从而导致在实际应用中效果不尽人意。嵌入式数字控制系统配置灵活,功耗低,控制功能强,易于实现智能控制,已成为位置控制系统的主流。随着单片机技术的发展,位置控制器经历了8位、16位到32位的发展过程[5-7]。目前32位单片机运算速度快,片内资源丰富,成为高性能位置控制器的主要控制芯片。本文提出一种采用32位单片机为控制器,对大、小位置偏差采取不同控制策略、功能模块化的步进电动机快速准确定位系统非线性设计方案。
图1 步进电动机快速定位准确系统的硬件电路图
步进电动机快速准确定位系统的硬件电路图如图1所示。控制器采用PHILIPS公司生产的基于ARM7TDMI-S内核的32位嵌入式处理器LPC2114,该处理器具有丰富的片内资源,如2个定时器、I2C接口、SPI接口、2个 UART接口、PWM、实时时钟RTC、看门狗、A/D转换器、多路中断系统和数量较大的GPIO,给用户系统设计带来较大方便。控制器32位数据宽度对提高控制精度十分有利,同时CPU流水线设计使程序执行更快更流畅。上位机通过串行口对单片机控制器下达指令,单片机对步进电机进行升降速、位置实时控制,同时检测步进电动机的转速和位置,并回送给上位机。上位机将接收到的数据存储记录,同时采用图形曲线显示在屏幕上,由此研究升降速和快速位置控制的效果。
LPC2114的P0.8端控制步进电动机的转向,P0.9端控制步进电动机的速度。步进电动机的转速控制采用单片机内部定时器TIMER0控制,TIMER0配置为匹配中断MR0、MR1,其中MR0的数值控制单片机输出脉冲的频率,决定步进电动机速度的快慢,MR1为使P0.9能输出脉冲而配置,其值可以是MR0的一半。光电编码器A相、B相和Z相信号由 P0.10、P0.11 和 P0.14 输入到 LPC2114。P0.10 和 P0.11分别设置为 CAP1.0 、CAP1.1 下降沿捕获中断,P0.14设置为外部中断EINT2。机床的原点检测采用栅点法,其优点是原点的保持性好。检测近原点的光电开关由P0.12输入到LPC2114,当机床接近原点时挡板挡住光电开关,使其输出低电平,而挡板离开光电开关后输出高电平。光电开关和编码器的Z相信号共同决定原点的位置,即当光电开关输出低电平信号时,编码器Z相信号的上升沿指示机床的原点。
步进电动机快速准确定位系统的结构图如图2所示,由位置补偿表、位置控制器、升降速控制器、信号转换器、转速及位置检测器和转速反馈及失步检测器等功能模块组成。上位机向步进电动机定位系统下达位置指令X0,控制器根据起始位置、目标位置和转向查找位置补偿表得到补偿位置ΔX,形成实际位置指令Xs,进而得到位置偏差e,位置控制器根据偏差e和步进电动机当前转速nf发出转速指令ns,再由升降速控制器按照一定的规律计算出当前步进电动机的转速n,之后由信号转换器解析为转向信号dir和脉冲信号cp,控制步进电动机的转速和转向,步进电动机以最佳速度达到指令位置X0。当系统到达指令位置X0时,位置控制器必须使步进电动机的转速降为可停车转速,从而达到快速准确定位控制的要求。
图2 步进电动机快速准确定位系统结构图
步进电动机快速准确定位系统的目的能否达到关键在于位置控制器,因此位置控制器的设计是本文的关键技术。假设升降速控制器保证步进电动机的转速能以准确的速率Dec直线下降,步进电动机的最低转速、最高转速分别为nmin、nmax。步进电动机从nmax直线下降到nmin,步进电动机所移动的位置偏差为Em,则:
同理,电机当前转速为n时,步进电动机从n直线下降到nmin,步进电动机所移动的位置偏差:
上式以位置正偏差时能减少偏差的运动方向为转速的正方向,当位置负偏差时步进电动机的运动方向应为负方向,则有:
图3 位置控制切换开关线
(1)仅将相平面分为P、N两个区,未考虑位置大小偏差处理的差异,容易导致位置小偏差时定位过冲,甚至系统不稳定;
(2)由于位置控制器输出转速指令为±nmax,数值较大,且控制器具有采样周期的时间限制,当升速率较高时升降速控制器输出的转速可能穿越开关线,而非刚好落在开关线上,造成定位系统振荡,无法正常工作;
(3)转速出现从正转到反转或反转到正转穿越的情况,容易造成升降速混淆,导致升降速控制器编程质量差,易出现问题。
针对上述问题对位置控制器控制作如下改进:
(1)设步进电动机的起动转速为nst,在最佳开关线上nst对应的位置偏差为Ec,依据Ec将位置偏差分为大、小两个区域,|e|≤Ec为小偏差区(0、1区),|e|>Ec为大偏差区(2、3区)。当系统状态处于小偏差区时,位置控制器输出不是±nmax,而是根据开关线方程式(2)或式(3)的反函数求取并设置强制初始转速n,同时位置控制器输出指令转速ns=±nmin,使步进电动机以给定的速率降速,系统将最终到达c或g点,达到快速准确停车的目的。利用式(2)或式(3)的反函数求取初始转速n时需要平方根运算,这对LPC2114单片机来说是一件非常耗时的工作,直接影响到定位系统的实时性,可将曲线段bc和fg线性化,采用线性方程式求解,则有:
在nst和nmin差异不是很大的条件下,线性化结果的误差是可以接受的,并不影响定位系统的稳定性。
(2)为了方便控制和编程,将相平面分为0~7共8个区,如图3实线所围区域,其中0、1为小偏差区,2、3 为大偏差区,4、5 为降速区,6、7 为转换降速区即降速到达 ±nmin时反向加速。0、2、4、6为正转控制区,1、3、5、7为反转控制区。分区控制对位置控制器的编程和测试十分有利。
(3)设置定位系统允许停车转速为nsp(nsp>nmin),当|n|≤nsp且e=0时定位系统可立刻停车。因控制系统计算误差或响应延时,系统降速停车时零位置偏差点不在c或g点,但只要|n|≤nsp,也可立即停车,系统并不会出现位置过冲。可见使用适当的停车转速可提高定位系统的快速准确性,有利于消除振荡。
位置控制发出步进电动机转速的指令,由升降速控制器负责将转速逐步提升或降低到目标转速。
(1)大位置偏差,位置控制器指令转速为nmax,升降速控制器从起动转速nst或当前转速n开始将步进电动机的转速按一定的规律提升到转速nmax,到达开关线后降速,直至准确停车。实验证实采用本文所使用的位置控制器,步进电动机的升速规律与定位系统的稳定性无关,系统可以采用各种高效的升速规律控制步进电动机的转速,这对提高定位系统的快速性十分有利。
(2)小位置偏差,由于步进电动机按线性规律降速时初始转速小于起动转速nst,因此无需升速过程,而采取由最佳开关线计算出定位所需的初始转速n,设置为当前步进电动机的转速,同时位置控制器指令转速为nmin,使电机降速,定位系统最终到达零偏差时电机的转速也近乎为nmin,可准确定位。
为了补偿由于定位系统的传动误差、运动机构间隙非线性、丝杠的扭转刚度不足等原因造成定位误差,在不使用直接位置检测的情况下可采用补偿表来减少定位系统的误差。构建补偿表应考虑如下因素:(1)起点和终点;(2)往返;(3)系统运行时间。为了减少补偿表的数据量,可使用插补的方法。补偿表仅在位置指令X0输入时调用,而非每步都调用。
定位系统位置和转速的检测采用增量型编码器。为了简化系统,降低成本,未使用位置传感器检测工作台的位置,仅检测步进电动机轴端的位置。采用抗振动M/T测速方法[8]可提高转速和位置检测的准确度并具备抗振动性。因为系统可实时检测步进电动机的转速,通过比较升降速控制器的输出转速n和实测转速nact来检测是否失步,但要设置一个允许偏差。定位系统一旦检测到失步立即重启位置控制,确保定位的可靠性。
图4 采用指数升速规律的位置和转速实测曲线
图5 采用最佳升速规律的位置和转速实测曲线
实验条件:步进电动机采用42BYGH023,步进电动机驱动器DL-022M-I,步进电动机的步距角为1.8°,驱动器10倍细分,光电编码器E30S4-500-3-2-5。测速周期40 ms。最高转速nmax=720 r/min,最低转速nmin=10 r/min,起动转速nst=120 r/min,停车转速nsp=60 r/min,转速下降率Dec=1 440 r·min-1·s-1。根据不同的升速规律得出的实验结果如图4、5所示,其中图4为按指数规律升速的实验曲线,初始加速率Acc=1 000 r·min-1·s-1,图5为根据步进电动机矩频特性设计的最佳升速规律的实验曲线,初始加速率Acc=1 000 r·min-1·s-1。位置补偿不影响本系统的稳定性和快速性,故实验测试位置指令选择Xs。图4、图5位置x的单位步是指光电编码器的脉冲步数,而非步进电动机的步数。实验结果可得出如下结论:
(1)定位系统以线性规律降速且选择适当的降速率,可保证定位系统的稳定性,无超调。
(2)步进电动机的升速规律不影响系统的稳定性。步进电动机采用指数规律或最佳规律升速,定位系统皆保持稳定。相同的步距,采用最佳升速规律的快速性比采用指数规律好。例如步距100步时,采用指数规律和采用最佳升速规律的时间分别是320 ms和260 ms;步距6 000步时,采用指数规律和采用最佳升速规律的时间分别是1 560 ms和1 400 ms。
(3)大位置偏差情况下,步进电动机的转速能按线性规律下降,但小位置偏差时步进电动机的转速未能按线性规律下降,这是因为设置的最低转速较低(10 r/min),当接近最低转速时电机完成转速所需的步进周期超过转速下降率要求的时间,导致控制滞后。这种现象使得定位系统的实际响应时间超过理论计算的时间,这一点在实际工作中要加以注意。
(4)小位置偏差时,步进电动机没有升速过程,直接设置一个初始转速,而后使其降速到nmin,完成准确定位。实验证实这种方法是可行的,不仅有效避免定位系统的振荡,在微量位移时不产生爬行现象。
(5)实验表明适度的停车转速在保证位置调节无超调的前提下能消除定位振荡。
本文将步进电动机快速定位准确系统划分为补偿表、位置控制器、升降速控制器、信号转换器、转速及位置检测器和转速反馈及失步检测器等6个功能模块,各个模块功能明确,有利于控制器编程和调试。针对快速定位系统Bang-Bang非线性控制的不足提出改进,将位置控制的相平面分为8个区域,不仅考虑了大、小位置偏差时应采取不同的控制策略,同时提出一种小位置偏差的控制策略。实验证实这种控制策略是有效的,它提高了定位控制系统的稳定性和快速性。
[1] 周凯.步进驱动系统的高精度闭环控制[J].电机与控制学报,1998,2(1):13-17.
[2] 赵显红,孙立功.一种数字式步进电动机闭环位置控制系统设计[J].微电机,2008,14(8):90-92.
[3] 段英宏,孙慎言,孙鹏远.步进电动机的自适应控制[J].吉林工学院学报,2000,21(4):38-41.
[4] 孟庆德,张缨,蔡凌,等.一种新型的随动系统变结构模糊位置控制器[J].指挥控制与仿真,2010,32(4):105-109.
[5] 孙浩,李大海,高鲜妮,等.基于模拟闭环的步进电机位置控制系统设计[J].机床与液压,2009,37(1):99-101.
[6] 胡超,刘小康,高忠华,等.基于ARM的高精度自动定位系统设计[J].微计算机信息(嵌入式与SOC),2009,25(7-2):101-103.
[7] 孟凯,张炯.LPC2210微控制器在步进电机位置控制系统中的应用[J].电工电气,2010,(8):32-35.
[8] 李汉.一种光电编码器抗振动测速的方法[J].电气传动,2010,40(6):78-80.
[9] 廖晓钟,刘向东.自动控制系统(第2版)[M].北京:北京理工大学出版社,2011.