在步進(jìn)電機(jī)的控制中,方向和轉(zhuǎn)角控制簡單,而轉(zhuǎn)速控制則比較復(fù)雜。步進(jìn)電機(jī)工作時(shí),失步或過沖直接影響其定位精度。在設(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ī)工程師在此結(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.#20H
CALL DELAY ;調(diào)用標(biāo)準(zhǔn)延時(shí)子程序DELAY。
若要控制步進(jìn)電機(jī)走100步,每兩步之間延時(shí)20 000 s,則匯編程序?yàn)椋?/p>
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)動(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的利用率。
更多直線步進(jìn)電機(jī)參數(shù)知識(shí),請(qǐng)咨詢覃工QQ:176340526