基于ATmega8的雙軸太陽跟蹤器設(shè)計(jì)
跟蹤太陽的方式主要有光電跟蹤和視日運(yùn)動(dòng)軌跡跟蹤。前者是閉環(huán)的隨機(jī)系統(tǒng),跟蹤靈敏度高,結(jié)構(gòu)設(shè)計(jì)較為方便,易于實(shí)現(xiàn),但受天氣影響大,如果長(zhǎng)時(shí)間烏云遮住太陽,太陽光線往往不能照到感光元件,導(dǎo)致跟蹤裝置無法對(duì)準(zhǔn)太陽,甚至?xí)霈F(xiàn)誤動(dòng)作;后者是開環(huán)的程控系統(tǒng)。在任何天氣下都可正常工作,但在跟蹤過程中不能消除累積誤差。該太陽跟蹤器設(shè)計(jì)采用一種互補(bǔ)跟蹤控制方式,在晴天時(shí),選擇跟蹤靈敏度高的光電跟蹤方式,而在天氣狀況不太好時(shí)。則切換到視日運(yùn)動(dòng)軌跡跟蹤。
1 太陽跟蹤器硬件設(shè)計(jì)
圖1為整個(gè)跟蹤控制器的具體原理框圖。單片機(jī)循環(huán)檢測(cè),通過光電檢測(cè)模塊所采集的信號(hào)判斷工作模式。陰天時(shí)選擇視日運(yùn)動(dòng)軌跡跟蹤,通過讀取時(shí)鐘模塊的日歷時(shí)間信息計(jì)算此時(shí)本地太陽的高度角與方位角,進(jìn)而通過單片機(jī)發(fā)出指令驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)跟蹤;晴天時(shí)選擇光電跟蹤模式,通過光電檢測(cè)模塊檢測(cè)到的信號(hào)驅(qū)動(dòng)電機(jī)旋轉(zhuǎn)跟蹤。
1.1 ATmega8單片機(jī)
這里選擇性價(jià)比較高的ATmega8單片機(jī)為控制核心,ATmega8是一款具有RISC結(jié)構(gòu)的高性能、低功耗的8位AVR微處理器。它具有130條指令(大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期),3個(gè)定時(shí)器,3通道PWM,10位A/D轉(zhuǎn)換器,2個(gè)可編程的串行USART,SPI串行接口,I2C接口等功能模塊。該太陽跟蹤器可采用單片機(jī)內(nèi)部的A/D采樣、PWM通道、I2C接口等功能模塊,從而簡(jiǎn)化程序編程。
1.2 光電檢測(cè)模塊
利用光敏電阻在光照時(shí)阻值發(fā)生變化的原理,將4只完全相同的光敏電阻分別放置于太陽光接收器的東南西北方向,負(fù)責(zé)偵測(cè)這4個(gè)方向的光源強(qiáng)度。如果太陽光垂直照射太陽能電池板,東西(南北)2只光敏電阻接收到的光照強(qiáng)度相同。其阻值完全相等,此時(shí)電動(dòng)機(jī)不轉(zhuǎn)動(dòng)。當(dāng)太陽光方向與電池板的法線有夾角時(shí),接收光強(qiáng)多的光敏電阻阻值減小,信號(hào)采集電路采集到光敏電阻的信號(hào)差值,控制電路將其差值轉(zhuǎn)換成控制信號(hào),驅(qū)動(dòng)電動(dòng)機(jī)轉(zhuǎn)動(dòng),直至2只光敏電阻上的光照強(qiáng)度相同。
圖2是光電檢測(cè)模塊的俯視簡(jiǎn)圖,共由5只光敏電阻組成。正中央1只,旁邊4只圍成一圈。左右2只光敏電阻(A、B)檢測(cè)太陽方位角的變化,上下2只(C、D)檢測(cè)太陽高度角的變化。中間1只用于檢測(cè)環(huán)境亮度判斷白天還是晚上,晴天還是陰天。圖3是5路光敏電阻與ATmega8的連接電路,電源電壓經(jīng)光敏電阻和定值電阻的分壓后送入ADCx引腳。
1.3 實(shí)時(shí)時(shí)鐘模塊
由于系統(tǒng)需進(jìn)行時(shí)間控制,因此,需采用實(shí)時(shí)時(shí)鐘。若使用單片機(jī)計(jì)時(shí),長(zhǎng)時(shí)間會(huì)引起較大誤差,因此使用串行實(shí)時(shí)時(shí)鐘PCF8583。該器件具有實(shí)時(shí)時(shí)鐘,可提供秒、分、時(shí)、日、星期、月和年(閏年補(bǔ)償),可采用12 h或24 h方式計(jì)時(shí)。它具有日歷時(shí)鐘、計(jì)時(shí)、可編程定時(shí)中斷,并提供256字節(jié)低功耗靜態(tài)RAM。采用I2C總線串行數(shù)據(jù)線,可方便與單片機(jī)接口。采用雙電源(主電源和備用電源)供電。PCF8583與ATmega8通過I2C總線連接,其連接電路如圖4所示。
1.4 步進(jìn)電機(jī)及驅(qū)動(dòng)器
該太陽跟蹤器選用57BYG系列二相/四相混合式步進(jìn)電機(jī),步距角為1.8°,要滿足高精度跟蹤要求,必須提高電機(jī)步進(jìn)角度的分辨率,因此選用TS-220系列高性能步進(jìn)電機(jī)細(xì)分驅(qū)動(dòng)器作為控制電路。驅(qū)動(dòng)器選用原裝驅(qū)動(dòng)模塊,純正弦波電流細(xì)分控制方式,具有很強(qiáng)的抗干擾能力??刂菩盘?hào)與內(nèi)部線路實(shí)現(xiàn)光電隔離,并具有精度高,可靠性好,電機(jī)噪音極低等特點(diǎn)。
2 太陽跟蹤器軟件設(shè)計(jì)
該跟蹤器軟件采用ATmega8單片機(jī)C語言,選用ICCAVR編譯器,主要包括主程序、光電跟蹤子程序、視日運(yùn)動(dòng)軌跡跟蹤子程序等。
2.1 太陽跟蹤主程序
主程序初始化單片機(jī)相關(guān)功能模塊,巡回檢測(cè)光電檢測(cè)模塊的信號(hào),判斷當(dāng)前工作在光電跟蹤還是視日運(yùn)動(dòng)軌跡跟蹤控制方式,進(jìn)而驅(qū)動(dòng)步進(jìn)電機(jī)驅(qū)動(dòng)器控制太陽能利用裝置始終正對(duì)太陽。其主程序流程如圖5所示。
2.2 光電跟蹤子程序
光電檢測(cè)模塊探測(cè)太陽位置,通過ATmega8的ADCx引腳送入單片機(jī),經(jīng)過A/D轉(zhuǎn)換通過信號(hào)差值判斷太陽能利用裝置是否正對(duì)太陽,直到調(diào)整太陽能利用裝置對(duì)準(zhǔn)太陽,然后再返回主程序。光電跟蹤子程序流程如圖6所示。
2.3 視日運(yùn)動(dòng)跟蹤子程序
所謂程序跟蹤就是跟蹤太陽高度角和方位角。雖然太陽的位置時(shí)刻都在變化,但其運(yùn)行具有嚴(yán)格的規(guī)律性,在地平坐標(biāo)中,太陽的位置可由高度角α與方位角ψ來確定。
式中,δ為太陽赤緯角;φ為當(dāng)?shù)氐木暥冉牵沪貫闀r(shí)角。
太陽赤緯角與時(shí)角由本地時(shí)間確定,而對(duì)于確定的地點(diǎn),本地的緯度角也是確定的,因此只要輸入當(dāng)?shù)叵嚓P(guān)地理位置與時(shí)間信息就可確定此時(shí)刻的太陽位置。視日運(yùn)動(dòng)軌跡跟蹤子程序流程如圖7所示。
3 結(jié)束語
該太陽跟蹤器以ATmega8單片機(jī)為核心,外圍電路簡(jiǎn)單,性能穩(wěn)定可靠,跟蹤精度高,能自動(dòng)識(shí)別天氣狀況,使光電跟蹤和視日運(yùn)動(dòng)軌跡跟蹤控制方式的優(yōu)點(diǎn)得到有效互補(bǔ),但在抗風(fēng)和掉電保護(hù)等方面還需進(jìn)一步研究。由于該太陽跟蹤器結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉,所以具有發(fā)展?jié)摿?,可廣泛應(yīng)用于太陽灶、太陽能光伏(平板和聚光)發(fā)電系統(tǒng)、太陽能聚焦熱水器系統(tǒng)、太陽能制氫、太陽能集能器等那些需實(shí)時(shí)精確跟蹤太陽的應(yīng)用領(lǐng)域。