步进马达线性加减速的控制方法与装置 【技术领域】
本发明是有关于一种步进马达线性加减速的控制方法与装置,且特别是有关于一种以简易算法控制步进马达“实时”加减速的控制方法及装置。
背景技术
随着电机工业近百年来的发展,各种规格予种类的马达以广泛应用于不同领域的驱动应用中,在目前种类繁多的马达中,随着驱动用途的不同,可使用如直流马达、交流马达等各具不同特性的马达,但在许多要求高稳定度、高准确度及良好定位能力的马达中,则应首推步进马达的应用,由于步进马达具有良好的角度定位控制特性,且具有成本低、易制造的优点,是以可以广泛应用于各种生产、制造、检验设备及消费性电子产品等需具有移动能力及定位特性的驱动装置。
步进马达之所以具有定位特性,是因其在驱动时是以逐齿运动的方式进行,是以可通过转动齿数的控制与累积来产生良好的定位特性,但也由于其在转动时是通过磁场变化所产生地逐齿移动所发生,是以若需增加其转速,则需通过增加所输入的驱动脉冲的频率来控制其增加的转速,反之,若欲减少其转速,则需通过减少所输入的驱动脉冲的频率来控制其减少的转速。
请参考图1,其为有关步进马达在加减速时的一时间-速度曲线图。当在步进马达由静止加速至某一特定转速V1时,必须使输入的驱动脉冲频率以线性方式递增,而使步进马达在时间t1时到达所需的转速V1,之后即以固定的脉冲频率使马达转速维持在一定值,随后当步进马达需回复至原始的静止状态时,则需以递减方式递减目前的脉冲频率使步进马达慢慢递减转动速度以回复至原始的静止状态。
要控制步进马达的速度即需控制输入的脉冲频率,而有关传统控制步进马达脉冲频率的方式,可以是利用记录马达加减速的查表方式或是利用复杂的算法输出不同的脉冲频率以控制步进马达的转速。
其中,马达加减速的记录表是记录关于时间(或步数)、脉冲频率等参数值,是以可随时间(或步数)的不同,而从表中撷取不同的脉冲频率以输入至步进马达,进而得以控制步进马达的加减速,但此方法由于需先以查表方式查询不同时间(或步数)的脉冲频率,再以查询到的脉冲频率提供与步进马达,致使无法实时产生脉冲频率。
另外,以复杂算法输出不同的脉冲频率来控制步进马达的速度,则会因算法本身的计算成本过高,而延迟步进马达的加速时间,或若以硬件来实现,会使其在硬件成本上增加许多。
【发明内容】
有鉴于此,本发明的目的是提出一种步进马达线性加减速的控制方法与装置,其以简单的输入参数配合计算成本低的算法及低硬件成本的硬件,以“实时”方式产生脉冲频率。
本发明提出的一种步进马达线性加速的控制装置,包括:定时器、周期产生器及比较器。
其中,定时器包括缓存器及时间参数,在每接收一个系统时脉的情况下,随即累加该时间参数于缓存器中,且每累加一次,缓存器即会送出一个累加数值。周期产生器在每接收一触发信号且步进马达的逐齿步数小于总步数的情况下,计算并加以输出一递减执行周期。而连接定时器及周期产生器的比较器,则是用以接收累加数值及该递减执行周期,在累加数值大于等于该递减执行周期的比较结果下,产生并送出一个脉冲信号至步进马达,以使步进马达进行逐齿运动。
在一较佳情况下,周期产生器包括:速度加速器及除频器。其中,速度加速器连接比较器,在接收比较器回馈的触发信号且步进马达的逐齿步数小于总步数的情况下,计算并输出一后级速度,此后级速度由累加一每步加速度而来,而此每步加速度=(末速度-初速度)/总步数。除频器连接比较器及速度加速器,在接收后级速度的情况下,会依据接收的后级速度来计算并输出该递减执行周期至比较器,其中递减执行周期=1/后级速度。
本发明另提供一种步进马达线性加速的控制方法,包括:先输入初速度、末速度及步进马达在加速过程中的总步数,之后在每接收一个系统时脉的情况下,即累加一时间参数并加以输出一累加数值,而在每接收一触发信号且步进马达的逐齿步数小于总步数的情况下,计算并加以输出一递减执行周期,之后即依据接收的累加数值大于等于该递减执行周期的情况下,产生并送出一脉冲信号至步进马达,以使步进马达进行逐齿运动。
在一较佳情况下,递减执行周期的产生步骤更包括:在接收回馈的触发信号且步进马达的逐齿步数小于总步数的情况下,计算并输出一后级速度,此后级速度是由累加一每步加速度而来,而此每步加速度=(末速度-初速度)/总步数,之后在接收上述的后级速度的情况下,依据此后级速度计算并输出该递减执行周期,其中递减执行周期=1/后级速度。
本发明另又提出一种步进马达线性减速的控制装置,包括:定时器、周期产生器及比较器。
其中,定时器与比较器的功能与连结关系皆与上述的加速控制装置相同,在此不加赘述,所不同的是周期产生器是在每接收一触发信号且步进马达的逐齿步数小于总步数的情况下,计算并加以输出一递增执行周期予比较器进行比较的基准。
在一较佳情况下,周期产生器包括:速度减速器及除频器。其中,速度减速器连接比较器,在接收比较器回馈的触发信号且步进马达的逐齿步数小于总步数的情况下,计算并输出一后级速度,此后级速度由累加一每步加速度而来,而此每步加速度=(末速度-初速度)/总步数,系一负加速度。除频器连接比较器及速度减速器,在接收后级速度的情况下,会依据接收的后级速度来计算并输出该递减执行周期至比较器,其中递减执行周期=1/后级速度。
另外,本发明又提出一种步进马达线性减速的控制方法,包括:先输入初速度、末速度及步进马达在减速过程中的总步数,之后在每接收一个系统时脉的情况下,即累加一时间参数并加以输出一累加数值,而在每接收一触发信号且步进马达的逐齿步数小于总步数的情况下,计算并加以输出一递增执行周期,之后即依据接收的累加数值大于等于该递增执行周期的情况下,产生并送出一脉冲信号至步进马达,以使步进马达进行减速的逐齿运动。
在一较佳情况下,递增执行周期的产生步骤更包括:在接收回馈的触发信号且步进马达的逐齿步数小于总步数的情况下,计算并输出一后级速度,此后级速度系由累加一每步加速度而来,而此每步加速度=(末速度-初速度)/总步数,为一负加速度,之后在接收上述的后级速度的情况下,依据此后级速度计算并输出该递减执行周期,其中递减执行周期=1/后级速度。
综合上述,本发明只要输入初速度、末速度及总步数至周期产生器,即可透过上述加/减速控制装置及方法使送出脉冲信号的频率依据执行周期的递减/递增而越来越快/慢,以达到步进马达“实时”加/减速的目的。
【附图说明】
图1为有关步进马达在加减速时的一时间-速度曲线图;
图2为依据本发明的一种步进马达线性加减速的控制装置的一方框图;
图3为依据本发明的一种步进马达线性加减速的控制方法的一流程图;
图4为依据本发明的一种步进马达线性加减速的控制装置的一方框图;以及
图5为依据本发明的一种步进马达线性加减速的控制方法其中计算执行周期的一流程图。
200,400:定时器
Cv:累加数值
Dc:时间参数
210,410:周期产生器
T:执行周期
220,420:比较器
412:速度加速器
414:除频器
V:末级速度
Dv:每步加速度
步骤s300~步骤s309为本发明的一较佳实施例的一实施步骤
步骤s500~步骤s509为本发明依据步骤s302及步骤s304的一详细实施步骤
【具体实施方式】
请参照图2,其为依照本发明一较佳实施例的一种步进马达线性加速的控制装置,其控制步进马达在图1中0~V1的加速速度,此控制装置包括:定时器200、周期产生器210及比较器220。
其中,定时器200包括缓存器(未绘示)及时间参数Dc,其中缓存器在初始状态下,内含的累加数值Cv为“0”,而在定时器200每接收一个系统时脉(clock)的情况下,即会执行以下的方程式:
Cv+=Dc;
亦即会累加时间参数Dc,而将累加数值Cv暂存于缓存器中,且每累加一次,缓存器即会送出一个累加数值Cv。
举例来说,假设时间参数等于20而缓存器中内含的累加数值Cv等于0,则在一个系统时脉进入定时器200时,缓存器输出的累加数值Cv会等于20(=内含的累加数值0+时间参数20),依此类推,定时器200中的缓存器所输出的累加数值Cv在未被清除的状况下,应是(40,60,80…)的序列。
而周期产生器210在每接收一触发信号且步进马达的逐齿步数i小于总步数n的两个条件成立情况下,计算并加以输出一递减执行周期Tdec。其中,在上述的两个条件成立下,可以利用初速度V0、末速度Vn及加速总步数n来计算出递减执行周期Tdec,如下所表示:
平均每步加速度为(Vn-V0)/n;
V1=V0+(Vn-V0)/n=(V0*(n-1)+Vn)/n;
V2=V0+2*(Vn-V0)/n=(V0*(n-2)+Vn*2)/n;依此可推出每步的末级速度的通式为:
Vi=V0+i*(Vn-V0)/n=(V0*(n-i)+Vn*i)/n;
又V=ΔD/ΔT(距离/时间)代入上式,可表示成:
Ti=(n*Tn*T0)/(Tn*(n-i)+T0*i)=(n*Tn*T0)/(Tn*n+(T0-Tn)*i)----(1)
At=n*Tn*T0;
Tj=Tn*n;
Dt=T0-Tn;
其中Ti为每步的执行周期,亦可说是二个逐齿步数间的一执行时间差,而At、Tj及Dt皆是定值,因此一开始周期产生器210会在j=0的情况下输出预设的执行周期,即T=At/Tj,其中Tj+=Dt,之后才会在触发信号的触发且逐齿步数i小于等于总步数n的情况下,输出递减的执行周期。
另外,连接定时器200及周期产生器210的比较器220,是用以接收定时器输出的累加数值Cv及周期产生器210输出的递减执行周期T,且会在累加数值Cv大于等于递减执行周期T的比较结果下,产生并送出一个脉冲信号至步进马达,以使步进马达进行逐齿运动。亦即是以周期产生器210所输出的递减执行周期T来控制脉冲信号的输出频率。
当比较器220输出脉冲信号予步进马达时,比较器220亦会回馈脉冲信号至定时器200,以清除定时器200中的缓存器所暂存的累加数值Cv为0,以从新计算起系统时脉的输入频率。同时,比较器220亦会回馈脉冲信号至周期产生器210,其中,回馈的脉冲信号即是触发信号,以触发周期产生器增加一个逐齿步数并计算此逐齿步数发生的执行周期。
请参考图3,其为依据本发明另一较佳实施例的一种步进马达线性加速的控制方法,以下将会以此图配合一例子来说明上述图2中的控制装置如何进行控制步进马达的线性加速过程。
首先,先在步骤s300输入初速度V0、末速度Vn及总步数n至周期产生器210,而周期产生器210会以V=ΔD/ΔT的转换公式代入上述之执行周期公式(1)(步骤s302),之后输入预设执行周期至比较器220(步骤s304),在步骤s300之后,定时器200亦会同时接收系统时脉(步骤s301),而在步骤s303中,进行时间参数Dc的累加,并加以输出关于累加的时间参数Dc的一累加数值Cv至比较器220。
至比较器220的预设执行周期T为120,即在120单位时间后比较器220才会输出脉冲信号予步进马达进行逐齿运动,而定时器200即是用来计数到达120个单位时间与否,假设时间参数Dc是20,且定时器中的缓存器在累加一次时间参数后即会送出累加数值Cv予比较器220的情况下,比较器220会在缓存器送出第6次(6*20=120)累加数值Cv后(步骤s305),即会在步骤s306输出脉冲信号,以予步进马达进行逐齿运动(步骤s307),其中执行周期指二个逐齿步数间的一执行时间差。
每当比较器220输出脉冲信号予步进马达进行逐齿运动的同时,比较器220亦会回馈脉冲信号至定时器200,以清除定时器200中的缓存器所暂存的累加数值Cv为0,以从新计算起系统时脉的输入频率(步骤s307)。同时,比较器220亦会回馈脉冲信号至周期产生器210,其中,回馈的脉冲信号即是触发信号,以触发周期产生器增加一个逐齿步数(步骤s309),随后即回到步骤s302以计算此新增的逐齿步数与上一个逐齿步数间的执行时间差,由于加速过程中的执行周期(即二逐齿步数间的执行时间差)依T=At/Tj,其中Tj+=Dt的公式,可得知第j步会比第j-1步的执行周期为短,而当输出脉冲信号的周期变短时,即代表脉冲信号的输出频率变高,亦即代表步进马达的转速会变快。
请参考图4,其为依据本发明另一较佳实施例的一种步进马达线性加速的控制装置,包括定时器400、周期产生器410及比较器420。其与图2所示的控制装置相似,所不同的是本实施例所提供的周期产生器410包括:速度加速器412及除频器414,以下说明配合图5的流程图说明。其中,速度加速器412连接比较器420,在接收比较器420回馈的触发信号且步进马达的逐齿步数小于总步数的情况下(步骤s500),计算步进马达每一步的后级速度V(步骤s502),依据Vi=V0+i*(Vn-V0)/n的原始公式,可得知后级速度V由累加一每步加速度Dv而来(V+=Dv,假设V0=0),而此每步加速度Dv=(末速度Vn-初速度V0)/总步数n,之后即输出此后级速度V(步骤s504)。
而除频器414连接比较器420及速度加速器412,在接收后级速度V的情况下,会依据接收的后级速度V来计算递减执行周期T至比较器420,其中递减执行周期T=1/后级速度V(步骤s506),之后再将此递减执行周期T输出至比较器420。其中图5所示的流程虽仅是在图3的步骤s302及步骤s304,但图3的其余流程亦适用于图4的控制装置中。
当比较器420依据比较结果输出脉冲信号予步进马达进行逐齿运动的同时,比较器220亦会回馈脉冲信号至定时器200,以清除定时器200中的缓存器所暂存的累加数值Cv为0。同时,比较器220亦会回馈脉冲信号(即触发信号)至周期产生器210,以触发周期产生器产生下一个逐齿步数的执行周期。
其中,上述之实施例虽皆是说明步进马达的线性加速过程的控制装置及方法,但亦可以上述的控制装置及方法来说明步进马达的线性减速过程,亦即是图1中的V1~0的减速过程。
以图2为例,在减速过程中,周期产生器210的周期计算公式仍为T=At/Tj,但其中Tj-=Dt,而非Tj+=Dt,这会使的所输出的执行周期是递增的执行周期,也就是二步逐齿步数间的执行时间差会越来越长,也就代表脉冲信号的输出频率变低,亦即代表步进马达的转速会变慢。
另外,以图4的控制装置来看,在减速过程中,周期产生器410中包含一速度减速器,而非速度加速器,其中,末级速度V-=Dv,而非V+=Dv,代表Dv是一个负加速度,因此末级速度会越来越小,而除频器414中计算出的执行周期会因与末级速度成反比而变长,也就代表脉冲信号的输出频率变低,亦即代表步进马达的转速会变慢。
综上所述,本发明的优点在于只要输入初速度V0、末速度Vn及总步数n至周期产生器,即可透过上述加/减速控制装置及方法,使送出脉冲信号的频率依据执行周期的递减/递增而越来越快/慢,以达到步进马达“实时”加/减速的目的。