趙林
(山東凱文科技職業(yè)學院 信息學院,山東 濟南 250200)
單片機作為微控制器的一種,廣泛應用于日常生活。該課程由于其綜合性和實踐性較強,涉及知識較多,對培養(yǎng)和鍛煉學生運用單片機技術(shù)的硬件、軟件進行開發(fā)設計的能力,學生分析問題,解決問題的能力,高職學生職業(yè)技能,實踐創(chuàng)新能力有重要的作用,為從事自動控制及應用電子產(chǎn)品的檢測、設計奠定基礎。本文來源于2011年全國電子設計競賽F題,設計實現(xiàn)帆板控制系統(tǒng)。系統(tǒng)要求通過鍵盤預置角度,利用風扇風力大小控制帆板轉(zhuǎn)角,并實時顯示。本題涉及了角度檢測、電機驅(qū)動、PWM、閉環(huán)控制、AD轉(zhuǎn)換等單片機應用技術(shù),是帆板自主航行系統(tǒng)中重要的組成部分。
根據(jù)要求,本系統(tǒng)由單片機最小系統(tǒng)、人機交互模塊、風扇控制模塊、角度檢測模塊、聲光報警模塊、系統(tǒng)電源6大模塊構(gòu)成,具體框圖如圖1所示。
圖1 系統(tǒng)組成框圖Fig.1 Block diagram of system
采用STC公司的STC12C5A60S2單片機作為微處理器。該單片機為增強型51單片機,具有高速、低功耗及超強抗干擾等特點,內(nèi)部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換器(速度達25萬次/秒),非常符合系統(tǒng)要求。
采用MMA7361加速度角度傳感器測量角度。加速度角度傳感器是通過測量由于重力引起的加速度計算出器件相對于某一平面的傾斜角度。角度傳感器反應靈敏、輸出數(shù)據(jù)準確且價格適中。利用加速度傳感器進行角度測量分為3種:單軸傾角測量、雙軸傾角測量和三軸傾角測量。本次設計中,由于只要測量帆板與豎直方向夾角,故選用單軸傾角測量。單軸傾角測量的原理如圖2所示,單個軸(即x軸)通過重力旋轉(zhuǎn)。
由于本方法近僅使用單個軸且要求重力矢量,僅當器件具有特定方向且x軸始終具有處于中心面時,算出的傾角才能準確。根據(jù)基本三角原理,x軸上的重力矢量投影會產(chǎn)生等于加速度計x軸與水平線夾角正弦值的輸出加速度。水平線通常為與重力矢量垂直的平面。在重力為理想值1 g時,輸出加速度為:
在實際使用中,查閱所用傳感器MMA7361技術(shù)手冊及利用加速度傳感器測量角度的原理,可得輸出電壓與測量角度的關(guān)系為:
圖2 單軸傾角檢測原理Fig.2 Detection principle of single axis tilt
所以,可以得到角度值為:
角度檢測電路圖如圖3所示。經(jīng)角度檢測模塊輸出角度模擬量,經(jīng)單片機AD轉(zhuǎn)換并經(jīng)上式計算后就可以得到所測角度值。
圖3 角度檢測模塊電路圖Fig.3 Circuit module of angle detection module
PWM(脈寬調(diào)制)是一種對模擬信號電平進行數(shù)字編碼的方法,利用微處理器的數(shù)字輸出對模擬電路進行控制的一種非常有效的技術(shù)。相比電壓調(diào)速的方法,PWM調(diào)速具有精度高,易于控制等優(yōu)點,同時選用的微控制器集成了PCA模塊,可直接輸出PWM,方便使用。
本系統(tǒng)利用直流電動機驅(qū)動風扇轉(zhuǎn)動,電機驅(qū)動芯片MC33886是單片集成的H橋元件,適用于驅(qū)動小功率直流電機。本電路選擇了MC33886的全橋工作方式,采用單片工作時,驅(qū)動電路的溫度會非常高,有時溫度會超過MC33886自我保護的最高溫度導致驅(qū)動停止工作。為了解決這一問題,將兩片完全相同的MC33886并聯(lián),發(fā)現(xiàn)溫度得到了有效控制,電路的驅(qū)動能力也得到了進一步的提高。電路如圖4所示。
圖4 風扇控制模塊電路圖Fig.4 Circuit module of fan control module
為了精確控制風扇轉(zhuǎn)速,達到控制帆板角度的目的,本系統(tǒng)由單片機通過角度檢測模塊得到帆板的實際轉(zhuǎn)角,與預置轉(zhuǎn)角比較,經(jīng)PI控制器,輸出可調(diào)的PWM信號,再驅(qū)動直流電機旋轉(zhuǎn),從而形成風速閉環(huán)控制系統(tǒng),即負反饋控制。電機調(diào)速模塊框圖如圖5所示。
圖5 電機調(diào)速模塊框圖Fig.5 Block diagram of motor speed control module
系統(tǒng)軟件主要由主程序及各子程序完成。在主程序模塊中,需要完成對各參量和接口的初始化、PCA模塊初始化、液晶屏初始化以及角度采集、鍵盤掃描、主循環(huán)等工作。主程序流程圖如圖6(a)所示。在風扇速度控制中,本系統(tǒng)采用增量式PI算法,具體流程圖如圖6(b)所示。
文中設計的帆板控制系統(tǒng)能夠較好地完成帆板角度測量及控制任務。其中STC12C5A60S2單片機非常適合高職學生單片機入門學習,同時,該系統(tǒng)角度閉環(huán)PID控制系統(tǒng)能快速、準確的實現(xiàn)角度的調(diào)節(jié),整個系統(tǒng)運行穩(wěn)定,人機交互界面設計友好,且所用器件少,電路簡單,性價比高。
圖6 程序流程圖Fig.6 Flow chart of program
[1]陳桂友.增強型8051單片機實用開發(fā)技術(shù)[M].北京:北京航空航天大學出版社,2010.
[2]藍和慧.全國大學生電子設計競賽—單片機應用技能精解[M].北京:電子工業(yè)出版社,2009.
[3]黃智偉.全國大學生電子設計競賽訓練教程 [M].北京:電子工業(yè)出版社,2009.
[4]倪志蓮.單片機應用技術(shù)[M].2版.北京:北京理工大學出版社,2010.
[5]Clifford M,Gomez L.Measuring Tiltwith Low-g Accelerometers[EB/OL]. (2005-05).http://cache.freescale.com/files/sensors/doc/app_note/AN3107.pdf?fsrch=1&sr=1.
[6]MMA7361 Technical Data.Freescale Semiconductor Technical Data[EB/)L].(2010-03).http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MMA7361LC&fsrch=1&sr=3.