劉燎原
LIU Liao-yuan
(江蘇建筑職業技術學院 信息電子工程學院,徐州 221116)
角度自動調整,是指物體可以自動調整到系統所需要的角度以實現物體精確定位,這在航空航天、航海、汽車駕駛、數控加工等現實生活領域中有著廣泛應用。這涉及到單片機和傳感器技術的綜合應用,單片機是系統的控制核心,傳感器為系統提供進行處理和決策所必需的原始信息,我們把單片機和傾角傳感器結合起來,就可以實現一般領域的角度自動調整控制。本文以航海領域的帆板的角度控制為研究對象,設計了一種模擬的帆板控制系統。
該系統要求設計一個模擬的帆板控制系統,如圖1所示。用風扇模擬風,通過對風扇轉速的控制來實現調節風力大小,從而來改變帆板轉角θ。本系統要求風扇和帆板的距離d為10cm時,可以通過操作鍵盤控制風扇轉速,使帆板轉角θ能夠在0~60°范圍內變化,并且能夠實時顯示帆板的轉角θ;還可以通過操作鍵盤,讓帆板在很短時間內穩定在某個角度。

圖1 帆板控制系統
根據設計的基本要求,設計任務主要完成的是帆板轉動到不同的角度,能實時顯示出角度的大小,并能夠通過鍵盤來控制風力的大小,以實現帆板的角度在要求的范圍內變化,最后能穩定在某個角度。為實現相應的功能,本系統可以分為以下幾個部分:單片機主控模塊、電扇模塊、角度傳感器檢測模塊、A/D轉換模塊、顯示模塊、鍵盤輸入模塊、聲光報警模塊,如圖2所示。

圖2 系統框圖
本系統采用STC89C52RC單片機作為主控芯片,通過L298驅動模塊驅動電扇轉動,使用傾角傳感器SCA60C檢測帆板轉動的角度,再由AD0832轉換送入單片機,通過數學公式轉換為角度值,選用LCD1602液晶屏實時顯示角度。本系統通過改變PWM波的占空比實現調整風力大小,采用4×4矩陣鍵盤實現鍵盤控制,可以實現帆板角度的增加、減小、角度預置等操作。
傾角傳感器是用來檢測帆板的傾角,它的基本型號為模擬輸出和數字輸出。數字輸出的傳感器能輸出數字信號,但成本較高,且非常敏感,電路的波動或是器件的振動對輸出值的精度都有非常大的影響,溫度對它也有一定的影響。采用模擬輸出的傳感器,成本低,長期穩定性好,適合在各種環境較差的場合角度。模擬輸出的信號可以經過A/D轉換,轉換成適合單片機的數字信號。所以我們采用了模擬傾角傳感器SCA60C。
SCA60C是芬蘭原裝的高精度單軸傾角傳感器[1]P54,可用在一些控制類的角度精確度比較高的情況,比如平衡小車、單擺系統等。它測量范圍1g(±90度),單極5V供電,比例電壓輸出,0.5V-4.5V模擬電壓輸出。它的優勢是抗沖擊能力強,能耗低。SCA60C實際上是一個加速度計,內部由一個硅微傳感器和信號處理芯片組成;SMD形式封裝,通過測量地球引力在測量方向上的分量,再將其轉換為傾斜角度。所測物體的角度和輸出電壓的關系曲線如下圖3所示,公式近似為:α=arcsin(0.5Vout-1.25),α為所測物體的角度,Vout為傾角傳感器的輸出電壓。

圖3 轉角方向
在實際使用中,我們把SCA60C固定在帆板的軸上,只用到了SCA60C芯片的3個管腳,如圖4所示。其中4腳接地,8腳接5V電源,7腳為輸出端口,能輸出模擬的電壓信號,在地與電源之間要接一個47nF的濾波電容,保證電源的穩定性。通過測量輸出電壓信號的大小,根據公式估算出傾角的大小。

圖4 角度傳感器的使用管腳圖
PWM調速[2]P168是指利用大功率晶體管的開關特性來調制固定電壓,按一個固定的頻率導通和斷開,根據需要改變一個周期內“導通”和“斷開”時間的長短,即改變直流伺服電動機電樞上電壓的“占空比“。我們引進電壓平均值Uav,它可用下式表示:Uav=ton*Us/T=aUs.式中ton為開關每次接通的時間,T為開關通斷的時間周期,a為占空比,a=ton/T。由上式可見,改變脈沖的占空比,電動機兩端的電壓平均值也隨之改變,因而也就控制了電動機轉速。改變占空比有兩種調制方法,一種是脈沖寬度調制,縮寫為PWM;另一種方式是脈沖頻率調制,縮寫為PFM。目前,直流電動機的控制中,以應用PWM控制方式為主, 它是指開關周期恒定,通過改變導通脈沖寬度來改變占空比的。本設計中是利用軟件來產生PWM波,在周期恒定的情況下,通過改變高電平的時間來改變占空比的。
PWM波要經過放大后輸送給風扇,我們采用計算機的散熱風扇來模擬風力,采用L298為驅動芯片[3]P87。L298是雙H橋高電壓大電流功率集成電路,可用來驅動繼電器、線圈、直流電動機、步進電動機等電感性負載。它的驅動電壓可達46V,直流電流總和可達4A,其內部具有2個完全相同的PWM功率放大回路。圖5為L298驅動電路,1腳接地,2腳、3腳接直流電機的正負極,4腳接+12V,6腳為使能端接單片機P3.7,該端口是單片機軟件產生的PWM波輸出端口,讓電機實現調速。8腳接地,電路中的5腳、7腳是控制電機正反轉的,只需接電源和地就可以實現電機正反轉。

圖5 L298驅動電路
本系統的軟件程序采用C語言編寫,包括LCD顯示程序、A/D轉換讀取程序、PWM波產生程序和鍵盤掃描程序等。主程序的流程見圖6所示。

圖6 程序流程圖
根據方案,我們焊接出了帆板控制系統的電路板,我們利用量角器、直尺、秒表、三角板等工具做了一系列的實驗。

圖7 鍵盤布局圖 圖8 帆板45度LCD顯示信息
我們把風扇固定在距離帆板10cm的位置,對系統上電后,系統處于待機狀態。系統的鍵盤布局如圖7所示,此時按下“最大”鍵,風扇處于最大風速,帆板被風扇吹起,則帆板處于最大角度,LCD上顯示相關信息;此時若按下鍵盤的“增大”、“減小”按鍵,風扇的轉速會增大或減小,帆板的角度也會增大或減小,可以滿足在0-60度范圍內變化。經測試,角度誤差在2度以內,見表1所示。鍵盤上還設置了數字鍵,用戶可以自主設置要求帆板達到的角度,假設我們要預置45度,則按下4和5鍵,再按下確定鍵,則帆板可以很快穩定在45度附近,并且發出聲光報警供用戶檢測,LCD顯示如圖8所示。LCD兩行顯示,第一行為帆板當前的傾角,第二行為預置角度、時間、占空比等信息。經測試,達到設定值的時間在4秒以內,如表2所示。

表1 帆板增大減小的角度
本系統實現了實時顯示帆板角度的基本要求,但也不可避免地存在一些誤差。我們對誤差進行了分析,有多種因素造成誤差。例如帆板支架的不穩定性,造成了角度的不穩定;傾度傳感器的初始角度很難保證絕對水平以及公式的近似計算帶來的誤差。
本系統利用SCA60C 傾角傳感器檢測帆板的角度,經過A/D 轉換后輸送給單片機處理顯示;并且可以通過鍵盤來增大、減小、設置帆板的角度,完全實現了系統設計的要求。系統測量精度高,絕對誤差小于2 度;預置角度方便,4 秒內就可以達到設定值。在角度自動調整中,充分利用單片機和傳感器技術,可以實現物體的精確角度定位,在實際生活領域有非常重要的實際應用。
[1] 張曉靜, 站智濤. 基于傾角傳感器設計的帆船姿態儀[J].單片機與嵌入式系統應用. 2008(5): 54-55
[2] 郭志勇. 單片機應用技術項目教程[M]. 中國水利水電出版社. 2011.1
[3] 宋健. 基于L298的直流電動機PWM調速器[J]. 濰坊學院學報. 2004(4): 87-88.
[4] 全國電子設計競賽獲獎作品選編[M]. 北京理工大學出版社, 2007.