基于C8051F040的程控電源的設(shè)計
1 引言
在各種電子電路實驗中,穩(wěn)壓電源是一種必不可少的儀器,目前實驗所用的電源大多是只有固定電壓輸出(例如常用的有:±5V、±12V或±15V),其缺點是輸出電壓不可人為的改變,輸出精度和穩(wěn)定性都不高。
隨著科學(xué)技術(shù)飛速發(fā)展,對電源可靠性、輸出精度和穩(wěn)定性要求越來越高,利用D/A轉(zhuǎn)換器的高分辨率和單片機自動檢測技術(shù)設(shè)計的程控電源就顯示出其優(yōu)越性。程控電源既能方便輸入和選擇預(yù)設(shè)電壓值又具有較高精度和穩(wěn)定性,而且能實現(xiàn)對電源的可編程監(jiān)控,給電路實驗帶來極大的方便,提高了工作效率。
2 C8051F040單片機
隨著微電子技術(shù)的飛速發(fā)展,CPU已經(jīng)變成低成本器件。在可能的情況下,各種機電設(shè)備已經(jīng)或者正在嵌入CPU構(gòu)成的嵌入式系統(tǒng)。美國的Silabs公司推出的C8051F系列單片機把80C51系列單片機從微控制器(MCU)時代推向片上系統(tǒng)(SOC)時代,使得以8051為內(nèi)核的單片機上了一個新的臺階。SOC即system on chip的縮寫,意思是把計算機常用的一些數(shù)字核模擬外設(shè)等全部做在一塊芯片上,使它成為一個完整的模擬數(shù)據(jù)采集與控制系統(tǒng)。
本設(shè)計使用C8051F040作為主控芯片。C8051F040是一款功能強大的單片機,是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的微控制器內(nèi)核,與MCS-51指令集完全兼容。除了具有標準8051的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。外設(shè)或功能部件包括ADC、DAC、電壓基準、可編程計數(shù)器陣列等。它有優(yōu)于51系列單片機的性能,而且成本也不高,C8051F040單片機是真正能獨立工作的片上系統(tǒng)(SOC)。
3 工作原理
交流電220V經(jīng)變壓、整流、濾波后得到高壓直流電100V,然后通過DC-DC變換電路將高壓直流電變?yōu)樗枰闹绷麟妷?2V,12V除了給恒壓控制回路和限流控制回路供電外,還經(jīng)過DC-DC變換器(LM2596S)得到5V直流電,5V直流電給單片機模塊供電。
控制電路是整個程控電源的核心部分,用戶可根據(jù)需要,通過鍵盤設(shè)定開關(guān)電源輸出的電壓值及最大輸出電流值,單片機系統(tǒng)對電源輸出電壓和電流進行數(shù)據(jù)采樣,并與用戶給定數(shù)據(jù)進行比較,然后根據(jù)設(shè)置的調(diào)整算法控制開關(guān)調(diào)整電路,使電源輸出電壓符合給定值,開關(guān)控制電路在調(diào)整電源輸出電壓的同時還要檢測電路的輸出電流,當輸出電流超過給定值時,就限制電流值,使其不超過最初設(shè)定的最大電流值,實現(xiàn)保護功能。實時的電壓值和電流值通過液晶LCD顯示。
C8051F040內(nèi)部集成有可編程計數(shù)器陣列PCA,PCA產(chǎn)生PWM,基于單片機的PWM(脈寬調(diào)制)控制,通過一個I/O引腳輸出PWM脈沖,直接驅(qū)動外接的調(diào)節(jié)管,改變功率開關(guān)管的導(dǎo)通/截止時間進行輸出穩(wěn)定,從而達到穩(wěn)定輸出電壓的目的。
限流控制回路從輸出端取樣并與設(shè)定的上限電流值進行比較,若負載上的電流高于設(shè)定電流值,就限流保護,使輸出電流值保持在上限值,電壓值隨之降到對應(yīng)值。
4 硬件電路設(shè)計
4.1 輔助電源電路
本次設(shè)計的電源系統(tǒng)最終要求實時輸出我們想要的電壓,故我們需要電壓穩(wěn)定的直流供電系統(tǒng)。本系統(tǒng)是將220V的交流電分別變?yōu)?5V(單片機最小系統(tǒng))和+12V(穩(wěn)壓、限流控制模塊)的直流電壓。
如圖1所示,220V交流電通過電源變壓器,變?yōu)?00V交流電。整流電路的任務(wù)是將交流電變換成直流電,這里采用的是橋式整流電路。濾波電路用于濾去整流輸出電壓中的紋波,在此選用的是由電容、電感組合而成的復(fù)式濾波電路。由于電抗元件在電路中有儲能作用,故電容、電感具有平波作用。其后加上兩個電阻(R1,R2)一個穩(wěn)壓管(W1),將電壓大致穩(wěn)在直流12V。
圖1 整流、濾波、穩(wěn)壓原理圖
圖2是DC-DC變換器(LM2596S)以及外圍電路,以12V作為輸入電壓,經(jīng)過轉(zhuǎn)化輸出穩(wěn)定的5V直流電壓。LM2596S由比較器,基準電壓源,振蕩器,驅(qū)動器等構(gòu)成。C16是輸入濾波電容,F(xiàn)S1起保護電路的作用,L4,D15,C17是儲能部分。
圖2 DC-DC變換器
4.2 控制電路[!--empirenews.page--]
本模塊利用開關(guān)式穩(wěn)壓電源的基礎(chǔ)電路,以高性能單片機C8051F040為主控元件,組成數(shù)據(jù)處理電路,在檢測與控制軟件支持下,采用雙閉環(huán)控制系統(tǒng),控制閉環(huán)為電壓環(huán)或電流環(huán),控制回路從輸出端對輸出電流、電壓進行數(shù)據(jù)采樣,并與設(shè)定基準進行比較,從而調(diào)整和控制開關(guān)功率管的工作狀態(tài),改變功率開關(guān)管的導(dǎo)通/截止時間進行輸出穩(wěn)定。同時監(jiān)測輸出電流大小,通過系統(tǒng)軟件實現(xiàn)限流功能。圖3表示恒壓控制模塊的原理圖和限流控制模塊的原理圖。
4.2.1 恒壓控制電路
為達到穩(wěn)定輸出電壓的目的,不斷檢測系統(tǒng)的輸出電壓,根據(jù)電源輸出電壓與設(shè)定值之差,輸出PWM波,直接控制調(diào)節(jié)管M2的占空比,使輸出電壓穩(wěn)定。C8051F040內(nèi)部集成有可編程計數(shù)器陣列PCA,基于單片機的PWM(脈寬調(diào)制)控制,通過P0.0(通過數(shù)字交叉開關(guān)設(shè)置)輸出PWM脈沖,直接驅(qū)動外接的晶體管Q4、Q3,從而改變功率開關(guān)管M2的導(dǎo)通頻率或?qū)?截止時間進行輸出穩(wěn)定,達到穩(wěn)壓狀態(tài),穩(wěn)壓回路工作,DS1亮,呈現(xiàn)紅色。
4.2.2 限流控制電路
限流控制回路從輸出端取樣并與設(shè)定的上限電流值進行比較,若負載上的電流高于設(shè)定電流值,就限流保護,使輸出電流值保持在上限值,電壓值隨之降到對應(yīng)值。限流狀態(tài)時,DS2亮,呈現(xiàn)綠色。
圖3控制電路原理圖
5 算法介紹
主程序中主要包括對定時器中斷返回的鍵值的處理,對采樣回的電壓、電流值的處理以及調(diào)節(jié)等部分。
電壓采樣部分利用了C8051F040的模數(shù)轉(zhuǎn)換(A/D)功能。采用了12位的ADC,通過設(shè)置相關(guān)的寄存器使其工作在單端方式下,電壓基準取自VREF0 引腳,增益為1。該設(shè)計的電壓基準為2.44v,有公式:
轉(zhuǎn)換碼 =
其中:單端方式n = 12;差分方式n = 11。
采樣電壓值Vd為:Vd=轉(zhuǎn)換碼×2.44/4096;
分析電路可知實時電流Io與采樣回的電壓Vdi的關(guān)系是:Io=Vdi/11/1.1;由R20和R19的分壓關(guān)系可知輸出電壓Vo與采樣電壓Vdv的關(guān)系是:Vo=Vdv×101。
由以上三式便可根據(jù)ADC0相關(guān)的寄存器ADC0H、ADC0L中的轉(zhuǎn)換碼得到實時的電壓電流值。
電流的控制部分利用了C8051F040的數(shù)模轉(zhuǎn)換(D/A)功能。C8051F040內(nèi)有兩個片內(nèi)12 位電壓方式數(shù)/模轉(zhuǎn)換器(DAC),每個DAC 的輸出擺幅均為0V 到VREF,對應(yīng)的輸入碼范圍是0x000 到0xFFF,由于輸出擺幅和輸入碼是線性的對應(yīng)關(guān)系,所以可得到輸出電壓CCadj與輸入碼Mda的關(guān)系是:Mda=CCadj/2.45×4096
又由電路圖可知限定電流Imax與輸出電壓Vda的關(guān)系是:CCadj=Imax×1.1×11;由以上兩式可得到限流值與輸入碼的關(guān)系為Mda=Imax×1.1×11×4096 /2.45
則可通過該式給輸出限定電流值,通過限定值和實際電路的電流值進行比較實現(xiàn)對電路的電流的限制,從而保護了程控電源。完成程控電源限流的功能。
由于該設(shè)計是開關(guān)電源,所以電壓的控制部分利用了C8051F040的脈寬調(diào)制功能(PWM),C8051F040內(nèi)部集成有可編程計數(shù)器陣列PCA,可編程計數(shù)器陣列PCA可工作在脈寬調(diào)制(PWM)方式下,基于PWM功能,C8051F040可輸出控制信號來控制開關(guān)穩(wěn)壓電源功率開關(guān)管(MOSFET ,IGBT)開通和關(guān)斷的時間比率,從而使開關(guān)穩(wěn)壓電源輸出設(shè)定的電壓值。當電源所帶的負載有所變化而導(dǎo)致輸出電壓有所變化時再根據(jù)對輸出的電壓的采樣反饋通過調(diào)節(jié)輸出信號的占空比可來穩(wěn)定輸出電壓。
本設(shè)計中C8051F040工作在16位脈寬調(diào)制器方式下。在該方式下,16位捕捉/比較模塊定義PWM信號低電平時間的PCA0時鐘數(shù)。當PCA0計數(shù)器與模塊的值匹配時,CEXn的輸出被置為高電平;當計數(shù)器溢出時,CEXn輸出被置為低電平。為了輸出一個占空比可變的波形,新值的寫入應(yīng)與PCA0 CCFn匹配中斷同步。置‘1’ PCA0CPMn寄存器中的ECOMn、PWMn和PWM16n位將使能16位脈沖寬度調(diào)制器方式。為了輸出一個占空比可變的波形,應(yīng)將CCFn設(shè)置為邏輯‘1’以允許匹配中斷。16位PWM的占空比的計算公式為:占空比=(65536 − PCA0CPn)/65536
又根據(jù)電路中開關(guān)電源部分的原理,可以得到一個調(diào)節(jié)函數(shù):占空比=f(∆E),其中∆E為設(shè)定電壓值與采樣回的輸出電壓值之差。從而便可通過不斷調(diào)節(jié)占空比來減小∆E使輸出電壓達到設(shè)定值并且穩(wěn)定在設(shè)定值,來完成恒壓的功能。
6 結(jié)論
程控電源的設(shè)計采用C8051F040單片機作為控制核心。在PC的IDE開發(fā)環(huán)境中用C語言進行編程,通過開發(fā)板將程序下載到單片機中,進行聯(lián)調(diào)。聯(lián)調(diào)結(jié)果基本符合輸出電壓、電流值(0~100V,0~1A),由于所選器件精度問題,還存在一定誤差。選取參數(shù)高的具有相同功能的器件,可以使輸出電壓、電流的范圍變大。