background image

SETB ET0 ;允许 T0 中断。
SETB EA ;允许 CPU 中断。
$         ;CPU 等待 T0 的定时到。
中断服务程序:
CLR ET0 ;关 T0 中断。
CALL I_STEP ;控制电机走一步(调用电机的脉冲分配子程序)。
RETI ;T0 中断返回。
    本例中,只要改变 T0 的定时常数,就可实现步进电机的调速。这种方法既需要硬件(T0
定时器)又需要软件来确定脉冲序列的频率,所以是
一种软硬件相结合的方法。它的缺点是占用了一个定时器。在比较复杂的控制系统中常采
用定时中断的方法,这样可以提高 CPU 的利用率。
2 升降频方法及其实现
2.1 升降频方法
    当步进电机的运行频率低于它本身的起动频率时,步进电机可以用运行频率直接起动,
并以该频率连续运行,需要停止的时候,可以从运行频率直接降到零速。此时,电机运行
于恒速状态,无需升降频控制。当步进电机的运行频率 fb>fa (fa 为步进电机有载起动时的
起动频率)时,若直接用 fb 起动,由于频率太高,步进电机会丢步,甚至产生堵转。同样,
在 fb 频率下突然停止,步进电机会超程。因此,当要求步进电机在运行频率.fb 下正常
工作时,就需要采用升降频控制,以使步进电机从启动频率 fa 开始,逐渐加速升到运行
频率 fb,然后进入匀速运行,最后的降频可以看作是升频的逆过程。
    步进电机常用的升降频控制方法有 3 种:
(1)直线升降频。如图 1 所示。这种方法是以恒定的加速度进行升降,平稳性好,适用于速
度变化较大的快速定位方式。加速时间虽然长,但
软件实现比较简单。
 
图 1 直线升降频
(2)指数曲线升降频。如图 2 所示,这种方法是从步进电机的矩频特性出发,根据转矩随频
率的变化规律推导出来的。它符合步进电机加减速过程的运动规律,能充分利用步进电机
的有效转矩,快速响应性能较好,升降时间短。指数升降控制具有较强的跟踪能力,但当
速度变化较大时平衡性较差,一般适用于跟踪响应要求较高的切削加工中。
 
图 2 指数曲线升降频
(3)抛物线升降频。如图 3 所示,抛物线升降频将直线升降频和指数曲线升降频融为一体,
充分利用步进电机低速时的有效转矩,使升降速
的时间大大缩短,同时又具有较强的跟踪能力,这是一种比较好的方法。
 
图 3 抛物线升降频
2.2 软件实现
    步进电机在升降频过程中,脉冲序列的产生,即两个脉冲时间间隔的软件确定,有 2
种方法:
(1)

 

递增/递减一定值。如线性升降频,两脉冲频率的差值 Δf= |fi-fi-1|是相等的,其对应的

时间增量 Δf 也是相等。时间的计算若采用软件延时的方法,可先设置一个基本的延时单
元 Te,不同频率的脉冲序列可由 Te 的不同倍数产生。设起动时所用频率对应的时间常数
为 tNe 以后逐次递减 Δt(设 Δt=tM),直到等于运行频率所对应的时间(tRe)为止。这种方法