摘 要:提出了步进电机的几种速度调节方法。脉冲频率的调节采用软件延时或硬件定时。升降频采用直线升降法、指数曲线升降法或抛物线升降法。给出了脉冲频率调节的实用程序,通过对步进电机矩频特性曲线的分析,得出了步进电机的升频表格,并提供了一个完整的软件升降频流程图。几种调速方法应用在多种数控机床上,提高了步进电机的定位精度,改善了电机转动的平稳性,加速了电机的升降过程。
0 引言
步进电机是一种数字电机,在经济型数控机床及自动化设备中应用广泛。控制步进电机的转动需要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定时。
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)为止。这种方法编程简单,节省内存。时间计算也可采用定时中断的方法,可将定时常数逐次递增/递减一定值,实现升降频控制。因其定时不是连续的,所以升降速曲线不是一条直线,而是折线,但可近似看成直线。
(2)查表法。为了对步进电机实现最佳升降频控制,缩短电机的升降频时间,可从步进电机矩频特性出发进行分析。由步进电机的矩频特性(见图4,130BC3100A电机)可知,转矩M是频率f的函数(即角加速度dω/dt=M(f)/J,J为电机的转动惯量),它随着f的上升而下降,所以它呈软的特性。当频率较低时,转矩M较大,对应的角加速度dω/dt也较大,所以升频的脉冲频率增加率df/dt应取得大一些;当频率较高时, 较
小,dω/dt也较小,此时,升频的脉冲频率增加率df/dt应取小一些,否则,会由于无足够的转矩而失步。因此,根据步进电机的矩频特性,可以看出:在步进电机的升频过程中,应遵循“先快后慢”的原则。按此要求,从开始升频到升至fb之间,按最佳升频要求的频率取出f1,f2,f3,……,fn并将它们所对应的脉冲间隔时间t1,t2 ,…… ,tn,依次存于内存的一个数据区,如表1所示(称阶梯频率表)。
图4 步进电机的矩频特性曲线
考虑到步进电机的惯性作用。在升速过程中,如果速率变化太大,电机响应将跟不上频率的变化,出现失步现象。因此,每改变一次频率,要求电机持续运行一定步数(称阶梯步长),使步进电机慢慢适应变化的频率,从而进入稳定的运行状态。根据最佳升降频控制规律,可推出步进电机的“频率-步长”关系曲线如图5所示。
图5 频率-步长曲线
这样,升频时除需将阶梯频率表存于内存的一个数据区内外,还需建立另一个数据区,用来存放阶梯步长(如表2所示)。在升频过程中,可用查表的方法,分别得到fi=(ti)和所对应的△Li,实现升降频控制。软件上的具体做法是:将 fi(ti)和△Li在EPROM中交替存放(如表3所示),程
序执行时按顺序取数,每次取出一个频率和该频率对应的步长。
详细的步进电机升降频软件流程如图6所示。
3 结语
本文提出的步进电机的速度调节方法,成功地应用在多种经济型数控机床上,包括2坐标车床、4坐标铣床、高速冲床、中频淬火机床等。
实践表明:只要选用了适当的升降频便可提高机床的定位精度、改善运动部件的平稳性、缩短步进电机的升降时间、提高劳动生产率。
|