軟硬件相結(jié)合的方法可實(shí)現(xiàn)步進(jìn)電機(jī)的調(diào)速控制
步進(jìn)電機(jī)其是是屬于一種數(shù)字型電機(jī),在經(jīng)濟(jì)型的數(shù)控機(jī)床及自動(dòng)化設(shè)備中應(yīng)用廣泛。進(jìn)行控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)主要需要3個(gè)要素:方向、轉(zhuǎn)角和轉(zhuǎn)速。對(duì)于內(nèi)部含有硬件裝置的驅(qū)動(dòng)電源,方向僅僅取決于其控制器送出的方向電平的是高或者是低。轉(zhuǎn)角的多少取決于其控制器送出的步進(jìn)脈沖的個(gè)數(shù)多少。而轉(zhuǎn)速則取決于控制器發(fā)出的步進(jìn)脈沖之間的時(shí)間間隔。在步進(jìn)電機(jī)的控制中,電機(jī)運(yùn)行的方向和轉(zhuǎn)角控制十分之簡(jiǎn)單,而轉(zhuǎn)速的控制則相對(duì)而言比較之復(fù)雜。步進(jìn)電機(jī)工作時(shí),失步或者過沖將直接影響到其定位精度的準(zhǔn)確度。在設(shè)計(jì)該電機(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ī)工程師在此結(jié)合實(shí)例給出軟件實(shí)現(xiàn)的方法來分析步進(jìn)電機(jī)的速度調(diào)節(jié)問題:1 步進(jìn)脈沖的調(diào)頻方法對(duì)步進(jìn)電機(jī)控制的一個(gè)中心問題就是速度調(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í):通過調(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.#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;20000的十六進(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)的過程中,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í)器)又需要軟件來確定脈沖序列的頻率,所以是一種軟硬件相結(jié)合的方法。它的缺點(diǎn)是占用了一個(gè)定時(shí)器。在比較復(fù)雜的控制系統(tǒng)中常采用定時(shí)中斷的方法,這樣可以提高CPU的利用率。供應(yīng)杰力科技直線步進(jìn)電機(jī)的深圳市杰力科技有限公司與您攜手共創(chuàng)輝煌!
更多罩極電機(jī)產(chǎn)品咨詢需求請(qǐng)電話聯(lián)系TEL:135-6077-8566