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