一款基于ATmega128的智能充電方案
摘要:為了提高現(xiàn)在電池用用的壽命,本設(shè)計(jì)采用以ATmega128為控制核心,輔以其他電路單元,設(shè)計(jì)了一種智能充電系統(tǒng)。該系統(tǒng)對(duì)實(shí)驗(yàn)用12 V/12ah鉛酸蓄電池進(jìn)行智能充電,并與普通充電方式進(jìn)行對(duì)比,具有提高充電效率從而延長(zhǎng)電池使用壽命的特點(diǎn)。
本文引用地址:http://2s4d.com/article/235598.htm關(guān)鍵詞:ATmega128;蓄電池;智能充電;PWM
隨著經(jīng)濟(jì)和科技的發(fā)展,越來越多的便攜小型化家用電器被我們用于日常生活中,伴隨這些電器到來的電池也被越來越廣泛的應(yīng)用。目前,使用較多的電池種類有鉛酸、鋰離子、鎳鎘蓄電池,它們的容量以及電壓等級(jí)不盡相同,因而,如何延長(zhǎng)蓄電池的壽命成為現(xiàn)在電池科技領(lǐng)域的焦點(diǎn)。
鉛酸蓄電池作為一種可靠的后備式電源,其應(yīng)用價(jià)值與日俱增,人們對(duì)它的維護(hù)工作也越來越受重視。據(jù)資料分析,充電和放電是電池維護(hù)、保養(yǎng)中的主要工作。影響鉛酸電池的壽命的因素很多,最主要的就是充電方法不當(dāng),充電技術(shù)不能適應(yīng)鉛蓄電池的特殊需求,造成電池很難達(dá)到規(guī)定的循環(huán)壽命。針對(duì)這種情況,設(shè)計(jì)了一種采用AVR單片機(jī)為控制核心的智能充電系統(tǒng),它不僅能夠根據(jù)數(shù)據(jù)采集信息選擇合
適的充電方式,而且能夠?qū)崿F(xiàn)整個(gè)充電過程的自動(dòng)精確控制和故障診斷,延長(zhǎng)電池的使用壽命。
1 智能充電系統(tǒng)整體設(shè)計(jì)
智能充電系統(tǒng)CPU選用ATMEL的ATmega128,它是一款基于AVR內(nèi)核,采用RISC結(jié)構(gòu),低功耗COMS的8位單片機(jī)。主要具有以下特點(diǎn):128 kB的可在系統(tǒng)編程/應(yīng)用編程,F(xiàn)lash程序存儲(chǔ)器,4 kB EEPROM,4 kB SRAM;32個(gè)通用工作寄存器,53個(gè)通用I/O口;實(shí)時(shí)時(shí)鐘計(jì)數(shù)器,4個(gè)具有比較模式靈活的定時(shí)器/計(jì)數(shù)器;2個(gè)可編程串行USART接口,8通道10位A/D轉(zhuǎn)換;可編程帶內(nèi)部振蕩器的看門狗定時(shí)器,一個(gè)SPI接口,一個(gè)兼容IEEE 1149.1標(biāo)準(zhǔn)的JTAG接口,6種可通過軟件選擇的節(jié)電模式。
智能充電系統(tǒng)的總框圖如圖1所示,它包括以下幾個(gè)模塊:充電電路單元,控制單元,電量參數(shù)采集單元和人機(jī)交互單元。
1.1 充電電路單元設(shè)計(jì)
開關(guān)電源是充電電路中的重要組成部分,主要用于對(duì)各個(gè)模塊部分供電和對(duì)鉛酸電池提供充電電壓和充電電流,通過PWM方式進(jìn)行精確調(diào)壓控制。經(jīng)過濾波后的市電作為開關(guān)電源的輸入,單片機(jī)根據(jù)數(shù)據(jù)采集模塊檢測(cè)到的電池電壓、電流和溫度參數(shù),通過ATmega128的16位定時(shí)器/計(jì)數(shù)器在PWM模式下產(chǎn)生PWM控制信號(hào),從而對(duì)開關(guān)電源實(shí)現(xiàn)了精確的充電功率控制。
為了提高充電速度和效率又不影響蓄電池的壽命,必須使充電電流接近蓄電池可接受的電流。蓄電池可接受的充電電流可用指數(shù)函數(shù)表示為:
I=I0e-α (1)
式中:I0表示充電初始電流;α表示充電接受比,它決定了充電過程中蓄電池可接受電流衰減的速度,值越大,表明蓄電池可接受得電流下降得就越快。
整個(gè)充電過程按照充電曲線劃分的4個(gè)階段進(jìn)行,對(duì)于這4個(gè)階段,A、B、C 3個(gè)階段做到恒流控制,D階段做到恒壓控制。恒壓和恒流控制都是通過PWM脈寬調(diào)制方式來實(shí)現(xiàn)。
1.2 電量參數(shù)采集單元
系統(tǒng)的電量參數(shù)采集單元主要有電壓、電流和電池溫度檢測(cè)電路組成,采樣反饋的數(shù)據(jù)經(jīng)過單片機(jī)處理,若超出最大閥值,由單片機(jī)發(fā)出指令調(diào)整下一階段充電電流或者結(jié)束當(dāng)前充電過程。
電壓采樣電路設(shè)計(jì)如圖2所示,C端接鉛酸蓄電池正極,U1、U2、U3分別表示采樣的電壓值,由于鉛酸蓄電池的端電壓較高,因此采用了分壓電路對(duì)電池端電壓分壓。該電路采用了3個(gè)相同的分壓電路并聯(lián)的形式,目的是減小單個(gè)電路由電阻值差異或變化引起的采樣誤差,最后將3個(gè)單獨(dú)的分壓電路所采樣的電壓值送入單片機(jī)并取平均值后在與設(shè)置的電壓值進(jìn)行比較,該方法減小了電壓采樣過程因采樣電阻所帶來的誤差,因而提高了電壓采集精度。
電流檢測(cè)同樣采用在充電回路中串聯(lián)采樣電阻的方法。系統(tǒng)用0.5 Ω/5 W的取樣電阻通過運(yùn)算放大器,再將放大后的信號(hào)送到單片機(jī)的A/D通道進(jìn)行模數(shù)轉(zhuǎn)換,從而完成對(duì)充放電電流檢測(cè)。
溫度檢測(cè)是通過熱敏電阻實(shí)現(xiàn)的,熱敏電阻的端電壓信號(hào)通過單片機(jī)的A/D通道,將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)交給單片機(jī)處理,根據(jù)熱敏電阻電壓與溫度關(guān)系曲線,得到電池的溫度參數(shù)。
1.3 人機(jī)交互接口單元
在監(jiān)控系統(tǒng)中,為方查詢已經(jīng)采集到的數(shù)據(jù)以及檢查電池充電的狀態(tài),可通過鍵盤對(duì)終端設(shè)備內(nèi)部的參數(shù)、功能等進(jìn)行設(shè)置,配合LCD顯示,體現(xiàn)了人機(jī)交互的友好性。
1.3.1 LCD顯示及報(bào)警單元
在充電電路設(shè)計(jì)中,電池的充電狀態(tài)以及充電曲線的顯示非常重要。因此,本系統(tǒng)采用ST7920的LCD12864型號(hào),它與ATmega128的接口電路如圖3所示。該設(shè)計(jì)采用串口方式連接,ST7920的RS、R/W和E分別與ATmega128的PB0、PB3和PB1連接,單片機(jī)對(duì)顯示屏進(jìn)行初始化、設(shè)置和顯示燈操作。
報(bào)警裝置由一個(gè)三級(jí)管放大電路和蜂鳴器組成。當(dāng)有故障或需要報(bào)警時(shí),單片機(jī)的I/O口直接控制三級(jí)管導(dǎo)通工作,驅(qū)動(dòng)蜂鳴器鳴叫,同時(shí)與單片機(jī)I/O口經(jīng)分壓電阻相接的LED發(fā)光,實(shí)現(xiàn)聲光報(bào)警功能。同時(shí)這些信息將通過RS232串口傳到上位機(jī)上進(jìn)行保存顯示。
1.3.2 鍵盤
系統(tǒng)采用5鍵式操作鍵盤,分別對(duì)應(yīng)的按鍵為:OK、MENU、UP、DOWN和ESC。采用5個(gè)I/O口對(duì)應(yīng)著5個(gè)按鍵,單片機(jī)只要直接檢測(cè)5個(gè)I/O口的變化,即可完成對(duì)時(shí)、最大閥值設(shè)定、信息查詢和復(fù)位等功能。
2 軟件設(shè)計(jì)
本實(shí)驗(yàn)采用12 V/12 ah的鉛酸電池,系統(tǒng)軟件主流程如圖4,包括初始化函數(shù)、電池檢測(cè)函數(shù)、預(yù)充電子程序、脈沖充電子程序和浮充充電子程序。各函數(shù)的調(diào)用機(jī)制為:1)單片機(jī)上電后,初始化寄存器;2)函數(shù)調(diào)用檢測(cè)電池子程序,3次結(jié)果比較無誤,完成檢測(cè);3)根據(jù)電池電壓、溫度條件,決定采用預(yù)充電還是脈沖充電;4)最后進(jìn)入浮充充電階段,直至電池充滿,退出程序。
評(píng)論