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