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

          新聞中心

          EEPW首頁 > 電源與新能源 > 學(xué)習(xí)方法與實踐 > PWM技術(shù)在智能充電器中的應(yīng)用

          PWM技術(shù)在智能充電器中的應(yīng)用

          ——
          作者:劉寶忠 時間:2007-11-30 來源:網(wǎng)絡(luò) 收藏

              介紹了 技術(shù)的基本原理。并詳細(xì)介紹在中采用的技術(shù)的方法和其優(yōu)缺點。并針對問題提出了更加合理的解決方案。本文介紹的方法主要面向鎳氫和鎳鎘電池等應(yīng)用。 
          技術(shù)的基本原理
              隨著電子技術(shù)的發(fā)展,出現(xiàn)了多種PWM 技術(shù),其中包括:相電壓控制PWM、脈寬PWM 法、隨機PWM、SPWM法、線電壓控制PWM等,而本文介紹的是在鎳氫電池中采用的脈寬PWM法。它是把每一脈沖寬度均相等的脈沖列作為PWM波形,通過改變脈沖列的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)壓,采用適當(dāng)控制方法即可使電壓與頻率協(xié)調(diào)變化??梢酝ㄟ^調(diào)整PWM的周期、PWM的占空比而達(dá)到控制充電電流的目的。

          PWM技術(shù)的具體應(yīng)用
              PWM軟件法控制充電電流本方法的基本思想就是利用單片機具有的PWM端口,在不改變PWM 方波周期的前提下,通過軟件的方法調(diào)整單片機的PWM 控制寄存器來調(diào)整PWM的占空比,從而控制充電電流。本方法所要求的單片機必須具有ADC端口和PWM端口這兩個必須條件,另外ADC的位數(shù)盡量高,單片機的工作速度盡量快。在調(diào)整充電電流前,單片機先快速讀取充電電流的大小,然后把設(shè)定的充電電流與實際讀取到的充電電流進(jìn)行比較,若實際電流偏小則向增加充電電流的方向調(diào)整PWM 的占空比;若實際電流偏大則向減小充電電流的方向調(diào)整PWM 的占空比。在軟件PWM 的調(diào)整過程中要注意ADC的讀數(shù)偏差和工作電壓等引入的紋波干擾,合理采用算術(shù)平均法等數(shù)字濾波技術(shù)。軟件PWM法具有以下優(yōu)缺點。

           
          優(yōu)點:

          簡化了PWM 的硬件電路,降低了硬件的成本。利用軟件PWM不用外部的硬件PWM和電壓比較器,只需要功率MOSFET、續(xù)流磁芯、儲能電容等元器件,大大簡化了外圍電路。 
          可控制涓流大小。在PWM控制充電的過程中,單片機可實時檢測ADC端口上充電電流的大小,并根據(jù)充電電流大小與設(shè)定的涓流進(jìn)行比較,以決定PWM 占空比的調(diào)整方向。 
           電池喚醒充電。單片機利用ADC端口與PWM的寄存器可以任意設(shè)定充電電流的大小,所以,對于電池電壓比較低的電池,在上電后,可以采取小電流充一段時間的方式進(jìn)行充電喚醒,并且在小電流的情況下可以近似認(rèn)為恒流,對電池的沖擊破壞也較小。 
          缺點:

          電流控制精度低。充電電流的大小的感知是通過電流采樣電阻來實現(xiàn)的,采樣電阻上的壓降傳到單片機的ADC輸入端口,單片機讀取本端口的電壓就可以知道充電電流的大小。若設(shè)定采樣電阻為Rsample(單位為Ω),采樣電阻的壓降為Vsample (單位為mV), 10位ADC的參考電壓為5.0V。則ADC的1 LSB對應(yīng)的電壓值為5000mV/1024 =5mV。一個5mV的數(shù)值轉(zhuǎn)換成電流值就是50mA,所以軟件PWM 電流控制精度最大為50mA。若想增加軟件PWM的電流控制精度,可以設(shè)法降低ADC的參考電壓或采用10位以上ADC的單片機。 
          PWM 采用軟啟動的方式。在進(jìn)行大電流快速充電的過程中,充電從停止到重新啟動的過程中,由于磁芯上的反電動勢的存在,所以在重新充電時必須降低PWM 的有效占空比,以克服由于軟件調(diào)整PWM的速度比較慢而帶來的無法控制充電電流的問題。 
          充電效率不是很高。在快速充電時,因為采用了充電軟啟動,再加上單片機的PWM 調(diào)整速度比較慢,所以實際上停止充電或小電流慢速上升充電的時間是比較大的。 
              為了克服2和3缺點帶來的充電效率低的問題,我們可以采用充電時間比較長,而停止充電時間比較短的充電方式,例如充2s停50ms,再加上軟啟動時的電流慢速啟動折合成的停止充電時間,設(shè)定為50ms,則實際充電效率為(2000ms一100ms)/2000ms= 95% ,這樣也可以保證充電效率在90%以上。

          純硬件PWM法控制充電電流
              由于單片機的工作頻率一般都在4MHz左右,由單片機產(chǎn)生的PWM的工作頻率是很低的,再加上單片機用ADC方式讀取充電電流需要的時間,因此用軟件PWM 的方式調(diào)整充電電流的頻率是比較低的,為了克服以上的缺陷,可以采用外部高速PWM 的方法來控制充電電流?,F(xiàn)在充電器中采用的PWM 控制芯片主要有TL494等,本PWM 控制芯片的工作頻率可以達(dá)到300kHz以上,外加阻容元件就可以實現(xiàn)對電池充電過程中的恒流限壓作用,單片機只須用一個普通的I/O端口控制TL494使能即可。另外也可以采用電壓比較器替代TL494,如LM393和LM358等。采用純硬件PWM具有以下優(yōu)缺點。
          優(yōu)點:

          電流精度高。充電電流的控制精度只與電流采樣電阻的精度有關(guān),與單片機沒有關(guān)系。不受軟件PWM的調(diào)整速度和ADC的精度限制。 
          充電效率高。不存在軟件PWM的慢啟動問題,所以在相同的恒流充電和相同的充電時間內(nèi),充到電池中的能量高。 
          對電池?fù)p害小。由于充電時的電流比較穩(wěn)定,波動幅度很小,所以對電池的沖擊很小,另外TL494還具有限壓作用,可以很好地保護電池。 


          缺點:

          硬件的價格比較貴。TL494的使用在帶來以上優(yōu)點的同時,增加了產(chǎn)品的成本,可以采用LM358或LM393的方式進(jìn)行克服。 
           涓流控制簡單,并且是脈動的。電池充電結(jié)束后,一般采用涓流充電的方式對電池維護充電,以克服電池的自放電效應(yīng)帶來的容量損耗。單片機的普通I/O控制端口無法實現(xiàn)PWM端口的功能,即使可以用軟件模擬的方法實現(xiàn)簡單的PWM功能,但由于單片機工作的實時性要求,其軟件模擬的PWM頻率也比較低,所以最終采用的還是脈沖充電的方式,例如在10%的時間是充電的,在另外90%時間內(nèi)不進(jìn)行充電。這樣對充滿電的電池的沖擊較小。 
          單片機PWM控制端口與硬件PWM融合
              對于單純硬件PWM 的涓流充電的脈動問題,可以采用具有PWM端口的單片機,再結(jié)合外部PWM芯片即可解決涓流的脈動性。
              在充電過程中可以這樣控制充電電流:采用恒流大電流快速充電時,可以把單片機的PWM 輸出全部為高電平(PWM控制芯片高電平使能)或低電平(PWM控制芯片低電平使能);當(dāng)進(jìn)行涓流充電時,可以把單片機的PWM控制端口輸出PWM 信號,然后通過測試電流采樣電阻上的壓降來調(diào)整PWM的占空比,直到符合要求為止。

          pwm相關(guān)文章:pwm原理


          電流傳感器相關(guān)文章:電流傳感器原理


          關(guān)鍵詞: PWM 智能 充電器 電源 電源

          評論


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