王 瑩 ,許洋洋
(鄭州華信學院,河南新鄭,451150)
如今,隨著越來越多的電器的出現,對高性能、小尺寸、重量輕的電池充電器的需求也越來越大。電池技術的持續進步也要求更復雜的充電算法以實現快速、安全的充電。因此需要對充電過程進行更精確的監控,以縮短充電時間、達到最大的電池容量,并防止電池損壞。本文的主要研究目標為實現在充電過程中對電壓、電流、溫度等參數的檢測,具有充電狀態、時間等顯示功能,具有過欠壓、過欠流及超溫等情況的處理和報警等。
AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含4k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元。
AT89C52是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。
ADC0809是美國國家半導體公司生產的CMOS工藝8通道,8位逐次逼近式A/D轉換器。其內部有一個8通道多路開關,它可以根據地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉換。START為轉換啟動信號。當START上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,START應保持低電平。單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0 為數字量輸出線。CLK為時鐘輸入信號線。其工作過程:(1)ADC0809 內部帶有輸出鎖存器,可以與AT89S51 單片機直接相連。(2)初始化時,使ST和OE信號全為低電平。(3)送要轉換的哪一通道的地址到A,B,C端口上。(4)在ST端給出一個至少有100ns 寬的正脈沖信號。(5)是否轉換完畢,我們根據EOC信號來判斷。(6)當EOC變為高電平時,這時給OE為高電平,轉換的數據就輸出給單片機了。
本方案中采用獨立按鍵控制。其中,按鍵1功能為選擇性顯示電池的充電時間、電壓、電流、溫度;按鍵2功能為電池充電模式的選擇。
該設計方案采用四位數碼管顯示超聲波測出障礙物的距離。由于在該系統設計中I/O口較為緊張,故采用數碼管動態掃描顯示,P1口段選,P2口低三位接譯碼器控制位選,從而達到以少的I/O接口,實現1—8位的數碼管動態顯示。
本方案設有溫度、過壓、過流報警功能,即電池溫度、充電電流、電壓超標時,提示用戶采取相應措施。由AT89C52的P2.7提供蜂鳴器的控制信號。
根據電動車電池的充放電特點,研究充電控制技術,編寫以單片機為核心的電動車智能充電器的控制程序,實現智能充電。按照充電過程電壓、電流、溫度及充電時間的變化,實現充電自動控制,從而延長電池使用壽命。其主要研究目標為:
(1)實現在充電過程中對電壓、電流、溫度等參數的檢測。
(2)具有充電狀態、時間等顯示功能。
(3)具有過欠壓、過欠流及超溫等情況的處理和報警。
(4)以及對充電過程的不同階段編寫相應的控制算法。
該系統中對電壓、電流的調節是通過搭建三種不同的電路實現的,分別為預充電、恒壓充電、恒流充電。A/D采集的數據經過AT89C52單片機的判斷選擇不同的充電電路;系統的顯示部分采用的數碼管動態顯示。為保證其顯示效果亮度均勻,需要準確的設定其數碼管掃描時間;同時在系統中加入報警程序,溫度過高就報警。程序設計時將定時/計數器T0,設定為6位計數器、工作方式2,單獨用來對A/D發送脈沖;將定時/計數器T1,設定為16位定時器、工作方式1,用來控制鍵盤掃描周期、數碼管的掃描周期和時間計數等。其系統總體結構框圖如下圖1-1所示。

1-1系統總體結構圖Fig.1-1 Structure diagram of the power control unit test system
在充電器的充電過程中,采集參數,進行電壓、電流、溫度的實時顯示。其軟件設計流程如下圖1-2所示:

圖1-2 軟件設計流程圖
由主程序流程圖可知,在經過AD轉換器采集電壓、電流,溫度傳感器采集溫度后,掃描鍵盤。本次設計使用獨立按鍵,按鍵一用來控制溫度、電壓、電流、時間的顯示,按鍵二用來控制充電方式的選擇,由于開始時蓄電池電壓低,若以大電流充電,有損電池壽命,因此,當電流小于1.8A時為小電流預充電,當電流大于1.8A時為恒壓充電,在恒定電流充電方式下,充到輸出電壓達到設定的電池組端電壓值。然后,輸出電壓維持恒定不變,電池充滿,充電結束。
本系統的軟件部分設計主要包含以下幾個方面:
(1)主函數程序設計。在主程序設計中,為增加程序的可讀性,將主程序中對定時/計數器T0、T1的初始化和按鍵掃描分別作為其子函數。
(2)按鍵控制顯示程序。按鍵一通過按鍵按下次數的不同來控制溫度、電壓、電流、時間的輪流動態顯示。
(3)AD轉換模塊啟動控制程序。由ADC0809模塊的時序圖可知AD轉換模塊啟動條件為:模塊的控制端(Trig)應輸入一個10us以上的高電平。考慮到超聲波模塊的最大測量距離與其測量周期有關,測量周期越大其測量距離越遠,但系統反應將會變得遲鈍。綜合以上考慮,本方案設定測量周期為100ms。其源程序如下:
Void ad _just()
{
If (INT==0)
{
CS=0;
R=0;
_ nop _();_nop_();_nop_(); _nop_();
dat=P0;
_nop_();_nop_();_nop_();_nop_();
R=1;
}
}
(4)溫度傳感器的啟動控制程序。
(5)過流過壓程序設計。本系統設計的智能充電器有過流過壓的自我保護功能,為避免電池燒壞,當電流、電壓過大,超過設定的上限值,電池充電器將會自動報警,保證電池安全,延長電池壽命 。其源程序如下:
if(dat2>230)// 電流大于 3A 報警
SPeaker=0;
if(dat1>230)// 電壓大于 4.5V 報警
SPeaker=0;
(6)蜂鳴器報警程序設計。在主程序中設定報警上限值,超過限值即報警。
(7)充電模式切換程序設計。智能充電器能夠通過采集電池的電壓、電流來判斷電池的充電模式。其源程序如下:
本次系統軟件部分聯機調試均在LY-51S V2.0單片機開發板進行。該實驗主板集成USB轉串口芯片PL2303,只要1根usb線就可以實現供電、下載、通訊一體。能夠實現電壓、電流的實時采集及動態顯示。當改變電源的電壓電流時,數碼管顯示的的數字能夠隨之改變,同時,電池的充電模式也會隨之改。能夠實現時間、電壓、電流、溫度的動態顯示,實現過壓、過流、溫度過高報警。當溫度超過上限值時,系統自動報警,當使用者發現報警,只需通過按下按鍵一就可滅掉報警。過流、過壓的情況與此相同。
[1]余錫存.單片機原理及技術接口技術.西電出版社.2007
[2]王為春.單片機Keil Cx51 應用開發技術.人民郵電出版社 2007
[3]陳家勝.低成本電動自行車智能充電器設計[J]電氣自動化.2007(5)Chen Jiasheng Design of Intelligent Charger for Electric Bicycle of Low Cost[J]Electrical Automation 2007(5)
[4]劉美俊.基于單片機的通用智能充電器設計[J]儀表技術與傳感器 2006LIU Mei-jun.General Intelligent Battery Charger Based on Single-chip Computer[J]Instrument Technique and Sensor.2006
[5]武鋒、陳新建編著.PIC單片機C語言開發入門.北京航空航天大學出版社.2005