數字化智能充電器
現代通訊設備、便攜式電子產品、筆記本電腦、電動汽車、小衛星等普遍使用蓄電池作為電源,應用非常廣泛。然而大多數設備中的蓄電池,只能使用專用的充電器,而且普通的充電器大多充電時間長,無法判斷其充電參數和剩余的充電時間。
本文介紹一種基于單片機的通用智能充電器的設計。充電器可以實時采集電池的電壓、電流,對充電過程進行智能控制,計算電池已充的電量和剩余的充電時間;還可以通過串口和上位機進行通訊并給用戶顯示必要的信息,有虛擬儀表的作用;另外,它也可以改變參數,適應各種不同電池的充電。這里列舉幾種不同的電池充電試驗,來說明智能充電器的實用價值。
1 智能充電器的硬件設計
智能充電器如圖1所(suo)示。主要包括(kuo)電源(yuan)變換電路、采(cai)樣電路、處理器、脈寬調制控(kong)制器和電池組(zu)等,形成了(le)一個閉環系(xi)統[4]。下面對系(xi)統的工作原理分幾(ji)個部分進行簡述。
圖1智能充電器電路模塊圖
點擊此處查看全部新聞圖片
1.1 處理器
處理器采用51系列單片機89C51。單片機內部有兩個定時器、兩個外部中斷和一個串口中斷、三個八路的I/O口,采用11.0592MHz的晶振。單片機的任務是通過采樣電路實時采集電池的充電狀態,通過計算決定下一階段的充電電流,然后發送命令給控制器控制電流的大小。單片機通過串口RS232和上位機相連,用于存儲數據和虛擬顯示。
1.2 采樣部分
電壓和電流采樣采用模/數轉換器AD574。AD574為±15V雙電源供電,12位輸出,最大誤差為±4bit,合計電壓0.01V。
充電(dian)(dian)(dian)電(dian)(dian)(dian)流通過(guo)電(dian)(dian)(dian)流傳(chuan)感器MAX471轉換為電(dian)(dian)(dian)壓(ya)值(zhi)。電(dian)(dian)(dian)流采(cai)樣的電(dian)(dian)(dian)壓(ya)值(zhi)和電(dian)(dian)(dian)池組的端電(dian)(dian)(dian)壓(ya)值(zhi)兩者經過(guo)模擬開關CD4051,再經過(guo)電(dian)(dian)(dian)壓(ya)跟隨器輸入到AD574,分(fen)別(bie)進行(xing)轉換,其結果由(you)單片機讀取,并進行(xing)存儲和處理。主要的電(dian)(dian)(dian)路連接(jie)如圖2所示(shi)。
圖2 采樣電(dian)路
點擊此處查看全部(bu)新聞(wen)圖片
1.3 控制器
控(kong)制(zhi)(zhi)器采(cai)(cai)用脈寬調制(zhi)(zhi)(PWM)方(fang)式控(kong)制(zhi)(zhi)供電電流的(de)大小(xiao)。PWM發生(sheng)器由另一個20MHz的(de)單片機(ji)構成(cheng),主控(kong)制(zhi)(zhi)器和它采(cai)(cai)用中斷的(de)方(fang)式進行通訊,控(kong)制(zhi)(zhi)其增大或減(jian)小(xiao)脈寬。PWM信(xin)號通過光(guang)電隔離驅動主回路(lu)上的(de)MOSFET。開關(guan)管、二極管、LC電路(lu)構成(cheng)開關(guan)穩壓(ya)電源。用PWM方(fang)式控(kong)制(zhi)(zhi)的(de)開關(guan)電源可以(yi)減(jian)小(xiao)功耗(hao),同時便于進行數字化控(kong)制(zhi)(zhi),但母線的(de)紋波系數相(xiang)對較(jiao)大。PWM控(kong)制(zhi)(zhi)電路(lu)如圖3所示(shi)。
圖(tu)3 PWM控(kong)制電路
點(dian)擊此處查看(kan)全(quan)部新聞圖片
2 智能充電器的軟件設計
2.1 數據測量
在單片機的測量中,電池電壓值和電流測量值經過多路選擇器進行選擇,然后通過A/D轉換器轉換為16進制數,直接存入單片機。電池電容量C則需要間接計算,由于每個循環 周期檢測電流一次,故可以利用電流值的積分求出電容量C。考慮電池內阻r的影響,可以得到計算電容量的計算公式為:
Cn+1=Cn+I?t-I2?r?t
充電時間和剩余充電時間由上位機進行計算,剩余充電時間等于預設的充電時間與已充電時間的差值。其中,預設時間可根據電池的型號預先得到。
2.2 單片機控制程序設計
對于不同(tong)的電(dian)(dian)(dian)(dian)(dian)(dian)池(chi)和(he)不同(tong)的參數,單片機(ji)需(xu)要設定(ding)不同(tong)的充電(dian)(dian)(dian)(dian)(dian)(dian)參數,選擇(ze)不同(tong)的充電(dian)(dian)(dian)(dian)(dian)(dian)策略。另外,程(cheng)(cheng)序需(xu)要在電(dian)(dian)(dian)(dian)(dian)(dian)池(chi)過(guo)電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)、過(guo)電(dian)(dian)(dian)(dian)(dian)(dian)壓(ya)等異(yi)常情況下強制終止充電(dian)(dian)(dian)(dian)(dian)(dian)。以鋰離子電(dian)(dian)(dian)(dian)(dian)(dian)池(chi)為例,一(yi)般采用恒流(liu)-恒壓(ya)充電(dian)(dian)(dian)(dian)(dian)(dian)方(fang)式,其(qi)充電(dian)(dian)(dian)(dian)(dian)(dian)過(guo)程(cheng)(cheng)包括小電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)預充電(dian)(dian)(dian)(dian)(dian)(dian)、大電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)充電(dian)(dian)(dian)(dian)(dian)(dian)、恒壓(ya)充電(dian)(dian)(dian)(dian)(dian)(dian)等幾部(bu)分(fen)。其(qi)充電(dian)(dian)(dian)(dian)(dian)(dian)控制程(cheng)(cheng)序流(liu)程(cheng)(cheng)圖如圖4所(suo)示(shi)。
圖4 充(chong)電控(kong)制策略(lve)程序(xu)
點擊此(ci)處查看全部新聞(wen)圖(tu)片
在控制恒定電流和恒定電壓的過程中,采用比例控制,即如果充電電流I大于設定電流Is,就按照比例減小脈寬;反之按照比例增大脈寬。單片機還需要接收和處理上位機的命令,并根據上位機的要求將數據實時回送給上位機。兩者的通訊協議要在程序中預先設定。
2.3 上位機處理程序設計
上位機程序由VisualC++編寫。其任務是每隔1秒鐘向串口發送一個查詢命令,并讀取單片機回送的信息,提取充電電流、充電電壓、工作狀態等參數。參數經過數制轉換和計算后進行顯示。軟件有著良好的用戶界面,可以方便地觀測電池目前的工作狀態以及剩余充電時間等信息。上位機程序會同時把讀到的數據存儲到文件中,這些數據可以利用其它數學軟件(如Matlab)進行處理。
另外,程序在初始化時要把充電電池的型號參數發送給智能充電器,參數一般包括充電電池的種類(鋰離子電池、鎳鎘電池)、充電電池的容量(單位為mAh)等。根據不同的電池型號,單片機可以設定不同的充電參數,程序可以直接控制單片機的運行與停止。
3智能充電器的應用試驗
3.1充電性能試驗
這里選用型號為(wei)(wei)(wei)US18650的(de)(de)SONY鋰離子(zi)電(dian)(dian)(dian)(dian)(dian)(dian)池,其額定容量(liang)為(wei)(wei)(wei)1800mAh;經過測量(liang),電(dian)(dian)(dian)(dian)(dian)(dian)池在4.2V左(zuo)右時(shi)的(de)(de)內阻約為(wei)(wei)(wei)0.3Ω。取恒流(liu)充電(dian)(dian)(dian)(dian)(dian)(dian)電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)為(wei)(wei)(wei)1/3C=0.6A,截(jie)止電(dian)(dian)(dian)(dian)(dian)(dian)壓為(wei)(wei)(wei)4.2V,充電(dian)(dian)(dian)(dian)(dian)(dian)結束標志電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)為(wei)(wei)(wei)0.06A,進行充電(dian)(dian)(dian)(dian)(dian)(dian)試驗。 圖5為(wei)(wei)(wei)充電(dian)(dian)(dian)(dian)(dian)(dian)過程的(de)(de)電(dian)(dian)(dian)(dian)(dian)(dian)壓、電(dian)(dian)(dian)(dian)(dian)(dian)流(liu)和(he)電(dian)(dian)(dian)(dian)(dian)(dian)容量(liang)的(de)(de)曲線(xian)。
圖5 鋰離子電池充(chong)電性能(neng)試驗
點擊此處(chu)查看(kan)全部新(xin)聞(wen)圖片
充電(dian)(dian)(dian)時間約為240分鐘,如果需要進一步縮短充電(dian)(dian)(dian)時間,只需在(zai)初始化(hua)時設定(ding)更大的(de)充電(dian)(dian)(dian)電(dian)(dian)(dian)流即可(ke)。因為采用PWM控制器(qi),所以電(dian)(dian)(dian)源供電(dian)(dian)(dian)的(de)效(xiao)率高,從供電(dian)(dian)(dian)電(dian)(dian)(dian)源到充電(dian)(dian)(dian)電(dian)(dian)(dian)池的(de)工作(zuo)效(xiao)率,最(zui)低時在(zai)85%左右。充電(dian)(dian)(dian)電(dian)(dian)(dian)流波動較大,
3.2 智能充電器通用性試驗 選用NOKIA6100鋰離子電池(額定容量為550mAh),用恒流-恒壓充電方式進行充電,取恒流充電電流為0.15A,截止電壓為4.2V,充電曲線如圖6所示。
從充電曲線來看,電池電壓達到3.96V時就不再上升了,充電電流也不再下降了。可以判斷商用電池內部有保護電路,將多余的電流旁路了,這樣的保護電路使充電過程中能量損耗很大。試驗曲線顯示在四小時時電池電量已經達到550mAh,但實際上并沒有達到滿充。此實驗證明,此充電器可以作為一般的商用電池的通用充電器,充電速度快,效果良好。不足的是它與實際的充電電池在機械接口上還不能匹配,需要進一步改進。
圖6 NOKIA商用電(dian)池(chi)充電(dian)試(shi)驗(yan)
點擊此處查看全部新聞圖片