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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于AVR的鋰電池智能充電器的設(shè)計與實現(xiàn)

          基于AVR的鋰電池智能充電器的設(shè)計與實現(xiàn)

          作者: 時間:2016-09-21 來源:網(wǎng)絡(luò) 收藏

            1 引言

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

            鋰電池閑其比能量高、自放電小等優(yōu)點,成為便攜式電子設(shè)備的理想電源。近年來,隨著筆記本電腦、PDA,無繩電話等大功耗大容量便攜式電子產(chǎn)品的普及,其對電源系統(tǒng)的要求也日益提高。為此,研發(fā)性能穩(wěn)定、安全可靠、高效經(jīng)濟的鋰電池充電器顯得尤為重要。

            本文在綜合考慮電池安全充電的成本、設(shè)計散率及重要性的基礎(chǔ)上,設(shè)計了一種基于單片機PWM控制的單片開關(guān)電源式鋰電池充電器,有效地克服了一般充電器過充電、充電不足、效率低的缺點,實現(xiàn)了對鋰電池組的智能充電,達到了預(yù)期效果。該方案設(shè)計靈活,可滿足多種型號的鋰電池充電需求,且集成化的閃存使其便于軟件調(diào)試與升級。

            2 鋰電池充電特性

            鋰電池充電需要控制它的充電電壓,限制其充電電流。鋰電池通常都采用三段充電法,即預(yù)充電、恒流寬電和恒壓充電。鋰電池的充電電流通常應(yīng)限制在1C(C為鋰電池的容量)一下,單體充電電壓一般為4.2V,否則可能由于電聰過高會造成鍵電池永久性損壞。

            預(yù)充電主要是完成對過放的鋰電池進行修復(fù),若電池電壓低于3V,則必須進行預(yù)充電,否剛可省略該階段。這也是最普遍的情況。在恒流階段,充電器先給電池提供大的恒定電流,同時電池電壓上升,當魄池電壓達到飽和電壓對,則轉(zhuǎn)入憾壓充電,充電電壓波動應(yīng)控制在50mV以內(nèi),同時充電電流降低,當電流逐漸減小到規(guī)定的值時,可結(jié)束充電過程。電池的大部分電能在慣流及恒壓階段從充電器流入電池。曲上可知,充電器實際上是一個精密電源,其電流電壓都被限制在所要求的范圍之內(nèi)。

            3 硬件電路設(shè)計

            該系統(tǒng)在電路設(shè)計上主要由單片開關(guān)電源、控制電路及保護電路三部分組成。

            3.1單片開關(guān)電源

            單片開關(guān)電源負責(zé)將電能轉(zhuǎn)化為電池充電所需要的形式,構(gòu)成了充電器的主要功率轉(zhuǎn)換方式。與傳統(tǒng)線性充電器大損耗、低效率的缺點相比,由美國 Power Integrations公司的TNY268P構(gòu)成的單片開關(guān)電源,其輸入電壓范圍寬(85265VAC)、體積小、重量輕、效率高,其有調(diào)壓、限流、過熱保護等功能,特別適合于構(gòu)成充電電源。其原理圖如圖1所示。

            

           

            圖1單片開關(guān)電源

            該電源采用配穩(wěn)壓管的光藕反饋電路實現(xiàn)15V的低壓直流輸出,當輸出電壓發(fā)生變化時,通過線性光藕PC817的發(fā)光管的電流發(fā)生相應(yīng)的變化,使得 TNY268P的EN腳流出電流也發(fā)生變化,從而控制其片內(nèi)功率MOSFET的斷、通、調(diào)節(jié)輸出電壓,使輸壓電壓穩(wěn)定。具體反饋原理分析詳見后文脈寬調(diào)制 (PWM)的控制。

            在電路結(jié)構(gòu)上,線性光藕PC817,不但可以起到反饋作用還可起到隔離作用。由PNP管Q2和電阻R9、R1O及R12組成的限流電路,則從源頭上防止了過電流的問題。由C6及R11構(gòu)成的緩啟電路,則有效抑止了電源上電瞬間的產(chǎn)生的電壓尖峰。而二極管D9則防止了電池組的反向放電。此外,對整個充電系統(tǒng)而言,當因意外情況系統(tǒng)失控時,開關(guān)電源所提供的15V直流低壓也在某種程度上起到了限制其最高電壓的作用。

            3.2控制電路

            單片機負責(zé)控制整個系統(tǒng)的運行,包括充電電流電壓值的設(shè)定,電流電壓的檢測與調(diào)整,充放電狀態(tài)的顯示等。與專用充電控制芯片相比,單片機控制系統(tǒng)不僅不受電池組容量大小的阻將電流轉(zhuǎn)換為電壓進行的,因此其PWM控制調(diào)整過程與恒限制,還可通過軟硬件配合實現(xiàn)更靈活的綜合控制,也便于進一步的后續(xù)開發(fā)。

            系統(tǒng)控制選用Atmel公司的來實現(xiàn),控制框圖見圖2。ATtiny261采用 RISC結(jié)構(gòu),其大部分指令執(zhí)行時間僅為1個時鐘周期.可達到接近1MIPS/MHZ的性能;11路lObitADC。且15對具有可編程增益的ADC差分通道,精度高達2.5mV的內(nèi)置2.56V基準源,3個獨立PWM發(fā)生器,片上溫度傳感器,足以滿足設(shè)計需求。

            

           

            圖2系統(tǒng)控制結(jié)構(gòu)框圖

            3.2.1志愿檢測

            系統(tǒng)電壓采樣采用精密電阻分壓方法,將測量電壓范圍轉(zhuǎn)換成0-2.56V,然后通過1倍的差分ADC通道轉(zhuǎn)換成數(shù)字信號,在充電過程中將測得的電壓值與預(yù)先設(shè)定的值進行比較,再控制調(diào)整PWM占空比完成對充電電壓的控制與調(diào)節(jié)。

            3.2.2電流檢測

            在系統(tǒng)電流的榆測上,由于選用ATtiny261的ADC差分通道,這就要求其正端輸入電壓必須大予負端輸入電壓。困此,在電路設(shè)計上,通過串聯(lián)在電流主回路中的高精度采樣電阻RsenseB和RsenseA,經(jīng)ADC2-ADCl和ADCl-ADC0兩對32倍的ADC差分通道(參見圖3),分別完成對充、放電電流的檢測??梢?,差分ADC的選用,既保證了電流采樣的精準,又避免了因電路中引入差分遠放所帶來的功率損耗問題,很好的滿足了系統(tǒng)性能與功耗兩方面的要求,充分體現(xiàn)了ATtiny261的優(yōu)勢。

            

           

            圖3電池保護電路

            3.2.3溫度檢測

            溫度檢測確保了安全充電步驟的執(zhí)行。系統(tǒng)中使用ATtiny261的毖上濕度傳感器,通過ADCIl進行溫度檢測。測量電壓與溫度基本成線性關(guān)系,約lmv/°C的精度可提供充分精度的溫度測量。如欲獲得更高精度的溫度檢測,可通過軟件寫入校準值的方法來實現(xiàn)。

            3.2.4 PWM控制

            設(shè)計中,在前述穩(wěn)壓管反饋控制的摹礎(chǔ)上,在反饋環(huán)節(jié)中引入PWM的方法控制充電。其基本控制思想是利用單片機的PWM端口,在不改變PWM波周期的前提下,通過電流及電壓的反饋,用軟件的方法調(diào)整PWM占空比,從而使電流或電壓按預(yù)定的充電流程進行。

            因系統(tǒng)進入充電工作狀態(tài)后,受鋰電池終止充電電壓的限制,其最高電壓不得高于12.7V,所以開關(guān)電源中的穩(wěn)壓管Zl始終處于截止狀態(tài),充電過程完全由PWM的控制來實現(xiàn)。以恒壓充電為例,在充電電壓調(diào)整之前,單片機先快速讀取充電電壓檢測值,然后將設(shè)定的電壓值與實際讀取值進行比較,若實際電壓偏高,則提高PWM占空比,使線性光耦PC817的發(fā)光二極管的電流1F增大,致使TNY268的EN腳置為低電平,其片內(nèi)功率MOSFET關(guān)斷,輸出電壓降低。反之,則降低PWM占空比->IF減小->EN腳為高電平,片內(nèi)功率MOSFET接通,輸出電壓升高。在預(yù)充電,恒流充電階段對電流的調(diào)整,是通過采樣電阻將電流轉(zhuǎn)換為電壓進行的,因此其PWM控制調(diào)整過程與恒壓階段完全類似。當充電結(jié)束時,PWM持續(xù)輸出占空比為1的高電平,關(guān)斷 TNY268P的片內(nèi)MOSFET,中斷功率轉(zhuǎn)換回路,實現(xiàn)充滿后自動停充。

            為保證采樣的準確,盡量避免由于ADC的讀數(shù)偏差和電源工作電壓等引入的波紋干擾,所有采樣點都經(jīng)過阻容濾波處理,并在軟件PWM的調(diào)整過程中采用了數(shù)字濾波技術(shù)。

            3.2.5 按鍵與顯示

            充電器的功能按鍵響應(yīng)由ATtiny261的外中斷來實現(xiàn),與LED顯示相配合可獲知池放電狀況,并提醒系統(tǒng)即將終止。系統(tǒng)充放電的每個狀態(tài)都與相應(yīng)LED顯示對應(yīng)??筛鶕?jù)電壓檢測判斷是否有電池裝入及提供電池短路保護,并給出LED報警信號。

            3.3保護電路

            由于鋰電池的化學(xué)特性,在使用過程中,其內(nèi)部進行電能與化學(xué)能相互轉(zhuǎn)化的化學(xué)正反應(yīng)。但在菜蝗條件下.如對其過充電、過放電和過電流將會導(dǎo)致電池內(nèi)部發(fā)生化學(xué)副反應(yīng),該副反應(yīng)加劇則會嚴重影響鋰電池的性能與使用壽命,甚至?xí)鸨ǘ鴮?dǎo)致安全問題,因此鋰電池保護電路顯得至為重要。

            如圖3所示,該電路選用精工的多節(jié)鋰電池保護芯片S8233構(gòu)成,可對電池電壓和回路電流進行有效監(jiān)測,并通過對MOS管FET-A或FET-B的控制在某些條件下關(guān)斷究、放電回路以防止對電池發(fā)生損害。與其它電池保護芯片如S8254相比較,S8233還可通過外接MOS管FET1,F(xiàn)ET1及 FET3來保證鋰電池組的充電平衡,這是其它類似芯片所不具備的優(yōu)點。通過單片機對S8233芯片CTL端子的控制,可實現(xiàn)對鋰電池的故障保護。

            4 軟件設(shè)計

            系統(tǒng)軟件采用匯編語言編寫,并在 Studio4環(huán)境下編譯調(diào)試完成。整個系統(tǒng)軟件內(nèi)充電主程序和中斷服務(wù)子程序組成。主程序主要完成系統(tǒng)、變量及看門狗定時器的初始化.控制系統(tǒng)實現(xiàn)充電功能。單片機完成初始化后,根據(jù)電池狀況判斷應(yīng)該進入哪一個充電階段,然后通過AD采樣與中斷響應(yīng)完成PWM的調(diào)整,實現(xiàn)相應(yīng)階段的控制。主程序流程見圖 4。程序中通過AD中斷子程序來改變PWM占空比,定時中斷子程序來控制最大充電時間,外中斷來判斷電池組放電狀態(tài)。

            

           

            圖4 主程序流程

            5 實驗測試結(jié)果

            實驗中采用750mA恒流對3節(jié)1500mAh的鋰電池組進行充電,充電電流.電壓測試曲線如圖5所示。實驗結(jié)果她示,由單片開關(guān)電源實現(xiàn)AC- DC的轉(zhuǎn)換,通過ATtiny261與S8233保護芯片的相互配合與控制所實現(xiàn)的鋰電池充電器,滿足了3節(jié)鋰電池組的充電要求,取得了較好的充電效果。

            

           

            圖5 電池充電測試熱線

            6 結(jié)束語

            由于AVR ATtiny261良好的性價比,使得產(chǎn)品的智能性與應(yīng)用性大大提高,且縮短了開發(fā)時闊.降低了開發(fā)成本。并且,系統(tǒng)采用綜合控制的軟件算法,避應(yīng)了不同型號及容量的鋰電池需求機電路集成度高,結(jié)構(gòu)簡單,性能可靠,經(jīng)濟輕便,具有很大的實用價值。此外,在系統(tǒng)現(xiàn)有功能實現(xiàn)的基礎(chǔ)上,充分利用 ATtiny261的片內(nèi)外資源,通過其所具有的12C通信功能,可以很方便的升級為智能電源管理系統(tǒng),直接成用于各種便攜式電子設(shè)備。



          關(guān)鍵詞: AVR ATtiny261

          評論


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