韓晶晶
(山西工商學(xué)院 山西 太原 030006)
我國是利用太陽能最多的國家之一,雖然現(xiàn)在已有投入并使用的太陽能設(shè)備很多,但是基本都是對太陽能的簡單利用,這些設(shè)計(jì)存在的問題都是太陽能的實(shí)際利用率很低,能源的轉(zhuǎn)換效率也低。為了提高對太陽能的利用率,設(shè)計(jì)智慧光能追蹤輔助系統(tǒng),通過自動尋找太陽能光照強(qiáng)的方向吸收太陽能,另外還結(jié)合手動控制,在陰雨天等特殊情況下,可以用手動控制太陽能板轉(zhuǎn)動方向,來大大提高太陽能的利用率。
在智慧光能追蹤輔助系統(tǒng)中,不同模式下的太陽能極其工作原理都相同,處于自動模式時(shí),需要在太陽能板的兩側(cè)各放置一個(gè)光敏電阻,獲取模擬信號,根據(jù)太陽能板兩側(cè)的光照強(qiáng)度不同,光敏電阻的阻值不同,經(jīng)過電壓比較器進(jìn)行對比,可對太陽能板兩側(cè)的光照強(qiáng)度進(jìn)行比較,然后控制步進(jìn)電機(jī)旋轉(zhuǎn),帶動太陽能板向光照強(qiáng)度強(qiáng)的一側(cè)轉(zhuǎn)動。處于手動模式時(shí),可通過按鍵或手機(jī)App 進(jìn)行模式切換,可正向或反向的調(diào)節(jié)太陽能板轉(zhuǎn)動,或是暫停于某一位置,同時(shí)通過模數(shù)轉(zhuǎn)換芯片檢測當(dāng)前環(huán)境的光照強(qiáng)度,通過單片機(jī)進(jìn)行數(shù)據(jù)處理之后經(jīng)過LCD1602 液晶屏進(jìn)行顯示。通過太陽能板發(fā)電,將太陽能轉(zhuǎn)換成電能存儲在鋰電池當(dāng)中,同時(shí)系統(tǒng)采用鋰電池供電,無須外部電源供電。藍(lán)牙模塊將實(shí)接收到顯示屏到的數(shù)據(jù)傳回到移動端。在電機(jī)控制模塊,通過采集的同一時(shí)刻太陽能板兩側(cè)不同的光敏電阻值以及不同時(shí)刻太陽能兩側(cè)收集的光敏電阻值,經(jīng)過電壓比較器,從而控制步進(jìn)電機(jī)帶動太陽能板向光照強(qiáng)度強(qiáng)的一側(cè)進(jìn)行轉(zhuǎn)動達(dá)到智慧追蹤。
整個(gè)系統(tǒng)是由太陽能采集設(shè)備、單片機(jī)控制設(shè)備、鋰電池充電設(shè)備、藍(lán)牙通信設(shè)備和手機(jī)App 五部分組成。在本系統(tǒng)中,單片機(jī)控制設(shè)備是本系統(tǒng)的核心,因此本系統(tǒng)的重點(diǎn)是根據(jù)太陽光強(qiáng)度不同時(shí),太陽能板隨太陽光的轉(zhuǎn)動進(jìn)行設(shè)計(jì)。此次系統(tǒng)設(shè)計(jì)包含以下部分電路:單片機(jī)及外圍電路,顯示模塊,太陽能板,步進(jìn)電機(jī)、整流電路、逆變電路、光敏傳感器,組成系統(tǒng)的智慧光能追蹤[1]。此次設(shè)計(jì),首先采用了以單片機(jī)作為整個(gè)系統(tǒng)的控制器件作為主控模塊,通過藍(lán)牙配對和手機(jī)相連。當(dāng)系統(tǒng)開啟屬于默認(rèn)的自動模式時(shí),通過光敏電阻和電壓比較器組合成太陽能采集模塊,完成對太陽能光照強(qiáng)度強(qiáng)一側(cè)進(jìn)行太陽能采集,通過電機(jī)控制模塊實(shí)現(xiàn)太陽能板向光照強(qiáng)度強(qiáng)的一側(cè)轉(zhuǎn)動。LCD 主要顯示光照強(qiáng)度與鋰電池中的存儲電量。主控模塊驅(qū)動藍(lán)牙模塊將液晶顯示屏平上的信息傳輸至手機(jī)App 移動端,可以進(jìn)行數(shù)據(jù)的遠(yuǎn)程監(jiān)測,在不同的太陽能狀態(tài)下,可以遠(yuǎn)程控制自動模式或手動模式。需要手動模式時(shí),可以通過設(shè)置不同的指令,傳達(dá)給主控模塊,從而進(jìn)行太陽能板的控制。
主控模塊采用的時(shí)STC89C52,在主控模塊的設(shè)計(jì)中,主控模塊主要有復(fù)位電路,時(shí)鐘電路,電源和地四部分組成,主控模塊也是整個(gè)光能追蹤系統(tǒng)控制的核心,負(fù)責(zé)調(diào)控電路,程序執(zhí)行,連接負(fù)載。在單片機(jī)的第18 和第19引腳首先接的是一個(gè)石英晶體振蕩器,此晶振值一般取的是12 MHZ 或者11.059 2 MHZ,因?yàn)樵诒鞠到y(tǒng)中需要配置9 600 的波特率,因此選用了11.059 26 MHZ 的無源晶振作為振蕩電路的時(shí)鐘源。在晶振與GND 的中間接了C2、C3兩個(gè)電容,其容值在6~50 PF 之間都可以,在本系統(tǒng)中選用的是22 PF,其作用 是快速起震和穩(wěn)定晶振頻率。當(dāng)單片機(jī)具備了時(shí)鐘振蕩電路之后,其內(nèi)部電路就會產(chǎn)生自激振蕩,就有了基準(zhǔn)信號。
在本系統(tǒng)中由于需要對電池的電壓進(jìn)行測量,由于單片機(jī)是數(shù)字芯片,模擬量的變化單片機(jī)不能直接采集,所以需要采用模數(shù)轉(zhuǎn)換芯片將模擬量轉(zhuǎn)化為數(shù)字量,因此在本系統(tǒng)中需要模數(shù)轉(zhuǎn)化芯片。ADC0832 芯片直接與STC89C52 單片機(jī)相連接,具有體積小,性價(jià)比高,兼容性強(qiáng)等特點(diǎn)。由于光敏電阻在不同的光照強(qiáng)度下,阻值會發(fā)生變化。隨著光照強(qiáng)度越強(qiáng),其阻值會越小。R2 和R3 共同組成了伏壓電路,與ADC0832 相連接,將模擬量轉(zhuǎn)換成數(shù)字量。例如CH0 輸出的是0~5 V 的模擬量轉(zhuǎn)換成0~256 的數(shù)字量,根據(jù)不同的電壓值,輸出的數(shù)據(jù)不同,單片機(jī)在處理之后轉(zhuǎn)換成的光照強(qiáng)度值也不同。所以在連接ADC0832 時(shí),C/S 為使能端,接主控模塊的P32 口,CLK 時(shí)鐘引腳,與單片機(jī)的通信方式為串行通信。
在本系統(tǒng)中,太陽能要將吸收到的太陽能存儲到鋰電池當(dāng)中,當(dāng)光照不足時(shí),鋰電池要為系統(tǒng)提供電量。因此太陽能充電在有良好光照的情況下,太陽能板自動識別光照方向,給鋰電池充電。也可以通過手動控制,定位在光照充足的方向上,吸收太陽光[2]。電池中電壓為3.7 V,達(dá)不到5 V,所以加入升壓電路,將3.7 V 的電壓升壓到5 V,太陽能板通過充電模塊給鋰電池充電,在太陽能板上串聯(lián)了一個(gè)指示燈,當(dāng)太陽能板有電壓時(shí),指示燈亮,太陽能板最高5 V,指示燈為2 V,因此中間接入1 K 的電阻。電池的正負(fù)極連接自鎖開關(guān),當(dāng)開關(guān)按下,4 和5 導(dǎo)通,連接升壓模塊,將鋰電池中的3.7 V升壓到系統(tǒng)所需的5 V給系統(tǒng)供電。
在智慧光能追蹤輔助系統(tǒng)中,由于太陽能板吸收光照需要根據(jù)太陽光時(shí)刻變化,自主地進(jìn)行順時(shí)針或逆時(shí)針的轉(zhuǎn)動,來調(diào)節(jié)太陽能板對光能吸收的位置,需要使其輸出的電壓或電流反向,以達(dá)到轉(zhuǎn)動的效果。H 橋是一種電子電路,可使其連接的負(fù)載或輸出端兩端電壓反相/電流反向。這類電路可用于各種場合中直流 電動機(jī)的順反向控制及轉(zhuǎn)速控制、步進(jìn)電機(jī)控制電能變換中的大部分直流-交流變換器部分直流-直流變換器等,以及其他的功率電子裝置。4 個(gè)三極管組成H 的4 條垂直腿,而電機(jī)就是 H中的橫杠,從而實(shí)現(xiàn)電路的電機(jī)控制。此電路用了4 個(gè)NPN 三極管和4 個(gè)4148 二極管,二極管起截至電流導(dǎo)通的作用[3]。4 個(gè)三極管形成的H 橋,達(dá)到了電流的互相流動,電機(jī)中的電流能夠反向?qū)?,電機(jī)反轉(zhuǎn)。因此只需要控制out1 和out2 就可以控制電機(jī)的正反轉(zhuǎn),從而實(shí)現(xiàn)了太能板的“智慧”。
智慧光能追蹤輔助系統(tǒng)需要通過比較太陽能板兩端的光照強(qiáng)度,才能調(diào)節(jié)太陽能板的轉(zhuǎn)動位置,所以這一模塊尤為重要。此次選用LM393 電壓比較器,這種比較器是一個(gè)兩路電壓比較器,更加符合太陽能板兩端光照強(qiáng)度的比較,通過對輸入端的兩個(gè)電壓進(jìn)行比較,在電壓比較器的輸入端利用光敏電阻調(diào)節(jié)輸入電壓的大小,不同光照強(qiáng)度時(shí)得到的輸入電壓會不同,與參考電壓比較,通過電壓比較器時(shí)在輸出端就會得到不同的電壓,利用高低電平,指示燈的亮滅情況判斷光照強(qiáng)度的強(qiáng)弱。其中第8 引腳和第4 引腳分別接電源和地,當(dāng)光照強(qiáng)度越強(qiáng)時(shí),電壓越小,INA—越低,當(dāng)INA+>INA—時(shí),OUT1 輸出高電平;指示燈不亮。當(dāng)INA+>INA—時(shí)OUT1 輸出低電平,LED 燈會亮。R3 的10 K 電阻與光敏電阻構(gòu)成一個(gè)分壓電路。當(dāng)兩個(gè)光敏電阻的光都特別強(qiáng)時(shí),都輸出高電平,兩個(gè)光敏的光都特別弱時(shí),都輸出低電平。當(dāng)兩個(gè)光敏電阻的光一弱一強(qiáng)時(shí),則輸出一個(gè)低電平,一個(gè)高電平。
本系統(tǒng)的主程序由初始化程序部分,數(shù)據(jù)處理部分,藍(lán)牙連接和顯示部分組成。此次系統(tǒng)的主程序設(shè)計(jì)除了正常的太陽能板根據(jù)日常光照自動追蹤,還設(shè)計(jì)了在特殊情況下可以通過手機(jī)遙控,控制太陽能板進(jìn)行太陽能吸收。
在程序中設(shè)定4 個(gè)按鍵,打開電源,系統(tǒng)默認(rèn)為自動模式Auto,可根據(jù)當(dāng)前的光照,通過電壓器對太陽能板兩端電壓的比較,單片機(jī)I/O 口對電機(jī)進(jìn)行控制,向太陽光強(qiáng)度強(qiáng)的一側(cè)進(jìn)行轉(zhuǎn)動,吸收太陽光。當(dāng)按鍵1 按下或在App 上發(fā)送指令M+回車符,系統(tǒng)會切換到手動模式Manual,不會再根據(jù)太陽光照強(qiáng)度進(jìn)行旋轉(zhuǎn)。當(dāng)按下按鍵2 時(shí)或發(fā)送指令Z+回車符,系統(tǒng)進(jìn)行正向旋轉(zhuǎn);當(dāng)按下按鍵3 時(shí)或發(fā)送指令F+回車符,系統(tǒng)進(jìn)行反向旋轉(zhuǎn);第4 個(gè)按鍵為暫停鍵,發(fā)送指令為T+回車符。系統(tǒng)將讀取太陽能采集模塊收集到的數(shù)值,通過單片機(jī)進(jìn)行處理,將采集到的數(shù)值和電池內(nèi)剩余電量實(shí)時(shí)顯示到LCD 顯示屏和手機(jī)App 上并把吸收到的太陽能存儲到鋰電池中,實(shí)現(xiàn)系統(tǒng)的自身供電。智慧光能追蹤輔助系統(tǒng)主程序運(yùn)行流程如圖1所示。
圖1 系統(tǒng)主程序流程圖
系統(tǒng)中由于單片機(jī)不能直接處理模擬信號,所以使用了ADC0832 模數(shù)轉(zhuǎn)換芯片,ADC0832 是可以同時(shí)測量兩路電壓的模數(shù)裝換芯片,測量電壓的范圍是0~5 V,通過串行協(xié)議,當(dāng)需要開始測量時(shí),打開芯片片選,將D0 端設(shè)為高電平,再設(shè)置其起始位和雙通道的單極性輸入,當(dāng)D0 為低電平時(shí)選擇通道0,當(dāng)D0 為高電平時(shí),選擇通道1;當(dāng)D0 取消高阻態(tài)時(shí),準(zhǔn)備接收數(shù)據(jù),通過循環(huán),依次讀取數(shù)據(jù),最后取消片選,一次的數(shù)模轉(zhuǎn)換完成[4]。
在液晶顯示程序中,需要實(shí)時(shí)顯示太陽能光照強(qiáng)度和電池內(nèi)剩余電量,LCD1602 液晶顯示屏始終顯示出“E:XX% L:xxxix Auto 或Manal”的字樣。
首先要進(jìn)行初始化設(shè)置,通過LCD1602 的RS,R/W 和E 三個(gè)引腳置1 或清0,實(shí)現(xiàn)對LCD 的讀寫操作。LCD 是慢顯器件,所以在寫每條命令之前,函數(shù)檢測引腳電平,設(shè)置初始值為0xFF,如果BF=1處于忙狀態(tài),繼續(xù)循環(huán)檢測,直到BF=0 說明不忙,就向LCD 寫入命令。
要設(shè)置光標(biāo)的起始位置由輸入的屏幕坐標(biāo)來計(jì)算存儲器的位置[5]。只有RS 和E 都為0,才能寫入命令,LCD 開始執(zhí)行命令。當(dāng)RS=1 和RW=0 時(shí),才可以寫入數(shù)據(jù),E 由高電平變?yōu)榈碗娖綍r(shí),寫數(shù)據(jù)操作結(jié)束。還要通過While循環(huán)連續(xù)寫入字符串?dāng)?shù)據(jù),直到檢測到結(jié)束符。數(shù)據(jù)寫入LCD 模塊后,控制器會自動讀出ROM 中的數(shù)據(jù),并將數(shù)據(jù)送到液晶顯示屏上顯示。
藍(lán)牙模塊是通過手機(jī)App 作為中間媒介,在藍(lán)牙串口助手實(shí)時(shí)地將單片機(jī)上液晶顯示屏顯示的數(shù)據(jù)傳送給藍(lán)牙模塊,再把信息傳送給App 上,且能進(jìn)行命令下達(dá),手動與自動相切的目的。HC-05 具有兩種工作模式,響應(yīng)和自動連接工作模式。處于自動連接工作模式時(shí),系統(tǒng)會自動根據(jù)設(shè)定的方式進(jìn)行數(shù)據(jù)傳輸;當(dāng)模塊處于命令響應(yīng)工作模式時(shí),會根據(jù)輸入的命令符+回車符執(zhí)行命令。在藍(lán)牙配置中,要實(shí)現(xiàn)兩個(gè)模塊的主從綁定,首先要進(jìn)入AT 指令模式,按設(shè)置藍(lán)牙串口波特率9 600,無校驗(yàn)位,1 停止位。指令:AT+UART=960 000,設(shè)置藍(lán)牙的主從模式時(shí),將設(shè)置藍(lán)牙為從模式,即0 設(shè)為從模式,1 設(shè)為主模式。用指令:AT+ROLE=0。設(shè)定藍(lán)牙連接模式。然后再互綁對方的地址,此次設(shè)置的為從模式綁定主模式地址,即AT+BIND=命令,綁定好后,用查詢指令,查看是否綁定正確,最后將兩個(gè)模塊重新上電,建立好通信。
軟件調(diào)試是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵,同時(shí)也將功能更加完善。本次設(shè)計(jì)用到的是C 語言,打開KEIL 軟件,編輯基于STC89C51 的智慧光能輔助系統(tǒng)設(shè)計(jì)代碼,在編寫代碼的過程中,按照功能模塊一步一步編寫會更加思路清晰,在編寫過程中可能也會不小心有錯(cuò)誤出現(xiàn),下方會出現(xiàn)提示,根據(jù)提示,仔細(xì)察看就會發(fā)現(xiàn)錯(cuò)誤,改成正確的代碼。調(diào)試好代碼錯(cuò)誤后,將HEX 文件下載到單片機(jī)的存儲器內(nèi),用燒錄工具將編譯好的文件進(jìn)行燒錄,燒錄過程中不能斷電。燒錄完成后進(jìn)行上電調(diào)試,觀察太陽能板是否能實(shí)現(xiàn)光能追蹤,鋰電池和太陽能板是否正常為系統(tǒng)供電,液晶顯示器是否能夠正常顯示。
系統(tǒng)上電復(fù)位后進(jìn)行初始化,以單片機(jī)為核心,系統(tǒng)可對比太陽能板兩側(cè)的光照強(qiáng)度,使太陽能板面向光照強(qiáng)度強(qiáng)的一側(cè)轉(zhuǎn)動;通過控制電機(jī)正反轉(zhuǎn),實(shí)現(xiàn)太陽光的追蹤。在測試過程中,用手電筒左右照射模擬太陽光變化照射到太陽板,太陽能板隨照射方向轉(zhuǎn)動則太陽能采集功能正常。本系統(tǒng)采用太陽能板和鋰電池供電,無需外部供電??蓪⑻柲馨宸胖糜跓o光照的環(huán)境中,此時(shí)沒有光照,系統(tǒng)正常運(yùn)行,液晶顯示屏上實(shí)時(shí)顯示了鋰電池中的電量,一直在減少,說明系統(tǒng)采用鋰電池供電,將太陽能板置于光照下,則太陽板開始供電,鋰電池中開始存儲電量[6]。藍(lán)牙將采集到的太陽能信息以及電池量的數(shù)據(jù)信息傳輸?shù)绞謾C(jī)App,打開手機(jī)藍(lán)牙,進(jìn)行配對連接,可通過語音提示連接成功。完成后,可以在功能選擇上,查看液晶顯示屏上的數(shù)據(jù)信息,并能夠在不同的環(huán)境下,調(diào)整太陽能板自動或手動模式進(jìn)行轉(zhuǎn)動。
系統(tǒng)調(diào)試后測的太陽能電池正常電壓是12.17 V,經(jīng)穩(wěn)壓電路后電壓為9.46 V,7805 輸出電壓為6.48 V,7 805 反饋電壓為1.26 V,三極管基極電壓為5.17 V,控制充電電壓為5.03 V,電池充滿后電壓為5.03 V。表1為晴天情況下太陽能電池電壓隨太陽一天變化的結(jié)果。通過變化情況表中的數(shù)據(jù)可以分析出,太陽能板隨光照進(jìn)行“智慧”追蹤,存儲和釋放電正常運(yùn)行。
表1 太陽能電池電壓隨太陽變化情況
綜上所述,本文提出了基于STC89C52單片機(jī)控制系統(tǒng),根據(jù)對不同環(huán)境下光照強(qiáng)度的準(zhǔn)確判斷,實(shí)現(xiàn)太陽能板對光能進(jìn)行智慧追蹤,提高太陽能利用率,系統(tǒng)實(shí)驗(yàn)運(yùn)行顯示,該系統(tǒng)具有較好的智慧追蹤效果。