曹佳棋 谷 爽 李如鵬
(山西師范大學(xué)物理與信息工程學(xué)院,山西 臨汾 041004)
無線傳感器網(wǎng)絡(luò)(WSN,Wireless Sensor Network)是由傳感器節(jié)點(diǎn)構(gòu)成的,能夠?qū)崟r感知外界環(huán)境并進(jìn)行信息的采集和處理,進(jìn)行信息的交互。而且由于其具有成本低、體積小等優(yōu)點(diǎn),被廣泛應(yīng)用于醫(yī)療、工業(yè)、環(huán)境等領(lǐng)域中。然而當(dāng)傳感器節(jié)點(diǎn)分布在廣闊的丘陵地帶、沙漠、建筑制造業(yè)地帶時,其電池容量本身是有限的,也無法用物理連線為傳感器節(jié)點(diǎn)提供能量[1],因此持續(xù)穩(wěn)定可靠的電源來源是大范圍分布無線傳感器網(wǎng)絡(luò)所面臨的一大技術(shù)挑戰(zhàn)[2]?;谧匀画h(huán)境中太陽能豐富充足的事實[2],本文提出基于WSN節(jié)點(diǎn)能量補(bǔ)給系統(tǒng),將太陽能轉(zhuǎn)化成電能儲存至可充電鋰電池中為WSN節(jié)點(diǎn)提供能量,延長無線傳感器節(jié)點(diǎn)的壽命。
系統(tǒng)總體框圖如圖1 所示。該系統(tǒng)由STM32F103C8T6最小系統(tǒng)所組成的控制電路、太陽能電池板、18650 鋰電池,舵機(jī)和光照檢測電路等部分組成。
圖1 系統(tǒng)的總體框圖
太陽能電池板吸收光能后,可通過光生伏特效應(yīng)把太陽光能直接轉(zhuǎn)化為電能。同時,考慮到單塊太陽能電池板產(chǎn)生電流較小,所以本設(shè)計采用多片電池板并聯(lián)的方式,以期達(dá)到較好的充電效果。
電池充電儲能模塊一般選擇鋰電池,本設(shè)計選用常見的18650鋰電池??紤]到太陽能電池板產(chǎn)生的電流和電壓不穩(wěn)定無法直接給電池充電,因此選用YXA 50V 470uf電容將太陽能電池板產(chǎn)生的直流電儲存起來,再充入鋰電池。當(dāng)電容儲存的電壓大于鋰電池電壓時,電容給鋰電池充電。
基于肖特基二極管具有高速低損耗、體積較小等特點(diǎn),可在太陽能電池板和電容之間、鋰電池和電容之間,分別串聯(lián)一個肖特基二極管,防止相互之間的反充。
本系統(tǒng)設(shè)計由硬件和軟件部分組成。硬件電路部分的核心是STM32F103C8T6單片機(jī),舵機(jī)以及光電傳感器,軟件部分是通過Keil MDK5平臺設(shè)計并下載到STM32F103C8T6單片機(jī)進(jìn)行控制。對于STM32F103C8T6的硬件部分則涉及單片機(jī)最小系統(tǒng)的制作。一個單片機(jī)最小系統(tǒng)通常包括供電電路、晶振電路、IO 輸入輸出電路、下載電路等組成部分[3]。
系統(tǒng)以STM32F103C8T6 最小系統(tǒng)為控制核心,主要模塊是由單片機(jī)控制電路,光照檢測電路,舵機(jī)驅(qū)動電路和電源模塊電路構(gòu)成。系統(tǒng)總體框圖如圖1所示。
系統(tǒng)以 STM32F103C8T6 作為主控制系統(tǒng),STM32F103C8T6 是一款基于ARMCortex-M 內(nèi)核STM32 系列的32位的微處理器,只需要3.3v的電壓即可供電,工作溫度為-40℃~85℃,最大能達(dá)到72MHZ的工作頻率,擁有64kB的程序存儲器,具有功耗低、控制方便、接口豐富、易于擴(kuò)展、成本較低、體積較小、能夠處理較為復(fù)雜的系統(tǒng)設(shè)計等突出特點(diǎn)[4]。
3.2.1 光電傳感器布局
為了能準(zhǔn)確捕獲太陽能光強(qiáng)的最大位置,本系統(tǒng)追蹤模塊采用4 光敏區(qū)傳感器布局方式,如圖2 所示。其中①、②、③、④位置處各放置一個forKY-018型光電傳感器,整個電路板放置在一個十字交叉的隔板里,隔板高度和長度根據(jù)電路板尺寸和光電傳感器的光敏面積計算確定,可以有效調(diào)整傳感器接收光線的入射角度。4 個光敏電阻通過2個擋光板將受光區(qū)域分割成4個正方形部分,當(dāng)太陽光移動時,4個光敏電阻的值就會發(fā)生變化。這種4光敏區(qū)布局充分考慮了太陽在東、西方向與南、北方向上的運(yùn)動幅度差異,擴(kuò)大了傳感器模塊的檢測范圍,提高系統(tǒng)環(huán)境適應(yīng)性,電路設(shè)計也比較容易實現(xiàn)。
圖2 四象限光敏電阻分布圖
3.2.2 四象限光敏電阻探測器
光電檢測部分采用四個forKY-018 型光敏電阻傳感器,分布在與太陽能電池板平行平面的四個象限內(nèi)。①、②、③、④光敏電阻傳感器模塊的AO 引腳分別與STM32F103C8T6的A1、A3、A0、A4 引腳相連,如圖3 所示。每兩個光敏電阻模塊傳感器一組。根據(jù)光敏電阻的光電效應(yīng),當(dāng)太陽光斜射至太陽能電池板時,四個光敏電阻的值會發(fā)生變化。當(dāng)光敏電阻傳感器接收到太陽光時,光敏電阻傳感器中的光信號接收器將光信號轉(zhuǎn)化成模擬電信號,隨后將模擬電信號傳入STM32單片機(jī),通過STM32單片機(jī)A/D轉(zhuǎn)換模塊的4個通道采集光敏電阻傳感器的數(shù)值,然后對相鄰的兩個光敏電阻取平均值與另外兩個光敏電阻的平均值進(jìn)行比較(比如①②和③④比較,①③和②④比較),當(dāng)數(shù)值不相等且平均值的差值超過了舵機(jī)靈敏度時,STM32 單片機(jī)分別控制兩個舵機(jī)水平豎直轉(zhuǎn)動。當(dāng)舵機(jī)轉(zhuǎn)動至與太陽光線垂直,四個光敏電阻接收到相同的光照強(qiáng)度,不產(chǎn)生電壓差,舵機(jī)不轉(zhuǎn)動。
圖3 光敏傳感器電路圖
舵機(jī)是由電信號的脈沖持續(xù)時間決定旋轉(zhuǎn)角度的一種伺服電機(jī)。本系統(tǒng)驅(qū)動舵機(jī)分為兩部分,一部分為水平方向調(diào)整舵機(jī),另一部分為豎直方向調(diào)整舵機(jī)。控制水平方向的舵機(jī)的PWM控制線與STM32CF103C8T6的B7引腳連接,控制垂直方向的舵機(jī)的PWM 控制線與STM32CF103C8T6 的B6引腳連接,如圖4所示。當(dāng)主控器感應(yīng)到當(dāng)前光照強(qiáng)度后,控制系統(tǒng)將提供PWM調(diào)速方式:控制信號由PWM控制線傳輸進(jìn)入控制電路板,電機(jī)帶動內(nèi)部齒輪組,減速后傳動至輸出舵盤。舵盤轉(zhuǎn)動帶動位置反饋電位計,控制板電路將得到電位計輸出的電壓信號,進(jìn)行反饋,產(chǎn)生一個特定的轉(zhuǎn)動的方向和速度,驅(qū)動電路驅(qū)動舵機(jī)轉(zhuǎn)動到靈敏度范圍內(nèi)停止。
圖4 舵機(jī)驅(qū)動電路圖
考慮到舵機(jī)的承載能力、充電效率和實用性,我們采用兩塊太陽能板并聯(lián)的方式(電壓為6V左右),為18650電池供電。太陽能板產(chǎn)生的電先儲存到Y(jié)XA 50V 470uf 型電容c,然后電容放電給18650電池,為防止電流反充,在太陽能與電容、電容與18650電池之間分別加了二極管①和二極管②;太陽能板、二極管①和電容構(gòu)成一個閉合回路;電容、二極管②和18650 電池構(gòu)成一個回路。YXA 50V 470uf 型電容的電壓、太陽能板電壓與18650電池的電壓均分別相差0.5V。如圖5所示。
圖5 電源模塊電路
本系統(tǒng)軟件使用Keil MDK5 開發(fā)平臺,采用C 語言設(shè)計。主程序流程圖如圖6所示。系統(tǒng)接通電源后,首先對各個模塊進(jìn)行初始化,當(dāng)光敏電阻傳感器接收到太陽光時,光敏電阻傳感器中的光信號接收器將光信號轉(zhuǎn)化成模擬電信號,然后將模擬電信號傳入STM32單片機(jī)。AD接口采集數(shù)據(jù)得到四個光敏電阻傳感器的電壓值并計算水平、垂直方向兩個光敏電阻的電壓的平均值,判斷水平方向兩個光敏電阻平均值的電壓差和豎直方向兩個光敏電阻平均值的電壓差是否在光電傳感器的靈敏度范圍內(nèi),若不在范圍內(nèi),控制水平、豎直方向的舵機(jī)向電壓較小的方向旋轉(zhuǎn),直至水平方向的電壓差值調(diào)整到靈敏度范圍內(nèi),使太陽能板始終與太陽光線垂直[5]。
圖6 主程序算法流程圖
在上述設(shè)計方案的基礎(chǔ)上構(gòu)建了一臺太陽能自動追光模型,太陽能電池板對鋰電池的充電功能在實驗中得到了驗證。實驗結(jié)果如圖7所示,18650鋰電池的初始電壓為3.8v,對鋰電池進(jìn)行放電處理,使其電壓降至3.5v以下,放入電路中進(jìn)行測試。2021 年4 月17 日,晴天,溫度19℃,濕度38%,本實驗測試了光照強(qiáng)度和電路中的四個節(jié)點(diǎn)(包括鋰電池正極電壓、太陽能電池板電壓、電容正極電壓、電池板供給鋰電池的充電電流),數(shù)據(jù)采集周期為5分鐘,得到7組數(shù)據(jù),如圖7。
圖7 實測數(shù)據(jù)圖
實驗測得太陽能電池板在光照強(qiáng)度最大時獲得最大電壓,太陽能電池板電壓、電容正極電壓和鋰電池正極電壓均差0.5v 左右,滿足肖特基二極管正向?qū)▔航担忆囯姵卦?5 分鐘內(nèi),由原先的3.224v 提高到3.491v,在穩(wěn)定的0.1A 左右的充電電流下電壓上升了0.273v,電壓增長了8.37%,為鋰電池補(bǔ)充了能量。
本文設(shè)計一個基于WSN節(jié)點(diǎn)能量補(bǔ)充的太陽能充電系統(tǒng),太陽能追蹤系統(tǒng)采用光電編碼檢測電路實現(xiàn)了舵機(jī)閉環(huán)檢測機(jī)制,信號電壓為0時無自轉(zhuǎn)現(xiàn)象,轉(zhuǎn)速隨轉(zhuǎn)矩的增加而勻速下降,減少了能量的消耗,同時實現(xiàn)了WSN節(jié)點(diǎn)能量的有效補(bǔ)給,延長了節(jié)點(diǎn)的壽命[6]。