【摘要】本設(shè)計以C8051F020單片機(jī)為核心,以4*4矩陣鍵盤作為輸入達(dá)到控制直流電機(jī)的啟停、速度和方向,完成了基本要求和發(fā)揮部分的要求。在設(shè)計中,采用了PWM技術(shù)對電機(jī)進(jìn)行控制,通過對占空比的計算達(dá)到精確調(diào)速的目的。
【關(guān)鍵詞】C8051F020;PWM調(diào)速
一、設(shè)計方案
1.電機(jī)調(diào)速控制模塊
采用由達(dá)林頓管組成的H型PWM電路。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電動機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡單地實現(xiàn)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。
2.PWM調(diào)速工作方式
單極性工作制。單極性工作制是單片機(jī)控制口一端置低電平,另一端輸出PWM信號,兩口的輸出切換和對PWM的占空比調(diào)節(jié)決定電動機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。
3.PWM調(diào)脈寬方式
采用了定頻調(diào)寬方式,因為采用這種方式,電動機(jī)在運轉(zhuǎn)時比較穩(wěn)定并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實現(xiàn)上比較方便。
4.PWM軟件實現(xiàn)方式
基于不占用定時器資源,對直流電機(jī)采用軟件延時所產(chǎn)生的定時誤差在允許范圍之內(nèi)。
二、系統(tǒng)分析與設(shè)計
總體設(shè)計方案的硬件部分詳細(xì)框圖如圖1所示。
圖1 系統(tǒng)總框圖
鍵盤向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過P2.0與P2.1其中一口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,另一口輸出低電平,經(jīng)過信號放大、光耦傳遞,驅(qū)動H型橋式電動機(jī)控制電路,實現(xiàn)電動機(jī)轉(zhuǎn)向與轉(zhuǎn)速的控制。電動機(jī)的運轉(zhuǎn)狀態(tài)通過LED顯示出來。電動機(jī)所處速度級以速度檔級數(shù)顯示。正轉(zhuǎn)時數(shù)字向右移動,反轉(zhuǎn)時數(shù)字向左移動。移動速度分7檔,快慢與電動機(jī)所處速度級快慢一一對應(yīng)。每次電動機(jī)啟動后開始計時,停止時LED顯示出本次運轉(zhuǎn)所用時間,時間精確到0.1s。
1.系統(tǒng)的硬件電路設(shè)計與分析
電動機(jī)PWM驅(qū)動模塊的電路設(shè)計與實現(xiàn)具體電路如圖2所示。
本電路采用的是基于PWM原理的H型橋式驅(qū)動電路。PWM電路由四個大功率晶體管組成H型橋式電路構(gòu)成,四部分晶體管以對角組合分為兩組:根據(jù)兩個輸入端的高低電平?jīng)Q定晶體管的導(dǎo)通和截止。4個二極管在電路中起防止晶體管產(chǎn)生反向電壓的保護(hù)作用。4個電感在電路中是起防止電動機(jī)兩端的電流和晶體管上的電流過大的保護(hù)作用。
在實驗中的控制系統(tǒng)電壓統(tǒng)一為5v電源,因此若達(dá)林頓管基極由控制系統(tǒng)直接控制,則控制電壓最高為5V,再加上三極管本身壓降,加到電動機(jī)兩端的電壓就只有4V左右,嚴(yán)重減弱了電動機(jī)的驅(qū)動力?;谏鲜隹紤],我們運用了4N25光耦集成塊,將控制部分與電動機(jī)的驅(qū)動部分隔離開來。輸入端各通過一個三極管增大光耦的驅(qū)動電流;電動機(jī)驅(qū)動部分通過外接12V電源驅(qū)動。這樣不僅增加了各系統(tǒng)模塊之間的隔離度,也使驅(qū)動電流得到了大大的增強。
圖2 電動機(jī)PWM驅(qū)動模塊電路
在電動機(jī)驅(qū)動信號方面,我們采用了占空比可調(diào)的周期矩形信號控制。脈沖頻率對電動機(jī)轉(zhuǎn)速有影響,脈沖頻率高連續(xù)性好,但帶帶負(fù)載能力差脈沖頻率低則反之。經(jīng)實驗發(fā)現(xiàn),脈沖頻率在40Hz以上,電動機(jī)轉(zhuǎn)動平穩(wěn),但加負(fù)載后,速度下降明顯,低速時甚至?xí)^D(zhuǎn);脈沖頻率在10Hz以下,電動機(jī)轉(zhuǎn)動有明顯跳動現(xiàn)象。實驗證明,脈沖頻率在15Hz-30Hz時效果最佳。而具體采用的頻率可根據(jù)個別電動機(jī)性能在此范圍內(nèi)調(diào)節(jié)。通過N1輸入信號,N2輸入低電平與N1輸入低電平,N2輸入信號分別實現(xiàn)電動機(jī)的正轉(zhuǎn)與反轉(zhuǎn)功能。通過對信號占空比的調(diào)整來對車速進(jìn)行調(diào)節(jié)。速度分7檔控制,從高電平(第6檔)到低電平(第0檔)中間占空比以20%逐極遞減。速度微調(diào)方面,可以通過對占空比以1%的跨度逐增或逐減分別實現(xiàn)對速度的逐加或逐減。
2.系統(tǒng)的軟件設(shè)計
本系統(tǒng)編程部分工作采用KELI-C51語言完成,采用模塊化的設(shè)計方法,與各子程序做為實現(xiàn)各部分功能和過程的入口,完成鍵盤輸入、按鍵識別和功能、PWM脈寬控制和LED顯示等部分的設(shè)計。
①PWM脈寬控制:本設(shè)計中采用軟件延時方式對脈沖寬度進(jìn)行控制,延時程序函數(shù)如下:
此函數(shù)為帶參數(shù)DLYLEVEL,約產(chǎn)生DLYLEVEL *400us的延時,因此一個脈沖周期可以由高電平持續(xù)時間系數(shù)hlt和低電平持續(xù)時間系數(shù)llt組成,本設(shè)計中采用的脈沖頻率為25Hz,可得hlt+llt=100,占空比為hlt/(hlt+llt),因此要實現(xiàn)定頻調(diào)寬的調(diào)速方式,只需通過程序改變?nèi)肿兞縣lt,llt的值。
②鍵盤中斷處理子程序:采用中斷方式,按下鍵,單片機(jī)P3.2腳產(chǎn)生一負(fù)跳沿,響應(yīng)該中斷處理程序,完成延時去抖動、鍵碼識別、按鍵功能執(zhí)行。
該顯示子程序只對各個LED管分別點亮一次,因此在運行過程中,每秒執(zhí)行的次數(shù)不應(yīng)低于每秒24次。
④定時中斷處理程序:采用定時方式1,因為單片機(jī)使用12M晶振,可產(chǎn)生最高約為65.5ms的延時。對定時器置初值3CB0H可定時50ms,即系統(tǒng)時鐘精度可達(dá)0.05s。當(dāng)50ms定時時間到,定時器溢出則響應(yīng)該定時中斷處理程序,完成對定時器的再次賦值,并對全局變量time加1,這樣,通過變量time可計算出系統(tǒng)的運行時間。
對于一個數(shù)的顯示,先應(yīng)轉(zhuǎn)成BCD碼,即取出每一個位,分別送入顯示緩存區(qū),對于轉(zhuǎn)BCD的算法,應(yīng)對一個數(shù)循環(huán)除10取模,直至為0,程序如下:
軟件設(shè)計中的特點:
(1)對于電機(jī)的啟停,在PWM控制上使用漸變的脈寬調(diào)整,即開啟后由停止勻加速到默認(rèn)速度,停止則由于當(dāng)前速度逐漸降至零。這樣有利于保護(hù)電機(jī),如電機(jī)運用于小車上,在啟動上采用此方式也可加大啟動速度,防止打滑。
(2)對于運行時間的計算、顯示。配合傳感器技術(shù)可用于計算距離,速度等重要的運行數(shù)據(jù)。
(3)鍵盤處理上采用中斷方式,不必使程序?qū)︽I盤反復(fù)掃描,提高了程序的效率。
三、結(jié)語
本設(shè)計在硬件上采用了基于PWM技術(shù)的H型橋式驅(qū)動電路,解決了電機(jī)馬驅(qū)動的效率問題,在軟件上也采用較為合理的系統(tǒng)結(jié)構(gòu)及算法,提高了單片機(jī)的使用效率,且具有一定的防飛能力。
參考文獻(xiàn)
[1]王曉明.電動機(jī)的單片機(jī)控制(第3版)[M].北京:北京航空航天大學(xué)出版社,2011:70-79.
[2]潘琢金,施國君.C8051Fxxx高速SOC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002:43-82.
[3]王志新,羅文廣.電機(jī)控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010:19-35.
作者簡介:王博,助理講師,主要研究方向:單片機(jī)技術(shù)、電子技術(shù)。