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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 智能追光鋰電充電系統(tǒng)設(shè)計

          智能追光鋰電充電系統(tǒng)設(shè)計

          作者: 時間:2014-07-24 來源:網(wǎng)絡(luò) 收藏

          其管腳排列如圖19所示。

          本文引用地址:http://www.ex-cimer.com/article/258302.htm

          圖19 STC12C5A60S2管腳排列

          單片機的時鐘電路和復位電路分別如圖20和圖21所示。

          時鐘電路:

          圖20 時鐘電路

          復位電路:

          圖21復位電路

          此外,系統(tǒng)需要與上位機進行通信,采用MAX232做電平轉(zhuǎn)換,以使單片機的TTL電平和RS232協(xié)議的電平相同。

          具體電路如圖22所示。

          圖22 MAX232轉(zhuǎn)串口 圖23 RC濾波

          在使用A/D功能時,為消除信號干擾,在P1口設(shè)計RC濾波電路,如圖23所示。

          4、軟件流程

          (1)充電管理

          在此段程序中,首先連續(xù)三次檢測鋰電的電壓是否大于1V,判斷放入的鋰電池是否有效。待判斷成功后,檢測太陽電池的輸出電壓,若電壓大于6V,采用降壓充電通道,并打開此通道的充電門控,關(guān)閉降壓充電通道;若電壓小于6V,采用升壓充電通道,并打開降壓充電通道的充電門控,關(guān)閉升壓充電通道門控。當檢測到鋰電池電壓大于等于4.2V時或鋰電池溫度大于60°C時,關(guān)閉所有充電通道。程序一直對鋰電池電壓進行檢測,直到鋰電池電壓降到4V且溫度小于60°C時,根據(jù)相應(yīng)情況打開相應(yīng)的充電通道。

          具體的程序流程圖如圖24所示。

          圖24充電流程 圖25串行通信流程

          (2)串行通信

          此段程序的主要任務(wù)是實現(xiàn)與上位機之間的通信。先進行判斷是發(fā)送還是接收,若是發(fā)送,則將采集到的電池電壓、鋰電池電壓、鋰電池溫度發(fā)送至上位機并在上位機界面上顯示;若是接收,則需響應(yīng)上位機發(fā)送的指令(0XAA為開始充電,0XFF為停止充電),并做出相應(yīng)操作。

          具體的程序流程圖如圖25所示。

          (3)追光控制

          此段程序用于實現(xiàn)電池板的實時追光。分別采集三個光敏電阻端和已知電阻端的電壓,通過模擬量的電壓分析,模糊地判斷光線的強弱,并與另兩路尋光傳感器電路中得到的電壓值相比較,判斷出光源的位置,并將新的jd值賦給PCA捕捉/比較寄存器,產(chǎn)生新的PWM,調(diào)節(jié)舵機轉(zhuǎn)動的角度,使電池始終對準光源。

          具體的程序流程圖如圖26所示。

          圖26 追光流程

          風力發(fā)電機相關(guān)文章:風力發(fā)電機原理


          評論


          相關(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); })();