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