一款基于單片機的多模式蓄電池充電電路設計方案

本文介紹了一種通用電池充電器的智能充電軟件控制方法,利用這種充電方法根據電池的充電特性進(jìn)行不同充電模式的轉換。采用AT89C51單片機芯片作為充電過(guò)程的控制芯片進(jìn)行電路設計,實(shí)現A/D轉換和顯示電路,并根據外部電路檢測到的電池電壓信息選擇正確的充電模式,實(shí)現在涓流、恒流、恒壓及浮充電模式之間的智能轉換。

引言

一個(gè)好的充電器對蓄電池的使用壽命具有舉足輕重的作用,智能充電器具有操作簡(jiǎn)單、可靠性高和通用性強等優(yōu)點(diǎn),是充電器家族中的一個(gè)重要的組成部分,也是未來(lái)充電器發(fā)展的主要方向。所謂智能充電器是指能根據用戶(hù)的需要自主選擇充電方式、對不同類(lèi)型的充電電池進(jìn)行充電、并且在充電過(guò)程中能對被充電電池進(jìn)行保護從而防止過(guò)電壓和溫度過(guò)高的一種智能化充電器。

充電控制器需要長(cháng)時(shí)間控制并要進(jìn)行電壓檢測,若用傳統電路實(shí)現則電路復雜,采用單片機控制可大大減化電路,降低成本。本充電器用AT89C51單片機進(jìn)行充電定時(shí)控制。在定時(shí)充電期間若電池電壓高于另一值則停止充電。采用從涓流充電、恒流充電、恒壓充電到浮充電的方法,充電完成后,自動(dòng)轉為浮充電, 以防止電池放電,并有顯示電路。適合對鎳鎘、鎳氫電池進(jìn)行充電。該充電器采用單片機控制,充電效果更佳。


智能充電器硬件設計


由單片機和充電器芯片組成的通用充電器原理框圖如圖1所示,圖中AT89C51與ADC0809一起構成充電器的核心。ADC0809隨時(shí)檢測充電電池兩端電壓,當放入電池時(shí),ADC0809即通過(guò)數據口向AT89C51傳送檢測到的電池兩端電壓信息,經(jīng)過(guò)數據處理后,AT89C51根據所接收到的電壓信息選擇合適的充電模式。由于芯片只能接收0V~5V的電壓信息,因此在充電電池的兩端并聯(lián)兩個(gè)串聯(lián)電阻(阻值相等且很大),這樣檢測到的電壓即為電池電壓的一半,乘以二即可得出電池電壓。若電池電壓低于4.7V,則啟用停止控制,充電器不工作。若電池電壓大于7.3V或小于5.2V,說(shuō)明蓄電池曾經(jīng)過(guò)度放電,為避免對蓄電池充電電流過(guò)大,造成熱失控,對蓄電池實(shí)行穩定小電流涓流充電,激活蓄電池。此時(shí)單片機P1.2口發(fā)出高電平信號,啟動(dòng)涓流充模式。同樣,當電壓在5.2V~6V時(shí),P1.0口置為高電平,同時(shí)調用脈沖控制,控制開(kāi)關(guān)的閉合,以恒流充電模式對電池進(jìn)行充電。當電壓在6V~7.3V 之間時(shí),P1.1口置為高電平,啟動(dòng)恒壓充電模式。整個(gè)充電過(guò)程為3個(gè)小時(shí),當電路工作三小時(shí)后,系統自動(dòng)掉電,終止充電過(guò)程。

本設計利用8155作為AT89C51的I/O擴展接口,連接四個(gè)數碼管顯示電路。LED顯示采用共陰極,段選碼由8155PB口提供,位選碼由 PA口提供,當啟用涓流充電模式時(shí)(P1.2置高),第一位數碼管顯示;當啟用恒流充電模式時(shí)(P1.0置高),位選字右移,第二位數碼管顯示,當啟用恒壓充電模式時(shí)(P1.1置高),位選字右移,第三位數碼管顯示。當停止充電時(shí),P1.0、P1.1、P1.2口均置為低電平,第四位數碼管顯示。若對程序進(jìn)行稍許修改,也可以讓顯示電路顯示當前充電電壓值,從而更有效的對電池進(jìn)行充電。


智能充電器軟件設計與實(shí)現


軟件整體設計


因為不同種類(lèi)的電池有不同的充電特性,所以充電器要能根據具體電池的類(lèi)型,控制不同的充電狀態(tài)。在充電的關(guān)鍵階段采用了模糊控制方法,這些通過(guò)程序控制實(shí)現。充電總體流程圖如圖2所示。

程序具體實(shí)現過(guò)程為:?jiǎn)纹瑱C首先進(jìn)行初始化,然后對蓄電池的電壓進(jìn)行測量,產(chǎn)生電壓偏差和變化率信號,偏差及變化率信號進(jìn)入模糊控制器后,經(jīng)過(guò)模糊處理,輸出電流信息,從而適時(shí)和正確地控制充電方式和過(guò)程。在充電過(guò)程中不斷檢測電池是否充滿(mǎn),當檢測己經(jīng)充滿(mǎn)時(shí),提示用戶(hù)電池已充足,充電器自動(dòng)進(jìn)入浮充維護狀態(tài)。模糊處理和終止條件的判決為整個(gè)智能充電器的關(guān)鍵,關(guān)系著(zhù)充電器性能的好壞。


系統的軟件設計采用模塊式結構,主要由初始化程序、充電方式設置模塊、預處理模塊、A/D轉換模塊、定時(shí)模塊等部分組成。其中,充電方式設置模塊用于設置電池類(lèi)型和充電方式,A/D轉換模塊用于檢測電池的電壓,以確定是否終止充電過(guò)程,定時(shí)模塊用于確定充電的時(shí)間監測。


系統軟件流程采用中斷工作方式, 軟件功能的主要控制步驟均包括在定時(shí)中斷程序中,包括監控電壓、測量電流及電池參數檢測等部分在開(kāi)始充電時(shí),對系統進(jìn)行初始化,其中包括AT89C51單片機各個(gè)端口初始化、堆棧指針初始化、寄存器初始化、中斷設定和根據電池

類(lèi)型設定它所能夠承受的最大電壓V,標準的容量值及對電壓、電流采樣的時(shí)間間隔△T。為了使測定結果更精確,采樣頻率要盡量高。系統初始化后開(kāi)定時(shí)器中斷服務(wù)程序,由于程序中利用了定時(shí)中斷,使得定時(shí)控制很方便。


主程序模塊根據系統相應的狀態(tài)條件控制并調用相應的模塊。同時(shí),其他各模塊之間也根據系統當前狀態(tài)相互調用。在初始化程序模塊中,設置了預處理功能,主要是設置A/D轉換參數和通道,檢測電池的端電壓。將檢測數據同理論經(jīng)驗值比較,判斷電池的類(lèi)別以及是否連接正確。對端電壓低的電池,采用短時(shí)間的脈動(dòng)電流充電,這樣有利于激活電池內的化學(xué)反應物質(zhì),部分恢復受損的電池單元。

 

電池的端電壓檢測硬件上使用單片機的片上高精度A/D模塊,軟件控制采用中斷方式,這樣可節省單片機在A(yíng)/D轉換期間的等待時(shí)間。端電壓檢測的數據,比較是否滿(mǎn)足充電終止條件,及時(shí)修改單片機的輸出參數,控制充電電流的大小。

涓流短時(shí)充電及浮充電

 

充電器開(kāi)始工作后,首先檢測蓄電池的電池電壓,若電池電壓低于4.7V,充電器不工作。若電池電壓大于7.3V或小于5.2V,說(shuō)明蓄電池曾經(jīng)過(guò)度放電,為避免對蓄電池充電電流過(guò)大,造成熱失控,對蓄電池實(shí)行穩定小電流涓流充電,激活蓄電池。軟件流程圖如下:


具體實(shí)現程序如下:

READ : MOV A、P0,將P0口的值送入累加器A

 

CJNE A、#84H、REL,若(A)≠5.2V則跳到REL

 

REL : JNC HL;大于5.2V轉移到HL

 

SETB P1.2,將P1.2口置為高位

 

SETB P1.3,脈沖控制

同時(shí),當充電時(shí)間到兩個(gè)半小時(shí)時(shí),進(jìn)入浮充電階段。該階段主要用來(lái)補充蓄電池自放電所消耗的能量,此時(shí)標志著(zhù)充電過(guò)程結束。


恒流充電


在涓流充電階段,電池電壓開(kāi)始上升,當電池電壓上升到能接受大電流充電的閾值時(shí),則轉入恒流充電階段。該階段為大電流恒流充電,電流值為I2 ,因蓄電池容量而異,一般I2 約為0.1C(C 為蓄電池組的容量),持續時(shí)間為T(mén)2,在恒流充電狀態(tài)下,不斷檢測電池端電壓,當電池電壓達到飽和電壓時(shí),恒流充電狀態(tài)終止。


本設計采用外部檢測設備將數據送入P0口,若電壓在5.2V~6V之間則P1.0口置為高電平,發(fā)送信號進(jìn)行恒流充電模式。在恒流充電過(guò)程中,采用脈沖控制充電電流的占空比,以此來(lái)控制開(kāi)關(guān)的開(kāi)斷,實(shí)現充電電流的恒定。軟件流程圖如下:


具體實(shí)現程序如下:

 


 


READ : MOV A、P0,將P0口的值送入累加器A

 


CJNE A 、#99H 、REL,若(A)≠6V則跳到REL

 


REL : JNC HY,大于6V轉移到HY

 


SETB P1.0,將P1.0口置為高位

 


SETB P1.3,脈沖控制

 


充電電路在實(shí)現涓流充電和恒流充電方法是要使用脈沖充電控制來(lái)進(jìn)行充電,有效的調整電池充電過(guò)程當中的占空比.其中脈沖控制的實(shí)現程序如下:

 


 


PWMH DATA 30H,高電平脈沖的個(gè)數

 


PWM DATA 31H ,PWM周期

 


COUNTER DATA 32H

 


TEMP DATA 33H

 


INTT0 : PUSH PSW ,現場(chǎng)保護

 


PUSH ACC

 


INC COUNTER ,計數值加1

 


MOV A,COUNTER

 


CJNE A , PWMH,INTT01,如果等于高電平脈沖數 CLR P1.0 ,P1.0變?yōu)榈碗娖?

 


CLR P1.2

 


AJMP INTT0

 


INTT01 : CJNE A,PWM,INTT02,如果等于周期數

 


MOV COUNTER, #01H ,計數器復位

 


SETB 08H,P1.0為高電平

 


SETB P1.2

 


INTT02 : POP ACC,出棧

 


POP PSW

 


RETI

 


END

 


  恒壓充電

 


該階段為恒壓充電,電壓值為7.3V,它是蓄電池節數與蓄電池溫度的函數,這時(shí)充電電流逐漸減小,恒壓充電時(shí),保持充電電壓不變。充電電流不斷下降,當充電電流下降到恒流狀態(tài)下充電電流的1/10 時(shí),終止恒壓充電。電路實(shí)現方法為:外部檢測設備將結果送入P0口,系統檢測送入的數據,若電池電壓在大于6V時(shí)采用恒壓充電模式,即P1.1口置高位進(jìn)行恒壓充電模式。具體實(shí)現程序如下:

 


 


READ : MOV A,P0,將P0口的值送入累加器A

 


CJNE A,#0B7H,REL ,若(A)≠7.3V則跳到REL

 


REL : JNC STOP ,大于7.3V轉移到STOP

 

A/D轉換模塊

 

由于本設計用到了電壓實(shí)時(shí)監測,因此需要對其發(fā)出的信號進(jìn)行A/D轉換,在電路中采用了ADC0809轉換器,對模擬信號進(jìn)行采集與轉換。具體實(shí)現程序如下:


START: MOV R0 ,#30H ,RAM緩沖區地址設初值

 


MOV DPTR , #0FEF8H,通道地址寄存器設初值 MOVX @DPTR A ,啟動(dòng)A/D轉換

 


MOV R5,#0AH ,延時(shí)等待


DLX: DJNZ R5,DLX

 

WAIT : JB P3.2 ,WAIT,等待A/D轉換結束

 

MOVX A ,@DPTR,讀取A/D轉換結果

 

MOV @R0,A ,保存A/D轉換結果

 

ACALL DATADSP,數據的數字處理

 

LJMP START

 


總結

 

采用單片機和充電集成電路進(jìn)行充電器的設計,不但能夠實(shí)現對一般的蓄電池進(jìn)行充電,而且還能夠實(shí)現相應的過(guò)壓和時(shí)間控制,從而可以充分發(fā)揮蓄電池的性能,延長(cháng)電池的使用壽命,并避免簡(jiǎn)易充電器在充電時(shí)可能對電池造成損害的情況發(fā)生,具有一定的智能功能,符合目前的環(huán)境保護潮流。


【上一個(gè)】 單激式變壓器開(kāi)關(guān)電源的工作原理詳解 【下一個(gè)】 工業(yè)開(kāi)關(guān)電源市場(chǎng)多極化 現五大競爭陣營(yíng)


 ^ 一款基于單片機的多模式蓄電池充電電路設計方案

亚洲一级免费在线免费视频_无码精品人妻内射_无码潮喷中文字幕在线_激情五月开心五月中文字