background image

步进电机的速度调节方法

    步进电机是一种数字电机,在经济型数控机床及自动化设备中应用广泛。控制步进电
机的转动需要 3 个要素:方向、转角和转速。对于含
有硬件的驱动电源,方向取决于控制器送出的方向电平的高或低。转角取决于控制器送出
的步进脉冲的个数。而转速则取决于控制器发出的步进脉冲之间的时间间隔。在步进电机
的控制中,方向和转角控制简单,而转速控制则比较复杂。步进电机工作时,失步或过冲
直接影响其定位精度。在设计系统的时候,除了应正确选择步进电机和驱动电源之外,还
必须对步进电机控制脉冲的频率进行调节。由于步进电机的转速正比于控制脉冲的频率,
所以调节步进电机脉冲频率,实质上就是调节步进电机速度。
    本文将具体讨论步进电机的速度调节问题,并结合实例给出软件实现的方法。
1 步进脉冲的调频方法
    对步进电机控制的一个中心问题就是速度调节。即产生一系列频率可调的步进脉冲序列,
送到驱动电源,控制电机绕组的轮流通电,实现电机的转动。脉冲序列的产生用微处理器
实现,有软件延时和硬件定时两种方法。
(1)软件延时:通过调用标准的延时子程序来实现。假定控制器基于 AT89S52

 

单片机 ,晶

振频率为 12 MHz,那么可以编制一个标准的延时
子程序如下:
 
    该子程序的入口为(0E)(0D)两个字节,若需要 20000 us 的延时,则给(0E)(0D)两个字节
赋值 4E20H,即执行下面程序:
MOV 0EH,#4EH ;20 000 的十六进制码为 4E20。
MOV 0DH.#20H
CALL DELAY ;调用标准延时子程序 DELAY。
    若要控制步进电机走 100 步,每两步之间延时 20 000 s,则汇编程序为:
MOV 0FH,#100D ;准备走 100 步。
CONTI

 

: CALL I_STEP ;电机走一步(调用电机的脉冲分配子程序)

MOV 0EH,#4EH ;20 000 的十六进制码为 4E20。
MOV 0DH,#20H
CALL DELAY ;相邻步之间的延时(决定电机的转速)。
DJNZ 0FH,CONTI ;循环次数减 1 后,若不为 0 则继续,循环 100 次。
    可以看出,采用软件延时方法实现速度调节的优点是程序简单,思路清晰,不占用硬
件资源。缺点是浪费 CPU 的宝贵时间,在控制电机转动的过程中,CPU 不能做其它事。
(2)硬件定时:假定控制器仍为 AT89S52 单片机,晶振频率为 12 MHz,将 AT89S52 的 TD
作为定时器使用,设定 T0 工作在模式 1(16 位定时/
计数器)。今要求它能定时地发出步进脉冲,其定时中断产生的脉冲序列的周期(即步进电
机的脉冲间隔)假定为 20 000 s,则可算出 TD 所对应
的定时常数为 B1E0H,CPU 相应的程序如下:
主程序:
MOV TMOD,#01H ;设 T0 取工作模式 1。
MOV TH0.#0B1H ;装入定时常数高 8 位。
MOV TLO,#0E0H ;装入定时常数低 8 位。
SETB TR0 ;启动 T0 定时。