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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 微處理器控制、寬輸入電壓、SMBus 智能電池充電器的實施

          微處理器控制、寬輸入電壓、SMBus 智能電池充電器的實施

          作者: 時間:2013-09-18 來源:網(wǎng)絡 收藏
          到 VOUT(max)。當出現(xiàn)這種情況時,電壓環(huán)路接管,并對輸出電壓進行調(diào)節(jié)

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

          若想提高解決方案的安全性,功率級板上還要有過電壓狀態(tài)(高達100V)和反向電壓連接(其正負極被交換)的保護電路。圖 3 顯示了這種電路。

          輸入電壓反接時,反向電壓保護由 MOSFETs Q7 和 Q9 以及 D2 來提供。這樣便不允許對系統(tǒng)施加負電壓。輸入過電壓保護由 MOSFET Q8 和 Q10 提供。齊納二極管 D4,設置電路開始鉗位的電壓。一旦超出齊納電壓,F(xiàn)ET 的柵-源電壓便開始下降。這使FET工作在線性區(qū)域,并讓微處理器繼續(xù)得到供電。與此同時,DC/DC轉(zhuǎn)換器關閉,而信號SD1和SD2被拉至接地。

          軟件實施與硬件實施同等重要。簡要軟件流程圖已顯示在圖 4 中。微處理器通過 詢問電池,請求其想要的充電電壓和電流。在確認這些值以后,它便設置兩個 PWM 輸出,以對到達電池的輸出電壓和電流進行調(diào)節(jié)。如果在任何時候,電池發(fā)布了一條充電警告,則 PWM 輸出關閉。另外,一旦電池的充電狀態(tài)達到 100% 或者設置的完全充電位,則 PWM 輸出關閉。

          電池充電期間,安全是最重要的問題。所有解決方案都應該有數(shù)個保護層。第一個保護層是具有內(nèi)部保護 MOSFET 的智能電池本身。在充電期間,微處理器應定期(每隔 2 秒鐘較好)與電池通信,對“電池狀態(tài)”寄存器中的所有安全標志進行監(jiān)控。要求響應的一些標志位包括過充電警告 (OCA)、終止充電警告 (TCA)、超高溫警告 (OTA),以及完全充電 (FC) 狀態(tài)。微處理器的板上模數(shù)轉(zhuǎn)換器,可用作過電壓或者過電流事件的二次檢查。

          結論

          通過將一顆微處理器與一個 DC/DC 控制器配合使用,我們可以設計出一種完全可編程、電池充電器。本文為你介紹了一種解決方案,其使用 TI 的低功耗 MSP430F5510 微處理器,配合 TPS40170 DC/DC 控制器,構建起一種能夠支持高達 55V 輸入電壓的結構。文章描述了一種 TI 應用工作人員為實施正確電池充電而開發(fā)的特殊反饋網(wǎng)絡。另外,我們還討論了一種用于過電壓保護和反向電壓保護的新穎解決方案。通過 通信協(xié)議與智能電池進行通信所需的軟件,可通過“參考文獻1”(一份應用報告)中的鏈接下載到。 的相關詳情,也可在“參考文獻 1”中找到。

          參考文獻

          1、《應用報告》的“使用MSP430? MCU和bq電量計之間SMBus通信接口的電池充電器”,作者:Abhishek A. Joshi和Keith J. Keller


          上一頁 1 2 下一頁

          評論


          相關推薦

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