專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!
數(shù)字化智能充電器的設計
摘 要:設計了基于單片機的智能充電器,介紹了其硬件和軟件實現(xiàn)。該充電器可以實時采集和計算電池的參數(shù),并進行智能控制,還可以通過串口和上位機進行通訊并進行實時
關鍵詞:智能充電器 單片機 開關電源 鋰離子電池
現(xiàn)代通訊設備、便攜式電子產(chǎn)品、筆記本電腦、電動汽車、小衛(wèi)星等普遍使用蓄電池作為電源,應用非常廣泛。然而大多數(shù)設備中的蓄電池,只能使用專用的充電器,而且普通的充電器大多充電時間長,無法判斷其充電參數(shù)和剩余的充電時間。
本文介紹一種基于單片機的通用智能充電器的設計。充電器可以實時采集電池的電壓、電流,對充電過程進行智能控制,計算電池已充的電量和剩余的充電時間;還可以通過串口和上位機進行通訊并給用戶顯示必要的信息,有虛擬儀表的作用;另外,它也可以改變參數(shù),適應各種不同電池的充電。這里列舉幾種不同的電池充電試驗,來說明智能充電器的實用價值。
1 智能充電器的硬件設計
智能充電器如圖1所示。主要包括電源變換電路、采樣電路、處理器、脈寬調制控制器和電池組等,形成了一個閉環(huán)系統(tǒng)[4]。下面對系統(tǒng)的工作原理分幾個部分進行簡述。
圖1智能充電器電路模塊圖
點擊此處查看全部新聞圖片
1.1 處理器
處理器采用51系列單片機89C51。單片機內部有兩個定時器、兩個外部中斷和一個串口中斷、三個八路的I/O口,采用11.0592MHz的晶振。單片機的任務是通過采樣電路實時采集電池的充電狀態(tài),通過計算決定下一階段的充電電流,然后發(fā)送命令給控制器控制電流的大小。單片機通過串口RS232和上位機相連,用于存儲數(shù)據(jù)和虛擬顯示。
1.2 采樣部分
電壓和電流采樣采用模/數(shù)轉換器AD574。AD574為±15V雙電源供電,12位輸出,最大誤差為±4bit,合計電壓0.01V。
充電電流通過電流傳感器MAX471轉換為電壓值。電流采樣的電壓值和電池組的端電壓值兩者經(jīng)過模擬開關CD4051,再經(jīng)過電壓跟隨器輸入到AD574,分別進行轉換,其結果由單片機讀取,并進行存儲和處理。主要的電路連接如圖2所示。
1.3 控制器
控制器采用脈寬調制(PWM)方式控制供電電流的大小。PWM發(fā)生器由另一個20MHz的單片機構成,主控制器和它采用中斷的方式進行通訊,控制其增大或減小脈寬。PWM信號通過光電隔離驅動主回路上的MOSFET。開關管、二極管、LC電路構成開關穩(wěn)壓電源。用PWM方式控制的開關電源可以減小功耗,同時便于進行數(shù)字化控制,但母線的紋波系數(shù)相對較大。PWM控制電路如圖3所示。
2 智能充電器的軟件設計
2.1 數(shù)據(jù)測量
在單片機的測量中,電池電壓值和電流測量值經(jīng)過多路選擇器進行選擇,然后通過A/D轉換器轉換為16進制數(shù),直接存入單片機。電池電容量C則需要間接計算,由于每個循環(huán) 周期檢測電流一次,故可以利用電流值的積分求出電容量C。考慮電池內阻r的影響,可以得到計算電容量的計算公式為:
Cn+1=Cn+I·t-I2·r·t
充電時間和剩余充電時間由上位機進行計算,剩余充電時間等于預設的充電時間與已充電時間的差值。其中,預設時間可根據(jù)電池的型號預先得到。
2.2 單片機控制程序設計
對于不同的電池和不同的參數(shù),單片機需要設定不同的充電參數(shù),選擇不同的充電策略。另外,程序需要在電池過電流、過電壓等異常情況下強制終止充電。以鋰離子電池為例,一般采用恒流-恒壓充電方式,其充電過程包括小電流預充電、大電流充電、恒壓充電等幾部分。其充電控制程序流程圖如圖4所示。
在控制恒定電流和恒定電壓的過程中,采用比例控制,即如果充電電流I大于設定電流Is,就按照比例減小脈寬;反之按照比例增大脈寬。單片機還需要接收和處理上位機的命令,并根據(jù)上位機的要求將數(shù)據(jù)實時回送給上位機。兩者的通訊協(xié)議要在程序中預先設定。
2.3 上位機處理程序設計
上位機程序由VisualC++編寫。其任務是每隔1秒鐘向串口發(fā)送一個查詢命令,并讀取單片機回送的信息,提取充電電流、充電電壓、工作狀態(tài)等參數(shù)。參數(shù)經(jīng)過數(shù)制轉換和計算后進行顯示。軟件有著良好的用戶界面,可以方便地觀測電池目前的工作狀態(tài)以及剩余充電時間等信息。上位機程序會同時把讀到的數(shù)據(jù)存儲到文件中,這些數(shù)據(jù)可以利用其它數(shù)學軟件(如Matlab)進行處理。
另外,程序在初始化時要把充電電池的型號參數(shù)發(fā)送給智能充電器,參數(shù)一般包括充電電池的種類(鋰離子電池、鎳鎘電池)、充電電池的容量(單位為mAh)等。根據(jù)不同的電池型號,單片機可以設定不同的充電參數(shù),程序可以直接控制單片機的運行與停止。
3智能充電器的應用試驗
3.1充電性能試驗
這里選用型號為US18650的SONY鋰離子電池,其額定容量為1800mAh;經(jīng)過測量,電池在4.2V左右時的內阻約為0.3Ω。取恒流充電電流為1/3C=0.6A,截止電壓為4.2V,充電結束標志電流為0.06A,進行充電試驗。圖5為充電過程的電壓、電流和電容量的曲線。
充電時間約為240分鐘,如果需要進一步縮短充電時間,只需在初始化時設定更大的充電電流即可。因為采用PWM控制器,所以電源供電的效率高,從供電電源到充電電池的工作效率,最低時在85%左右。充電電流波動較大,波動系數(shù)約為5%。
3.2 智能充電器通用性試驗
選用NOKIA6100鋰離子電池(額定容量為550mAh),用恒流-恒壓充電方式進行充電,取恒流充電電流為0.15A,截止電壓為4.2V,充電曲線如圖6所示。
從充電曲線來看,電池電壓達到3.96V時就不再上升了,充電電流也不再下降了??梢耘袛嗌逃秒姵貎炔坑斜Wo電路,將多余的電流旁路了,這樣的保護電路使充電過程中能量損耗很大。試驗曲線顯示在四小時時電池電量已經(jīng)達到550mAh,但實際上并沒有達到滿充。此實驗證明,此充電器可以作為一般的商用電池的通用充電器,充電速度快,效果良好。不足的是它與實際的充電電池在機械接口上還不能匹配,需要進一步改進。