<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 一種基于單片機(jī)的太陽能電池發(fā)電量監(jiān)控系統(tǒng)

          一種基于單片機(jī)的太陽能電池發(fā)電量監(jiān)控系統(tǒng)

          作者: 時(shí)間:2010-07-09 來源:網(wǎng)絡(luò) 收藏

            可再生能源太陽能發(fā)電可分為太陽能光發(fā)電(又稱光伏)和太陽能熱發(fā)電兩大類,后者由于技術(shù)比較復(fù)雜,只能用于比較大的容量,應(yīng)用受到一定限制,所以目前實(shí)際應(yīng)用較少。太陽能光發(fā)電具有取之不盡,用之不竭,無污染等諸多優(yōu)點(diǎn),已成為人類尋求新能源的熱點(diǎn)。但同時(shí)又存在應(yīng)用間歇性,發(fā)電量與氣候條件有關(guān)的缺點(diǎn)。因此,為提高的利用率,監(jiān)控發(fā)電量是很有必要的,可以及早發(fā)現(xiàn)工作中出現(xiàn)的異常情況。這里提出了一種發(fā)電量監(jiān)控系統(tǒng)的設(shè)計(jì)方案。系統(tǒng)利用AT89S52控制,采用霍爾電流傳感器對(duì)太陽能電池的輸出電流測(cè)量,其突出優(yōu)點(diǎn)是可以在幾乎不消耗能量情況下,將電流轉(zhuǎn)換為電壓進(jìn)行測(cè)量。

            1 系統(tǒng)硬件設(shè)計(jì)

            系統(tǒng)硬件電路如圖1所示,主要由太陽能電池組、霍爾電流傳感器組成的,I/U轉(zhuǎn)換電路、液晶1602組成的顯示裝置、AT89S52構(gòu)成的控制系統(tǒng),以及鉛酸蓄電池構(gòu)成的儲(chǔ)能系統(tǒng)5部分組成。其工作過程:太陽能電池接收光照時(shí),產(chǎn)生電流,對(duì)蓄電池充電,通過穩(wěn)壓裝置由蓄電池提供驅(qū)動(dòng)電壓,對(duì)太陽能電池產(chǎn)生的電量進(jìn)行信號(hào)采集。由于單片機(jī)只能接收電壓信號(hào),所以在信號(hào)接收前由I/U、U/U轉(zhuǎn)換模塊將信號(hào)調(diào)至合適的電壓。經(jīng)內(nèi)部運(yùn)算處理,結(jié)果送1602液晶顯示裝置顯示電池發(fā)電量。

          系統(tǒng)硬件電路

            1.1 A/D轉(zhuǎn)換模塊

            當(dāng)模擬信號(hào)輸入單片機(jī)后需要轉(zhuǎn)換為數(shù)字信號(hào),由于需要同時(shí)測(cè)量太陽能電池輸出電壓和電流,故采用ADC0832是8位串行雙通道A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換精度要依賴于有高穩(wěn)定度的基準(zhǔn)參考電壓,參考電壓設(shè)定為5 V,由TL431產(chǎn)生。模擬信號(hào)經(jīng)過RC濾波送入AD輸入端,然后進(jìn)行模數(shù)轉(zhuǎn)換后串行輸出。

            1.2 I/U轉(zhuǎn)換模塊

            因單片機(jī)I/O接口只能接收0~5 V的電壓信號(hào),實(shí)時(shí)采集太陽能電池輸出電流需要將電流信號(hào)轉(zhuǎn)換為電壓信號(hào),由于本系統(tǒng)是光伏發(fā)電系統(tǒng)的輔助設(shè)備,盡可能降低能量消耗是首要問題。由此霍爾電流傳感器成為首選,根據(jù)霍爾效應(yīng)原理進(jìn)行工作,可在幾乎不消耗能量的情況下將電流信號(hào)轉(zhuǎn)換為電壓信號(hào)。本系統(tǒng)采用TBCl0SY型霍爾電流傳感器,額定輸出電壓為(±4±0.5%)V,±15 V雙電源供電,測(cè)量電流范圍為O~15 A,基本滿足小型離網(wǎng)光伏系統(tǒng)的應(yīng)用。

            1.3 電源設(shè)計(jì)

            單片機(jī)正常運(yùn)行需要為片內(nèi)的晶體管或場(chǎng)效應(yīng)管供給電源,使其工作在相應(yīng)狀態(tài)。AT89S52需要一個(gè)5 V電源(實(shí)際工作電壓為3.6~6.0 V)??捎谜?、穩(wěn)壓方式供電,獲得4.5 V左右的電壓,因本系統(tǒng)為獨(dú)立發(fā)電,且長期使用,考慮到電源壽命,該裝置由市電或干電池提供驅(qū)動(dòng)電源不符合實(shí)際,所以最佳方案應(yīng)該由系統(tǒng)內(nèi)部太陽能電池的蓄電池供電,經(jīng)穩(wěn)壓集成塊7805穩(wěn)壓為5 V,輸入單片機(jī)Vcc引腳,驅(qū)動(dòng)單片機(jī)及液晶顯示裝置。TBCl0SY霍爾電流傳感器,需±15 V雙電源供電,同樣采用系統(tǒng)內(nèi)的蓄電池供電.經(jīng)穩(wěn)壓集成塊7805、7915穩(wěn)壓在±15 V,從而驅(qū)動(dòng)其工作。

            1.4 輸出顯示模塊

            電量計(jì)算公式為Q=UIT,其中時(shí)間T可根據(jù)需要在軟件編程時(shí)自行確定,如每隔3 min采樣一次,經(jīng)內(nèi)部運(yùn)算后送1602液晶顯示發(fā)電量。為了節(jié)約電能,通過設(shè)置繼電器,使液晶顯示器顯示10 s后自動(dòng)熄滅。

            2 系統(tǒng)軟件設(shè)計(jì)

            系統(tǒng)軟件設(shè)計(jì)主要由單片機(jī)完成,主要實(shí)現(xiàn)數(shù)據(jù)采集和控制顯示,整個(gè)軟件系統(tǒng)設(shè)計(jì)采用模塊化思想,其測(cè)量和顯示程序流程如圖2所示。

          測(cè)量和顯示程序流程

            3 系統(tǒng)測(cè)試分析

            以200 W的小型離網(wǎng)光伏系統(tǒng)為例,額定電壓24 V,最大電流6.18 A,蓄電池200 Ah。設(shè)計(jì)正常放電時(shí)間為2~3 d,0~6.18 A的電流按比例轉(zhuǎn)換為0~5 V的電壓,由2只電阻構(gòu)成的衰減器,輸出電壓放大比例由電阻R1和R2的比值決定,設(shè)定U/U轉(zhuǎn)換比例為5/24,則R7=10 kΩ,R6+Rp2=48 kΩ。根據(jù)電量計(jì)算公式Q=UIT,實(shí)驗(yàn)時(shí)間為中午12時(shí)至下午2時(shí),從顯示電量開始,每隔3 min記錄一次實(shí)際功率和監(jiān)控系統(tǒng)所顯示的數(shù)據(jù),各次誤差均小于3%,表l給出初始的10次測(cè)量誤差情況,隨電量逐漸增大,誤差變化范圍逐漸縮小。

          初始的10次測(cè)量誤差

            4 結(jié)論

            由AT89S52單片機(jī)、霍爾電流傳感器以及1602液晶等構(gòu)成的太陽能電池發(fā)電量的實(shí)時(shí)監(jiān)控系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本低廉、免維護(hù)、耗電量小并能有效地實(shí)時(shí)監(jiān)控太陽能電池的發(fā)電量,及早發(fā)現(xiàn)太陽能電池工作中出現(xiàn)的異常情況。該系統(tǒng)設(shè)計(jì)作為光伏系統(tǒng)的輔助部件適用于小型離網(wǎng)光伏系統(tǒng),同時(shí)該系統(tǒng)裝置器件壽命較長,耐用可靠,使其在離網(wǎng)光伏系統(tǒng)中具有廣泛應(yīng)用。

          霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


          霍爾傳感器相關(guān)文章:霍爾傳感器原理


          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();