杰力科技步進(jìn)電機(jī)的速度調(diào)節(jié)方法
步進(jìn)電機(jī)是一種數(shù)字電機(jī),在經(jīng)濟(jì)型數(shù)控機(jī)床及自動(dòng)化設(shè)備中應(yīng)用廣泛??刂撇竭M(jìn)電機(jī)的轉(zhuǎn)動(dòng)需要3個(gè)要素:方向、轉(zhuǎn)角和轉(zhuǎn)速。對(duì)于含有硬件的驅(qū)動(dòng)電源,方向取決于控制器送出的方向電平的高或低。轉(zhuǎn)角取決于控制器送出的步進(jìn)脈沖的個(gè)數(shù)。而轉(zhuǎn)速則取決于控制器發(fā)出的步進(jìn)脈沖之間的時(shí)間間隔。在步進(jìn)電機(jī)的控制中,方向和轉(zhuǎn)角控制簡(jiǎn)單,而轉(zhuǎn)速控制則比較復(fù)雜。步進(jìn)電機(jī)工作時(shí),失步或過(guò)沖直接影響其定位精度。在設(shè)計(jì)系統(tǒng)的時(shí)候,除了應(yīng)正確選擇步進(jìn)電機(jī)和驅(qū)動(dòng)電源之外,還必須對(duì)步進(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é)問(wèn)題,并結(jié)合實(shí)例給出軟件實(shí)現(xiàn)的方法。1 步進(jìn)脈沖的調(diào)頻方法對(duì)步進(jìn)電機(jī)控制的一個(gè)中心問(wèn)題就是速度調(diào)節(jié)。即產(chǎn)生一系列頻率可調(diào)的步進(jìn)脈沖序列,送到驅(qū)動(dòng)電源,控制電機(jī)繞組的輪流通電,實(shí)現(xiàn)電機(jī)的轉(zhuǎn)動(dòng)。脈沖序列的產(chǎn)生用微處理器實(shí)現(xiàn),有軟件延時(shí)和硬件定時(shí)兩種方法。(1)軟件延時(shí):通過(guò)調(diào)用標(biāo)準(zhǔn)的延時(shí)子程序來(lái)實(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.#20HCALL DELAY ;調(diào)用標(biāo)準(zhǔn)延時(shí)子程序DELAY。 若要控制步進(jìn)電機(jī)走100步,每?jī)刹街g延時(shí)20 000 s,則匯編程序?yàn)椋篗OV 0FH,#100D ;準(zhǔn)備走100步。CONTI: CALL I_STEP ;電機(jī)走一步(調(diào)用電機(jī)的脈沖分配子程序)MOV 0EH,#4EH ;20 000的十六進(jìn)制碼為4E20。MOV 0DH,#20HCALL 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)是程序簡(jiǎn)單,思路清晰,不占用硬件資源。缺點(diǎn)是浪費(fèi)CPU的寶貴時(shí)間,在控制電機(jī)轉(zhuǎn)動(dòng)的過(guò)程中,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所對(duì)應(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 ;啟動(dòng)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í)器)又需要軟件來(lái)確定脈沖序列的頻率,所以是一種軟硬件相結(jié)合的方法。它的缺點(diǎn)是占用了一個(gè)定時(shí)器。在比較復(fù)雜的控制系統(tǒng)中常采用定時(shí)中斷的方法,這樣可以提高CPU的利用率。2 升降頻方法及其實(shí)現(xiàn)2.1 升降頻方法 當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率低于它本身的起動(dòng)頻率時(shí),步進(jìn)電機(jī)可以用運(yùn)行頻率直接起動(dòng),并以該頻率連續(xù)運(yùn)行,需要停止的時(shí)候,可以從運(yùn)行頻率直接降到零速。此時(shí),電機(jī)運(yùn)行于恒速狀態(tài),無(wú)需升降頻控制。當(dāng)步進(jìn)電機(jī)的運(yùn)行頻率fb>fa (fa為步進(jìn)電機(jī)有載起動(dòng)時(shí)的起動(dòng)頻率)時(shí),若直接用fb起動(dòng),由于頻率太高,步進(jìn)電機(jī)會(huì)丟步,甚至產(chǎn)生堵轉(zhuǎn)。同樣,在fb頻率下突然停止,步進(jìn)電機(jī)會(huì)超程。因此,當(dāng)要求步進(jìn)電機(jī)在運(yùn)行頻率.fb下正常工作時(shí),就需要采用升降頻控制,以使步進(jìn)電機(jī)從啟動(dòng)頻率fa開(kāi)始,逐漸加速升到運(yùn)行頻率fb,然后進(jìn)入勻速運(yùn)行,最后的降頻可以看作是升頻的逆過(guò)程。 步進(jìn)電機(jī)常用的升降頻控制方法有3種:(1)直線升降頻。這種方法是以恒定的加速度進(jìn)行升降,平穩(wěn)性好,適用于速度變化較大的快速定位方式。加速時(shí)間雖然長(zhǎng),但軟件實(shí)現(xiàn)比較簡(jiǎn)單。直線升降頻(2)指數(shù)曲線升降頻。如圖2所示,這種方法是從步進(jìn)電機(jī)的矩頻特性出發(fā),根據(jù)轉(zhuǎn)矩隨頻率的變化規(guī)律推導(dǎo)出來(lái)的。它符合步進(jìn)電機(jī)加減速過(guò)程的運(yùn)動(dòng)規(guī)律,能充分利用步進(jìn)電機(jī)的有效轉(zhuǎn)矩,快速響應(yīng)性能較好,升降時(shí)間短。指數(shù)升降控制具有較強(qiáng)的跟蹤能力,但當(dāng)速度變化較大時(shí)平衡性較差,一般適用于跟蹤響應(yīng)要求較高的切削加工中。指數(shù)曲線升降頻(3)拋物線升降頻。如圖3所示,拋物線升降頻將直線升降頻和指數(shù)曲線升降頻融為一體,充分利用步進(jìn)電機(jī)低速時(shí)的有效轉(zhuǎn)矩,使升降速的時(shí)間大大縮短,同時(shí)又具有較強(qiáng)的跟蹤能力,這是一種比較好的方法。拋物線升降頻2.2 軟件實(shí)現(xiàn) 步進(jìn)電機(jī)在升降頻過(guò)程中,脈沖序列的產(chǎn)生,即兩個(gè)脈沖時(shí)間間隔的軟件確定,有2種方法:(1)遞增/遞減一定值。如線性升降頻,兩脈沖頻率的差值 Δf= |fi-fi-1|是相等的,其對(duì)應(yīng)的時(shí)間增量Δf也是相等。時(shí)間的計(jì)算若采用軟件延時(shí)的方法,可先設(shè)置一個(gè)基本的延時(shí)單元Te,不同頻率的脈沖序列可由Te的不同倍數(shù)產(chǎn)生。設(shè)起動(dòng)時(shí)所用頻率對(duì)應(yīng)的時(shí)間常數(shù)為tNe 以后逐次遞減Δt(設(shè)Δt=tM),直到等于運(yùn)行頻率所對(duì)應(yīng)的時(shí)間(tRe)為止。這種方法編程簡(jiǎn)單,節(jié)省內(nèi)存。時(shí)間計(jì)算也可采用定時(shí)中斷的方法,可將定時(shí)常數(shù)逐次遞增/遞減一定值,實(shí)現(xiàn)升降頻控制。因其定時(shí)不是連續(xù)的,所以升降速曲線不是一條直線,而是折線,但可近似看成直線。(2)查表法。為了對(duì)步進(jìn)電機(jī)實(shí)現(xiàn)最佳升降頻控制,縮短電機(jī)的升降頻時(shí)間,可從步進(jìn)電機(jī)矩頻特性出發(fā)進(jìn)行分析。由步進(jìn)電機(jī)的矩頻特性(見(jiàn)圖4,130BC3100A電機(jī))可知,轉(zhuǎn)矩M是頻率f的函數(shù)(即角加速度dω/dt=M(f)/J,J為電機(jī)的轉(zhuǎn)動(dòng)慣量),它隨著f的上升而下降,所以它呈軟的特性。當(dāng)頻率較低時(shí),轉(zhuǎn)矩M較大,對(duì)應(yīng)的角加速度dω/dt也較大,所以升頻的脈沖頻率增加率df/dt應(yīng)取得大一些;當(dāng)頻率較高時(shí), 較小,dω/dt也較小,此時(shí),升頻的脈沖頻率增加率df/dt應(yīng)取小一些,否則,會(huì)由于無(wú)足夠的轉(zhuǎn)矩而失步。因此,根據(jù)步進(jìn)電機(jī)的矩頻特性,可以看出:在步進(jìn)電機(jī)的升頻過(guò)程中,應(yīng)遵循“先快后慢”的原則。按此要求,從開(kāi)始升頻到升至fb之間,按最佳升頻要求的頻率取出f1,f2,f3,……,fn并將它們所對(duì)應(yīng)的脈沖間隔時(shí)間t1,t2 ,…… ,tn,依次存于內(nèi)存的一個(gè)數(shù)據(jù)區(qū),如表1所示(稱(chēng)階梯頻率表)。步進(jìn)電機(jī)的矩頻特性曲線 考慮到步進(jìn)電機(jī)的慣性作用。在升速過(guò)程中,如果速率變化太大,電機(jī)響應(yīng)將跟不上頻率的變化,出現(xiàn)失步現(xiàn)象。因此,每改變一次頻率,要求電機(jī)持續(xù)運(yùn)行一定步數(shù)(稱(chēng)階梯步長(zhǎng)),使步進(jìn)電機(jī)慢慢適應(yīng)變化的頻率,從而進(jìn)入穩(wěn)定的運(yùn)行狀態(tài)。根據(jù)最佳升降頻控制規(guī)律,可推出步進(jìn)電機(jī)的“頻率-步長(zhǎng)”關(guān)系曲線如圖5所示。頻率-步長(zhǎng)曲線 這樣,升頻時(shí)除需將階梯頻率表存于內(nèi)存的一個(gè)數(shù)據(jù)區(qū)內(nèi)外,還需建立另一個(gè)數(shù)據(jù)區(qū),用來(lái)存放階梯步長(zhǎng)(如表2所示)。在升頻過(guò)程中,可用查表的方法,分別得到fi=(ti)和所對(duì)應(yīng)的△Li,實(shí)現(xiàn)升降頻控制。軟件上的具體做法是:將 fi(ti)和△Li在EPROM中交替存放(如表3所示),程序執(zhí)行時(shí)按順序取數(shù),每次取出一個(gè)頻率和該頻率對(duì)應(yīng)的步長(zhǎng)。 詳細(xì)的步進(jìn)電機(jī)升降頻軟件流程。3 結(jié)語(yǔ) 本文提出的步進(jìn)電機(jī)的速度調(diào)節(jié)方法,成功地應(yīng)用在多種經(jīng)濟(jì)型數(shù)控機(jī)床上,包括2坐標(biāo)車(chē)床、4坐標(biāo)銑床、高速?zèng)_床、中頻淬火機(jī)床等。實(shí)踐表明:只要選用了適當(dāng)?shù)纳殿l便可提高機(jī)床的定位精度、改善運(yùn)動(dòng)部件的平穩(wěn)性、縮短步進(jìn)電機(jī)的升降時(shí)間、提高勞動(dòng)生產(chǎn)率。供應(yīng)杰力科技直線步進(jìn)電機(jī)的深圳市杰力科技有限公司與您攜手共創(chuàng)輝煌!
更多罩極電機(jī)產(chǎn)品咨詢需求請(qǐng)電話聯(lián)系TEL:135-6077-8566