基于单片机的步进电机加减速控制
2011-09-21
步进电机(脉冲电动机)是一种将电脉冲转化为角位移的执行机构,是数字控制的一种执行元件,其可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机具有转矩大、惯性小、响应频率高等优点,因此具有瞬间启动与急速停止的优越特性。步进电机在各种应用场合下最大的优势是:可以开环方式控制而无需反馈就能对位置和速度进行控制,但也正是因为负载位置对控制电路没有反馈,步进电机就必须正确响应每次励磁变化。如果励磁频率选择不当,电机不能够移到新的位置,那么实际的负载位置相对控制器所期待的位置出现永久误差,即发生失步现象或过冲现象。因此步进电机开环控制系统中,如何防止失步和过冲是开环控制系统能否正常运行的关键。
本设计使用SPMC75F2413A作为该系统设计的控制器。SPMC75F2413A是μ’nSPTM系列产品的一个新成员,是凌阳科技新推出的一个16位结构的微控制器。本设计中由SPMC75F2413产生脉冲信号,驱动电路使用由Allergo公司生产的两相步进电机专用驱动器SLA7042M构成步进电机的驱动电路,执行机构是两相混合式步进电机。
1 步进电机加减速控制原理
S曲线加减速将传统的3段加减速过程变为7段加减速过程,形成S字形,如图1所示。加速段由加加速度段(T1)、匀加速度段(T2)、减加速度段(T3)组成;减速段由加减速度段(T5)、匀减速度段(T6)、减减速度段(T7)组成;而匀速段为(T4)。
在步进电机的控制系统中,给一个电脉冲信号,步进电机就转动一个角度或前进一步,如输人为脉冲数N,在规定的时间T内,其频率即为f。驱动脉冲的频率f随时间t有:
式中,fm为步进电机的最高连续频率,τ是决定升速快慢的时间常数,实际工作中可由实验来确定,已知系统达到匀速时的速度和系统达到最大速度所用的时间。
本系统使用单片机定时中断方式控制步进电机的速度,在升降速控制时,实际上是不断改变定时器的装载值的大小。
将升速过程离散处理,在设计中将加速时间固定为T=T1+T2+T3,为使说明方便,令T2=0。这时加速段由3个变为2个,即加加速段与减加速段。将T等分为40个时间相同的时间段,即将加加速时间T1分为20等分,将加减速时间T3分为20等分。则两次速度变化的间隔时间为△t=T/40,则每一档的频率可由式(1)计算得出,在每一档频率下步进电机所执行的步数也可通过计算得出。
2 系统硬件设计
图2中,SPMC75F2413A是一款系列产品的16位结构的微控制器。在4.5-5.5 V工作电压范围内的工作速度为0-24 MHz,拥有2 K字SRAM和32 K字闪存ROM;IOA~IOD4组64位可编程I/O端口,5个通用16位定时器/计数器。该系统采用S17MC75F2413A的IOB端口的IOB0~IOB3位作为控制信号的输出端口,IOB4位作为光电传感器的输入端口。
步进电机易于与数字电路接口,但一般数字电路的信号能量远远不足以驱动电机。因此,必须有一个与之匹配的驱动器来驱动步进电机。驱动器通过给电机绕组提供特定的激磁电流,告诉电机需要运行多少微步。步进电机运行在整步模式时,因为刚好与电机的机械设计特点相吻合。此时定转子齿正好完全对齐,且绕组中流过的电流最大,步距角也最大。随着细分数的增加,步矩角相应减小。
该系统采用Allergo公司生产的驱动器SLA7042M,其本质上是利用数字量输入控制输出电流,其内部的2个4 bit的移位寄存器分别接收由SerialData引脚输入的电机相位信息和激磁电流比例数据。该4 bit的移位寄存器的第l位先载入相位信息,接着依次串行载入激磁电流比例数据的最低位,次低位,最后载入最高位。驱动部分电路如图3所示。
3 系统软件设计
通过式(1)可计算出每个频率档的频率以及在该档内步进电机所走的步数,将这40个档的频率以及各个档内所走的步数分别存入2个数组变量。该系统软件程序首先判断步进电机是否能达到最大速度。当规定步进电机转动的步数少时,步进电机不能达到最大速度,速度就要开始下降。这时首先应求出升速所能达到的步数和频率,及降速所能达到的步数和频率。而减速过程和加速过程正好相反,即就是将2个数组中存入的数据,按相反顺序输出。图4为步进电机S曲线加减速软件流程。
4 结束语
使用凌阳SPMC75F2413A单片机,采用S曲线增减速的方法有效控制了步进电机启动和停止过程中容易产生的失步及过冲现象。该控制方法有效、实用,已在数控切削系统中得到验证,结果稳定可行。