陳恩達(dá),葛智鋒,程龍易,李嘉午,李翠梅
(江西科技師范大學(xué),江西南昌,330038)
多數(shù)電器長時(shí)間在一起運(yùn)行時(shí),使用劣質(zhì)充電器就會增加電路短路,造成爆炸起火的風(fēng)險(xiǎn)。并且,充電器與手機(jī)長時(shí)間接入電網(wǎng)不僅會造成電力的浪費(fèi),而且會加速手機(jī)電池與充電器電路的老化,造成意外觸電甚至爆炸起火等事故。本研究就是設(shè)計(jì)制作一款充電器,它跟普通的充電器不同,通過單片機(jī)的控制,該充電器能在安全電壓的范圍內(nèi)實(shí)現(xiàn)可控的特性[1]。具體表現(xiàn)為可實(shí)現(xiàn)涓流充電、恒流充電、恒壓充電以及自動跟蹤最大功率等功能,大大提高了充電器的安全性和充電效率。
使用STM32單片機(jī)作為充電器的核心控制器,對快充電路的充電進(jìn)程進(jìn)行監(jiān)控控制,并能夠?qū)?shí)時(shí)的充電電壓數(shù)據(jù)、電流數(shù)據(jù)呈現(xiàn)在顯示屏上,通過可視化的設(shè)計(jì),讓使用者能清晰地看到充電的過程,然后可以通過按鍵對恒流充電、恒壓充電以及自動跟蹤最大功率功能進(jìn)行選擇,能讓充電器始終處于最高效的工作狀態(tài)。當(dāng)充到手機(jī)電池最大承受的電壓時(shí),會自動轉(zhuǎn)為涓流充電,此時(shí),充電器手機(jī)電池電壓不再升高,手機(jī)電池上的功率幾乎為0,從而可以很好地保護(hù)手機(jī)電池,手機(jī)電池不僅不易老化,還能避免發(fā)生手機(jī)電池爆炸等事故,非常節(jié)能安全。
在本系統(tǒng)中,硬件電路的設(shè)計(jì)是以單片機(jī)為核心,由DC-DC電壓變換器部分、電流采集部分、恒流控制器、恒壓控制器四個(gè)部分組成。利用STM32單片機(jī)A/D 轉(zhuǎn)換和D/A 轉(zhuǎn)換功能對充電電壓電流進(jìn)行監(jiān)控調(diào)節(jié),并利用按鍵對充電功能進(jìn)行選擇。
本系統(tǒng)所用的STM32系列單片機(jī)[2],由意法半導(dǎo)體公司專門設(shè)計(jì)的使用ARM Cortex-MX內(nèi)核的32bit系列的單片機(jī)。STM32單片機(jī)具有多個(gè)獨(dú)立ADC,每個(gè)ADC提供最多16個(gè)外部通道,ADC的模式非常多,功能非常強(qiáng)大,能夠精準(zhǔn)監(jiān)控電路情況;STM32單片機(jī)內(nèi)部集成的液晶控制器,以及自帶多種多樣的通信接口,如8080/SPI/I2C等接口,能夠更好地驅(qū)動OLED顯示屏等外設(shè),讓充電器的顯示和控制更加多樣化。在本設(shè)計(jì)中選擇使用STM32系列單片機(jī)中的高性能產(chǎn)品STM32F407VET6作為系統(tǒng)的主控芯片。F4系列的STM32單片機(jī),擁有更高的主頻,更大的閃存容量,更多的定時(shí)器,支持更多的中斷與外設(shè),可以幫助本設(shè)計(jì)實(shí)現(xiàn)更多更復(fù)雜的操作。
在本設(shè)計(jì)中,需要對手機(jī)電池進(jìn)行穩(wěn)定快速安全的充電[3],并實(shí)現(xiàn)超級手機(jī)充電器有特色的最大功率追蹤充電,設(shè)計(jì)了能夠與單片機(jī)有機(jī)結(jié)合起來的硬件電路,主要由充電電路DC-DC電壓變換器部分、電流采集部分、恒流控制器和恒壓控制器四個(gè)部分組成,如圖1所示。
圖1 DC-DC變換電路
圖2 電流采集電路
DC-DC變換器是將輸入電壓轉(zhuǎn)變?yōu)轭~定電壓再輸出的電壓轉(zhuǎn)換器,將家用220V的高壓交流電壓轉(zhuǎn)化成手機(jī)電池可以接受的安全的低壓直流電,DC-DC電源模塊運(yùn)用廣泛,是充電器的重要組成部分。
電流采集電路是以電流采集器INA282為中心進(jìn)行功能設(shè)計(jì)的,通過電流采集電路能準(zhǔn)確地得到當(dāng)前電路的實(shí)時(shí)充電電流。INA282芯片是具有較高精度的輸出電流并連接控制電路,它檢測電流方式是從OUT端流出的電流經(jīng)過電阻會產(chǎn)生一個(gè)差分電壓,INA282會把這個(gè)差分電壓放大50倍輸出,STM32單片機(jī)通過采集這個(gè)電壓可以計(jì)算得到電流的值,也可以通過運(yùn)放控制電流。INA282可以在+2.7V~+18V電壓下運(yùn)行,較低供電電壓便于與STM32單片機(jī)進(jìn)行驅(qū)動和讀取。INA282能在-40℃~+125℃的額定溫度下運(yùn)行并采用小外形尺寸集成電路(SOIC)-8封裝,寬泛地使用環(huán)境和高集成度封裝給電路帶來更多工作穩(wěn)定性和移動便攜性。
恒流控制器、恒壓控制器是實(shí)現(xiàn)恒流充電、恒壓充電,以及自動跟蹤最大功率等功能的重要部件,主要核心是運(yùn)算放大器LMV358。LMV358則是低電壓運(yùn)放,它的最高工作電壓和最低工作電壓都比常見的LM358要低,LMV358適合用于低功耗場合,且具有軌至軌輸出特性,讓充電器更節(jié)能更穩(wěn)定。恒流控制器、恒壓控制器的前級是由運(yùn)算放大器與電阻組成的采集跟隨器,顧名思義就是輸入電壓與輸出電壓相等,特點(diǎn)是輸入阻抗接近無窮大,而輸出阻抗又很小接近為0,在跟隨緩沖器后面接上負(fù)載,可以讓負(fù)載保證獲得較大電壓,且在電路設(shè)計(jì)過程中具有隔離電路的作用,即使得前、后級電路之間互不影響。數(shù)個(gè)LMV358及其附屬電路構(gòu)成的跟隨器能夠?qū)TM32單片機(jī)輸出的DAC信號跟隨之后輸出增強(qiáng)STM32的驅(qū)動能力。為了提高充電的穩(wěn)定性通過電路構(gòu)成一個(gè)PI控制器,用小電容跨接在輸入和輸出,利用密勒效應(yīng)可以用小電容起到大補(bǔ)償,減少環(huán)路的振蕩。恒流控制器,恒壓控制器能夠接受來自STM32的控制信號,從而穩(wěn)定控制充電過程中的電壓和電流,以實(shí)現(xiàn)多種充電功能,恒壓、恒流控制電路如圖3所示。
圖3 恒壓、恒流控制電路
軟件設(shè)計(jì)主要是STM32單片機(jī)的程序設(shè)計(jì),分為兩個(gè)部分:一個(gè)是功能實(shí)現(xiàn)程序,負(fù)責(zé)實(shí)現(xiàn)恒流充電、恒壓充電,以及自動跟蹤最大功率等功能;一個(gè)是驅(qū)動外設(shè)的軟件,它驅(qū)動OLED芯片顯示數(shù)據(jù),還驅(qū)動外部按鍵以實(shí)現(xiàn)對功能的選擇控制。
軟件設(shè)計(jì)環(huán)境是覆蓋了STM32全系列的圖形化配置軟件平臺STM32CubeMX 和完美支持Cortex-MX系列芯片的單片機(jī)開發(fā)工具keil MDK5,使用的程序設(shè)計(jì)語言是C語言。在軟件中通過開啟STM32單片機(jī)自帶的ADC進(jìn)行數(shù)據(jù)的采集,得到實(shí)時(shí)的充電電壓、電流值等信息,并對數(shù)據(jù)進(jìn)行記錄、更新。將不同時(shí)刻的電壓電流信息進(jìn)行對比,就能實(shí)現(xiàn)對充電電壓、電流的控制。
自動跟蹤最大功率功能的設(shè)計(jì)中,依據(jù)源線性電阻單口網(wǎng)絡(luò)向可變電阻負(fù)載傳輸最大功率的條件是:負(fù)載電阻與單口網(wǎng)絡(luò)的輸出電阻相等。通過控制電壓和電流,來控制等效電阻,只要實(shí)現(xiàn)負(fù)載電阻等于電源內(nèi)阻,就能讓負(fù)載電池得到充電的最大輸出功率。要做到跟蹤最大功率,必須跟蹤輸入到DC-DC的電壓和電流,這里要用軟件去控制,實(shí)際上就是尋找Pi這個(gè)導(dǎo)數(shù)為0的凸點(diǎn)??梢杂贸绦蚩刂苾蓚?cè)非最高功率點(diǎn),步進(jìn)向中間最高功率點(diǎn)Pi逼近??梢韵仍陔娐穯拥臅r(shí)候設(shè)置充電輸出電流為0,然后略微擾動提高一點(diǎn)電流值,比如0.1A,那么可以采集到兩組電壓電流,上一時(shí)刻的V(k-1)和這一時(shí)刻的V(k),上一時(shí)刻的I(k-1)和這一時(shí)刻的I(k),進(jìn)而可以計(jì)算出 P(k)和P(k-1),可以通過增大或者減小輸出電壓,進(jìn)而控制充電電流,進(jìn)而控制跟蹤穩(wěn)定到最大功率點(diǎn),最大功率跟蹤控制框圖如圖4所示。
圖4 最大功率跟蹤控制框圖
這里通過三層比較判定程序?qū)崿F(xiàn)最大功率的自動追蹤。
(1)當(dāng)前時(shí)刻采集到的功率值和前一刻采集到的功率值一樣大,則電壓比較值不變;
(2)若功率變化處在上升階段,當(dāng)前時(shí)刻采集到的功率值比前一刻采集到的功率值大,并且當(dāng)前時(shí)刻采集到的電壓值比前一時(shí)刻采集到的電壓值大,則電壓比較值增加,否則電壓比較值減小;
(3)若功率變化處在下降階段,當(dāng)前時(shí)刻采集到的功率值比前一刻采集到的功率值小,并且當(dāng)前時(shí)刻采集到的電壓值比前一時(shí)刻采集到的電壓值小,則電壓比較值增加,否則電壓比較值減小。
自動進(jìn)行反復(fù)判定并由判定的結(jié)果決定輸出步進(jìn)的方向,以期達(dá)到穩(wěn)定的最大功率輸出。
恒流充電、恒壓充電功能的設(shè)計(jì)主要依賴控制電路實(shí)現(xiàn),程序負(fù)責(zé)監(jiān)控實(shí)時(shí)電壓電流,并將可由按鍵設(shè)定的恒定電壓值、恒定電流值輸入到恒流控制器、恒壓控制器進(jìn)行跟隨控制,將PI控制器比例積分值設(shè)定在合理范圍,才能使得充電器穩(wěn)定輸出。
涓流充電是由程序控制的一種充電特性,程序一直在監(jiān)控當(dāng)前時(shí)刻的電池充電電壓,當(dāng)充電器充到手機(jī)電池最大承受的電壓時(shí)程序會進(jìn)入選擇判定,充電模式自動轉(zhuǎn)為涓流充電,充電電流無限趨近于0,此時(shí),手機(jī)電池電壓不再升高,手機(jī)電池上的功率幾乎為0,從而可以很好地保護(hù)手機(jī)電池,手機(jī)電池不僅不易老化,還能避免發(fā)生手機(jī)電池爆炸等事故,很好地兼顧了節(jié)能需求與安全需求。
軟件設(shè)計(jì)環(huán)境是覆蓋了STM32全系列的圖形化配置軟件平臺STM32CubeMX 和完美支持Cortex-MX系列芯片的單片機(jī)開發(fā)工具keil MDK5,使用的程序設(shè)計(jì)語言是C。在本設(shè)計(jì)中,充分利用了STM32系列單片機(jī)的高性能特性,從使用的直觀性、實(shí)用性出發(fā),添加了OLED屏幕顯示,并且可以通過按鍵在屏幕上進(jìn)行可視化操作。并且STM32的高拓展性還為本設(shè)計(jì)的未來增加了許多可能,目前設(shè)計(jì)中的外設(shè)主要有OLED屏幕和外置按鍵采用STM32單片機(jī)的I2C接口驅(qū)動外置OLED顯示芯片,將來在外設(shè)方面還有很大拓展空間,
外部按鍵對程序的控制主要體現(xiàn)在通過開關(guān)切換各種充電模式,程序還預(yù)設(shè)了選擇光標(biāo),以幫助使用者在顯示屏上調(diào)整設(shè)定想要的恒定充電電壓、電流,按鍵可對預(yù)設(shè)值進(jìn)行加操作和減操作。當(dāng)不處于恒壓、恒流設(shè)定模式或無操作時(shí),加減按鍵可休眠,不影響其他操作。整個(gè)按鍵操作邏輯構(gòu)建符合一般人的直覺性,屏幕顯示操作具有直觀性,使用體驗(yàn)極易上手,充電過程清晰明了。
硬件制作完成后,將軟件燒入單片機(jī)中,經(jīng)過調(diào)試,功率P(2W)顯示在OLED屏幕最上端,中間顯示預(yù)設(shè)的恒定充電電壓SV(4.2V)、充電電流SI(0.1I),在下方顯示實(shí)時(shí)的充電電壓V(3.7V)、充電電流I(0.07I),測試數(shù)據(jù)達(dá)到了預(yù)定要求,如圖5所示。
圖5 OLED屏幕顯示
為解決傳統(tǒng)手機(jī)充電器痛點(diǎn)問題,本文提出了一種手機(jī)充電器設(shè)計(jì)方法,它可以不受多種家電設(shè)備的束縛(多種家電一起充電),進(jìn)行自動跟蹤最大功率充電,相較于普通充電器擁有更高效率;充滿電自動切換為涓流充電,兼顧了節(jié)能需求與安全需求;并滿足使用者多種場景使用的需要,具有可調(diào)節(jié)的恒壓充電模式和可調(diào)節(jié)的恒流充電模式,能更多地滿足各類人群的需求。單片機(jī)控制下的數(shù)據(jù)可視化,通過設(shè)計(jì),讓使用者能清晰地看到充電的過程??煽乜梢暤陌存I調(diào)節(jié)設(shè)計(jì)優(yōu)化了用戶使用體驗(yàn),體現(xiàn)了讓科技創(chuàng)新更加人性化的設(shè)計(jì)理念。