基于 FPGA XC3S1500開(kāi)發(fā)板的太陽(yáng)能自動(dòng)跟蹤系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本設(shè)計(jì)采用傳統(tǒng)的視日運(yùn)動(dòng)跟蹤法,利用Xilinx公司提供的FPGA開(kāi)發(fā)環(huán)境ISE,設(shè)計(jì)完成了基于XC3S1500開(kāi)發(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)系是人在地球以外的宇宙空間里,觀(guān)測(cè)太陽(yáng)相對(duì)于地球的位置。這時(shí)太陽(yáng)位置是相對(duì)于赤道平面而言,用赤緯角和時(shí)角這兩個(gè)坐標(biāo)表示。太陽(yáng)中心與地球中心的連線(xiàn),即太陽(yáng)光線(xiàn)在地球表面直射點(diǎn)與地球中心的連線(xiàn)與在赤道平面上的投影的夾角稱(chēng)為太陽(yáng)赤緯角。它描述地球以一定的傾斜度繞太陽(yáng)公轉(zhuǎn)而引起二者相對(duì)位置的變化。一年中,太陽(yáng)光線(xiàn)在地球表面上的垂直照射點(diǎn)的位置在南回歸線(xiàn)、赤道和北回歸線(xiàn)之間往復(fù)運(yùn)動(dòng),使該直射點(diǎn)與地心連線(xià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)軸相平行,稱(chēng)為極軸,另外一軸與其垂直。工作時(shí)采光板繞地球自轉(zhuǎn)軸旋轉(zhuǎn),其轉(zhuǎn)速的設(shè)定為與地球的自轉(zhuǎn)速度相同,方向相反。為了適應(yīng)太陽(yáng)赤緯角的變化,采光板圍繞與地球自轉(zhuǎn)軸垂直的軸做俯仰運(yùn)動(dòng)。此種跟蹤方式原理簡(jiǎn)單,但是由于采光板的重量不通過(guò)極軸軸線(xiàn),極軸支撐結(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所示,該天球是以觀(guān)測(cè)者為球心,任意距離為半徑的假想球,對(duì)于天球上各點(diǎn)之間的距離,只討論它們之間的角距而不考慮它們的線(xiàn)長(zhǎng)。M和N分別為天球上的南北天極。P點(diǎn)為觀(guān)測(cè)者的鉛垂線(xiàn)與天球的交點(diǎn),P點(diǎn)的地理緯度為φ,S為太陽(yáng)在天球中的位置。S的赤緯度為δ,觀(guān)測(cè)者的鉛垂線(xiàn)OP與地心與太陽(yáng)連線(xiàn)的夾角叫做天頂角,天頂角和太陽(yáng)的高度角互補(bǔ)。角A為太陽(yáng)的方位角。
根據(jù)球面三角形的邊的余弦公式描述,即一邊的余弦等于其他兩邊余弦的乘積,加上這兩邊正弦及其夾角余弦的乘積,在天球的半徑不是確定值。因此描述天球上的圓弧通常用圓弧所對(duì)應(yīng)的角度來(lái)表示弧長(zhǎng)。在球面三角形NPS中,三邊為弧NP、弧NS、弧SP,分別用角度90-φ,90-δ,τ表示。采用球面三角形邊的余弦公式:
高度角-方位角跟蹤又叫做地平坐標(biāo)系雙軸跟蹤系統(tǒng),采光板的方位軸垂直于地平面,另一根軸與方位軸垂直,稱(chēng)為俯仰軸。工作時(shí)采光板根據(jù)太陽(yáng)的視日運(yùn)動(dòng)繞方位軸轉(zhuǎn)動(dòng)改變方位角,繞俯仰軸作俯仰運(yùn)動(dòng)改變采光板的傾斜角,從而使采光板與太陽(yáng)光線(xiàn)垂直。這種跟蹤系統(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開(kāi)發(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)能吸收效率。