江亮,王慧敏,張?zhí)斐?,王本?/p>
(皖西學(xué)院電子與信息工程學(xué)院,安徽六安,237012)
系統(tǒng)通過四個光照傳感器檢測光照強(qiáng)度,通過光照數(shù)據(jù)去控制云臺轉(zhuǎn)動的方向,確保太陽能板接收光照面積最大,提高太陽能板發(fā)電率,其次對于能量儲能這一過程我們通過3.7V鋰電池充電保護(hù)板并通過穩(wěn)壓二極管和防倒灌保護(hù)二極管確保充電過程安全,同時在放電這一環(huán)節(jié)我們通過降壓模塊使輸出電壓為3.3V,保證輸出穩(wěn)定電壓。
本系統(tǒng)總框圖如圖1所示,以STM32F103ZET6作為核心處理器,主控板由光照傳感模塊、云臺、nrf24l01無線通信模塊、藍(lán)牙模塊、TFT彩屏、太陽能板等構(gòu)成。通過檢測光照強(qiáng)度反饋控制太陽能板位置,并通過無線數(shù)據(jù)傳輸模塊實現(xiàn)數(shù)據(jù)發(fā)送和接受,并通過TFT彩屏顯示,以及藍(lán)牙模塊將數(shù)據(jù)發(fā)送至手機(jī)端。最后我們通過無線通信模塊實現(xiàn)數(shù)據(jù)遠(yuǎn)距離接受和發(fā)送,并通過藍(lán)牙模塊將檢測到的數(shù)據(jù)發(fā)送至手機(jī)端,更加便于監(jiān)測數(shù)據(jù)。
圖1 系統(tǒng)框圖
為確保充電過程安全我們通過穩(wěn)壓二極管實現(xiàn)了防止電流倒灌現(xiàn)象,同時通過降壓模塊使輸出電壓穩(wěn)定。
BH1750由光敏二極管、AD采集、晶振等組成,可將光信號轉(zhuǎn)為電信號,通過運算放大電路后由AD采集電壓,電壓與光照強(qiáng)度一一對應(yīng),與光電特性呈線性關(guān)系,并將數(shù)據(jù)轉(zhuǎn)為16位二進(jìn)制數(shù)存儲在內(nèi)部寄存器中,與單片機(jī)采用IIC通信模式[1]。
NRF24L01 2.4G無線模塊采用內(nèi)部集成的協(xié)議,可以實現(xiàn)多個無線通信模塊數(shù)據(jù)發(fā)送的接收,其傳輸速度可以達(dá)到2M(bps)。模塊使用板載PCB天線,可實現(xiàn)1100米無線數(shù)據(jù)傳輸,發(fā)射長度和接受長度的單個數(shù)據(jù)包在1~32個字節(jié),模塊采用SPI通信模式[2]。
本設(shè)計采用HC-05藍(lán)牙模塊,模塊之間可以設(shè)置主從機(jī),主機(jī)可自主連接從機(jī)并將數(shù)據(jù)發(fā)送給從機(jī),從機(jī)接收到主機(jī)發(fā)出指令后接收傳入數(shù)據(jù),并且從機(jī)不會主動建立連接其它模塊,確保數(shù)據(jù)單向發(fā)送與接受和接受數(shù)據(jù)的準(zhǔn)確度。其采用串口通信,可通過設(shè)置波特率改變模塊的傳出速率[3]。
舵機(jī)是一種通過伺服電機(jī)進(jìn)行精確的位置控制或輸出較高的扭矩。電機(jī)的周期為20ms,寬度為1.5ms的基準(zhǔn)信號,以50HZ的頻率產(chǎn)生脈沖,通過輸入電壓差控制其轉(zhuǎn)動角度,電機(jī)驅(qū)動芯片通過判斷電壓差的正負(fù)決定電機(jī)的正反轉(zhuǎn)。通過級聯(lián)減速齒輪控制電位器選擇,使得電壓差為0,電機(jī)停止轉(zhuǎn)動[7]。
系統(tǒng)采用BH1750模塊采集光源,并采用卡爾曼濾波算法提高光照數(shù)據(jù)的精確度,然后將數(shù)據(jù)傳送給主控器,STM32F103單片機(jī)通過采集的數(shù)據(jù)預(yù)計通過PID算法控住云臺,實現(xiàn)追光系統(tǒng)。同時我們通過nrf24l01模塊將數(shù)據(jù)傳輸?shù)搅硪粏纹瑱C(jī)中實現(xiàn)了遠(yuǎn)距離傳輸,藍(lán)牙模塊將數(shù)據(jù)發(fā)送到手機(jī)端,便于用戶監(jiān)測數(shù)據(jù),TFT液晶顯示屏實時顯示數(shù)據(jù)。圖2主機(jī)流程圖、圖3從機(jī)流程圖如下[1-7]。
圖2 主機(jī)程序流程圖
圖3 從機(jī)程序流程圖
首先通過BH1750光照傳感器檢測光照強(qiáng)度,并將數(shù)據(jù)導(dǎo)入濾波算法中[5],最終得出更加精確穩(wěn)定的數(shù)據(jù),通過判斷數(shù)據(jù)之間的差值決定是否需要改動太陽能板的位置,若數(shù)據(jù)之間的差值大于設(shè)定值,則通過控制云臺使太陽能板向光照強(qiáng)度大的方向移動,反之則不,由此提高發(fā)電效率[7]。系統(tǒng)流程如圖4所示。
圖4 自動追光系統(tǒng)
無線數(shù)據(jù)傳輸系統(tǒng),通過nrf24l01模塊實現(xiàn)數(shù)據(jù)的遠(yuǎn)距離發(fā)送和接受[2],以及藍(lán)牙模塊將數(shù)據(jù)發(fā)送至手機(jī)端[3]。首先確定倆個主控板主機(jī)和從機(jī)關(guān)系,我們將數(shù)據(jù)采集數(shù)據(jù)一端設(shè)置為發(fā)送端,顯示數(shù)據(jù)那一端設(shè)置為接收端,發(fā)送數(shù)據(jù)和接受數(shù)據(jù)分別將數(shù)據(jù)保存到數(shù)組中,發(fā)送端向NRF的發(fā)送緩沖區(qū)中寫入數(shù)據(jù),接收端從NRF的接收緩沖區(qū)中讀出數(shù)據(jù),接收端將采集到的數(shù)據(jù)顯示在TFT液晶屏中,同時通過藍(lán)牙模塊將數(shù)據(jù)發(fā)送至手機(jī)端。其流程圖如圖5所示。
圖5 無線數(shù)據(jù)發(fā)送接受流程圖
NRF的發(fā)送緩沖區(qū)中寫入數(shù)據(jù)代碼:
卡爾曼濾波(Kalman filtering)是一種用線性系統(tǒng)狀態(tài)方程,對于每個時刻的系統(tǒng)擾動和觀測誤差(即噪聲), 其算法是時域濾波,也是一種優(yōu)估算法,根據(jù)已知的先驗值,預(yù)算下一時刻的估算值[5]。
其線性隨機(jī)微分方程:X(k)=A X(k-1)+BU(k)+W(k)
再加上系統(tǒng)的測量值:Z(k)=H X(k)+V(k)
其具體公式如下:
PID算法通過比例、積分、微分三個環(huán)節(jié)提高系統(tǒng)的穩(wěn)定性,首先比例環(huán)節(jié)我們通過放大或縮小數(shù)據(jù)差,使系統(tǒng)快速達(dá)到目標(biāo)值,比例系數(shù)越大可能會導(dǎo)致系統(tǒng)出現(xiàn)大幅度振蕩,積分環(huán)節(jié)通過多次累加偏差得到期望值,對于積分環(huán)節(jié)為防止最終值超過目標(biāo)值通常在積分環(huán)節(jié)除以積分的時間,對于微分環(huán)節(jié)主要是解決到達(dá)目標(biāo)值后出現(xiàn)波動給出值與目標(biāo)值之間存在波動,對系統(tǒng)的輸出有著預(yù)判作用。
4.1.1 測試設(shè)備及條件
所用的測試設(shè)備有手電筒、萬用表、秒表等。
測試條件:實驗室提供場地、相關(guān)資料查詢、硬件模塊滿足指標(biāo)。
4.1.2 測試數(shù)據(jù)
(1)追光系統(tǒng)檢測:通過測量上下左右四個方位的光照強(qiáng)度,判斷太陽能板移動的方向,同時通過時間測量檢驗系統(tǒng)的靈敏度。
(2)電壓輸出: 通過萬用表測量輸出電壓判斷系統(tǒng)電路的穩(wěn)定性。
(3)無線數(shù)據(jù)傳輸:通過主機(jī)檢測的數(shù)據(jù)和從機(jī)接收到的數(shù)據(jù)進(jìn)行對比判斷檢測數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
4.1.3 結(jié)果分析
由表1可知:經(jīng)反復(fù)測試,可得追光系統(tǒng)穩(wěn)定且靈敏。由表2可知:輸出電壓與系統(tǒng)目標(biāo)輸出電壓誤差較小。由表3可知:主機(jī)采集的數(shù)據(jù)與從機(jī)接受的數(shù)據(jù)完全相同。
表1 追光系統(tǒng)數(shù)據(jù)采集
表2 降壓系統(tǒng)數(shù)據(jù)采集
表3 無線數(shù)據(jù)模塊采集
本系統(tǒng)采用STM32F103單片機(jī)作為主控模塊,設(shè)計并制作主要包括BH1750光強(qiáng)傳感器、云臺、無線傳輸模塊等。通過查閱資料以及通過測試數(shù)據(jù)對程序進(jìn)行修改,最終技術(shù)指標(biāo)達(dá)到設(shè)計要求。設(shè)計追光系統(tǒng)這一環(huán)節(jié),我們通過分析各種模塊的性能,并查閱資料,最終選定具有與與光電特性呈線性關(guān)系的BH1750光強(qiáng)傳感器,并通過采集的數(shù)據(jù)反饋控制云臺。經(jīng)研究為穩(wěn)定的控制云臺轉(zhuǎn)動位置,需要PID算法,經(jīng)團(tuán)隊一起努力,最終調(diào)出制動效果最理想的參數(shù),解決了問題,同時我們對無線數(shù)據(jù)傳輸過程數(shù)據(jù)是如何發(fā)送以及主從機(jī)如何設(shè)定進(jìn)行深入的探究。通過這次實驗提高了我們發(fā)現(xiàn)問題、分析問題和解決問題的能力,以及提高了小組成員工作的效率,對日后的科研有著巨大的幫助。