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