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