基于單片機(jī)的太陽自動跟蹤系統(tǒng)的研究
0 引言
隨著社會經(jīng)濟(jì)的快速發(fā)展,人類所面臨的能源問題越來越突出,太陽能作為一種清潔能源,無疑受到各國的普遍重視。在相同條件下,光照強(qiáng)度越大,太陽能電池輸出功率越大。因而增大太陽能電池受光面的光照強(qiáng)度,就可增大太陽能電池輸出功率。除了提高太陽光電池本身的轉(zhuǎn)換效應(yīng)和提高蓄電池充放電效應(yīng)外,對太陽的自動跟蹤是太陽光伏發(fā)電系統(tǒng)中另一種提高轉(zhuǎn)換效率的有效手段。因此,在太陽能的利用過程中,實施太陽跟蹤是很有必要的。
對太陽進(jìn)行跟蹤的方法很多,但不外乎為采用確定太陽位置所用的兩種坐標(biāo)系統(tǒng),即赤道坐標(biāo)系和地平坐標(biāo)系,并分為雙軸跟蹤和單軸跟蹤。單軸跟蹤已在很多文獻(xiàn)作了介紹,本文要討論的為雙軸跟蹤。為了敘述方便,在以后的陳述中將兩種坐標(biāo)系下的整個系統(tǒng)統(tǒng)稱為太陽能板。
本文采用在地平坐標(biāo)系下的太陽跟蹤及程序跟蹤和傳感器跟蹤相結(jié)合的控制方式,即采用程序控制,利用光學(xué)傳感器對太陽能板做自動定位和誤差校正,而通過單片機(jī)控制步進(jìn)電機(jī)來實現(xiàn)。單片機(jī)利用時鐘提供的日期和時間,計算出太陽能板的預(yù)期位置,與編碼器提供的當(dāng)前位置比較,輸出控制信號。驅(qū)動裝置根據(jù)單片機(jī)提供的信號控制俯仰角電機(jī)和方位角電機(jī)使太陽能板運(yùn)行至太陽垂直照射點,從而進(jìn)行跟蹤。傳感器在太陽能板位置出現(xiàn)誤差時進(jìn)行校正。
1 系統(tǒng)組成
系統(tǒng)由時鐘、單片機(jī)、驅(qū)動裝置、編碼器、太陽能板和傳感器6部分組成。系統(tǒng)的核心部件是傳感器和單片機(jī)。太陽跟蹤系統(tǒng)原理見圖1。
1.1 智能單元與雙坐標(biāo)步進(jìn)電機(jī)控制系統(tǒng)
本文的控制系統(tǒng)選用了AT89C51單片機(jī)作為智能單元。AT89C51是一種低功耗、低電壓、高性能的8位單片機(jī)。片內(nèi)帶有一個4 KB的FLASH可編程、可擦除只讀存儲器。文中所述系統(tǒng)為地平坐標(biāo)系的雙軸自動跟蹤控制系統(tǒng),因此采用雙坐標(biāo)步進(jìn)電機(jī)控制,雙坐標(biāo)步進(jìn)電機(jī)控制就是在x軸方向控制1臺步進(jìn)電機(jī),在y軸方向控制1臺步進(jìn)電機(jī)。這2臺步進(jìn)電機(jī)同時驅(qū)動同一個對象,使對象在一個平面上以任意曲線運(yùn)動。二維步進(jìn)電機(jī)控制系統(tǒng)原理如圖2所示。
AT89C51單片機(jī)通過P2口輸出控制脈沖信號,P2.0~P2.3為一路,P2.4~P2.7為一路,分兩路各控制1臺步進(jìn)電機(jī)。P3.2~P3.5設(shè)置為行程保護(hù)開關(guān),作二維步進(jìn)電機(jī)正反向最大行程保護(hù)。功率放大電路中采用74LS05將單片機(jī)P2口脈沖信號進(jìn)行放大,經(jīng)9014控制光電耦合器,隔離后,由功率管DK63驅(qū)動步進(jìn)電機(jī)的各相繞組,圖中L11,L12即為步進(jìn)電機(jī)的各相線圈。
1.2 光電傳感器
本控制系統(tǒng)中所采用光電傳感器為6塊相同的硅光電池,其中4塊用來制作四象限硅光電池,進(jìn)行誤差校正。2塊作為判斷光照強(qiáng)弱的信號輸出傳感器。
太陽跟蹤傳感器是本系統(tǒng)的關(guān)鍵部件。為了保證太陽能板的受光面始終與太陽光線保持垂直而不發(fā)生偏離,采用特制的四象限硅光電池作為太陽跟蹤誤差校正用傳感器。
如圖3所示為四象限跟蹤太陽傳感器原理圖。當(dāng)光軸對準(zhǔn)太陽時,光斑的中心在光軸上。四個象限接收到相同的光功率,輸出相同的電壓信號。當(dāng)光軸未對準(zhǔn)太陽時即太陽光與光軸成一角度θ時,光線經(jīng)光學(xué)系統(tǒng)照射到四象限光電池上形成的光斑必然發(fā)生偏移即(x≠O,y≠O)。由于各象限的光功率與各象限的光斑面積成正比,每個象限被光斑覆蓋的面積不同,因此各象限光電池產(chǎn)生的電壓不盡相同。根據(jù)上述將Vx,Vy進(jìn)行模數(shù)轉(zhuǎn)換,然后送入單片機(jī)。單片機(jī)通過驅(qū)動設(shè)備可控制俯仰角電機(jī)和方位角電機(jī)轉(zhuǎn)動,直到Vx=Vy=O,即x=O,y=O,則表明系統(tǒng)光軸已經(jīng)對準(zhǔn)太陽,根據(jù)以上原理即可對太陽能板位置誤差進(jìn)行校正。
判斷光強(qiáng)信號傳感器由兩塊光電池組成,一塊接受太陽輻射,另外一塊受光面背光。如圖4所示,前一塊光電池的作用是:判斷太陽直射輻射的強(qiáng)度,在直射輻射較弱時不啟動跟蹤程序,從而避免多云天氣的盲目跟蹤。后一塊光電池的作用是當(dāng)長時間陰天或多云轉(zhuǎn)晴后太陽重新出現(xiàn)時,判斷太陽直射輻射的強(qiáng)度,來決定是否啟動跟蹤程序。
1.3 采樣保持與A/D轉(zhuǎn)換電路
本系統(tǒng)選用的A/D轉(zhuǎn)換為MAXIM公司生產(chǎn)的MAXl86轉(zhuǎn)換器,是串行輸出CMOS芯片。其轉(zhuǎn)換速度快,精度高,耗電省,接線簡單,適用于各種儀器儀表和自動控制系統(tǒng)中的數(shù)據(jù)采集。MAXl86轉(zhuǎn)換器自帶有采樣保持器,因而系統(tǒng)不再設(shè)計采樣保持電路。而且與AT89C51為串行連接,接口電路如圖5所示。
1.4 時鐘芯片DSl302
DSl302與AT89C51單片機(jī)接口采用3線(RST,SCLK和I/O)連接,AT89C51為主芯片負(fù)責(zé)控制2芯片之間的數(shù)據(jù)通訊。RST為數(shù)據(jù)通訊的使能信號,為O則允許通訊;為1則禁止通訊。SCLK為數(shù)據(jù)通訊的位同步脈沖信號,I/O是雙向串行數(shù)據(jù)傳輸線。RST,SCLK都是單片機(jī)發(fā)出的控制信號,如圖6所示。
2 軟件設(shè)計
本文介紹的控制系統(tǒng)的軟件設(shè)計采用了結(jié)構(gòu)化、模塊化的程序設(shè)計方法。主程序初始化完畢之后,即進(jìn)入等待狀態(tài),單片機(jī)控制運(yùn)行交由中斷服務(wù)程序控制。所需完成的功能主要由子模塊實現(xiàn)。各部分獨(dú)立完成一定的功能,又有機(jī)的結(jié)合為一個整體,完成所要求的控制任務(wù)。
程序的結(jié)構(gòu)如圖7所示。主程序包括初始化、最初的A/D轉(zhuǎn)換程序。整個程序周期里,初始化程序只在主程序第一次執(zhí)行時執(zhí)行一次。初始化之后,進(jìn)行最初A/D轉(zhuǎn)換,實際上等于對A/D轉(zhuǎn)換濾波器置初始值。
2.1 定時器1溢出中斷服務(wù)程序
定時器1溢出中斷服務(wù)程序包含多個模塊,先后在一個T1溢出周期內(nèi)執(zhí)行完畢。這些模塊包括:控制算法、控制量輸出、A/D轉(zhuǎn)換、轉(zhuǎn)換結(jié)果處理和分析、異常處理等部分。通過每次T1溢出,周期性的采樣、反饋比較、調(diào)整、輸出,從而實現(xiàn)控制策略。
2.2 控制算法
編制控制算法子程序包括以下幾個步驟:計算當(dāng)前期望位置;計算補(bǔ)償通道輸出值;計算當(dāng)前實際位置;計算誤差和誤差通道輸出值;補(bǔ)償通道輸出值和誤差通道輸出值相加。
2.3 控制量輸出
單片機(jī)輸出的控制量為脈沖輸出,脈沖量的輸出可以通過軟件定時器,規(guī)定脈沖輸出的問隔時間,從而規(guī)定了脈沖輸出的頻率。
2.4 A/D轉(zhuǎn)換及其轉(zhuǎn)換結(jié)果處理和分析
雖然硬件上對模擬輸入進(jìn)行了低通濾波,但是仍然會有一些因素可能造成模擬輸入量出現(xiàn)較大的誤差。為了防止這種情況的發(fā)生,需要進(jìn)行軟件濾波,即數(shù)字濾波處理。數(shù)字濾波有許多優(yōu)點:
(1)數(shù)字濾波器是由程序?qū)崿F(xiàn)的,不需增加硬件設(shè)備,數(shù)字濾波可以有多個輸入通道共用,因而成本低。
(2)數(shù)字濾波由程序?qū)崿F(xiàn),不需要硬件設(shè)備,因而可靠性好,穩(wěn)定性高,不存在阻抗匹配問題。
(3)數(shù)字濾波使用靈活,修改方便。而本文采用了算術(shù)平均值濾波方法。
2.5 異常處理
程序運(yùn)行中會發(fā)生多種異常情況,有些可以通過檢查輸入數(shù)據(jù)判斷,而有一些情況系統(tǒng)可以自行校正。光電傳感器誤差信號超出死區(qū)也應(yīng)視為異常情況。可能的原因是出現(xiàn)了一干擾光源或太陽能板與太陽位置發(fā)生偏離。為了避免在多云情況下的盲目跟蹤,如果輻射強(qiáng)度沒有達(dá)到特定值,則對于誤差信號超出死區(qū)不作任何操作。太陽能板與太陽位置發(fā)生偏離的情況下,系統(tǒng)有能力自動的回復(fù)運(yùn)行狀態(tài)。
在每次定時器T1中斷時,系統(tǒng)都檢查控制字。當(dāng)控制字表明系統(tǒng)在校正狀態(tài)時,輸出控制量的值由預(yù)期位置量和光電傳感器誤差信號共同計算產(chǎn)生。
3 結(jié)語
系統(tǒng)采用特制的四象限硅光電池作為太陽跟蹤誤差校正用傳感器,并且采用AT89C51單片機(jī)作為智能單元,可以實現(xiàn)成本較低的全自動太陽跟蹤系統(tǒng)。系統(tǒng)具備較好的穩(wěn)定性,并能夠達(dá)到相當(dāng)好的精確度和靈活性。理論分析和設(shè)計結(jié)果表明,本方法可以滿足太陽跟蹤控制的要求。