安徽商貿職業技術學院 王松林
帆板控制系統設計
安徽商貿職業技術學院 王松林
論文介紹基于STC89C52單片機的帆板角度控制系統,系統可以利用風扇控制裝置對帆板角度進行控制,并通過LCD12864實時顯示角度變化。還可依據設定的帆板角度信息智能控制風扇轉速,在很短時間內(5秒以內)動態調整帆板擺角,同時實時顯示帆板角度等信息。系統包括:單片機主控模塊、角度信號采集模塊、鍵盤輸入模塊、顯示模塊、電源模塊、風扇電機驅動模塊。系統主控模塊采用性價比高的單片機最小系統;選用ADXL345加速度傳感器完成系統角度信號采集功能;利用LCD12864實時顯示角度變化的信息,5*6矩陣鍵盤完成風力等級和角度設定的輸入;系統電源模塊采用兩路穩壓輸出電路(5v、15v),提供控制系統與風扇電機的工作電源;風扇電機采用L298N模塊驅動。本系統制作成本較低、工作性能控制穩定,能很好達到設計要求。
STC89C52;加速度傳感器;LCD12864;L298N
單片機又稱單片微控制器,單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度等物理量的測量。本系統就是以單片機為核心建立起來的,要實現對帆板轉角大小的控制,其歸根就是對風扇的控制,帆板的轉角隨著風扇風力的變化而變化,角度傳感器給單片機不同的角度檢測信號,經單片機處理后在LCD液晶上顯示,同時給出聲光提示。系統體現了模塊化的設計理念,將單片機和各個器件結合在一起,完成系統化的設計,充分發揮了單片機的可靠性、可操作性和強大處理功能。[1-2]
1.主控電路
方案一:采用可編程邏輯器件FPGA作為控制器。FPGA可以實現各種復雜的邏輯功能,IO資源豐富,易于進行功能擴展。但本系統不需要復雜的邏輯功能,且從使用、功耗及經濟的角度考慮我們放棄了此方案[3]。
方案二:STC89C52單片機采用STC89C52單片機作為主控器,其算術功能強,軟件編程簡潔靈活、自由度大,可用軟件編程實現各種邏輯控制功能,且其功耗低、技術成熟,成本低廉。本系統主要是進行信號的處理以及風扇電機的控制。
綜合考慮,本系統設計的功能依靠51單片機均可實現,故采用方案二。
2.角度傳感器的選用
方案一:用UZZ9001Y與KMZ41連接構成一個角度測量系統。電路組成繁瑣,制作較困難,穩定性較差。
方案二:傾角傳感器。該集成芯片為專用的水平傾角測量芯片,具有體積小、靈敏度高等優點,但是輸出為模擬信號,需要用到DA轉換,操作間為復雜,且占用I/O口較多,不利于本統功能模塊的操作。
方案三:用ADXL345數字加速度傳感器。ADXL345是一款小而薄的超低功耗的3軸加速度計,可測量帆板在斜面所受重力加速度在斜面上的分量,進而轉換成傾斜角,測量精度較高。ADXL345輸出信號為數字信號,避免了A/D轉換,操作簡單;此外ADXL345只需用到兩個I/O口,占用資源少,能滿足本設計的要求。
本系統選擇了第三種方案。
3.按鍵選用
方案一:采用獨立鍵盤。多個使用時,線路連接不便,操作繁瑣。
方案二:采用5*6的距陣鍵盤,可輸入的值比較多,可設定的功能也多。
在本系統中需要多個鍵,系統選擇了第二種方案。
4.顯示
方案一:使用數碼管顯示。要完成功能電路的顯示需要多個數碼管,此方案占用I/O口多,連接不便,顯示效果差,功耗大。
方案二:用LCD1602液晶顯示。1602是一種專門用于顯示字母、數字、符號等點陣式,1602分為上下2行,每行顯示16個字符。驅動簡單,但不能顯示漢字。
方案三:用LCD12864液晶顯示。LCD12864功能強大,不僅能顯示字母、數字、符號,還可以顯示漢字和圖形,最多可顯示4行,每一行最多顯示8個中文,16個半寬字體。(最好選用帶字庫的,方便編寫程序。)LCD12864和LCD1602使用方法類似,驅動簡單,耗電量小,無輻射危險,顯示直觀、抗干擾能力強,但體積較大。

表1 系統要求測試
本系統選擇了第三種方案。
5.電機的驅動
方案一:用分立元件構成的H橋電路利用分立三極管元件構成的H橋電路結構簡單,但驅動能力有限,所帶負載不可過大。
方案二:采用L298N集成H橋芯片。在L298N集成芯處中集成了兩套H橋電路,可直接驅動兩路直流電機,利用單片機產生的PWM信號,可方便地進行電機調速。
方案三:用ULN2003功率放大器件。ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。通過使用不同的放大電路和不同參數的器件,可達到不同的放大的要求,放大后能得到較大的功率。
本系統設計采用方案二。
6.風扇
方案一:用普通的散熱風扇。風力小,風力流失大,很難達到系統要求。
方案二:用帶通風通道的風扇。風力集中,流失小,能很好的吹動帆板。
本系統設計采用方案二。
7.電源
方案一:自制穩壓電源。采用變壓器與三端穩壓器相結合,使220V電壓經變壓器變壓,降為系統所需電壓,過整流橋并利用兩個大的電容濾波,從而得到較為穩定的直流電壓。自制電源體積大,需接入220V電壓,電壓不穩定,使用不方便。

表2 按鍵控制風力等級測試

圖2-1 總體框圖

圖4-1 主控電路

圖4-2 風扇控制

圖4-3 顯示模塊

圖4-4 聲光提示模塊

圖4-5 傳感器模塊

圖4-6 風扇控制算法

圖4-7 聲光提示算法

圖4-8 系統流程圖
方案二:三塊6V蓄電池串聯供電。直接選用所需型號蓄電池,能量足,供電穩定,高低溫適應性強。
本系統選用第二種方案。
系統功能的實現,以STC89C52單片機為核心,在單片機系統實現的輸入輸出和顯示功能的基礎上,由單片機的內置邏輯和運算功能,加上外圍電路得以實現。根據設計任務要求,該電路的總體框圖可分為幾個基本的模塊,總體框圖如下圖2-1所示。
帆板尺寸:長15cm,寬10cm。風扇到帆板的距離:7~15cm。本系統帆板轉軸直徑0.5cm。
帆板轉角:0~60度。
帆板轉角測量原理:風扇吹動帆板轉動,產生帆板角度變化,利用ADXL345數字加速度傳感器測出三維坐標x、y、z的變化,將加速度傳感器固定在帆板上,從而通過固定y,利用x、z的關系求出角度。角度θ=(180*atan(temp z/temp x))/3.14。角度的測量范圍是0-90°,可以滿足系統要求[4]。
首先利用鍵盤控制風扇的轉速,使帆板能夠偏轉一定的角度,再利用加速度傳感器測出帆板的角度,送顯示電路顯示。具體控制算法采用C語言編程實現。
1.主控電路
系統采用STC89C52單片機構成主控制電路,電路如圖4-1所示。
2.風扇控制
風扇電機選用L298N模塊驅動,并由4*4按鍵矩陣控制PWM,改變電機速度,達到控制風扇風力大小的目標。L298N驅動模塊如下圖4-2所示。
3.顯示模塊
使用LCD12864顯示,如下圖4-3所示。
4.聲光提示模塊(如圖4-4)
5.傳感器模塊(如圖4-5)
1.風扇控制算法設計
風扇控制算法如下圖4-6所示。
2.聲光提示算法設計
聲光提示算法如下圖4-7所示。
3.系統流程圖
整個系統程序流程圖如圖4-8所示。
利用四位半數字萬用表、秒表、量角器等設備通電對系統進行測試。
1.功能要求測試見表1。
2.按鍵控制風力等級測試見表2。
本系統總體性能良好。但是也有不足的地方,由于帆板擺動大的問題,當系統工作時,影響到轉角實際測量的精確性。這個地方有待改進。
系統設計過程中,很多知識點在理論上完全理解了,但到具體的電路設計與實現中,會出現很多一時無法理解的問題,要通過不斷測試修改軟硬件,才能用理論來指導實踐,進一步深入理解理論。
[1]郭天祥.51單片機C語言教程[M].北京:電子工業出版社,2009.
[2]孫岐峰,杜鋒.基于A Tmega16帆板控制系統設計與實現[J].現代電子技術,2012,35(17):189-191.
[3]王永喜,胡玫.基于單片機的帆板自動控制系統設計與實現[J].自動化與儀器儀表,2012,4:67-68.
[4]羅樂.基于STC12C60S2單片機的帆板控制系統設計[J].重慶理學院學報(自然科學版),2012,4(31):30-36.
本文系2011年安徽商貿職業技術學院院級質量工程項目“特色專業-應用電子技術專業”階段性研究成果。
王松林(1980—),男,工學碩士,安徽無為人,安徽商貿職業技術學院講師,研究方向:電子學,物聯網技術應用。