喬志杰 曾金明
(1安徽電子信息職業(yè)技術(shù)學(xué)院;2解放軍蚌埠汽車士官學(xué)校 安徽蚌埠 233030)
直流電機(jī)具有良好的起、制動(dòng)性能,并且適合大范圍的平滑調(diào)速,因此在各類需要調(diào)速或快速正反向的機(jī)電控制系統(tǒng)中得到廣泛運(yùn)用。PWM直流調(diào)速技術(shù)以其開關(guān)頻率高、低速運(yùn)行穩(wěn)定、動(dòng)態(tài)性能優(yōu)越、效率高等優(yōu)點(diǎn),在電機(jī)調(diào)速中被普遍應(yīng)用。PWM控制技術(shù)易于在單片機(jī)控制中實(shí)現(xiàn),從而為直流電機(jī)控制的數(shù)字化提供了機(jī)會(huì)。采用單片機(jī)構(gòu)成直流電機(jī)速度控制系統(tǒng),不僅可以降低控制系統(tǒng)成本,也是單片機(jī)應(yīng)用的一個(gè)重要方面。
Proteus[1]是英國Labcenter公司開發(fā)的電路分析、實(shí)物仿真系統(tǒng),具有模擬和數(shù)字電路仿真、單片機(jī)和它的外圍電路組成的系統(tǒng)仿真[2]、LCD顯示、虛擬儀器、示波器、邏輯分析儀系統(tǒng)仿真等功能,可與Keil編程軟件進(jìn)行聯(lián)調(diào)?;赑roteus軟件的良好仿真特性,程序在Proteus中成功完成仿真調(diào)試的同時(shí),即可以說明所設(shè)計(jì)程序的準(zhǔn)確性,從而初步實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)中的控制程序設(shè)計(jì)部分,并為系統(tǒng)硬件電路的設(shè)計(jì)提供一定的參考價(jià)值[2]。
脈寬調(diào)制[3](Pulse Width Modulation, PWM)就是對脈沖的寬度進(jìn)行調(diào)制的技術(shù)。PWM控制技術(shù)[4]利用半導(dǎo)體開關(guān)器件的導(dǎo)通和關(guān)斷,將直流電壓轉(zhuǎn)換成一定頻率方波電壓,見圖1。
圖1 周期性PWM矩形脈沖
則上式可化為:U0=α×U(U為脈沖幅值)
α即為占空比,由上式可知,要改變直流輸出電壓的大小,可以通過改變脈沖幅值U和占空比α來實(shí)現(xiàn),實(shí)際應(yīng)用中脈沖幅值通常是不變的,所以可以通過控制占空比α的大小實(shí)現(xiàn)直流輸出電壓在0~U之間的有效控制,也就是改變電機(jī)電樞(定子)電壓的接通和斷開的時(shí)間比(占空比)以達(dá)到變壓目的,從而利用PWM控制技術(shù)實(shí)現(xiàn)對直流電機(jī)轉(zhuǎn)速的調(diào)節(jié)。
本方案以AT89C51單片機(jī)為控制器,將單片機(jī)產(chǎn)生的控制信號加在電機(jī)驅(qū)動(dòng)[4]模塊L298芯片上以控制直流電機(jī)。應(yīng)用4個(gè)按鍵,實(shí)現(xiàn)直流電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止等功能,設(shè)計(jì)方案采用了PWM技術(shù)來控制電機(jī),利用占空比的改變實(shí)現(xiàn)速度的精確控制。運(yùn)用軟件與硬件相結(jié)合的控制方法,實(shí)現(xiàn)了單片機(jī)對直流電機(jī)的穩(wěn)定速度控制。
硬件電路設(shè)計(jì)框圖如圖2所示,電路結(jié)構(gòu)由以下部分組成:顯示模塊、單片機(jī)、按鍵模塊、電機(jī)驅(qū)動(dòng)模塊。
圖2 直流電機(jī)速度控制系統(tǒng)硬件框圖
應(yīng)用L298芯片作為電機(jī)驅(qū)動(dòng)模塊。L298是雙H橋直流電機(jī)驅(qū)動(dòng)芯片,可以方便的驅(qū)動(dòng)兩個(gè)直流電機(jī),也可以驅(qū)動(dòng)一個(gè)四相電機(jī),能利用單片機(jī)的I/O口作為控制信號,芯片電路簡單,應(yīng)用方便。
L298的使能端為高電平時(shí),輸入端IN1為PWM信號,IN2為低電平信號時(shí),電機(jī)正轉(zhuǎn);輸入端IN1為低電平信號,IN2為PWM信號時(shí),電機(jī)反轉(zhuǎn);IN1與IN2相同時(shí),電機(jī)快速停止。當(dāng)使能端為低電平時(shí),電動(dòng)機(jī)停止轉(zhuǎn)動(dòng)。
按鍵采用獨(dú)立式鍵盤結(jié)構(gòu),使用AT89C51的P0.0、P0.1、P0.2、P0.3四個(gè)引腳控制4個(gè)獨(dú)立按鍵,4個(gè)按鍵分別實(shí)現(xiàn)電機(jī)轉(zhuǎn)向、加速、減速、停止的功能。獨(dú)立式鍵盤一般用在按鍵較少的場
合,獨(dú)立式鍵盤的按鍵相互獨(dú)立,每個(gè)按鍵接一根I/O口線,各根I/O口線上的按鍵工作狀態(tài)不會(huì)影響其它I/O口線的工作狀態(tài)。所以只需要檢測I/O口線的電平狀態(tài),就可判斷是鍵盤上哪個(gè)鍵被按下。
顯示模塊采用的是液晶LCD顯示模塊 LM016L。
(1)其主要接口有[5]:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
第5腳:R/W為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
第7~14 腳:D0~D7 為8位雙向數(shù)據(jù)線。
(2)單片機(jī)與LCD的連接
(RS,R/W,E)控制引腳接P3口,8個(gè)數(shù)據(jù)信號接P1口。VSS和VEE 接單片機(jī)地,VDD接單片機(jī)的電源VCC。
直流電機(jī)速度控制系統(tǒng)Proteus仿真[6]電路如圖3所示。
Proteus元件庫中有多類電機(jī)元件,在此選用帶編碼器的電機(jī)MOTOR-ENCODER來仿真,其編碼輸出可提供兩路路具有90度相位差的編碼脈沖,利用這兩路信號通過74LS386門后的脈沖信號反饋給T0后計(jì)數(shù),實(shí)現(xiàn)對轉(zhuǎn)速的檢測。從虛擬儀器模式[7]里選取示波器模塊實(shí)現(xiàn)對L298電機(jī)驅(qū)動(dòng)模塊的ENA信號檢測,利用圖表模式對編碼器的兩路信號進(jìn)行電壓信號分析。
圖3 直流電機(jī)速度控制系統(tǒng)Proteus仿真電路
當(dāng)系統(tǒng)啟動(dòng)后,單片機(jī)進(jìn)行初始化設(shè)置,如系統(tǒng)的初始化、LCD初始化和定時(shí)器的初始化。單片機(jī)檢測是否有鍵按下,通過對按鍵的判斷,對脈沖寬度的調(diào)整是通過改變高電平的時(shí)間長度,由變量分別實(shí)現(xiàn)電機(jī)的轉(zhuǎn)向、加速、減速和停止,控制PWM的輸出信號,從而控制電機(jī)的轉(zhuǎn)速,依次循環(huán)使電機(jī)趨于穩(wěn)定系統(tǒng)程序流程如圖4所示。
圖4 系統(tǒng)程序流程圖
在Keil uVision[8]集成開發(fā)環(huán)境下進(jìn)行源程序編譯。對程序編譯調(diào)試完畢后,在Proteus電路圖中,雙擊單片機(jī)AT89C51,打開其屬性編輯框,在“Program File”欄中選取擴(kuò)展名為“.HEX”的目標(biāo)代碼文件,并將其時(shí)鐘頻率改為12MHZ。在Proteus仿真界面中單擊電路圖中的運(yùn)行按鈕,就可以實(shí)現(xiàn)直流電機(jī)的仿真控制[9]。
當(dāng)仿真開始運(yùn)行時(shí),各個(gè)模塊處于初始狀態(tài)。點(diǎn)擊加速或是減速按鈕,顯示模塊便開始顯示數(shù)字。通過按鍵控制電機(jī)的驅(qū)動(dòng)模塊可以實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止等操作。從圖5~圖8仿真結(jié)果可以看出,本設(shè)計(jì)可以得到預(yù)期的仿真效果。
圖5 電機(jī)加速前的波形和加速后的的波形
圖6 編碼器信號
圖7 加速正轉(zhuǎn)和反轉(zhuǎn)時(shí)的電機(jī)運(yùn)行圖
圖8 電機(jī)速度顯示界面
從圖5可以看出,加速后的占空比增大,符合設(shè)計(jì)要求,說明該速度控制系統(tǒng)是有效的,能夠反映實(shí)際系統(tǒng)速度控制的要求。運(yùn)用Proteus和Keil對直流電機(jī)控制進(jìn)行了軟件和硬件的設(shè)計(jì),通過單片機(jī)AT89C51,可以方便的控制直流電機(jī)的速度和轉(zhuǎn)向,仿真結(jié)果表明:系統(tǒng)具有外圍器件簡單,運(yùn)行穩(wěn)定的特點(diǎn),達(dá)到了比較滿意的控制效果[9]。
參考文獻(xiàn):
[1]張靖武,周靈彬.單片機(jī)系統(tǒng)的Proteus設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2007.34.
[2]肖云茂,孫毅,張華興.基于Proteus的PC機(jī)對步進(jìn)電機(jī)運(yùn)動(dòng)控制仿真[J].機(jī)械設(shè)計(jì)與制造,2009,47(4):188.
[3]陳景賢.單片機(jī)控制的直流電機(jī)PWM 調(diào)速控制器設(shè)計(jì)[J].湛江師范學(xué)院學(xué)報(bào), 2008,29(3):123.
[4]楊靖.用單片機(jī)控制的直流電機(jī)調(diào)速系統(tǒng)[J].機(jī)床電器,2008,35(1):45.
[5]董繼承,黃宇.帶時(shí)鐘的數(shù)字溫度計(jì)的設(shè)計(jì)與制作[J].中國科技信息,2007,19(8):65.
[6]茹占軍,謝家興.基于AT89S52單片機(jī)直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)[J].軟件導(dǎo)刊,2010,9(8):106.
[7]王毅,王平,蘇偉達(dá),等.基于數(shù)字PID控制的直流電機(jī)控制系統(tǒng)的設(shè)計(jì)[J].福建師范大學(xué)學(xué)報(bào),2010,26(4):59.
[8]陳艷,李娜娜,楊永雙.Proteus和Keil在單片機(jī)教學(xué)中的應(yīng)用[J].科技教育創(chuàng)新,2009,38(20):194.
[9]李明.基于Proteus的單片機(jī)對步進(jìn)電機(jī)運(yùn)動(dòng)控制仿真[J].價(jià)值工程,2012,31(5):153.