柯熙政,王 歡
(西安理工大學(xué)自動化與信息工程學(xué)院,陜西西安 710048)
太陽能因其可再生、無污染等優(yōu)點,近年來受到越來越多的關(guān)注。但因其穩(wěn)定性差,能流密度低,使得利用率低于預(yù)期狀態(tài)[1-3]。太陽能利用率主要受太陽輻射接收效率的影響。因此,對太陽進(jìn)行精確跟蹤,能有效提高能量利用率[4]。
目前,專家們?yōu)樘岣咛柲苁褂眯室呀?jīng)做了大量工作。Sunger等人利用PLC設(shè)計并實現(xiàn)了一個多軸機(jī)電太陽跟蹤系統(tǒng),并證明雙軸太陽跟蹤系統(tǒng)相比固定系統(tǒng)獲得的能量增加了42.6%[5],但是會產(chǎn)生累積偏差。Arbab等人研究了一種基于條形陰影計算機(jī)圖像處理的太陽跟蹤系統(tǒng),該系統(tǒng)不受地理位置和周期性校準(zhǔn)的影響[6]。Song等人將圖像傳感器應(yīng)用在太陽跟蹤器中,從圖像角度保證了太陽跟蹤器的精度[7]。Bentaher 研制了一種簡單的光電跟蹤器跟蹤系統(tǒng),對光敏電阻之間的最佳角度進(jìn)行了數(shù)值計算和實驗研究[8]。Jerin設(shè)計了一種基于單片機(jī)的太陽能跟蹤器,用混合算法定位太陽位置,可以在所有天氣條件下利用最佳的太陽能[9]。通過上述研究發(fā)現(xiàn),動態(tài)反饋控制器的閉環(huán)光電跟蹤系統(tǒng)具有成本較低、靈敏度高、跟蹤精度高等優(yōu)點;缺點是受天氣條件的影響較大,系統(tǒng)工作的穩(wěn)定性低[10-11]。而視日運(yùn)行軌跡跟蹤是一個無反饋系統(tǒng),可實現(xiàn)全天候跟蹤,不受外界氣象環(huán)境干擾;但會形成累積誤差,需要按時糾正[12-13]以消除其影響。
本文采用將兩種方法混合的跟蹤方式,既可以解決光電跟蹤在多云天氣無法進(jìn)行太陽跟蹤的問題,又可以修正視日運(yùn)行軌跡跟蹤帶來的累積誤差。本文以PLC和ARM處理器為控制核心,根據(jù)PLC控制庫,進(jìn)行太陽位置算法實現(xiàn)方法的研究,獲取其實際位置的高度角及方位角信息。利用CMOS圖像傳感器拍攝圖片傳至ARM處理器進(jìn)行圖像處理,計算太陽偏轉(zhuǎn)角度。再通過串口發(fā)送給PLC后控制步進(jìn)電機(jī)的轉(zhuǎn)動,使碟架在任意時刻都能正對太陽。
太陽自動跟蹤系統(tǒng)的硬件架構(gòu)框圖如圖1所示,上位機(jī)軟件在PC機(jī)上運(yùn)行,完成下位機(jī)控制器數(shù)據(jù)采集、遠(yuǎn)程調(diào)試及數(shù)據(jù)記錄等功能。下位機(jī)控制器采用PLC和ARM處理器構(gòu)建伺服控制系統(tǒng),并分為3部分:斯特林碟架的水平/垂直電機(jī)與相應(yīng)傳感器部分;電機(jī)驅(qū)動器部分;自動跟蹤控制算法部分。其中圖像處理算法與太陽位置算法是整個自動跟蹤對準(zhǔn)系統(tǒng)的核心。
圖1 系統(tǒng)硬件架構(gòu)框圖
(1)ARM處理器。系統(tǒng)采用32位TQIMX6_E9V3卡片電腦,其具有豐富的接口,強(qiáng)悍的性能,體積較小,易于拆裝,出廠時已內(nèi)置Ubuntu、QT+Linux系統(tǒng),智能化程度高,應(yīng)用于圖像處理部分,可有效提高其處理速度和精度[14]。
(2)PLC控制器。西門子S7-1200小型可編程控制器具有強(qiáng)大的運(yùn)算指令,可以滿足對視日運(yùn)行軌跡跟蹤中太陽位置算法的精準(zhǔn)運(yùn)算。利用RS485和RS232通訊模塊,S7-1200可以實現(xiàn)點對點的通訊。與GPS模塊進(jìn)行串口通訊,配置協(xié)議后,輸出經(jīng)度、緯度、時間、海拔等信息[15]。
(3)雙軸轉(zhuǎn)臺。斯特林碟架具備水平和垂直步進(jìn)電機(jī),因此采用雙軸轉(zhuǎn)臺。系統(tǒng)使用的是混合式步進(jìn)電機(jī),需要配合相應(yīng)的驅(qū)動電路才可正常工作[16-17]。系統(tǒng)選用SM-80A,SM-90A細(xì)分驅(qū)動器,可驅(qū)動各類兩相和四相電機(jī),具有較好的性能。
(4)CMOS圖像傳感器。其所有功能集成于內(nèi)部芯片,能有效降低成本,使得跟蹤裝置簡約化,性能優(yōu)良,可以達(dá)到穩(wěn)定傳輸圖像的效果[18]。本文采用的圖像采集設(shè)備為0521V2型CMOS攝像頭,其像素大小為3.0 μm×3.0 μm,焦距為12 mm,視場角為27°×15°,并提供3種分辨率,可根據(jù)實際情況進(jìn)行選取。
(5)陀螺儀姿態(tài)測量傳感器。在視日運(yùn)行軌跡跟蹤模式下,為了將SPA算法得到的太陽方向角和高度角信息用于校準(zhǔn)斯特林碟架,系統(tǒng)采用磁場傳感器角度測量陀螺儀傳感器來測量得到碟架的實時角度方位,測量精度在0.05°[19]。這里地磁傳感器的三維角度基準(zhǔn)為:X軸以正東方向為0,并逆時針旋轉(zhuǎn)90°定向Y軸基準(zhǔn)線,Z軸則與其余兩軸所構(gòu)成的平面垂直,角度數(shù)值變化符合右手準(zhǔn)則。
太陽自動跟蹤裝置實物圖如圖2所示,其中圖2(a)為碟架裝置圖,CMOS圖像傳感器位于杠桿最頂端,方便采集陽光,水平和垂直電機(jī)則內(nèi)嵌于銅管內(nèi);圖2(b)為控制系統(tǒng),由7部分構(gòu)成。
(a)碟架裝置圖
(b)控制系統(tǒng)圖2 太陽跟蹤系統(tǒng)實物圖
太陽自動跟蹤控制系統(tǒng)的算法流程圖如圖3所示。其工作原理為:系統(tǒng)初始化完成后進(jìn)入太陽位置算法粗跟蹤模塊,即通過GPS模塊輸出時鐘、日期、經(jīng)緯度、海拔、天文歷表等相關(guān)參數(shù),并將其發(fā)送到PLC處理器,采用SPA算法處理得到當(dāng)前時刻太陽的高度角和方位角信息[20]。根據(jù)以上結(jié)果調(diào)整碟架的位置。完成視日運(yùn)行軌跡跟蹤后,進(jìn)入圖像處理精跟蹤方式,基于圖像處理的跟蹤算法,其核心在于由圖像處理計算得到太陽的質(zhì)心位置。CMOS圖像傳感器將采集到的天空圖像以固定的幀頻發(fā)送給ARM處理器,對圖像經(jīng)過一系列的處理以提取太陽中心實際位置。
圖3 系統(tǒng)總體算法流程圖
采用上述算法得到太陽光斑實際位置后,通過判斷其是否在視場范圍內(nèi)以決定系統(tǒng)進(jìn)一步操作。若光斑中心位置在CMOS傳感器視野區(qū)域中,則進(jìn)行閉環(huán)控制。首先在圖像處理算法精跟蹤模塊內(nèi)獲取光斑中心相對于視場中心的偏移量,并由ARM處理器將其計算轉(zhuǎn)換成電機(jī)偏轉(zhuǎn)角數(shù)據(jù)。然后將該數(shù)據(jù)發(fā)送至PLC控制器,完成對應(yīng)脈沖數(shù)的計算及發(fā)送。驅(qū)動器接收數(shù)據(jù)并操縱步進(jìn)電機(jī)運(yùn)行,使得視場中心與光斑中心重合。若沒有提取出太陽光斑,此時圖像處理算法提取光斑質(zhì)心失敗,轉(zhuǎn)入視日運(yùn)行軌跡跟蹤方式,即采用SPA算法得到的太陽位置控制水平、垂直雙軸傳動機(jī)構(gòu),調(diào)整斯特林碟架的角度,完成對太陽的跟蹤動作。
圖4為PLC核心控制模塊原理圖,其中PLC作為整個系統(tǒng)的主控機(jī)構(gòu),主要完成3方面的工作:一是完成視日運(yùn)行軌跡跟蹤的太陽位置算法;二是接收ARM處理器中圖像處理算法的最終偏轉(zhuǎn)角度結(jié)果;三是控制執(zhí)行機(jī)構(gòu),即驅(qū)動步進(jìn)電機(jī)轉(zhuǎn)動碟架至最佳視場范圍內(nèi)。
圖4 PLC核心控制模塊原理圖
太陽位置算法用于計算太陽實際方位的相關(guān)數(shù)據(jù),包含方位角及高度角。其原理如下[21]:
sinh=sinφsinδ+cosφcosδcosω
(1)
(2)
式中:h為太陽高度角;γ為太陽方位角;δ為太陽赤緯角;ω為太陽時角;φ為當(dāng)?shù)氐乩砭暥取?/p>
基于以上天文學(xué)公式,SIMATIC公司在TIA Portal軟件系統(tǒng)中改進(jìn)了SPA算法并將其模塊化。圖5為該算法的功能程序塊示意圖。與傳統(tǒng)太陽位置算法相比,該SPA算法可有效減小累積誤差,提高算法精度,同時使用戶更加方便地得到太陽高度角和方位角實際角度。
圖5 太陽位置算法功能程序塊示意圖
太陽圖像處理算法利用CMOS相機(jī)采集和傳輸太陽圖像,并通過ARM處理器對太陽圖像進(jìn)行處理,獲取高度角及方位角偏差角度,傳送至執(zhí)行機(jī)構(gòu)。其中基于ARM處理器的處理算法包含3部分:圖像二值化處理、質(zhì)心求取和坐標(biāo)轉(zhuǎn)換。
3.2.1 圖像二值化處理
針對攝像頭的圖像采集部分,系統(tǒng)采用5.0+0.25%的Astro Solar組合濾光片進(jìn)行可見光濾除。同時,本文采用最大類間方差法(OTSU)來降低圖片背景雜光對計算結(jié)果的干擾[22-23]。圖6(a)為太陽光斑原始圖像,圖6(b)為濾光膜組合后拍攝的太陽光斑圖片,圖6(c)為OTSU算法處理后得到的二值化圖像。通過對比發(fā)現(xiàn),濾光膜組合后的圖像濾除了原圖像中大部分可見光。OTSU算法處理后能有效消除圖像中的細(xì)微干擾。
圖6 圖像處理對比圖
3.2.2 質(zhì)心求取
二值化圖像的質(zhì)心求取是實現(xiàn)整個太陽跟蹤系統(tǒng)的關(guān)鍵點,同時也決定著系統(tǒng)的跟蹤精度和運(yùn)行可靠性。本文采用二進(jìn)制質(zhì)心跟蹤算法,對太陽圖像光斑進(jìn)行定位。假設(shè)光斑范圍內(nèi)共有n個像素點,它們的坐標(biāo)可由式(3)表示:
(3)
則目標(biāo)區(qū)域質(zhì)心坐標(biāo)(xt,yt)如下[24]:
(4)
根據(jù)上述公式,二值化圖像質(zhì)心求取的結(jié)果如圖7所示。圖中的點為太陽光斑的質(zhì)心和圖像中心的質(zhì)心。
圖7 二值化圖像質(zhì)心求取
3.2.3 坐標(biāo)轉(zhuǎn)換
坐標(biāo)轉(zhuǎn)換是將根據(jù)質(zhì)心求取算法獲得的太陽光斑和圖像中心坐標(biāo)轉(zhuǎn)換為步進(jìn)電機(jī)水平及垂直方向偏轉(zhuǎn)角度。圖8是太陽光斑視場坐標(biāo)差示意圖。建立如圖8所示的二維坐標(biāo),并記圖像中心的坐標(biāo)為(x0,y0),光斑中心的坐標(biāo)為(x,y),則兩者之間的橫坐標(biāo)差為Δx,縱坐標(biāo)差為Δy。
圖8 太陽光斑視場坐標(biāo)差示意圖
根據(jù)所獲圖像坐標(biāo)差求取轉(zhuǎn)臺水平軸和垂直軸轉(zhuǎn)動角度,其原理為[25]:
(5)
式中:α和β分別為水平軸和垂直軸的轉(zhuǎn)動角度;攝像頭實際視場角為θ×δ=27°×15°;M、N分別為圖片橫、縱向的像素大小,實際系統(tǒng)中取值為640和480。
則建立上述坐標(biāo)軸后,圖像中心的實際坐標(biāo)為(320,240)。
根據(jù)式(5)求出的水平和垂直軸的偏轉(zhuǎn)角度范圍是0~360°。當(dāng)其取值大于180°時,碟架需大幅度轉(zhuǎn)動才可修正偏轉(zhuǎn)角度。因此,本文引入范圍判斷,即當(dāng)計算角度大于180°時,采用其互周角作為修正角度控制碟架,如式(6)所示:
(6)
將獲取的偏轉(zhuǎn)角度傳送至PLC控制器,進(jìn)行執(zhí)行機(jī)構(gòu)的控制。
執(zhí)行機(jī)構(gòu)包括步進(jìn)電機(jī)、蝸桿以及斯特林碟架。其中電機(jī)內(nèi)嵌微處理器,發(fā)送控制指令。PLC通過ARM處理器串口獲取水平及垂直偏轉(zhuǎn)角角度,并將其轉(zhuǎn)為脈沖數(shù),分別發(fā)送至相應(yīng)驅(qū)動器。驅(qū)動器驅(qū)使水平、垂直步進(jìn)電機(jī)進(jìn)行轉(zhuǎn)動,使得碟架轉(zhuǎn)到視場范圍內(nèi),實現(xiàn)對太陽實際位置的跟蹤。
本系統(tǒng)采用TQIMX6_E9V3作為主控制器完成太陽圖像跟蹤。首先在PC機(jī)上分別構(gòu)建基于Linux及Qt的交叉編譯環(huán)境,其中Linux下交叉編譯器選用天嵌科技的gcc-linaro-5.3版本。然后在Qt Create軟件環(huán)境下運(yùn)行太陽光斑圖像處理算法程序生成ARM處理器的可執(zhí)行文件,并利用SD卡進(jìn)行下載。
圖9為ARM處理器上圖像處理算法運(yùn)行最終結(jié)果,由圖9可知本算法可計算并輸出轉(zhuǎn)臺水平軸和垂直軸的轉(zhuǎn)動角度α和β,并通過RS232接口協(xié)議,將其發(fā)送給PLC控制器。PLC控制器完成偏差量的校正并轉(zhuǎn)換為輸入PWM脈沖,發(fā)送給水平和俯仰電機(jī)驅(qū)動器。電機(jī)收到驅(qū)使,帶動斯特林碟架完成轉(zhuǎn)動,最終達(dá)到實時跟蹤太陽光斑的效果。
圖9 圖像處理算法運(yùn)行結(jié)果圖
實驗在銅川市某實驗基地完成,數(shù)據(jù)觀測時間為10月初到11月底,因?qū)嶒灁?shù)據(jù)量較大,文中只對11月21日太陽自動跟蹤系統(tǒng)的系統(tǒng)誤差進(jìn)行分析,圖10和圖11分別為碟架高度角和方位角的實際跟蹤誤差曲線。
圖10 高度(俯仰角)實際跟蹤誤差曲線
圖11 方位(方位角)實際跟蹤誤差曲線
通過對圖10、圖11的數(shù)據(jù)分析表明:該混合跟蹤系統(tǒng)中,高度角實際跟蹤誤差不超過±0.05°,方位角實際跟蹤誤差不超過±0.07°,采用了混合跟蹤方式的太陽自動跟蹤系統(tǒng),在精度和穩(wěn)定性方面都得到了很大提高。但由于風(fēng)力的影響和水平機(jī)械間隙較大等原因,現(xiàn)有的跟蹤效果比系統(tǒng)真正的跟蹤效果要差,如果排除掉這些外部因素,系統(tǒng)跟蹤會有更好的效果。
本系統(tǒng)將視日運(yùn)行軌跡跟蹤方法和光電跟蹤方法相結(jié)合,以PLC和ARM處理器為核心構(gòu)建控制回路,完成對太陽的實時跟蹤。當(dāng)太陽光斑可被檢測時,利用ARM處理器根據(jù)采集的圖像計算獲取相關(guān)跟蹤所需數(shù)據(jù);無法檢測到太陽光斑時,利用SPA算法得到太陽實際的方位角和高度角。再將數(shù)據(jù)發(fā)送給PLC,控制水平、垂直雙軸轉(zhuǎn)動機(jī)構(gòu)調(diào)整斯特林碟架的角度,完成對太陽的跟蹤動作。本文設(shè)計的混合跟蹤方式系統(tǒng)相比現(xiàn)有跟蹤技術(shù)具有如下優(yōu)點:
(1)系統(tǒng)既可以解決光電跟蹤方式在多云天氣無法進(jìn)行自動跟蹤的問題,又可以消除視日運(yùn)動軌跡跟蹤方式帶來的累計誤差;
(2)系統(tǒng)跟蹤誤差不大于±0.1°,使得碟架達(dá)到穩(wěn)定跟蹤效果的同時提高了太陽能的使用效率。
實驗過程中,因為碟架自身的安裝和設(shè)計問題以及風(fēng)力影響,使得實際效果與理論效果存在一定差異,未來進(jìn)一步的研究中,主要以如何減少外界影響帶來的誤差為方向,方法是在風(fēng)力較強(qiáng)的地方測試太陽跟蹤器,來實現(xiàn)對跟蹤裝置的改進(jìn)。