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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM的太陽能發(fā)電控制系統(tǒng)功率研究

          基于ARM的太陽能發(fā)電控制系統(tǒng)功率研究

          作者: 時間:2010-04-13 來源:網絡 收藏

            當光線發(fā)生偏移,控制部分發(fā)出控制信號驅動步進電機 1 帶動轉動架以及固定在轉動架上的主軸、支架以及光伏電池轉動;同時控制信號驅動步進電機2 帶動光伏電池相對與支架轉動,通過步進電機1、步進電機2 的共同工作實現(xiàn)對太陽方位角和高度角的跟蹤[2]。

            MPPT控制器

            光伏電池的輸出與它的工作電壓有關(U-P曲線一般呈先上升后下降的光滑曲線,中間的某個電壓值取得最大),只有工作在最合適的電壓下,它的輸出才會有個唯一的最大值。如:在日照強度為1000W/m2 下,U=24V,I=1A;U=30V,I=0.9A;U=36V,I=0.7A;可見30V的電壓下輸出功率更大。MPPT(最大功率點跟蹤)控制器主要功能是:檢測主回路直流電壓及輸出電流,計算出太陽電池陣列的輸出功率,并實現(xiàn)對最大功率點的追蹤 [3]。圖 3為實際應用擾動與觀察法來實現(xiàn)最大功率點追蹤的示意圖。

            圖3 MPPT控制實現(xiàn)示意圖

            擾動電阻 R 和MOSFET 串連在一起,在輸出電壓基本穩(wěn)定的條件下,通過改變MOSFET的占空比,來改變通過電阻的平均電流,因此產生了電流的擾動[4]。同時,光伏電池的輸出電流和輸出電壓亦將隨之變化,通過測量擾動前后光伏電池輸出功率和電壓的變化,以決定下一周期的擾動方向,當擾動方向正確時光電板輸出功率增加,下一周期繼續(xù)朝同一方向擾動,反之,當光電板輸出功率減少時,表示擾動方向錯誤,下一周期朝反向擾動,如此反復進行著擾動與觀察來使光電板輸出達最大功率點。

            系統(tǒng)硬件設計

            系統(tǒng)的主控制電路在整個設計中占有重要地位,它主要對主回路進行控制,保證 MPPT 算法有效實現(xiàn),使 DC/DC 變換保持恒壓輸出,且與 LCD 的人機接口通信。它還在對蓄電池充放電的控制電路起著重要的作用。首先它對光伏電池功率的有效跟蹤,使得蓄電池的充電可以得到最大功率的恒壓電流。從而避免了光伏電池能量的浪費。其次,主控制器控制的恒壓電流也使設計恒壓充電的充放電電路變的容易。系統(tǒng)結構框圖如圖4所示。

            圖4系統(tǒng)結構框圖

            驅動電路

            光敏電阻采用的型號為GM5516,亮電阻:5-10 K Ω,暗電阻:200K Ω以上。系統(tǒng)通過對4對8路(R1對應圖1中的P1,R2對應圖1中的P3,R3-R8同理)光敏電阻即時進行A/D采集,將所采集的模擬量轉化為數(shù)字量,判斷方位角和俯仰角的變化,并通過I/O(OUT1-OUT8)給步進電機1個正轉或反轉脈沖, 控制步進電機轉向正確的方向,然后繼續(xù)進行A/D采集和控制,直到信號差在一定范圍之內,此時光伏電池正對太陽。電路示于圖5和圖6。

            圖5 光敏電阻采集電路



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();