51單片機控制步進(jìn)電機驅動(dòng)器工作原理
步進(jìn)電機在控制系統中具有廣泛的應用。它可以把脈沖信號轉換成角位移,并且可用作電磁制動(dòng)輪、電磁差分器、或角位移發(fā)生器等。有時(shí)從一些舊設備上拆下的步進(jìn)電機(這種電機一般沒(méi)有損壞)要改作它用,一般需自己設計驅動(dòng)器。本文介紹的就是為從一日本產(chǎn)舊式打印機上拆下的步進(jìn)電機而設計的驅動(dòng)器。
本文先介紹該步進(jìn)電機的工作原理,然后介紹了其驅動(dòng)器的軟、硬件設計。
1. 步進(jìn)電機的工作原理
該步進(jìn)電機為一四相步進(jìn)電機,采用單極性直流電源供電。只要對步進(jìn)電機的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機步進(jìn)轉動(dòng)。圖1是該四相反應式步進(jìn)電機工作原理示意圖。
圖1 四相步進(jìn)電機步進(jìn)示意圖
開(kāi)始時(shí),開(kāi)關(guān)SB接通電源,SA、SC、SD斷開(kāi),B相磁極和轉子0、3號齒對齊,同時(shí),轉子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。
當開(kāi)關(guān)SC接通電源,SB、SA、SD斷開(kāi)時(shí),由于C相繞組的磁力線(xiàn)和1、4號齒之間磁力線(xiàn)的作用,使轉子轉動(dòng),1、4號齒和C相繞組的磁極對齊。而 0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類(lèi)推,A、B、C、D四相繞組輪流供電,則轉子會(huì )沿著(zhù)A、B、C、D方向轉動(dòng)。
四相步進(jìn)電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動(dòng)力矩又可以提高控制精度。
單四拍、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖2.a、b、c所示:
a. 單四拍 b. 雙四拍 c八拍
圖2.步進(jìn)電機工作時(shí)序波形圖
2.基于A(yíng)T89C2051的步進(jìn)電機驅動(dòng)器系統電路原理
步進(jìn)電機驅動(dòng)器系統電路原理如圖3:
圖3 步進(jìn)電機驅動(dòng)器系統電路原理圖
AT89C2051將控制脈沖從P1口的P1.4~P1.7輸出,經(jīng)74LS14反相后進(jìn)入9014,經(jīng)9014放大后控制光電開(kāi)關(guān),光電隔離后,由功率管TIP122將脈沖信號進(jìn)行電壓和電流放大,驅動(dòng)步進(jìn)電機的各相繞組。使步進(jìn)電機隨著(zhù)不同的脈沖信號分別作正轉、反轉、加速、減速和停止等動(dòng)作。圖中L1為步進(jìn)電機的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對上位機脈沖信號周期的影響。
圖3中的RL1~RL4為繞組內阻,50Ω電阻是一外接電阻,起限流作用,也是一個(gè)改善回路時(shí)間常數的元件。D1~D4為續流二極管,使電機繞組產(chǎn)生的反電動(dòng)勢通過(guò)續流二極管(D1~D4)而衰減掉,從而保護了功率管TIP122不受損壞。
在50Ω外接電阻上并聯(lián)一個(gè)200μF電容,可以改善注入步進(jìn)電機繞組的電流脈沖前沿,提高了步進(jìn)電機的高頻性能。與續流二極管串聯(lián)的200Ω電阻可減小回路的放電時(shí)間常數,使繞組中電流脈沖的后沿變陡,電流下降時(shí)間變小,也起到提高高頻工作性能的作用。
3.軟件設計
該驅動(dòng)器根據撥碼開(kāi)關(guān)KX、KY的不同組合有三種工作方式供選擇:
方式1為中斷方式:P3.5(INT1)為步進(jìn)脈沖輸入端,P3.7為正反轉脈沖輸入端。上位機(PC機或單片機)與驅動(dòng)器僅以2條線(xiàn)相連。
方式2為串行通訊方式:上位機(PC機或單片機)將控制命令發(fā)送給驅動(dòng)器,驅動(dòng)器根據控制命令自行完成有關(guān)控制過(guò)程。
方式3為撥碼開(kāi)關(guān)控制方式:通過(guò)K1~K5的不同組合,直接控制步進(jìn)電機。
當上電或按下復位鍵KR后,AT89C2051先檢測撥碼開(kāi)關(guān)KX、KY的狀態(tài),根據KX、KY 的不同組合,進(jìn)入不同的工作方式。以下給出方式1的程序流程框圖與源程序。
在程序的編制中,要特別注意步進(jìn)電機在換向時(shí)的處理。為使步進(jìn)電機在換向時(shí)能平滑過(guò)渡,不至于產(chǎn)生錯步,應在每一步中設置標志位。其中20H單元的各位為步進(jìn)電機正轉標志位;21H單元各位為反轉標志位。在正轉時(shí),不僅給正轉標志位賦值,也同時(shí)給反轉標志位賦值;在反轉時(shí)也如此。這樣,當步進(jìn)電機換向時(shí),就可以上一次的位置作為起點(diǎn)反向運動(dòng),避免了電機換向時(shí)產(chǎn)生錯步。
圖4 方式1程序框圖
方式1源程序:
MOV 20H,#00H ;20H單元置初值,電機正轉位置指針
MOV 21H,#00H ;21H單元置初值,電機反轉位置指針
MOV P1,#0C0H ;P1口置初值,防止電機上電短路
MOV TMOD,#60H ;T1計數器置初值,開(kāi)中斷
MOV TL1,#0FFH
MOV TH1,#0FFH
SETB ET1
SETB EA
SETB TR1
SJMP $
;***********計數器1中斷程序************
IT1P: JB P3.7,FAN ;電機正、反轉指針
;*************電機正轉*****************
JB 00H,LOOP0
JB 01H,LOOP1
JB 02H,LOOP2
JB 03H,LOOP3
JB 04H,LOOP4
JB 05H,LOOP5
JB 06H,LOOP6
JB 07H,LOOP7
LOOP0: MOV P1,#0D0H
MOV 20H,#02H
MOV 21H,#40H
AJMP QUIT
LOOP1: MOV P1,#090H
MOV 20H,#04H
MOV 21H,#20H
AJMP QUIT
LOOP2: MOV P1,#0B0H
MOV 20H,#08H
MOV 21H,#10H
AJMP QUIT
LOOP3: MOV P1,#030H
MOV 20H,#10H
MOV 21H,#08H
AJMP QUIT
LOOP4: MOV P1,#070H
MOV 20H,#20H
MOV 21H,#04H
AJMP QUIT
LOOP5: MOV P1,#060H
MOV 20H,#40H
MOV 21H,#02H
AJMP QUIT
LOOP6: MOV P1,#0E0H
MOV 20H,#80H
MOV 21H,#01H
AJMP QUIT
LOOP7: MOV P1,#0C0H
MOV 20H,#01H
MOV 21H,#80H
AJMP QUIT
;***************電機反轉*****************
FAN: JB 08H,LOOQ0
JB 09H,LOOQ1
JB 0AH,LOOQ2
JB 0BH,LOOQ3
JB 0CH,LOOQ4
JB 0DH,LOOQ5
JB 0EH,LOOQ6
JB 0FH,LOOQ7
LOOQ0: MOV P1,#0A0H
MOV 21H,#02H
MOV 20H,#40H
AJMP QUIT
LOOQ1: MOV P1,#0E0H
MOV 21H,#04H
MOV 20H,#20H
AJMP QUIT
LOOQ2: MOV P1,#0C0H
MOV 21H,#08H
MOV 20H,#10H
AJMP QUIT
LOOQ3: MOV P1,#0D0H
MOV 21H,#10H
MOV 20H,#08H
AJMP QUIT
LOOQ4: MOV P1,#050H
MOV 21H,#20H
MOV 20H,#04H
AJMP QUIT
LOOQ5: MOV P1,#070H
MOV 21H,#40H
MOV 20H,#02H
AJMP QUIT
LOOQ6: MOV P1,#030H
MOV 21H,#80H
MOV 20H,#01H
AJMP QUIT
LOOQ7: MOV P1,#0B0H
MOV 21H,#01H
MOV 20H,#80H
QUIT: RETI
END
4.結論
該驅動(dòng)器經(jīng)實(shí)驗驗證能驅動(dòng)0.5N.m的步進(jìn)電機。將驅動(dòng)部分的電阻、電容及續流二極管的有關(guān)參數加以調整,可驅動(dòng)1.2N.m的步進(jìn)電機。該驅動(dòng)器電路簡(jiǎn)單可靠,結構緊湊,對于I/O口線(xiàn)與單片機資源緊張的系統來(lái)說(shuō)特別適用。
評論