江亮,王慧敏,張天程,王本有
(皖西學院電子與信息工程學院,安徽六安,237012)
系統通過四個光照傳感器檢測光照強度,通過光照數據去控制云臺轉動的方向,確保太陽能板接收光照面積最大,提高太陽能板發電率,其次對于能量儲能這一過程我們通過3.7V鋰電池充電保護板并通過穩壓二極管和防倒灌保護二極管確保充電過程安全,同時在放電這一環節我們通過降壓模塊使輸出電壓為3.3V,保證輸出穩定電壓。
本系統總框圖如圖1所示,以STM32F103ZET6作為核心處理器,主控板由光照傳感模塊、云臺、nrf24l01無線通信模塊、藍牙模塊、TFT彩屏、太陽能板等構成。通過檢測光照強度反饋控制太陽能板位置,并通過無線數據傳輸模塊實現數據發送和接受,并通過TFT彩屏顯示,以及藍牙模塊將數據發送至手機端。最后我們通過無線通信模塊實現數據遠距離接受和發送,并通過藍牙模塊將檢測到的數據發送至手機端,更加便于監測數據。

圖1 系統框圖
為確保充電過程安全我們通過穩壓二極管實現了防止電流倒灌現象,同時通過降壓模塊使輸出電壓穩定。
BH1750由光敏二極管、AD采集、晶振等組成,可將光信號轉為電信號,通過運算放大電路后由AD采集電壓,電壓與光照強度一一對應,與光電特性呈線性關系,并將數據轉為16位二進制數存儲在內部寄存器中,與單片機采用IIC通信模式[1]。
NRF24L01 2.4G無線模塊采用內部集成的協議,可以實現多個無線通信模塊數據發送的接收,其傳輸速度可以達到2M(bps)。模塊使用板載PCB天線,可實現1100米無線數據傳輸,發射長度和接受長度的單個數據包在1~32個字節,模塊采用SPI通信模式[2]。
本設計采用HC-05藍牙模塊,模塊之間可以設置主從機,主機可自主連接從機并將數據發送給從機,從機接收到主機發出指令后接收傳入數據,并且從機不會主動建立連接其它模塊,確保數據單向發送與接受和接受數據的準確度。其采用串口通信,可通過設置波特率改變模塊的傳出速率[3]。
舵機是一種通過伺服電機進行精確的位置控制或輸出較高的扭矩。電機的周期為20ms,寬度為1.5ms的基準信號,以50HZ的頻率產生脈沖,通過輸入電壓差控制其轉動角度,電機驅動芯片通過判斷電壓差的正負決定電機的正反轉。通過級聯減速齒輪控制電位器選擇,使得電壓差為0,電機停止轉動[7]。
系統采用BH1750模塊采集光源,并采用卡爾曼濾波算法提高光照數據的精確度,然后將數據傳送給主控器,STM32F103單片機通過采集的數據預計通過PID算法控住云臺,實現追光系統。同時我們通過nrf24l01模塊將數據傳輸到另一單片機中實現了遠距離傳輸,藍牙模塊將數據發送到手機端,便于用戶監測數據,TFT液晶顯示屏實時顯示數據。圖2主機流程圖、圖3從機流程圖如下[1-7]。

圖2 主機程序流程圖

圖3 從機程序流程圖
首先通過BH1750光照傳感器檢測光照強度,并將數據導入濾波算法中[5],最終得出更加精確穩定的數據,通過判斷數據之間的差值決定是否需要改動太陽能板的位置,若數據之間的差值大于設定值,則通過控制云臺使太陽能板向光照強度大的方向移動,反之則不,由此提高發電效率[7]。系統流程如圖4所示。

圖4 自動追光系統
無線數據傳輸系統,通過nrf24l01模塊實現數據的遠距離發送和接受[2],以及藍牙模塊將數據發送至手機端[3]。首先確定倆個主控板主機和從機關系,我們將數據采集數據一端設置為發送端,顯示數據那一端設置為接收端,發送數據和接受數據分別將數據保存到數組中,發送端向NRF的發送緩沖區中寫入數據,接收端從NRF的接收緩沖區中讀出數據,接收端將采集到的數據顯示在TFT液晶屏中,同時通過藍牙模塊將數據發送至手機端。其流程圖如圖5所示。

圖5 無線數據發送接受流程圖
NRF的發送緩沖區中寫入數據代碼:

卡爾曼濾波(Kalman filtering)是一種用線性系統狀態方程,對于每個時刻的系統擾動和觀測誤差(即噪聲), 其算法是時域濾波,也是一種優估算法,根據已知的先驗值,預算下一時刻的估算值[5]。
其線性隨機微分方程:X(k)=A X(k-1)+BU(k)+W(k)
再加上系統的測量值:Z(k)=H X(k)+V(k)
其具體公式如下:

PID算法通過比例、積分、微分三個環節提高系統的穩定性,首先比例環節我們通過放大或縮小數據差,使系統快速達到目標值,比例系數越大可能會導致系統出現大幅度振蕩,積分環節通過多次累加偏差得到期望值,對于積分環節為防止最終值超過目標值通常在積分環節除以積分的時間,對于微分環節主要是解決到達目標值后出現波動給出值與目標值之間存在波動,對系統的輸出有著預判作用。

4.1.1 測試設備及條件
所用的測試設備有手電筒、萬用表、秒表等。
測試條件:實驗室提供場地、相關資料查詢、硬件模塊滿足指標。
4.1.2 測試數據
(1)追光系統檢測:通過測量上下左右四個方位的光照強度,判斷太陽能板移動的方向,同時通過時間測量檢驗系統的靈敏度。
(2)電壓輸出: 通過萬用表測量輸出電壓判斷系統電路的穩定性。
(3)無線數據傳輸:通過主機檢測的數據和從機接收到的數據進行對比判斷檢測數據傳輸的準確性。
4.1.3 結果分析
由表1可知:經反復測試,可得追光系統穩定且靈敏。由表2可知:輸出電壓與系統目標輸出電壓誤差較小。由表3可知:主機采集的數據與從機接受的數據完全相同。

表1 追光系統數據采集

表2 降壓系統數據采集

表3 無線數據模塊采集
本系統采用STM32F103單片機作為主控模塊,設計并制作主要包括BH1750光強傳感器、云臺、無線傳輸模塊等。通過查閱資料以及通過測試數據對程序進行修改,最終技術指標達到設計要求。設計追光系統這一環節,我們通過分析各種模塊的性能,并查閱資料,最終選定具有與與光電特性呈線性關系的BH1750光強傳感器,并通過采集的數據反饋控制云臺。經研究為穩定的控制云臺轉動位置,需要PID算法,經團隊一起努力,最終調出制動效果最理想的參數,解決了問題,同時我們對無線數據傳輸過程數據是如何發送以及主從機如何設定進行深入的探究。通過這次實驗提高了我們發現問題、分析問題和解決問題的能力,以及提高了小組成員工作的效率,對日后的科研有著巨大的幫助。