步进电机控制系统设计
2011-09-19花同
花同
(武警工程学院 研究生37队,陕西 西安710086)
步进电机是一种将电脉冲信号转换成相应的角位移(或线位移)的电磁机械装置[1]。现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5°或15°;反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5°,但噪声和振动都很大;混合式步进电机混合了永磁式和反应式的优点,分为两相和五相,两相步进角一般为 1.8°而五相步进角一般为 0.72°,这种步进电机的应用最为广泛。步进电机具有以下优点:转矩大,惯性小,响应频率高;停止时有一定的自锁功能;定位精度高、可重复性好、无积累误差、控制简单、可用于开环控制。基于以上优点,步进电机作为自动控制系统中的重要执行部件,已在许多工业控制系统中得到了应用。
1 步进电机控制系统原理
1.1 步进电机细分驱动原理
步进电机的工作原理本质上靠励磁绕组产生的旋转的合磁场带动转子做同步运动[2]。不细分时步进电机的合磁场将以一个固定的角度旋转,如果对这个角度进行细分,那么就可以实现对步距角的细分。由于励磁绕组通电之后产生磁通量正比于电流的大小,因而只要控制各个绕组的电流的大小和方向就可以控制步进电机各个绕组产生的合磁场的大小和方向。当步进电机工作在整步或半步时,只需对绕组进行正、反向通断电控制,工作在细分状态下就需要精确控制流过绕组电流的大小。细分驱动技术主要是通过对步进电机的相电流进行阶梯化控制,使电机以足够小的单位步距角运行,从而减小步长和低频振动,提高电机的运行分辨率。通过对相电流的均匀细分就能使步距角均匀n细分,这是在相电流与步距角之间为线性关系的前提下才能成立的。而实际上,由于步进电机磁化曲线本身的非线性和磁滞现象等因素的影响,等分相电流并不能等分步距角,而必须根据步距角和相电流的关系曲线,对各相电流加以控制和修正,才能实现步进电机步距角的均匀细分。另一方面合成磁场的幅值决定了步进电机旋转力矩的大小,相邻两合成磁场矢量之间的夹角大小决定了步距角的大小。因此提出了一种恒流均匀细分控制的方法,它的基本思想是:维持步进电机内部合成磁场的幅值恒定,合成磁场的方向均匀变化。对于那种完全用硬件来实现步进电机细分的驱动电路,要进行恒力矩均匀细分控制是相当困难的,但是对于单片机控制的步进电机细分驱动电路,实现这种控制就容易多了,它通过软件可以相应的数字量存储于EPROM的不同区域,采用软件查表法输出细分电流的控制信号。
1.2 步进电机的升降特性
步进电机的速度特性,可以通过其基本运动方程(二阶微分方程)来描述,方程式表示如下:
J为系统总转动惯量,包括步进电机空载情况下转子的转动惯量以及带负载时,负载的折算转动惯量;θ转子转角;β阻尼系数;k与θ成某种函数关系的比例因子;Tz为摩擦阻尼矩及其他与θ无关的阻尼矩之和;Td为步进电机产生的电磁转矩。
由上式可知系统的惯性扭矩为:
1.3 步进电机加减速速度曲线方案选择
步进电机的理想加减速曲线为非线性曲线[3]。目前国内外使用较多的加减速控制方法主要有3种:直线型加减速速度曲线、指数型加减速速度曲线、S型加减速速度曲线3种,其加减速速度曲线如图1所示。直线型加减速速度曲线,这种升降速控制方法的主要优点是数学表达简单,计算简单,节省资源,其主要缺点是在加速过程开始和结束时速度是突跳变的,加速度的突跳变意味着驱动力的突变,由此带来的冲击较大,步进电机驱动系统中可能造成失步现象;指数型加减速曲线,比较符合电机的转矩特性,数学表达相对简单,可以实时计算,加减速终了时加速度突变小,冲击较小。其不足是启动过程仍然存在较大冲击,加减速过程结束时速度变化是渐进线的,变化过程太大,需要进行一些修正处理,适用于控制系统处理速度快且对升降速过程要求较高的场合;S型加减速曲线,其特点是转矩性能最好,启动和结束都是连续可导的,因此具有平稳精确的加减速性能。其主要不足是数学表达复杂,主要适用于加减速的平稳性要求最高的场合。
图1 3种加减速速度曲线比较Fig.1 Comparision among three speed curves of acceleration and deceleration
比较以上几种加减速控制方法,考虑到编程实现的难易程度等因素,选用指数型加减速速度曲线来实现对步进电机的加减速控制。将指数型加减速曲线离散化处理[4]。离散化过程如图2所示。
图2 指数型加速过程离散化Fig.2 Discretization of exponential acceleration process
2 步进电机控制系统硬件设计
步进电机控制系统主要是由STC12C5624AD单片机、SH2034M型号步进电机驱动器、步进电机、霍尔位置传感器组成。系统总体硬件设计如图3所示。单片机可以工作的最小系统一般由电源、复位电路、系统时钟、串口通信电路等构成。本设计使用STC12C5624AD单片机。STC12C5624AD系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍,内部集成MAX810专用复位电路,4路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。步进电机易于与数字电路接口,但一般数字信号的能量远远不足以驱动电机。因此,必须有一个与之匹配的驱动器来驱动电机[5]。驱动器使用的是由金坛市四海电机电器厂生产的SH2034M型号步进电机驱动器。
图3 步进电机控制系统硬件设计Fig.3 Hardware design of stepping motor control system
3 步进电机控制系统软件设计
用单片机实现步进电机的变加速度控制,实际上就是控制脉冲的频率,升速时使脉冲频率增高,减速时使脉冲频率降低[6]。一般采用软件延时法和定时器法来确定脉冲的周期:软件延时法指的是依靠延时程序来改变脉冲输出的频率,其中延时的长短是动态的,软件法在电机控制中,要不停地产生控制脉冲,占用了大量的CPU时间,使单片机无法同时进行其他工作;定时器法是利用单片机内部的定时器来实现的,在每次进入定时中断后,改变定时常数,在升速时使脉冲频率逐渐增大,减速时使脉冲频率逐渐减小,这种方法不占用CPU运行时间,比较适用。
为了减少每级计算装载定时器值的时间,将电机在每一级速度下运行的时间转换为相应的步数,存储在一个数组中,固化在系统的EPROM中,在需要时直接查表即可。以步数代替时间,使得对电机的控制更加方便,易于编程实现,也大大减少占用CPU运算的时间,提高系统响应速度。设计升速、减速过程的总步数25步,电动机升速过程中,一直对这个总步数进行递减操作,当减至零时表示升速过程完毕,转入恒速运行;电动机恒速运行过程中,一直对这个总步数进行递减操作,当减至零时表示恒速过程完毕,开始转入减速运行。减速运行步数与升速总步数[7]相同,只是按相反的顺序进行即可。步进电机加减速速度控制算法流程图如图4所示。
4 结束语
采用提出的步进电机控制系统,步进电机在工作频率内运行平稳,定位精度高。该系统有效,实用,已在无人机器人系统中得到验证,结果有效可行。
图4 步进电机加减速速度控制算法流程图Fig.4 Control algorithm flow chart of step motor speedand deceleration
[1]刘晓山.单片机在步进电机控制系统中的应用[J].机电工程技术,2004,33(1):69-70.
LIU Xiao-shan.Application of SCM on the step motor control system[J].Mechanical and Electrical Engineering Technology,2004,33(1):69-70
[2]陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008:1-90.
[3]刘宝志.步进电机的精确控制方法研究[D].济南:山东大学,2010:1-52.
[4]吴红星.电机驱动与控制专用集成电路及应用[M].北京:中国电力出版社,2006:40-42
[5]李海波,何雪涛.步进电机升降速的离散控制[J].北京化工大学学报:自然科学版,2003,30(1):92-94.
LI Hai-bo,HE Xue-tao.Discrete control of raising and reducing speeds of a stepping motor[J].Journel of Beijing University of Chemical Technology (Natural Science Edition),2003,30(1):92-94.
[6]陈毅.武装机器人控制系统的研究与设计[D].西安:武警工程学院,2010.
[7]应芳琴.基于FPGA的步进电机控制器研究和实现[J].现代电子技术,2011(02):198-201.
YING Fang-qin.research and implementation of stepping motor controller based on FPGA[J].Modern Electronics Technique,2011(02):198-201.