朱利軍
(蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院,江蘇蘇州,215123)
太陽能是可再生的能源,也是非常清潔的能源,所以,太陽能的有效利用一直是個(gè)非常重要的話題,太陽能有效地接收在光能被越來越重視的今天受到了廣泛的關(guān)注。由于許多太陽光接收器無法跟隨太陽位置的改變而改變,使得太陽能的接收效率低下,研究表明:在相同的太陽能發(fā)電系統(tǒng)中,自動(dòng)跟蹤太陽能系統(tǒng)比傳統(tǒng)固定式系統(tǒng)的發(fā)電效率可以提高將近30%[1]。如何有效提高光電轉(zhuǎn)換效率也越來越引起了人們的重視,因而,通過太陽能接收裝置的設(shè)計(jì)與優(yōu)化來對太陽能進(jìn)行高精度的追蹤,從而來實(shí)現(xiàn)對太陽能的有效接收,繼而達(dá)到提高太陽光能的利用率,從而可以很好地應(yīng)用于其他與太陽光能有關(guān)的設(shè)備。
有許多學(xué)者對太陽能追蹤進(jìn)行過很多研究,采用了一些辦法,有采用太陽角度追蹤和光電追蹤的(毛桂生,2010[2]),有基于角度計(jì)算和光敏感應(yīng)的(王濤,2009[3]),有采用雙軸追蹤和光電傳感器相結(jié)合(陳沛宇等,2019[4]),本文將檢測光強(qiáng)以及太陽軌跡算法兩種方法相結(jié)合,設(shè)計(jì)與優(yōu)化整個(gè)太陽能有效追蹤系統(tǒng)。
本文所設(shè)計(jì)的太陽能追蹤系統(tǒng)是以Arduino微控制器為核心,由光電傳感器、步進(jìn)電機(jī)、驅(qū)動(dòng)芯片、電源模塊、人機(jī)交互界面等組成。Arduino UNO是Arduino USB接口系列的最新版本,作為Arduino平臺的參考標(biāo)準(zhǔn)模板。UNO的處理器核心是ATmega328,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出)、6路模擬輸入、一個(gè)16MHz晶體振蕩器、一個(gè)USB口、一個(gè)電源插座、一個(gè)ICSP header和一個(gè)復(fù)位按鈕。Arduino Uno開發(fā)板非常適合做本設(shè)計(jì)中微控制器。
光電傳感器確定太陽能接收器是否正對太陽,DS1307是一個(gè)實(shí)時(shí)時(shí)鐘芯片,功耗比較低、具有56字節(jié)、地址和數(shù)據(jù)雙向串行傳輸,而且能夠每個(gè)月的天數(shù)能夠自動(dòng)調(diào)整,具有閏年補(bǔ)償功能,可以精確到秒,如果是晚上程序就進(jìn)入睡眠等待狀態(tài),如果是白天則運(yùn)行程序。通過太陽能探測器和太陽軌跡算法,微控制器經(jīng)過計(jì)算處理之后給驅(qū)動(dòng)芯片SN754410發(fā)送指令,步進(jìn)電機(jī)接收控制信號后執(zhí)行旋轉(zhuǎn)命令,從而保證太陽能接收裝置的接收面能夠時(shí)時(shí)正對太陽。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
具體設(shè)計(jì)思路如下:使太陽能接收裝置的接收面能夠依照太陽的運(yùn)動(dòng)軌跡進(jìn)行轉(zhuǎn)動(dòng),保證時(shí)時(shí)對著太陽,從而達(dá)到太陽光的高效率利用。為有效實(shí)現(xiàn)這一目的,主要分為兩個(gè)方法:檢測光強(qiáng)以及太陽軌跡算法。檢測光強(qiáng)主要使用光敏電阻來進(jìn)行,當(dāng)四周的光敏電阻感受到同樣的光強(qiáng)時(shí),即為正對太陽。太陽軌跡算法即根據(jù)地球的自轉(zhuǎn)和公轉(zhuǎn)規(guī)律,得出太陽的運(yùn)動(dòng)軌跡,對于給定的經(jīng)度、緯度及時(shí)間,可以算出太陽的角度。然后,將這算法用C語言的形式寫入Arduino Uno開發(fā)板中,可以實(shí)現(xiàn)接收面按照正對太陽軌跡的方式運(yùn)動(dòng)。
通過太陽能探測器和太陽軌跡算法,Arduino微控制器能夠在工作期間計(jì)算太陽位置,并發(fā)送控制信號至步進(jìn)電機(jī),該信號將被步進(jìn)電機(jī)驅(qū)動(dòng)芯片放大,步進(jìn)電機(jī)將執(zhí)行旋轉(zhuǎn)命令,使太陽能接收裝置的接收面能夠時(shí)時(shí)對著太陽。
將檢測光強(qiáng)以及太陽軌跡算法兩種方法相結(jié)合,可以使整個(gè)太陽能有效接收裝置系統(tǒng)滿足要求,高效工作。首先,太陽軌跡算法是所有方法中可以提供最高精度、最低功耗的方法之一,但當(dāng)使用一個(gè)步進(jìn)電機(jī)作為機(jī)電設(shè)備時(shí),它無法自校準(zhǔn);其次,只使用太陽能檢測器,會(huì)不可避免地受到無法預(yù)料的光源的影響。將兩種方法相結(jié)合,可以達(dá)到電路簡單、成本低、功耗低和精度高的理想效果。
使用一系列沿直線布置的光電傳感器,并且比較它們所檢測到的光強(qiáng)度,從而來確定沿該軸方向的太陽位置。采用兩組傳感器分別檢測太陽方位角和仰角。每組有三個(gè)光敏電阻LDR(光敏電阻),且兩組共享中心位置的LDR,如圖2所示。
圖2 傳感器設(shè)置原理圖
5個(gè)LDR在電路中具有相同的性能,同時(shí),每組分別對稱,確保當(dāng)光源發(fā)出光至檢測器的中心時(shí),每一組中無光強(qiáng)度偏差。這樣,根據(jù)其原理圖,光強(qiáng)度轉(zhuǎn)換為電壓,這是由于依賴于光強(qiáng)度的LDR阻抗造成的。換句話說,太陽位置通過Arduino Uno上的模擬引腳讀取的電壓值來表示的,這種方法取決于LDR的精度。
本設(shè)計(jì)中所采用的光敏電阻是對400nm到700nm的光敏感的CdS光敏光電管。其電阻值從10千歐到200千歐變化。這些LDR的靈敏度通常情況下是0.85/LuxΩ ,對本設(shè)計(jì)足夠高了。
根據(jù)原理圖所示,應(yīng)仔細(xì)選擇電阻,因?yàn)殡娮柚苯佑绊憴z測器的準(zhǔn)確度。LDR的阻值會(huì)隨入射光強(qiáng)度的改變而變化,合適的電阻決定了測得的電壓值的范圍。本設(shè)計(jì)目標(biāo)應(yīng)實(shí)現(xiàn)最廣泛的輸出電壓范圍。假設(shè)的LDR的電阻呈線性變化,檢測到的電壓范圍可表示為:
Vout是LDR和電阻之間的電壓,R是電阻,Rmax和Rmin是LDR的最大電阻和最小電阻,Vcc是電源,本設(shè)計(jì)中為5V。
R與電壓范圍Vrange之間的關(guān)系如下:
根據(jù)Vrange的表達(dá)式,當(dāng)取最小值時(shí),rangeV取最大值,從中可以推導(dǎo)出電阻為:
電壓范圍為:
設(shè)計(jì)中所采用的步進(jìn)電機(jī)是兩相雙極步進(jìn)電機(jī),作為混合動(dòng)力同步步進(jìn)電機(jī)的模型,其集成了永磁步進(jìn)和可變磁阻步進(jìn)的優(yōu)勢。但是,步進(jìn)電機(jī)的選擇帶來了兩個(gè)不可避免的問題,一是Arduino的電流不足,另一種是步進(jìn)電機(jī)本身的分辨率限制。
電流不足是步進(jìn)電機(jī)和Arduino之間的電流不匹配導(dǎo)致的:單一的步進(jìn)電機(jī)所需的驅(qū)動(dòng)電流是0.33A,而Arduino數(shù)字引腳的最大輸出電流為40mA,基于這種狀況,需要使用驅(qū)動(dòng)芯片來解決這個(gè)問題。
驅(qū)動(dòng)器芯片的型號根據(jù)不同的步進(jìn)電機(jī)而不同,相應(yīng)的雙極步進(jìn)電機(jī)的驅(qū)動(dòng)器是半H驅(qū)動(dòng)器,本設(shè)計(jì)中使用的是SN754410,它具有高的輸出電流能力,可以提供高達(dá)1A的雙向驅(qū)動(dòng)電流,以及4.5~36V較寬的電源電壓范圍,是一個(gè)非常適合于雙極步進(jìn)電機(jī)的驅(qū)動(dòng)器。具有獨(dú)立的輸入邏輯電源,可以最大限度地減少設(shè)備功耗。此外,集成在芯片上的驅(qū)動(dòng)器的數(shù)目與步進(jìn)電機(jī)的輸入口的數(shù)目是相同的。這樣,一個(gè)芯片控制一個(gè)步進(jìn)電機(jī),使得代碼和電路簡單。該驅(qū)動(dòng)器電路如圖3所示。
圖3 電路原理圖
從原理圖可以看出,不需要額外的電源供給,Arduino具有給兩個(gè)步進(jìn)電機(jī)和半H驅(qū)動(dòng)器提供足夠電流的能力。這是采用這種特定型號的驅(qū)動(dòng)器芯片的另一個(gè)優(yōu)點(diǎn),不需要外部支持裝置或設(shè)備,可確保安裝的高適應(yīng)性和低難度。
系統(tǒng)上電運(yùn)行后,先進(jìn)行初始化。初始化之后,系統(tǒng)先判斷白天還是黑夜。如果是黑夜,系統(tǒng)會(huì)產(chǎn)生中斷,立即停止運(yùn)行,處于睡眠待機(jī)狀態(tài)[5];如果是白天,根據(jù)太陽能接收器狀態(tài)是否執(zhí)行校準(zhǔn),如果是,光電傳感器工作,比較它們所檢測到的光強(qiáng)度,從而來確定沿該軸方向的太陽位置。如果否,將讀取時(shí)間,Arduino微控制器計(jì)算太陽位置,并發(fā)送控制信號至步進(jìn)電機(jī),步進(jìn)電機(jī)接收到指令后將執(zhí)行旋轉(zhuǎn)命令,如此循環(huán)往復(fù),使太陽能接收裝置實(shí)時(shí)追蹤太陽。
最終代碼的流程圖如圖4所示,用于校準(zhǔn)由LDR和其他組件組成的太陽能檢測器。給太陽軌道算法提供一個(gè)起點(diǎn),如果太陽能接收器已經(jīng)正對太陽的話,太陽軌道算法能夠計(jì)算出步進(jìn)電機(jī)旋轉(zhuǎn)的方位角和仰角,但它無法確定接收器的當(dāng)前角度。其結(jié)果是,需要太陽能檢測器給微控制器一個(gè)基準(zhǔn)。
圖4 最終代碼的流程圖
執(zhí)行校準(zhǔn)的時(shí)間和持續(xù)的時(shí)間間隔是至關(guān)重要的。這兩個(gè)參數(shù)直接決定了校準(zhǔn)是否成功。首先,如果時(shí)間點(diǎn)太早,太陽能光不夠強(qiáng),校準(zhǔn)后會(huì)出現(xiàn)偏差,如果時(shí)間點(diǎn)太晚,會(huì)浪費(fèi)大量的太陽能;其次,如果時(shí)間周期太短,受到意外光源干擾的可能性將被放大,如果時(shí)間周期太長,也會(huì)浪費(fèi)太陽能。
經(jīng)過測試和調(diào)整,實(shí)現(xiàn)準(zhǔn)確、高效校準(zhǔn)的最好方式如下:計(jì)算太陽的仰角,一旦角度超過15°,開始設(shè)置傳感器在特定的時(shí)間內(nèi),當(dāng)太陽在天空中移動(dòng)角度為1°時(shí)來追蹤太陽。校準(zhǔn)完成后,太陽能接收器應(yīng)該正確地面對太陽,然后不斷計(jì)算太陽位置,并進(jìn)入正常運(yùn)行循環(huán)。
最終成品需要在兩種特殊情況下進(jìn)行實(shí)驗(yàn)測試。一是在室內(nèi)用可快速移動(dòng)的光源進(jìn)行測試,以驗(yàn)證產(chǎn)品的基本工作情況??梢灾饾u改變?nèi)肷浣牵俣缺忍柛欤ū苊忾L時(shí)間的測試時(shí)間);二是在室外自然光條件下長時(shí)間放置,以驗(yàn)證產(chǎn)品的性能和品質(zhì)。并基于實(shí)驗(yàn)的情況,進(jìn)行調(diào)試和優(yōu)化,同時(shí),必須加入工作時(shí)段和天氣因素影響的考慮。
本太陽能有效追蹤系統(tǒng)能夠穩(wěn)定、可靠地實(shí)現(xiàn)太陽能的接收,具有電路簡單、價(jià)格低廉、安裝便易、適應(yīng)性強(qiáng)等特點(diǎn),能夠準(zhǔn)確可靠地實(shí)現(xiàn)太陽能的有效追蹤,提高太陽能的利用率,可很好地應(yīng)用于其他與太陽光能有關(guān)的設(shè)備。