新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機(jī)的太陽自動跟蹤系統(tǒng)的研究

基于51單片機(jī)的太陽自動跟蹤系統(tǒng)的研究

作者: 時間:2011-11-19 來源:網(wǎng)絡(luò) 收藏
2 軟件設(shè)計
本文介紹的控制系統(tǒng)的軟件設(shè)計采用了結(jié)構(gòu)化、模塊化的程序設(shè)計方法。主程序初始化完畢之后,即進(jìn)入等待狀態(tài),單片機(jī)控制運行交由中斷服務(wù)程序控制。所需完成的功能主要由子模塊實現(xiàn)。各部分獨立完成一定的功能,又有機(jī)的結(jié)合為一個整體,完成所要求的控制任務(wù)。
程序的結(jié)構(gòu)如圖7所示。主程序包括初始化、最初的A/D轉(zhuǎn)換程序。整個程序周期里,初始化程序只在主程序第一次執(zhí)行時執(zhí)行一次。初始化之后,進(jìn)行最初A/D轉(zhuǎn)換,實際上等于對A/D轉(zhuǎn)換濾波器置初始值。

基于51單片機(jī)的太陽自動跟蹤系統(tǒng)的研究


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 異常處理
程序運行中會發(fā)生多種異常情況,有些可以通過檢查輸入數(shù)據(jù)判斷,而有一些情況系統(tǒng)可以自行校正。光電傳感器誤差信號超出死區(qū)也應(yīng)視為異常情況??赡艿脑蚴浅霈F(xiàn)了一干擾光源或太陽能板與太陽位置發(fā)生偏離。為了避免在多云情況下的盲目跟蹤,如果輻射強(qiáng)度沒有達(dá)到特定值,則對于誤差信號超出死區(qū)不作任何操作。太陽能板與太陽位置發(fā)生偏離的情況下,系統(tǒng)有能力自動的回復(fù)運行狀態(tài)。
在每次定時器T1中斷時,系統(tǒng)都檢查控制字。當(dāng)控制字表明系統(tǒng)在校正狀態(tài)時,輸出控制量的值由預(yù)期位置量和光電傳感器誤差信號共同計算產(chǎn)生。

3 結(jié)語
系統(tǒng)采用特制的四象限硅光電池作為太陽跟蹤誤差校正用傳感器,并且采用AT89C作為智能單元,可以實現(xiàn)成本較低的全自動太陽跟蹤系統(tǒng)。系統(tǒng)具備較好的穩(wěn)定性,并能夠達(dá)到相當(dāng)好的精確度和靈活性。理論分析和設(shè)計結(jié)果表明,本方法可以滿足太陽跟蹤控制的要求。

51單片機(jī)相關(guān)文章:51單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理



上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉