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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ATmega8的雙軸太陽跟蹤器設計策略

          基于ATmega8的雙軸太陽跟蹤器設計策略

          作者: 時間:2013-12-11 來源:網(wǎng)絡 收藏

          太陽能作為一種清潔能源,倍受人們重視,因此提高太陽能的利用率已成為研究熱點。理論分析表明:精確跟蹤與非跟蹤太陽,其能量的接收效率相差37.7%。因此精確跟蹤太陽,對其利用率的提高是很顯著的。

          跟蹤太陽的方式主要有光電跟蹤和視日運動軌跡跟蹤。前者是閉環(huán)的隨機系統(tǒng),跟蹤靈敏度高,結構設計較為方便,易于實現(xiàn),但受天氣影響大,如果長時間烏云遮住太陽,太陽光線往往不能照到感光元件,導致跟蹤裝置無法對準太陽,甚至會出現(xiàn)誤動作;后者是開環(huán)的程控系統(tǒng)。在任何天氣下都可正常工作,但在跟蹤過程中不能消除累積誤差。該太陽跟蹤器設計采用一種互補跟蹤控制方式,在晴天時,選擇跟蹤靈敏度高的光電跟蹤方式,而在天氣狀況不太好時。則切換到視日運動軌跡跟蹤。

          1 太陽跟蹤器硬件設計

          圖1為整個跟蹤控制器的具體原理框圖。單片機循環(huán)檢測,通過光電檢測模塊所采集的信號判斷工作模式。陰天時選擇視日運動軌跡跟蹤,通過讀取時鐘模塊的日歷時間信息計算此時本地太陽的高度角與方位角,進而通過單片機發(fā)出指令驅動電機轉動跟蹤;晴天時選擇光電跟蹤模式,通過光電檢測模塊檢測到的信號驅動電機旋轉跟蹤。

          基于ATmega8的雙軸太陽跟蹤器設計策略

          1.1 單片機

          這里選擇性價比較高的單片機為控制核心,是一款具有RISC結構的高性能、低功耗的8位AVR微處理器。它具有130條指令(大多數(shù)指令執(zhí)行時間為單個時鐘周期),3個定時器,3通道PWM,10位A/D轉換器,2個可編程的串行USART,SPI串行接口,I2C接口等功能模塊。該太陽跟蹤器可采用單片機內部的A/D采樣、PWM通道、I2C接口等功能模塊,從而簡化程序編程。

          1.2 光電檢測模塊

          利用光敏電阻在光照時阻值發(fā)生變化的原理,將4只完全相同的光敏電阻分別放置于太陽光接收器的東南西北方向,負責偵測這4個方向的光源強度。如果太陽光垂直照射太陽能電池板,東西(南北)2只光敏電阻接收到的光照強度相同。其阻值完全相等,此時電動機不轉動。當太陽光方向與電池板的法線有夾角時,接收光強多的光敏電阻阻值減小,信號采集電路采集到光敏電阻的信號差值,控制電路將其差值轉換成控制信號,驅動電動機轉動,直至2只光敏電阻上的光照強度相同。

          基于ATmega8的雙軸太陽跟蹤器設計策略

          圖2是光電檢測模塊的俯視簡圖,共由5只光敏電阻組成。正中央1只,旁邊4只圍成一圈。左右2只光敏電阻(A、B)檢測太陽方位角的變化,上下2只(C、D)檢測太陽高度角的變化。中間1只用于檢測環(huán)境亮度判斷白天還是晚上,晴天還是陰天。圖3是5路光敏電阻與ATmega8的連接電路,電源電壓經光敏電阻和定值電阻的分壓后送入ADCx引腳。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(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); })();