基于單片機(jī)控制的智能充電器的設(shè)計(jì)與實(shí)現(xiàn)
表1 PWM頻率與分辨率的關(guān)系(fclk=40MHz)
為了保證足夠高的分辨率,保證輸出電壓紋波受PWM分辨率的影響小于輸出濾波電容的影響,本設(shè)計(jì)選用10位PWM。
同時(shí),考慮到其它需求,本系統(tǒng)對(duì)數(shù)字控制器的具體要求主要包括:(1)內(nèi)置ADC模塊,至少2個(gè)ADC信道,精度在10位以上;(2)至少內(nèi)置1個(gè)PWM單元,PWM精度在10位以上;(3)至少兩個(gè)定時(shí)器;(4)有中斷優(yōu)先級(jí)設(shè)置;(5)至少5個(gè)I/O口;(6)價(jià)格低于50元人民幣。
綜合考慮以上因素,選擇microchip公司的PIC18F2620作為數(shù)字控制芯片。PIC18F2620的主要性能有:10個(gè)10位的ADC信道;最高外接時(shí)鐘頻率可達(dá)到40M:1024字節(jié)的數(shù)據(jù)EEPROM,用于儲(chǔ)存可變數(shù)據(jù);可延長(zhǎng)電池壽命的低功耗強(qiáng)化設(shè)計(jì),睡眠模式下耗電僅為100nA等等,其性能滿足系統(tǒng)需要。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 主程序設(shè)計(jì)
三階段充電,開始時(shí)采用恒流充電,中間為恒壓充電,最后采用浮充充電。該充電法減少了充電出氣量,充電比較徹底,延長(zhǎng)了蓄電池使用壽命。三階段充電法充電電流和充電電壓變化曲線如圖2所示。
圖2 三階段充電特性圖
根據(jù)三階段充電的原理,畫出系統(tǒng)的主程序流程圖,如圖3所示。(其中Um為蓄電池的最大電壓上限,Ubat為恒壓充電門限,Ibat為恒流充電門限,其值一般取蓄電池容量的1/10。)
單片機(jī)系統(tǒng)的主程序,主要用于A/D采樣初始化、PWM初始化、定時(shí)和中斷系統(tǒng)、定時(shí)器的初值設(shè)定,然后一直檢測(cè)充電器的電壓與電流,進(jìn)行三階段的自適應(yīng)充電。
程序中需要注意一下問題。
(1)因?yàn)樾枰瑫r(shí)采樣電壓和電流2個(gè)變量,此時(shí)可根據(jù)PIC18F2620的采樣單元特點(diǎn),可通過直接改變A/D控制寄存器ADCON0.2~3位進(jìn)行更換通道,其速度快、花費(fèi)時(shí)間少。
(2)中斷系統(tǒng)是程序的重點(diǎn)部分。由于采樣單元不可能一直工作,這樣既浪費(fèi)單片機(jī)的運(yùn)算能力又影響其它部分的工作,使系統(tǒng)的工作效率低下。為了使單片機(jī)更有效率的工作,系統(tǒng)采用定時(shí)中斷的工作方式:利用TMR0定時(shí)器進(jìn)行定時(shí),固定一定的時(shí)間后進(jìn)入中斷。目前,市面上的單片機(jī)一般都存在中斷優(yōu)先級(jí),比如系統(tǒng)采用的PIC18F2620有2個(gè)優(yōu)先級(jí),可以通過設(shè)置不同的中斷向量進(jìn)行不同優(yōu)先級(jí)的操作。對(duì)應(yīng)的高優(yōu)先級(jí)中斷服務(wù)子程序,使TMR0復(fù)位,并載入相應(yīng)的初值,進(jìn)入下一次的定時(shí)狀態(tài)。低優(yōu)先級(jí)中斷服務(wù)子程序,則是復(fù)位A/D模塊使能位,讀取并存儲(chǔ)A/D轉(zhuǎn)換結(jié)果,然后判別相應(yīng)的電壓、電流采樣值所處的階段,最后經(jīng)過各個(gè)階段對(duì)應(yīng)的PI調(diào)節(jié)修改占空比。
圖3 主程序流程圖
4.2 采樣子程序
采樣處理后的電壓、電流信號(hào),不可避免的存在系統(tǒng)所帶來的噪聲和干擾,為了準(zhǔn)確的測(cè)量和控制,必須濾除這些噪聲和干擾。除了在硬件電路上進(jìn)行濾波,還可采用軟件濾波或稱為數(shù)字濾波。常用的數(shù)字濾波方法有很多,本系統(tǒng)采用了平均值法:多次采樣后排序,再去掉最大和最小值之后求平均值的方法,提高了采樣精度。
4.3 PI子程序
為了消除積分飽和的影響,本系統(tǒng)采用增量式PI控制算法,并利用遇限削弱的方法。
遇限削弱積分PI算法,實(shí)際上是一旦控制量進(jìn)入飽和區(qū)范圍,則停止增大積分項(xiàng)的運(yùn)算而只執(zhí)行削弱積分項(xiàng)的運(yùn)算[5]。PI程序流程圖如圖4所示。
評(píng)論