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

1-1系統(tǒng)總體結(jié)構(gòu)圖Fig.1-1 Structure diagram of the power control unit test system
在充電器的充電過(guò)程中,采集參數(shù),進(jìn)行電壓、電流、溫度的實(shí)時(shí)顯示。其軟件設(shè)計(jì)流程如下圖1-2所示:

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