本設(shè)計(jì)采用傳統(tǒng)的視日運(yùn)動(dòng)跟蹤法,利用Xilinx公司提供的FPGA開發(fā)環(huán)境ISE,,設(shè)計(jì)完成了基于XC3S1500開發(fā)板的太陽(yáng)能自動(dòng)跟蹤系統(tǒng),,以實(shí)現(xiàn)對(duì)太陽(yáng)的全天候、全自動(dòng),、實(shí)時(shí)精確控制,。
1 視日運(yùn)動(dòng)跟蹤法
視日運(yùn)動(dòng)跟蹤法是根據(jù)地日運(yùn)行軌跡,采用赤道坐標(biāo)系或地平坐標(biāo)系描述太陽(yáng)相對(duì)地球的位置,。一般在雙軸跟蹤中極軸式跟蹤采用赤道坐標(biāo)系,,高度角-方位角式跟蹤采用地平坐標(biāo)系。
1.1 極軸式跟蹤
赤道坐標(biāo)系是人在地球以外的宇宙空間里,,觀測(cè)太陽(yáng)相對(duì)于地球的位置,。這時(shí)太陽(yáng)位置是相對(duì)于赤道平面而言,用赤緯角和時(shí)角這兩個(gè)坐標(biāo)表示,。太陽(yáng)中心與地球中心的連線,,即太陽(yáng)光線在地球表面直射點(diǎn)與地球中心的連線與在赤道平面上的投影的夾角稱為太陽(yáng)赤緯角。它描述地球以一定的傾斜度繞太陽(yáng)公轉(zhuǎn)而引起二者相對(duì)位置的變化,。一年中,,太陽(yáng)光線在地球表面上的垂直照射點(diǎn)的位置在南回歸線、赤道和北回歸線之間往復(fù)運(yùn)動(dòng),,使該直射點(diǎn)與地心連線在赤道面上的夾角也隨之重復(fù)變化,。赤緯角在一年中的變化用式(1)計(jì)算:
式中:δ為一年中第n天的赤緯角,單位:(°);n為一年中的日期序號(hào),,單位:日,。
時(shí)角是描述地球自轉(zhuǎn)而引起的日地相對(duì)位置的變化。地球自轉(zhuǎn)一周為360°,,對(duì)應(yīng)的時(shí)間為24 h,,故每小時(shí)對(duì)應(yīng)的時(shí)角為15°。日出,、日落時(shí)間的時(shí)角最大,,正午時(shí)角為零。計(jì)算公式如下:
式中:ω為時(shí)角,單位:(°);T為當(dāng)?shù)貢r(shí)間,,單位:h,。
根據(jù)上述方法可以計(jì)算出地球上任意地點(diǎn)和時(shí)刻的太陽(yáng)的赤緯角和時(shí)角,由此可建立極軸式跟蹤,,對(duì)于太陽(yáng)跟蹤系統(tǒng)來(lái)說(shuō),,采光板的一軸與地球自轉(zhuǎn)軸相平行,稱為極軸,,另外一軸與其垂直,。工作時(shí)采光板繞地球自轉(zhuǎn)軸旋轉(zhuǎn),其轉(zhuǎn)速的設(shè)定為與地球的自轉(zhuǎn)速度相同,,方向相反,。為了適應(yīng)太陽(yáng)赤緯角的變化,采光板圍繞與地球自轉(zhuǎn)軸垂直的軸做俯仰運(yùn)動(dòng),。此種跟蹤方式原理簡(jiǎn)單,,但是由于采光板的重量不通過(guò)極軸軸線,極軸支撐結(jié)構(gòu)的設(shè)計(jì)比較困難,,因此本設(shè)計(jì)沒(méi)有選用極軸式跟蹤,。
1.2 地平坐標(biāo)系
地平坐標(biāo)系用高度角和方位角來(lái)描述太陽(yáng)的位置,已知太陽(yáng)赤道坐標(biāo)系中的赤緯角和時(shí)角,,可以通過(guò)球面三角形的變換關(guān)系得到地平坐標(biāo)系的太陽(yáng)的高度角和方位角,。如圖1所示,該天球是以觀測(cè)者為球心,,任意距離為半徑的假想球,,對(duì)于天球上各點(diǎn)之間的距離,只討論它們之間的角距而不考慮它們的線長(zhǎng),。M和N分別為天球上的南北天極,。P點(diǎn)為觀測(cè)者的鉛垂線與天球的交點(diǎn),P點(diǎn)的地理緯度為φ,,S為太陽(yáng)在天球中的位置,。S的赤緯度為δ,觀測(cè)者的鉛垂線OP與地心與太陽(yáng)連線的夾角叫做天頂角,,天頂角和太陽(yáng)的高度角互補(bǔ),。角A為太陽(yáng)的方位角。
根據(jù)球面三角形的邊的余弦公式描述,,即一邊的余弦等于其他兩邊余弦的乘積,,加上這兩邊正弦及其夾角余弦的乘積,在天球的半徑不是確定值,。因此描述天球上的圓弧通常用圓弧所對(duì)應(yīng)的角度來(lái)表示弧長(zhǎng),。在球面三角形NPS中,,三邊為弧NP、弧NS,、弧SP,,分別用角度90-φ,90-δ,,τ表示。采用球面三角形邊的余弦公式:
高度角-方位角跟蹤又叫做地平坐標(biāo)系雙軸跟蹤系統(tǒng),,采光板的方位軸垂直于地平面,,另一根軸與方位軸垂直,稱為俯仰軸,。工作時(shí)采光板根據(jù)太陽(yáng)的視日運(yùn)動(dòng)繞方位軸轉(zhuǎn)動(dòng)改變方位角,,繞俯仰軸作俯仰運(yùn)動(dòng)改變采光板的傾斜角,從而使采光板與太陽(yáng)光線垂直,。這種跟蹤系統(tǒng)的特點(diǎn)是跟蹤精度高,,而且采光板裝置的重量保持在垂直軸所在的平面內(nèi),支承結(jié)構(gòu)的設(shè)計(jì)比較容易,。在本文中采用了高度角一方位角跟蹤進(jìn)行設(shè)計(jì),。
2 太陽(yáng)跟蹤控制系統(tǒng)設(shè)計(jì)
根據(jù)上文介紹的高度角-方位角跟蹤系統(tǒng)的整體框架,本文基于Xilinx公司的FPGA開發(fā)板,,設(shè)計(jì)了基于FPGA的太陽(yáng)跟蹤系統(tǒng)的各功能模塊,。主要包括計(jì)時(shí)模塊、太陽(yáng)高度角方位角計(jì)算模塊,、日出日落時(shí)間計(jì)算模塊和步進(jìn)電機(jī)脈沖控制模塊等幾部分,。
基于FPGA的太陽(yáng)跟蹤控制系統(tǒng)的流程圖如圖2和圖3所示。
首先系統(tǒng)根據(jù)計(jì)時(shí)模塊計(jì)算出當(dāng)前的時(shí)間,,包括當(dāng)日在一年中的日期序數(shù)dn(單位:日)及當(dāng)前的時(shí)刻T(單位:h),,然后再根據(jù)日出日落時(shí)間計(jì)算模塊確定當(dāng)日的日出和日落時(shí)間,以便判斷當(dāng)時(shí)時(shí)間是否在日出后日落前,。在程序計(jì)算過(guò)程中,,利用太陽(yáng)高度角和方位角計(jì)算模塊計(jì)算當(dāng)前太陽(yáng)的位置,并與上次計(jì)算的太陽(yáng)的位置作差,,分別計(jì)算出當(dāng)前跟蹤裝置高度和方位需要調(diào)整的角度及其旋轉(zhuǎn)方向,,并隨后進(jìn)入步進(jìn)電機(jī)脈沖驅(qū)動(dòng)模塊。首先調(diào)整高度角,,判斷高度角差值的正負(fù),,驅(qū)動(dòng)高度方向的步進(jìn)電機(jī)旋轉(zhuǎn)。高度角步進(jìn)電機(jī)停止旋轉(zhuǎn)后調(diào)整方位角,。判斷方位角正負(fù),,驅(qū)動(dòng)方位角步進(jìn)電機(jī)按照偏差旋轉(zhuǎn)相應(yīng)的角度,。一次跟蹤后,在一定的時(shí)間間隔T后,,系統(tǒng)再次提取時(shí)間計(jì)算,、判斷、旋轉(zhuǎn)電機(jī),。當(dāng)日落時(shí)間到時(shí),,控制步進(jìn)電機(jī)旋轉(zhuǎn)至次日太陽(yáng)升起的位置并恢復(fù)初始狀態(tài)。由此本系統(tǒng)就實(shí)現(xiàn)了對(duì)太陽(yáng)的全天候,、實(shí)時(shí)跟蹤,。
3 基于FPGA的太陽(yáng)跟蹤系統(tǒng)各模塊設(shè)計(jì)
太陽(yáng)跟蹤系統(tǒng)模塊圖如圖4所示。這里對(duì)基于FPGA的太陽(yáng)實(shí)時(shí)跟蹤系統(tǒng)建立的計(jì)時(shí)模塊,、日出日落時(shí)間計(jì)算模塊,、高度角方位角計(jì)算模塊、步進(jìn)電機(jī)脈沖產(chǎn)生模塊的設(shè)計(jì)及結(jié)果進(jìn)行詳細(xì)的介紹,。
3.1 計(jì)時(shí)模塊
視日運(yùn)動(dòng)跟蹤方法需要時(shí)間和地理緯度信息,,一般的太陽(yáng)跟蹤系統(tǒng)的位置固定,可以自行設(shè)定其地理緯度值,。對(duì)于時(shí)間建立了計(jì)時(shí)模塊,,通過(guò)對(duì)時(shí)鐘進(jìn)行多級(jí)分頻輸出視日運(yùn)動(dòng)跟蹤算法所需的間信息。
3.2 太陽(yáng)日出日落時(shí)間計(jì)算模塊
此模塊計(jì)算每天太陽(yáng)的日出日落時(shí)間,,據(jù)此保證在太陽(yáng)的照射時(shí)間范圍內(nèi),,太陽(yáng)跟蹤系統(tǒng)正常運(yùn)行,在非照射時(shí)間,,太陽(yáng)跟蹤系統(tǒng)處于休眠狀態(tài),。太陽(yáng)的日出日落時(shí)間即太陽(yáng)的高度角為零的時(shí)間。由高度角計(jì)算公式(8)和時(shí)角計(jì)算公式(9)推出太陽(yáng)的日出日落時(shí)間公式(10),。
太陽(yáng)日出日落時(shí)間計(jì)算模塊仿真波形如圖5所示,,輸出為10 b Q4格式,dn為時(shí)間序號(hào),,其中richu代表日出時(shí)刻,,riluo代表日落時(shí)刻。對(duì)太陽(yáng)日出日落模塊輸出結(jié)果分析如表1所示,,dn為仿真隨機(jī)選取的日期,,太陽(yáng)日出日落時(shí)間只與dn有關(guān)。對(duì)該模塊輸出的10 b Q4格式的時(shí)間計(jì)算其實(shí)際的代表值,,并與理論計(jì)算值做比較,,經(jīng)計(jì)算其輸出時(shí)間誤差很小,該模塊能夠準(zhǔn)確計(jì)算出日出日落時(shí)間,。
3.3 太陽(yáng)高度角方位角計(jì)算模塊
當(dāng)時(shí)間為正常光照時(shí)間時(shí),,太陽(yáng)跟蹤系統(tǒng)每隔5 min就會(huì)進(jìn)入太陽(yáng)高度角方位角進(jìn)行計(jì)算,。計(jì)時(shí)模塊輸出給太陽(yáng)高度角方位角模塊所需的時(shí)間信息,然后計(jì)算赤道坐標(biāo)系下的赤緯角和時(shí)角,,最后計(jì)算高度角方位角坐標(biāo)系下的高度角和方位角值,,并輸出高度角和方位角值如圖6所示,仿真波形如圖7所示,。高度角和方位角輸出均為10 b Q7格式,。
在視日運(yùn)動(dòng)跟蹤算法中最重要的是準(zhǔn)確計(jì)算出當(dāng)前的太陽(yáng)相對(duì)于地球的高度角和方位角,其計(jì)算準(zhǔn)確性影響太陽(yáng)能裝置的能量接受效率,。表2表示在dn=100時(shí),,不同的時(shí)間輸出的太陽(yáng)的高度角及方位角值,都為10 b Q7格式,,計(jì)算其實(shí)際代表值,并與理論值相比較,,誤差很小,,說(shuō)明該模塊能夠準(zhǔn)確計(jì)算出太陽(yáng)的高度角和方位角。
3.4 步進(jìn)電機(jī)脈沖控制模塊
步進(jìn)電機(jī)驅(qū)動(dòng)芯片選擇了3955SB,,本設(shè)計(jì)選擇步進(jìn)電機(jī)的1/8步運(yùn)行模式,,即每步可以達(dá)到0.225°。由太陽(yáng)的高度角方位角計(jì)算模塊輸出的高度角和方位角及上一次輸出的高度角方位角值,,決定高度和方位需要轉(zhuǎn)動(dòng)的角度,,然后確定高度角步進(jìn)電機(jī)和方位角步進(jìn)電機(jī)的脈沖個(gè)數(shù)。根據(jù)步進(jìn)電機(jī)的步進(jìn)順序輸出16位數(shù)字信號(hào)來(lái)控制實(shí)現(xiàn)兩臺(tái)兩相步進(jìn)電機(jī)高度和方位上旋轉(zhuǎn)的角度及其旋轉(zhuǎn)方向,。由實(shí)驗(yàn)結(jié)果可知,,該模塊能夠按照輸入的電機(jī)轉(zhuǎn)動(dòng)的脈沖個(gè)數(shù)進(jìn)行輸出,并在電機(jī)完成旋轉(zhuǎn)要求后能夠保持穩(wěn)定狀態(tài),。當(dāng)有新的轉(zhuǎn)動(dòng)輸入后能夠在原來(lái)的狀態(tài)上輸出,。
4 結(jié)語(yǔ)
本文設(shè)計(jì)的太陽(yáng)跟蹤系統(tǒng)適用于太陽(yáng)能熱水器、太陽(yáng)能灶,、太陽(yáng)能電池等需要跟蹤太陽(yáng)地裝置,。跟蹤控制系統(tǒng)采用了視日運(yùn)動(dòng)跟蹤方法,通過(guò)基于FPGA的高度角方位角計(jì)算模塊準(zhǔn)確計(jì)算出太陽(yáng)的高度角和方位角,。利用轉(zhuǎn)動(dòng)精確的步進(jìn)電機(jī)驅(qū)動(dòng),,可以精確地跟蹤太陽(yáng),有效提高太陽(yáng)跟蹤裝置的太陽(yáng)能吸收效率,。