薛君妍



摘要:文章研究了基于8051單片機的步進電機控制系統的設計。通過單片機產生脈沖信號,通過環形分配電路和功率放大電路驅動步進電機;指令通過矩陣鍵盤輸入,步進電機的轉速通過數碼管顯示;完成單片機控制程序編寫和搭建控制電路后,可以方便地實現步進電機的運動。
關鍵詞:單片機;步進電機;控制系統;脈沖信號;環形分配電路;矩陣鍵盤輸入 文獻標識碼:A
中圖分類號:TM383 文章編號:1009-2374(2016)20-0017-02 DOI:10.13535/j.cnki.11-4406/n.2016.20.008
1 概述
步進電機是一種將數字輸入脈沖信號轉變為旋轉運動或直線運動的電磁驅動元件。每輸入一個脈沖信號,步進電機的電機軸轉過一定的角度。角位移增量與輸入脈沖數量的乘積即可得到步進電機的轉速。相比于一般的直流電機和交流電機,步進電機有很多優勢,比如步進電機可以快速啟動、具有較高的定位精度和較小的轉動慣量、反向制動、位移和輸入的脈沖數量一致、較小的定位誤差和短期積累等等,所以步進電機是控制系統中比較常用的元件。為了更深入地理解步進電機的動作特點,熟悉控制系統的搭建過程,本文設計了基于8051單片機的步進電機控制系統。在通過應用MCU建立的控制電路和電機控制程序的方式下,可以方便的實現步進電機的控制。
2 控制系統的硬件設計
為了面向于機械設備的應用,控制系統的搭建是基于比較常見的三相步進電機,系統控制框圖如圖1所示。這個系統主要由硬件電路和控制程序組成。硬件電路包括電源電路和控制電路。電源電路提供控制電壓,控制電壓需要應用到控制系統的每一個元件中,同時作為步進電機的驅動電壓??刂齐娐分饕ㄎ⒖刂破麟娐?、環形電路、功率放大電路和顯示電路、鍵盤界面。MCU和8279單片機通信;將控制信息發送到環形電路,此信息用于控制步進電機的速度和方向。
2.1 電源電路的設計
電源電路的設計如圖2所示。這個電路主要包括變壓器、整流器電橋、電容、三端穩壓集成塊等。變壓器的輸入端時是220V的交流電。直流電通過整流濾波之后輸送到三端穩壓集成模塊7812和7805的輸入端。在三端穩壓集成模塊的輸出端,我們可以得到分別用于步進電機和MCU的12V和5V的直流電壓。
2.2 MCU電路的設計
美國愛特梅爾公司的AT89S52微處理器內部包括了高性能的CMOS8位微處理器。該單片機由于其眾多優勢而廣泛應用于工業生產,主要體現在低功耗、良好的兼容性、系統穩定性、價格低廉。為了使單片機可以正常工作,同時設計了晶體電路和重置電路。
2.3 環形分配電路的設計
步進電機通電之后,各相繞組在一定的頻率下運轉。所以控制脈沖要根據電流定律分配到每一相繞組。該電路稱為脈沖分配器,也稱為電路分配器,用以完成脈沖分配功能。環形分配器由步進電機控制繞組數量和工作方式組成。電路原理圖如圖3所示。在電路原理圖中Q1、Q2、Q3是三相A、B、C是觸發器,分別通過三個響應的OR電路控制,組成三相六環分配器。當相應觸發器處于高電平“1”時,A、B、C為電機輸出端。低電平為“0”時,稱為電機切斷繞組。
環形分配器的工作過程如下:預置邊脈沖在CP脈沖尚未到達時,將Q1置位,Q2和Q3復位。在這一點,預置狀態的環形分配器設置為100,這是初始狀態。由于A端口處于置位狀態,當在CP端輸入正脈沖時,B和C處于復位狀態。根據邏輯規則,D觸發器只觸發Q2,A、C端保持初始狀態不變,B端有“0”強制變為“1”。環路分配算符的狀態由100變為110。環路分配算符變為另一種狀態當CP端輸入二次脈沖的時候,只觸發Q1,將A端口強制由“1”變為“0”,這也可以稱為010形式。類似地,當CP端接入3、4、5、6次脈沖時,環形分配器的狀態連續在011、001、101和001之間轉換,這是一個循環。當7次脈沖接入的時候開始第二次循環。工作過程的電路設計如圖4所示。從圖中可以看出環形分配電路主要包括2片74 LS74、1片74LS32、2片74LS08和外圍獨立元件。
2.4 功率放大電路的設計
本文研究的是三相步進電機。為每一相都設計了功率放大電路。在該電路中L1是電機繞組,T401是功率放大器轉換元件,e和c是與微控制器輸出脈沖相連的控制位,a和b分別對應ADD和GND。電阻R401可以減少功率放大電路的時間常數,這樣可以減少電流增大和減小消耗在電路中的轉換時間。電容C401是加速電容器,所以在繞組的導通電壓瞬時值都落在繞組的電流速度實現加速功能。二極管D401和電阻R402在繞組相反的一端,平行布置。當VMOS管斷電瞬間,它們也能夠完成提供感應電磁力消耗路徑的功能。
2.5 顯示電路和鍵盤交互界面的設計
8279是可編程鍵盤同時界面顯示芯片具備鍵盤處理和自動顯示的功能,廣泛應用于MCU系統。在本文中8279芯片用于和MCU的通信,使用矩陣鍵盤輸入指令,它將步進電機的轉速顯示在四個數碼管上。
3 MCU的控制程序的預置
為了減少單片機的存儲空間,同時提高執行速度,我們采用集成語言編寫單片機的控制程序??刂瞥绦蛑饕ㄖ鞒绦?、鍵盤掃描和顯示子程序、十進制到二進制轉換子程序、脈沖生成子程序和延時子程序。鍵盤掃描和顯示子程序主要用于驅動8279芯片鍵盤掃描和控制數碼管顯示。十進制到二進制轉換子程序用于顯示步進電機速度替代后的相應值。脈沖生成子程序可以生成步進電機所需的指令。延時程序用于延遲一定的時間??刂芃CU的主程序顯示如下:
Program Startup
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV R0,#00H;
4K Space reset
MOV R1,#7EH
M1:MOV @R0,#00H
INC R0
DJNZ R1,M1
MOV R0,#20H
MOV SP,#32H
CLR EA;IRQ AND FIQ
MOV A,#0D1H
MOV DPTR,#7FFFH
MOVX@DPTR,A
WAIT:MOVX A,@DPTR;Read Status
JB ACC.7,WAIT
MOV A,#00H;8character display,left input
MOVX@DPTR,A
MOV A,#34H
LCALL KEY
LCALL DTOB;
Display the subroutine
SETB EA;IRQ and FIQ
SETB EXO
LCALL PUL
END
4 結語
本文搭建了基于MCU的單片機步進電機控制系統,建立了硬件電路,包括電源電路、微處理器電路、子回路、變量控制電路、功率放大電路、鍵盤和界面顯示電路,最后設計了MCU的預置程序。測試結果表明,該系統可以方便地實現步進電機運動的控制。
參考文獻
[1] M.Shi,X.Wang.The stepper motor's drive design and technological improvement[J].Science&Technology Information,2012,(13).
[2] 張占立,康春花,郭士軍,符克理.基于單片機的步進電機控制系統[J].電機與控制應用,2011,(3).
[3] Y.Wu.Application of step motor control system in slab continuous casting marking machine[J].Metallurgical Power,2012,(2).
[4] L.Xie.The click on measurement system which is measure therotational speed is based on AT89C51[J].Guangxi Journal of LightIndustry,2012,(2).
[5] H.Chen.The basic structure and working principle of MCU-AT89S52 the function of MCU,clock system,timing and reset[J].Practical Electronics,2006,(2).
[6] Z.Hang.The Circuit Design of Rf Power Amplifier
[D].The Publishing Company of Xi'an Electronic and Engineering University,2009.