摘 要:提出了步進電機的幾種速度調(diào)節(jié)方法。脈沖頻率的調(diào)節(jié)采用軟件延時或硬件定時。升降頻采用直線升降法、指數(shù)曲線升降法或拋物線升降法。給出了脈沖頻率調(diào)節(jié)的實用程序,通過對步進電機矩頻特性曲線的分析,得出了步進電機的升頻表格,并提供了一個完整的軟件升降頻流程圖。幾種調(diào)速方法應(yīng)用在多種數(shù)控機床上,提高了步進電機的定位精度,改善了電機轉(zhuǎn)動的平穩(wěn)性,加速了電機的升降過程。 0 引言 步進電機是一種數(shù)字電機,在經(jīng)濟型數(shù)控機床及自動化設(shè)備中應(yīng)用廣泛??刂撇竭M電機的轉(zhuǎn)動需要3個要素:方向、轉(zhuǎn)角和轉(zhuǎn)速。對于含 有硬件的驅(qū)動電源,方向取決于控制器送出的方向電平的高或低。轉(zhuǎn)角取決于控制器送出的步進脈沖的個數(shù)。而轉(zhuǎn)速則取決于控制器發(fā)出的步進脈沖之間的時間間隔。在步進電機的控制中,方向和轉(zhuǎn)角控制簡單,而轉(zhuǎn)速控制則比較復雜。步進電機工作時,失步或過沖直接影響其定位精度。在設(shè)計系統(tǒng)的時候,除了應(yīng)正確選擇步進電機和驅(qū)動電源之外,還必須對步進電機控制脈沖的頻率進行調(diào)節(jié)。由于步進電機的轉(zhuǎn)速正比于控制脈沖的頻率,所以調(diào)節(jié)步進電機脈沖頻率,實質(zhì)上就是調(diào)節(jié)步進電機速度。 本文將具體討論步進電機的速度調(diào)節(jié)問題,并結(jié)合實例給出軟件實現(xiàn)的方法。 1 步進脈沖的調(diào)頻方法 對步進電機控制的一個中心問題就是速度調(diào)節(jié)。即產(chǎn)生一系列頻率可調(diào)的步進脈沖序列,送到驅(qū)動電源,控制電機繞組的輪流通電,實現(xiàn)電機的轉(zhuǎn)動。脈沖序列的產(chǎn)生用微處理器實現(xiàn),有軟件延時和硬件定時兩種方法。
(1)軟件延時:通過調(diào)用標準的延時子程序來實現(xiàn)。假定控制器基于AT89S52單片機 ,晶振頻率為12 MHz,那么可以編制一個標準的延時 子程序如下:
該子程序的入口為(0E)(0D)兩個字節(jié),若需要20000 us的延時,則給(0E)(0D)兩個字節(jié)賦值4E20H,即執(zhí)行下面程序: MOV 0EH,#4EH ;20 000的十六進制碼為4E20。 MOV 0DH.#20H CALL DELAY ;調(diào)用標準延時子程序DELAY。 若要控制步進電機走100步,每兩步之間延時20 000 s,則匯編程序為: MOV 0FH,#100D ;準備走100步。 CONTI: CALL I_STEP ;電機走一步(調(diào)用電機的脈沖分配子程序) MOV 0EH,#4EH ;20 000的十六進制碼為4E20。 MOV 0DH,#20H CALL DELAY ;相鄰步之間的延時(決定電機的轉(zhuǎn)速)。 DJNZ 0FH,CONTI ;循環(huán)次數(shù)減1后,若不為0則繼續(xù),循環(huán)100次。 可以看出,采用軟件延時方法實現(xiàn)速度調(diào)節(jié)的優(yōu)點是程序簡單,思路清晰,不占用硬件資源。缺點是浪費CPU的寶貴時間,在控制電機轉(zhuǎn)動的過程中,CPU不能做其它事。
(2)硬件定時:假定控制器仍為AT89S52單片機,晶振頻率為12 MHz,將AT89S52的TD作為定時器使用,設(shè)定T0工作在模式1(16位定時/ 計數(shù)器)。今要求它能定時地發(fā)出步進脈沖,其定時中斷產(chǎn)生的脈沖序列的周期(即步進電機的脈沖間隔)假定為20 000 s,則可算出TD所對應(yīng) 的定時常數(shù)為B1E0H,CPU相應(yīng)的程序如下: 主程序: MOV TMOD,#01H ;設(shè)T0取工作模式1。 MOV TH0.#0B1H ;裝入定時常數(shù)高8位。 MOV TLO,#0E0H ;裝入定時常數(shù)低8位。 SETB TR0 ;啟動T0定時。 SETB ET0 ;允許T0中斷。 SETB EA ;允許CPU中斷。 $ ;CPU等待T0的定時到。 中斷服務(wù)程序: CLR ET0 ;關(guān)T0中斷。 CALL I_STEP ;控制電機走一步(調(diào)用電機的脈沖分配子程序)。 RETI ;T0中斷返回。 本例中,只要改變T0 的定時常數(shù),就可實現(xiàn)步進電機的調(diào)速。這種方法既需要硬件(T0定時器)又需要軟件來確定脈沖序列的頻率,所以是 一種軟硬件相結(jié)合的方法。它的缺點是占用了一個定時器。在比較復雜的控制系統(tǒng)中常采用定時中斷的方法,這樣可以提高CPU的利用率。 2 升降頻方法及其實現(xiàn) 2.1 升降頻方法 當步進電機的運行頻率低于它本身的起動頻率時,步進電機可以用運行頻率直接起動,并以該頻率連續(xù)運行,需要停止的時候,可以從運行頻率直接降到零速。此時,電機運行于恒速狀態(tài),無需升降頻控制。當步進電機的運行頻率fb>fa (fa為步進電機有載起動時的起動頻率)時,若直接用fb起動,由于頻率太高,步進電機會丟步,甚至產(chǎn)生堵轉(zhuǎn)。同樣,在fb頻率下突然停止,步進電機會超程。因此,當要求步進電機在運行頻率.fb下正常工作時,就需要采用升降頻控制,以使步進電機從啟動頻率fa開始,逐漸加速升到運行頻率fb,然后進入勻速運行,最后的降頻可以看作是升頻的逆過程。 步進電機常用的升降頻控制方法有3種: (1)直線升降頻。如圖1所示。這種方法是以恒定的加速度進行升降,平穩(wěn)性好,適用于速度變化較大的快速定位方式。加速時間雖然長,但 軟件實現(xiàn)比較簡單。
圖1 直線升降頻 (2)指數(shù)曲線升降頻。如圖2所示,這種方法是從步進電機的矩頻特性出發(fā),根據(jù)轉(zhuǎn)矩隨頻率的變化規(guī)律推導出來的。它符合步進電機加減速過程的運動規(guī)律,能充分利用步進電機的有效轉(zhuǎn)矩,快速響應(yīng)性能較好,升降時間短。指數(shù)升降控制具有較強的跟蹤能力,但當速度變化較大時平衡性較差,一般適用于跟蹤響應(yīng)要求較高的切削加工中。
圖2 指數(shù)曲線升降頻 (3)拋物線升降頻。如圖3所示,拋物線升降頻將直線升降頻和指數(shù)曲線升降頻融為一體,充分利用步進電機低速時的有效轉(zhuǎn)矩,使升降速 的時間大大縮短,同時又具有較強的跟蹤能力,這是一種比較好的方法。
圖3 拋物線升降頻 2.2 軟件實現(xiàn) 步進電機在升降頻過程中,脈沖序列的產(chǎn)生,即兩個脈沖時間間隔的軟件確定,有2種方法: (1)遞增/遞減一定值。如線性升降頻,兩脈沖頻率的差值 Δf= |fi-fi-1|是相等的,其對應(yīng)的時間增量Δf也是相等。時間的計算若采用軟件延時的方法,可先設(shè)置一個基本的延時單元Te,不同頻率的脈沖序列可由Te的不同倍數(shù)產(chǎn)生。設(shè)起動時所用頻率對應(yīng)的時間常數(shù)為tNe 以后逐次遞減Δt(設(shè)Δt=tM),直到等于運行頻率所對應(yīng)的時間(tRe)為止。這種方法編程簡單,節(jié)省內(nèi)存。時間計算也可采用定時中斷的方法,可將定時常數(shù)逐次遞增/遞減一定值,實現(xiàn)升降頻控制。因其定時不是連續(xù)的,所以升降速曲線不是一條直線,而是折線,但可近似看成直線。 (2)查表法。為了對步進電機實現(xiàn)最佳升降頻控制,縮短電機的升降頻時間,可從步進電機矩頻特性出發(fā)進行分析。由步進電機的矩頻特性(見圖4,130BC3100A電機)可知,轉(zhuǎn)矩M是頻率f的函數(shù)(即角加速度dω/dt=M(f)/J,J為電機的轉(zhuǎn)動慣量),它隨著f的上升而下降,所以它呈軟的特性。當頻率較低時,轉(zhuǎn)矩M較大,對應(yīng)的角加速度dω/dt也較大,所以升頻的脈沖頻率增加率df/dt應(yīng)取得大一些;當頻率較高時, 較 小,dω/dt也較小,此時,升頻的脈沖頻率增加率df/dt應(yīng)取小一些,否則,會由于無足夠的轉(zhuǎn)矩而失步。因此,根據(jù)步進電機的矩頻特性,可以看出:在步進電機的升頻過程中,應(yīng)遵循“先快后慢”的原則。按此要求,從開始升頻到升至fb之間,按最佳升頻要求的頻率取出f1,f2,f3,……,fn并將它們所對應(yīng)的脈沖間隔時間t1,t2 ,…… ,tn,依次存于內(nèi)存的一個數(shù)據(jù)區(qū),如表1所示(稱階梯頻率表)。
圖4 步進電機的矩頻特性曲線
考慮到步進電機的慣性作用。在升速過程中,如果速率變化太大,電機響應(yīng)將跟不上頻率的變化,出現(xiàn)失步現(xiàn)象。因此,每改變一次頻率,要求電機持續(xù)運行一定步數(shù)(稱階梯步長),使步進電機慢慢適應(yīng)變化的頻率,從而進入穩(wěn)定的運行狀態(tài)。根據(jù)最佳升降頻控制規(guī)律,可推出步進電機的“頻率-步長”關(guān)系曲線如圖5所示。
圖5 頻率-步長曲線 這樣,升頻時除需將階梯頻率表存于內(nèi)存的一個數(shù)據(jù)區(qū)內(nèi)外,還需建立另一個數(shù)據(jù)區(qū),用來存放階梯步長(如表2所示)。在升頻過程中,可用查表的方法,分別得到fi=(ti)和所對應(yīng)的△Li,實現(xiàn)升降頻控制。軟件上的具體做法是:將 fi(ti)和△Li在EPROM中交替存放(如表3所示),程 序執(zhí)行時按順序取數(shù),每次取出一個頻率和該頻率對應(yīng)的步長。
詳細的步進電機升降頻軟件流程如圖6所示。
3 結(jié)語 本文提出的步進電機的速度調(diào)節(jié)方法,成功地應(yīng)用在多種經(jīng)濟型數(shù)控機床上,包括2坐標車床、4坐標銑床、高速沖床、中頻淬火機床等。 實踐表明:只要選用了適當?shù)纳殿l便可提高機床的定位精度、改善運動部件的平穩(wěn)性、縮短步進電機的升降時間、提高勞動生產(chǎn)率。
|