89C51單片機為控制核心的開關(guān)電源優(yōu)化設(shè)計
引言
開關(guān)電源是利用現(xiàn)代電力電子技術(shù)控制功率開關(guān)管(MOSFET,IGBT)開通和關(guān)斷的時間比率來穩(wěn)定輸出電壓的一種新型穩(wěn)壓電源。從上世紀90年代以來開關(guān)電源相繼進入各種電子、電器設(shè)備領(lǐng)域,計算機、程控交換機、通訊、電子檢測設(shè)備電源、控制設(shè)備電源等都已廣泛地使用了開關(guān)電源。利用單片機控制的開關(guān)電源,可使開關(guān)電源具備更加完善的功能,智能化進一步提高,便于實時監(jiān)控。其功能主要包括對運行中的開關(guān)電源進行檢測、自動顯示電源狀態(tài);可以通過按鍵進行編程控制;可以進行故障自診斷,對電源功率部分實現(xiàn)自動監(jiān)測;可以對電源進行過壓、過流保護;可以對電池充放電進行實時控制。
開關(guān)電源的系統(tǒng)結(jié)構(gòu)
通信用-48V開關(guān)電源結(jié)構(gòu)圖如圖1所示:
圖1開關(guān)電源結(jié)構(gòu)圖
市電經(jīng)整流濾波和功率因數(shù)校正后得到高壓直流電,然后通過DC/DC變換電路得到所需要的直流電壓??刂苹芈窂妮敵龆巳硬⑴c設(shè)定基準(zhǔn)進行比較,然后去控制逆變器,改變功率開關(guān)管的導(dǎo)通頻率或?qū)?截止時間進行輸出穩(wěn)定;另一方面,根據(jù)檢測電路提供的數(shù)據(jù),經(jīng)保護電路鑒別,利用控制電路對整機進行各種保護和蓄電池的充放電控制??刂齐娐肥钦麄€開關(guān)電源的核心部分,一般開關(guān)電源的控制電路主要有檢測比較放大電路、電壓—脈沖寬度轉(zhuǎn)換電路(或電壓—頻率轉(zhuǎn)化電路)、時鐘振蕩器(或恒脈寬發(fā)生器)、基極驅(qū)動電路、過壓過流保護電路以及輔助電源等電路組成。存在著電路復(fù)雜,功耗大,靈敏度差,不能實現(xiàn)很好的控制等缺點。
采用單片機89C51模塊組成的控制電路,它具有可編程、功能強、控制簡單、集成度高等諸多優(yōu)點,并對原來的電路存在的不足進行改進,其原理方框圖如圖2所示 。
圖2單片機控制電源結(jié)構(gòu)圖
本智能開關(guān)電源利用通信用開關(guān)電源的基礎(chǔ)電路,以高性能單片機89C51為控制核心,組成數(shù)據(jù)處理電路,在檢測與控制軟件支持下,通過對開關(guān)電源輸出電流、電壓進行數(shù)據(jù)采樣與給定數(shù)據(jù)比較,從而調(diào)整和控制開關(guān)功率管的工作狀態(tài),同時監(jiān)測輸出電流大小,進行電流控制。其電路的工作原理為:市電經(jīng)整流濾波、功率校正電路PFC(Power Factor Correct)變成直流電送入功率變換電路(DC/DC),功率變換電路在脈沖寬度調(diào)制電路(PWM)和單片機的控制下輸出穩(wěn)定的直流電壓。用戶可根據(jù)需要通過鍵盤設(shè)定開關(guān)電源輸出的電壓值及最大輸出電流值,單片機系統(tǒng)自動對電源輸出電壓和電流進行數(shù)據(jù)采樣,并與用戶給定數(shù)據(jù)進行比較,然后根據(jù)設(shè)置的調(diào)整算法控制開關(guān)調(diào)整電路,使電源輸出電壓符合給定值。單片機在調(diào)整電源輸出電壓的同時還要檢測電路的輸出電流,當(dāng)輸出電流超過給定值時,就啟動保護電路,實現(xiàn)保護功能。為了使智能開關(guān)電源能可靠、安全地工作,本系統(tǒng)設(shè)置了多重監(jiān)測和保護系統(tǒng),主要包括過流保護和短路保護。單片機系統(tǒng)通過電流傳感器檢測開關(guān)功率管的輸出電流,當(dāng)電流超過給定值,單片機系統(tǒng)切斷開關(guān)激勵信號并發(fā)出聲光報警,并對電池工作狀況實施檢測。
控制電路
控制電路采用ATMEL公司的89C51單片機,擴展了A/D、D/A、鍵盤顯示、RS232通訊口電路。原理結(jié)構(gòu)如圖3所示。
{{分頁}}
圖3控制電路原理結(jié)構(gòu)圖
控制系統(tǒng)通過I/O輸入端口經(jīng)D/A轉(zhuǎn)換控制功率轉(zhuǎn)換的開關(guān)的導(dǎo)通與關(guān)斷時間,完成對輸出電壓的穩(wěn)定,通過A/D轉(zhuǎn)換完成對開關(guān)電源輸出電壓和電流的采樣,通過系統(tǒng)軟件實現(xiàn)了過壓、過流保護及限流功能。同時采用雙閉環(huán)控制系統(tǒng),開關(guān)電源工作時,采用電壓反饋由PWM控制實現(xiàn)對輸出電壓的穩(wěn)壓功能,控制閉環(huán)為電壓環(huán)或電流環(huán);在電池充電或過載時采用電流信號作為反饋,控制電池的充放電電流并實現(xiàn)過載保護的功能。為了精確控制開關(guān)電路的電壓輸出,把單片機的高頻脈沖信號分頻后變成適宜的開關(guān)脈沖信號,作為89C51的計數(shù)脈沖和門控信號。單片機把給定值與傳感器采集的信號進行比較,產(chǎn)生誤差信號。根據(jù)電壓控制算法設(shè)置89C51產(chǎn)生不同占空比(0~90%)的方波信號,經(jīng)過光電耦合器控制開關(guān)調(diào)整電路電壓輸出。輸出端與開關(guān)電路進行光電隔離,從而避免了來自開關(guān)電源電路的騷擾信號對單片機系統(tǒng)正常工作的影響。
鑒于受控的開關(guān)電路輸出電壓的高精度和快速調(diào)整特性,可采用改進的 PID控制算法,該算法具有電壓調(diào)整快、超調(diào)量小、性能穩(wěn)定等優(yōu)點。鍵盤與顯示部分裝在儀器操作面板上,由8位LED數(shù)碼管,3個LED指示燈以及16個鍵構(gòu)成,其中4位數(shù)碼管顯示電源電壓,4位數(shù)碼管顯示電流,3個LED指示燈作為報警顯示。
系統(tǒng)軟件設(shè)計
本軟件主要完成對信號采樣,各種數(shù)據(jù)處理、以及對功率轉(zhuǎn)換部分的控制等。本系統(tǒng)軟件主要包括鍵開關(guān)掃描程序、故障判別子程序、均充及浮充子程序、中斷檢測子程序和通信子程序等。主程序流程圖如圖4所示。
圖4 主程序流程圖
{{分頁}}
在初始化過程中,先是將89C51各個輸入端口復(fù)位,然后從EEROM中讀出上次關(guān)機前存入的數(shù)據(jù),控制開關(guān)電路,并進行顯示。初始化完成后,開中斷程序。若有中斷請求則響應(yīng),否則進行數(shù)據(jù)采樣并讀取給定值,然后進行數(shù)據(jù)處理;若有短路或過流情況發(fā)生,則調(diào)用報警保護子程序;若要對電池浮一定的動態(tài)性,能在一定程度上反映出電池內(nèi)部的變化及SoC的大小,但該方法在推導(dǎo)過程中是假設(shè)電流是時變的,若電池在一個較長時間段內(nèi)恒流放電,則會大大降低SoC預(yù)測的準(zhǔn)確性?;跔顟B(tài)空間的動態(tài)模型以反應(yīng)物的動態(tài)變化建立模型,以測量的電流和電壓作為輸入量計算SoC,同時考慮了活性物質(zhì)的擴散現(xiàn)象,以此提高SoC的精度,是一種較好的方法;但由于電池模型階數(shù)較高,計算比較困難,模型的建立需要確定相當(dāng)多的經(jīng)驗參數(shù),給應(yīng)用帶來較大麻煩。
基于能量模型的SoC定義修正了原來 SoC模型的不足,考慮到電池的可恢復(fù)性,綜合了電流、電壓、電阻判斷,在一定程度上提高了SoC的判斷精度,但它沒考慮溫度的影響,需要大量試驗數(shù)據(jù)。由于電池是密封的,所以外部可測參數(shù)只有電流和電壓,采用Randels Ershler電池模型對電池建模,并通過精確的安時積分估算SoC,同時進行容量老化補償、溫度補償、自放電補償及放電率補償,也不失為一種可行的方法。
上述方法能夠在一定程度上反映剩余電量的多少,適用于電動車用電池SoC的預(yù)測,但是這些模型參數(shù)確定需要許多反復(fù)的迭代步驟,并且重要的是,這些算法必須知道電池的SoC初值。因為要實時計算顯示SoC的值,這是需要時間的。模型越復(fù)雜,計算SoC所需時間也越多。 SoC的預(yù)測方法很多,但要達到較高的精度,在電池建模及SoC預(yù)測方法方面還有大量的工作可做。
評論