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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于MCP1631HV的多功能充電器系統(tǒng)設(shè)計

          基于MCP1631HV的多功能充電器系統(tǒng)設(shè)計

          作者: 時間:2011-08-19 來源:網(wǎng)絡(luò) 收藏

          1 概述
          隨著便攜式可充電應(yīng)用的持續(xù)增長,對獨特或者定制電池的需求也在不斷增加。除了便攜式可充電應(yīng)用的增長之外,電池化學(xué)也在不斷進步,涌現(xiàn)了許多新的充電算法。
          本文采用Microchip公司的高速PWM系列器件了一款多種充電算法并存、用戶可以進行靈活配置、可以滿足多種不同特性的充電電池的智能。整個硬件體積大小為7 cm×6.7 cm×3 cm,可以滿足目前社會對智能小體積、可靈活配置以及高充電效率的需求。整個智能充電器包括3部分:智能充電器充電算法原理、智能充電器硬件設(shè)計以及充電算法軟件設(shè)計。

          2 智能充電器多種充電算法原理
          針對目前市面上常見的可充電電池類型,具體分析鎳氫鎳鎘電池充電曲線以及鋰離子電池充電曲線。圖1是鎳氫鎳鎘電池充電曲線特性圖。

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

          a.jpg


          從圖1可以看出,整個鎳氫鎳鎘充電曲線的工作過程是:一旦MCU檢測到有充電電池,就會有受控小電流或調(diào)理電流流入電池組,從而開始進行充電。如果充電的每節(jié)電池電壓都在0.9 V以上,就對電池組開始快速充電或者使用高電流進行充電。對于鎳氫或鎳鎘電池,充電電池的范圍可達(甚至超過)電池容量的50%~100%。當(dāng)電池到達其容量時,采取漸止充電方式完成充電周期。
          當(dāng)電池充電完成時,需要停止對電池組的進行充電,一般采取兩種方法來判斷是否停止充電:
          ①根據(jù)電池組溫度的突然增加;
          ②根據(jù)電池組電壓的細微下降-dV/dt。
          針對鎳氫鎳鎘電池而言,電池組電壓的細微下降不容易檢測,因為變化率變化非常小,但是-dT/dt變化率較大,容易檢測,因此在下面的設(shè)計中對鎳氫電池組采用第一種方法進行停止充電檢測。
          鋰離子電池充電曲線特性如圖2所示。鋰離子電池充電之前先要進行電池校驗,且在開始快速或者高電流充電之前,每塊電池的電壓均應(yīng)大于3 V。若小于3 V,使用低值調(diào)理電流來開始充電周期。MCU一旦檢測到電池電壓大于3 V閾值,就將啟動快速或高電流充電,隨著電池電壓的上升,在電池充滿之前電壓到達最大值。絕大多數(shù)鋰離子電池的恒定電壓是4.2 V,達到這個電壓值以后,電池充電器變成恒壓源(調(diào)節(jié)電流而不調(diào)節(jié)電壓)。當(dāng)處于恒壓模式時,隨著充電電流的降低,充電周期仍然繼續(xù);當(dāng)充電電流下降到快速充電電流約7%時,停止充電。如果充電結(jié)束后電壓下降到4.0 V以下,則可以開始新的充電周期。


          上一頁 1 2 3 4 下一頁

          評論


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