圖2-1 BUCK電路拓?fù)?/div>
2.2 Buck工作原理當(dāng)Mos管或者三級(jí)管導(dǎo)通很長(zhǎng)很長(zhǎng)時(shí)間后,所有的元器件均處在一種理想狀態(tài)的情況下,此時(shí)電容的電壓會(huì)等于輸入的電壓。在這樣的條件下,我們使用BUCK變換器的充電和放電這兩個(gè)階段來(lái)對(duì)這個(gè)電路進(jìn)行說(shuō)明:
2.2.1在電感充電的情況下當(dāng)BUCK變壓器處于充電的過(guò)程時(shí),將開關(guān)閉合,此時(shí)三級(jí)管處于導(dǎo)通的狀態(tài),可以用一條導(dǎo)線來(lái)替代,替代后的等效圖如下。當(dāng)輸入的電壓經(jīng)過(guò)電感這時(shí)刻,二級(jí)管因?yàn)榉唇樱詻](méi)起到作用,這里刪去。再加上輸入的是直流,因此電感發(fā)生的電感電流是成比率上升的,具體上升多少與電感的大小有關(guān)系,電感相當(dāng)于一個(gè)恒定電流源,起傳遞能量作用,電容等于恒定電壓源,在電路里起到濾波的作用。BUCK變換器充電階段等效圖如圖2-2所示。
1.002.jpg (4.83 KB, 下載次數(shù): 447)
下載附件
2017-7-9 04:27 上傳
圖2-2 BUCK變換器充電階段等效圖
2.2.2在電感放電的情況下當(dāng)BUCK變壓器處于放電的過(guò)程中,開關(guān)管子已經(jīng)斷開,此時(shí)的三級(jí)管處于截止?fàn)顟B(tài),這里把它拿掉,等效電路圖如下。在開關(guān)斷開的時(shí)間里,因?yàn)殡姼械谋3蛛娏鞑蛔兲卣鳎姼猩系碾姼须娏鞑粫?huì)一下子下降到零,而是把充電完成后所累積的電流值慢慢下降到0。在這個(gè)過(guò)程中,因?yàn)樵瓉?lái)的電路已經(jīng)斷開了,因此電感沿著之前的方向,經(jīng)過(guò)二極管D形成一個(gè)新的回路的,即流過(guò)電容對(duì)電容進(jìn)行充電,從而保證了負(fù)載端獲得連續(xù)的不間斷的電流。BUCK變換器放電階段等效圖如圖2-3所示。
1.003.jpg (2.93 KB, 下載次數(shù): 465)
下載附件
2017-7-9 04:27 上傳
圖2-3 BUCK變換器放電階段等效圖
綜上所述,BUCK變換器的升壓過(guò)程便是電感能量?jī)?chǔ)存和釋放的過(guò)程。在充電的過(guò)程時(shí)。電感通過(guò)流過(guò)它自身的電流不斷儲(chǔ)存能量,在放電的過(guò)程時(shí),假如電容容量足夠大,那電容的兩端就可以在放電的過(guò)程中保持一個(gè)持續(xù)不間斷的電流放電,假如這個(gè)通斷的過(guò)程不斷的被重復(fù),那么就可以夠讓電容兩端的電壓低輸出的電壓,從而完成降壓的目的。
2.3 Buck波形分析波形如下所示。
1.004.jpg (17.39 KB, 下載次數(shù): 433)
下載附件
2017-7-9 04:27 上傳
1.005.jpg (2.89 KB, 下載次數(shù): 462)
下載附件
2017-7-9 04:27 上傳
1.006.jpg (652 Bytes, 下載次數(shù): 439)
下載附件
2017-7-9 04:27 上傳
導(dǎo)通時(shí)Q電流
1.007.jpg (2.94 KB, 下載次數(shù): 498)
下載附件
2017-7-9 04:27 上傳
閉合時(shí)C電流
L的電流和輸出電流的關(guān)系:
1.008.jpg (2.44 KB, 下載次數(shù): 456)
下載附件
2017-7-9 04:27 上傳
1.009.jpg (1.17 KB, 下載次數(shù): 460)
下載附件
2017-7-9 04:27 上傳
輸出電壓與輸入電壓的關(guān)系
1.010.jpg (652 Bytes, 下載次數(shù): 479)
下載附件
2017-7-9 04:27 上傳
:
1.011.jpg (3 KB, 下載次數(shù): 448)
下載附件
2017-7-9 04:27 上傳
2.4 Buck穩(wěn)壓分析本設(shè)計(jì)采用串連型開關(guān)電源,其穩(wěn)壓原理框圖如圖2-4所示。在MOS管導(dǎo)通的時(shí)刻,電感L將流過(guò)的電流轉(zhuǎn)換成磁能進(jìn)行能量?jī)?chǔ)存,電容C將流過(guò)電感L的部分電流轉(zhuǎn)換成電荷儲(chǔ)存。在MOS管關(guān)斷的時(shí)刻,電感L發(fā)生反向電動(dòng)勢(shì),輸送給負(fù)載R并與續(xù)流二極管D組成回路,同時(shí)電容C將電荷轉(zhuǎn)換成電流向負(fù)載供電。
經(jīng)過(guò)不斷導(dǎo)通與關(guān)斷MOS管,使uo發(fā)生脈動(dòng)電壓,經(jīng)過(guò)LC濾波電路使脈動(dòng)電壓轉(zhuǎn)變成較穩(wěn)定的直流電壓Uo輸送給負(fù)載,輸出電壓Uo的電壓值與MOS管在一個(gè)周期內(nèi)導(dǎo)通的時(shí)間成正比。當(dāng)外部因素使輸出電壓或電流發(fā)生變化時(shí),經(jīng)過(guò)單片機(jī)自帶的10位ADC實(shí)時(shí)采集輸出的電壓和電流,實(shí)時(shí)調(diào)整開關(guān)K導(dǎo)通的占空比,從而組成閉環(huán)電壓控制電路,使輸出電壓能達(dá)到穩(wěn)定。
1.012.jpg (7.08 KB, 下載次數(shù): 432)
下載附件
2017-7-9 04:27 上傳
圖2-4開關(guān)電源模塊穩(wěn)壓原理
2.4.1 LC濾波電路參數(shù)推導(dǎo)采用輸入電壓25V,輸出電壓最大為10V,根據(jù)推導(dǎo)公式如式(2-1)所示:此中Ton為PWM一個(gè)周期內(nèi)導(dǎo)通時(shí)間、Ui為輸入電壓、Uo為輸出電壓、Ud為肖特基二極管的電壓降(約等于0.6V)、Io為一個(gè)直流/直流模塊的輸出電流。
1.013.jpg (3.07 KB, 下載次數(shù): 454)
下載附件
2017-7-9 04:27 上傳
(2-1)
PWM的占空比為D:
1.014.jpg (1.96 KB, 下載次數(shù): 450)
下載附件
2017-7-9 04:27 上傳
(2-2)
代入數(shù)據(jù)后得到
1.015.jpg (1.22 KB, 下載次數(shù): 463)
下載附件
2017-7-9 04:27 上傳
(2-3)
一般而言,開關(guān)電源的頻率越高,電感的感量可以越小,效率也可以越高。此單片機(jī)能輸出的PWM最高頻率為47KHZ,所以本設(shè)計(jì)選擇讓單片機(jī)輸出47KHZ的PWM。那么f=47Khz導(dǎo)通時(shí)間Ton為
1.016.jpg (4.15 KB, 下載次數(shù): 468)
下載附件
2017-7-9 04:27 上傳
(2-4)
電感量L為:
1.017.jpg (2.27 KB, 下載次數(shù): 414)
下載附件
2017-7-9 04:27 上傳
(2-5)
因此將各參數(shù)代入式(2-5)得式(2-6):
1.018.jpg (4.34 KB, 下載次數(shù): 485)
下載附件
2017-7-9 04:27 上傳
(2-6)
計(jì)算得到32uH電感,這里采用5倍以上余量,采用150uH的電感,可降低電感溫度。另外本設(shè)計(jì)采用銅線和磁芯做成的電感以增大電感的儲(chǔ)能能量提升供電的效率。
按照串連型開關(guān)電源的電容推導(dǎo)公式如式(2-7)所示,此中C為電容容量、Io為一個(gè)模塊個(gè)輸出電壓、△Up-p為輸出紋波電壓,T為PWM一個(gè)周期的時(shí)間。
1.019.jpg (1.92 KB, 下載次數(shù): 459)
下載附件
2017-7-9 04:27 上傳
(2-7)
輸出電壓最大為10V,我們?cè)O(shè)定紋波電壓為0.1V,將各參數(shù)代入式(2-7)得式(2-8)結(jié)果:
1.020.jpg (3.35 KB, 下載次數(shù): 415)
下載附件
2017-7-9 04:27 上傳
(2-8)
本設(shè)計(jì)采用2個(gè)1000
1.021.jpg (848 Bytes, 下載次數(shù): 449)
下載附件
2017-7-9 04:27 上傳
的電容,達(dá)到降低紋波電壓的目的。
2.5小結(jié)綜合以上的分析論證,本單片機(jī)的開關(guān)電源設(shè)計(jì)采用BCUK拓?fù)洌?jīng)過(guò)原理分析和認(rèn)證,最終推導(dǎo)選擇了合適的電容和電感。
3硬件設(shè)計(jì)3.1總統(tǒng)框架基于單片機(jī)的開關(guān)電源設(shè)計(jì),由STC單片機(jī)、變壓器,整流濾波電路,BUCK主回路、降壓穩(wěn)壓電路、按鍵電路、液晶電路、電壓檢測(cè)電路、電流檢測(cè)電路等組成。總體設(shè)計(jì)框圖如3-1圖所示。下面分別論證這些方面的詳細(xì)方案選擇。
1.022.jpg (29.33 KB, 下載次數(shù): 469)
下載附件
2017-7-9 04:27 上傳
圖3-1總體設(shè)計(jì)構(gòu)架圖
3.2各部分電路的選擇3.2.1 單片機(jī)STC12C5A60S2單片機(jī),在指令代碼的方面可以完全兼容傳統(tǒng)8051,同時(shí)它的速度比傳統(tǒng)的8051單片機(jī)要快8-12倍,體現(xiàn)了其高速度的一面。這系列單片機(jī)其里面有專用的集成復(fù)位電路,另有8路高速的10位ADC轉(zhuǎn)換,同時(shí)還兼有2路的PWM等,它的功能之強(qiáng)大遠(yuǎn)超傳統(tǒng)的8051系列。
1.023.jpg (5.88 KB, 下載次數(shù): 487)
下載附件
2017-7-9 04:27 上傳
圖3-2 STC12C5A60S2單片機(jī)實(shí)物圖
3.2.2 IR2104半橋驅(qū)動(dòng)電路
1.024.jpg (10.38 KB, 下載次數(shù): 483)
下載附件
2017-7-9 04:27 上傳
IR2104是一種高性能的半橋驅(qū)動(dòng)芯片,該芯片內(nèi)部是采用被動(dòng)式泵荷升壓原理。上電時(shí),電源流過(guò)快恢復(fù)二極管D向電容C充電,C上的端電壓很快升至接近Vcc,這時(shí)假如下管導(dǎo)通,C負(fù)級(jí)被拉低,形成充電回路,會(huì)很快充電至接近Vcc,當(dāng)PWM波形翻轉(zhuǎn)時(shí),芯片輸出反向電平,下管截止,上管導(dǎo)通,C負(fù)極電位被抬高到接近電源電壓,水漲船高,C正極電位這時(shí)已超過(guò)Vcc電源電壓。因有D的存在,該電壓不會(huì)向電源倒流,C此時(shí)開始向芯片里面的高壓側(cè)懸浮驅(qū)動(dòng)電路供電,C上的端電壓被充至高于電源高壓的Vcc,只要上下管一直輪流導(dǎo)通和截止,C就會(huì)不斷向高壓側(cè)懸浮驅(qū)動(dòng)電路供電,使上管打開的時(shí)刻,高壓側(cè)懸浮驅(qū)動(dòng)電路電壓一直大于上管的S極。采用該芯片降低了整體電路的設(shè)計(jì)難道,只要電容C選擇恰當(dāng),該電路運(yùn)行穩(wěn)定。IR2104應(yīng)用電路圖如3-3所示。
圖3-3 IR2104應(yīng)用電路圖
3.2.3 電路供電電源的選擇線性降壓芯片7805。這個(gè)穩(wěn)壓IC需要的外圍元件很少,IC內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管的保護(hù)措施,不但價(jià)廉且輸出電壓很穩(wěn)定。78系列的穩(wěn)壓集成塊要考慮輸出與輸入壓差帶來(lái)的功率損耗,所以一般輸入輸出之間壓差要大于2V。其應(yīng)用電路圖如圖3-4所示。
1.025.jpg (4.24 KB, 下載次數(shù): 479)
下載附件
2017-7-9 04:27 上傳
圖3-4 7805應(yīng)用電路
3.2.4 電流檢測(cè)電路方案一:霍爾電流傳感器。電流流過(guò)霍爾傳感器的線圈發(fā)生磁場(chǎng),磁場(chǎng)隨電流的大小變化而變化,磁場(chǎng)匯集在磁環(huán)內(nèi),霍爾元件輸出跟著磁場(chǎng)變化的電壓信號(hào)。經(jīng)過(guò)檢測(cè)電壓值,能得到電流的大小。
方案二:電阻分壓檢測(cè)電路。經(jīng)過(guò)在輸出回路中串連采樣電阻,將經(jīng)過(guò)電阻的電流轉(zhuǎn)換成兩端的電壓,經(jīng)過(guò)檢測(cè)電壓值從而獲得電流值。該檢測(cè)方式電路和程序控制都比較簡(jiǎn)潔。
要完成對(duì)輸出電壓和電流的閉環(huán)控制,務(wù)必對(duì)輸出電流和電壓進(jìn)行采樣反饋。本設(shè)計(jì)采用如下圖所示的電流電壓檢測(cè)電路。為了便于MCU采集,分壓電阻發(fā)生的電壓經(jīng)過(guò)由LM358組成的同相比例放大器放大后,輸入到MCU的ADC端口。
LM358內(nèi)部集成的是雙運(yùn)放,單電源和雙電源都能使其工作。
1.026.jpg (5.51 KB, 下載次數(shù): 419)
下載附件
2017-7-9 04:27 上傳
圖3-5 Lm358引腳圖及引腳功能
要完成對(duì)輸出電壓和電流的閉環(huán)控制,務(wù)必對(duì)輸出電流經(jīng)過(guò)運(yùn)放放大后進(jìn)行采樣反饋。本設(shè)計(jì)采用如圖3-6所示的電流檢測(cè)電路。
1.027.jpg (13.7 KB, 下載次數(shù): 433)
下載附件
2017-7-9 04:27 上傳
圖3-6 電流檢測(cè)電路
輸出最大電流為2A。本設(shè)計(jì)采用電阻分壓的式樣對(duì)輸出的電壓進(jìn)行實(shí)時(shí)檢測(cè),因?yàn)椴蓸与妷褐苯虞斔徒o單片機(jī)10位ADC進(jìn)行檢測(cè),單片機(jī)供電電源為5V,所以其內(nèi)部自帶的檢測(cè)的最高電壓也為5V, 這個(gè)電路中,LM358由5V電壓供電,最大輸出電壓和供電電源電壓之前有1.2V壓差,所以能輸出最大電壓為:
1.028.jpg (2.6 KB, 下載次數(shù): 447)
下載附件
2017-7-9 04:27 上傳
(3-1)
2A電流經(jīng)過(guò)0.02Ω電阻得到的電壓為
1.029.jpg (2.57 KB, 下載次數(shù): 480)
下載附件
2017-7-9 04:27 上傳
(3-2)
該電壓要經(jīng)過(guò)放大后才能更容易被單片機(jī)檢測(cè)到,在這個(gè)應(yīng)用中運(yùn)放的放大倍數(shù)應(yīng)該小于
1.030.jpg (2.69 KB, 下載次數(shù): 454)
下載附件
2017-7-9 04:27 上傳
(3-3)
這里選擇R12和R10為33K和1K,放大倍數(shù)為
1.031.jpg (4.96 KB, 下載次數(shù): 459)
下載附件
2017-7-9 04:27 上傳
(3-4)
因?yàn)?
1.032.jpg (850 Bytes, 下載次數(shù): 458)
下載附件
2017-7-9 04:27 上傳
>
1.033.jpg (914 Bytes, 下載次數(shù): 459)
下載附件
2017-7-9 04:27 上傳
, 符合設(shè)計(jì)要求。
即當(dāng)電流為2A時(shí),運(yùn)放輸出電壓為:
1.034.jpg (2.33 KB, 下載次數(shù): 425)
下載附件
2017-7-9 04:27 上傳
(3-5)
3.2.5 電壓檢測(cè)電路輸入電壓最大為10V,而單片機(jī)的采樣電壓最高位5V,故電壓采樣電阻比例應(yīng)該小于
1.035.jpg (2.3 KB, 下載次數(shù): 481)
下載附件
2017-7-9 04:27 上傳
(3-6)
這里取R1和R5是47K 和10K,
1.036.jpg (3.25 KB, 下載次數(shù): 439)
下載附件
2017-7-9 04:27 上傳
(3-7)
因?yàn)?
1.037.jpg (824 Bytes, 下載次數(shù): 473)
下載附件
2017-7-9 04:27 上傳
1<
1.038.jpg (824 Bytes, 下載次數(shù): 432)
下載附件
2017-7-9 04:27 上傳
2,所以滿足條件。
當(dāng)10V輸出時(shí),單片機(jī)檢測(cè)到的電壓是,
1.039.jpg (4.3 KB, 下載次數(shù): 442)
下載附件
2017-7-9 04:27 上傳
(3-8)
電壓分壓檢測(cè)電路如圖3-7所示。
1.040.jpg (4.92 KB, 下載次數(shù): 437)
下載附件
2017-7-9 04:27 上傳
圖3-7 電壓檢測(cè)電路
3.2.6 按鍵電路目前單按鍵這種模式的鍵盤使用方便,響應(yīng)的快并且接口還簡(jiǎn)潔。綜合以上本系統(tǒng)采用的是非編碼式鍵盤。本系統(tǒng)設(shè)計(jì)應(yīng)用了3 個(gè)按鍵,按照軟件來(lái)定義它的功能,鍵盤與單片機(jī)的P2.3、P2.2、P2.1鍵盤是若干按鍵的集合,是向系統(tǒng)提供操作人員干預(yù)命令的接口設(shè)備。
S1為開關(guān)按鍵,按一下即有輸出,按第二下即輸出停止,如此循環(huán)
S2為輸出電流增加。
S3為輸出電壓減少。
如圖3-8所示
1.041.jpg (5.11 KB, 下載次數(shù): 469)
下載附件
2017-7-9 04:27 上傳
圖3-8 按鍵電路
3.2.7 液晶顯示模塊系統(tǒng)采樣1602液晶顯示。液晶驅(qū)動(dòng)電流較小,能顯示較大信息量,無(wú)需增外設(shè)電路。
能顯示多行數(shù)據(jù),方便用戶進(jìn)行更多的操作。
能顯示輸入輸出的實(shí)時(shí)電壓,輸出的實(shí)時(shí)電流,預(yù)設(shè)的輸出電壓。如圖3-9所示
1.042.jpg (20.38 KB, 下載次數(shù): 463)
下載附件
2017-7-9 04:27 上傳
圖3-9 1602液晶顯示
3.3小結(jié)綜上所述,本開關(guān)電源設(shè)計(jì)采用STC12C5A60S2單片機(jī)發(fā)生47KHZ的PWM脈沖信號(hào),經(jīng)過(guò)IR2104控制MOS,從而控制整個(gè)BUCK(降壓式變換)電路。單片機(jī)內(nèi)部自帶的10位ADC能通過(guò)電壓電流檢測(cè)電流實(shí)時(shí)反饋電流和電壓數(shù)值,并由此調(diào)整輸出的PWM的占空比,形成電流電壓閉環(huán)控制系統(tǒng)。按鍵能設(shè)置輸出電流從0.2A到2A,以0.01A遞增,輸出最大10V,液晶能顯示實(shí)時(shí)輸出電流與電壓。總體電路圖如3-10所示。
1.043.jpg (45.31 KB, 下載次數(shù): 514)
下載附件
2017-7-9 04:27 上傳
圖3-10 總體電路圖
4軟件設(shè)計(jì)51的語(yǔ)言主要有匯編和C兩種。匯編雖然運(yùn)行快,但是編程繁瑣,移植性差;C具備良好的可讀性和移植性。本系統(tǒng)采用C語(yǔ)言編寫程序,Keil C51作為集成開發(fā)環(huán)境。
4.1電壓電流雙閉環(huán)控制算法設(shè)計(jì) 由于題目要求輸出電壓在10V以內(nèi),輸出電流應(yīng)該在0.2~2A以內(nèi),所以應(yīng)該具有如下C-V曲線特性,在電流和電壓的雙閉環(huán)控制中。
1.044.jpg (9.98 KB, 下載次數(shù): 452)
下載附件
2017-7-9 04:27 上傳
使得輸出電流在2A范圍內(nèi),電壓在10V范圍內(nèi);
控制模式如下:
軟件設(shè)計(jì)包括:主程序設(shè)計(jì),按鍵子程序設(shè)計(jì),ADC中斷程序設(shè)計(jì)
4.2主程序程序設(shè)計(jì)主程序主要處理對(duì)時(shí)間要求不敏感的數(shù)據(jù),例如按鍵檢測(cè),和顯示電壓電流狀況,
此中顯示這些數(shù)據(jù)時(shí)刻采用數(shù)字平均濾波算法,采集50個(gè)數(shù)據(jù),繼而取平均值,使得到的數(shù)據(jù)更加接近真實(shí)狀況,使得顯示出來(lái)的電壓和電流不會(huì)亂跳,抗干擾能量得很大的提升。
1.045.jpg (20.49 KB, 下載次數(shù): 422)
下載附件
2017-7-9 04:27 上傳
4.3按鍵子程序設(shè)計(jì)按鍵子程序中,按加鍵的話,增加輸出電壓預(yù)設(shè);按減鍵的話,降低輸出電壓預(yù)設(shè);按開關(guān)鍵的話,能控制IR2104的工作與否,從而控制整個(gè)BUCK的工作與否。
1.046.jpg (43.7 KB, 下載次數(shù): 432)
下載附件
2017-7-9 04:27 上傳
4.4 ADC中斷程序ADC中斷程序中,因?yàn)橛休斎腚妷海敵鲭妷海敵鲭娏鬟@3個(gè)數(shù)據(jù)要監(jiān)測(cè),所以采用通道輪流詢問(wèn)的辦法完成。
于此同時(shí),要完成電流電壓檢測(cè)的雙閉環(huán)的話,要在ADC程序中加入PWM處理程序,使得當(dāng)輸出負(fù)載變動(dòng),引起檢測(cè)到的輸出電壓ADC值變動(dòng),PWM需要實(shí)時(shí)響應(yīng)這個(gè)變化,所以在ADC程序中,要加入PWM的重裝數(shù)據(jù)的語(yǔ)句。
1.047.jpg (57.64 KB, 下載次數(shù): 454)
下載附件
2017-7-9 04:27 上傳
4.5 關(guān)鍵程序void ADC_interrupt()interrupt 5 //ADC轉(zhuǎn)換完后ADC_FLAG由硬件自動(dòng)置位,
{
uint ADC_value; //ADC轉(zhuǎn)換結(jié)果 10位
ADC_CONTR&=!ADC_FLAG; //clear ADCflag
ADC_value=(ADC_RES<<2)+ADC_RESL; // ADC_value=(ADC_RES<<2)+ADC_RESL;
switch(channel)
{
case 0: Battery_voltage=ADC_value;
channel=1;
break;
case 1: Boost_Buck_current=ADC_value;
if(!lock)
{
if((Boost_voltage<370)&&(Boost_Buck_current<(OUT_Current<<1))) //((Boost_voltage<boost_temp)&&[ size][="" p][p="20," null,="" left][size="12pt]" {[="" pwm_temp--;[="" if(pwm_temp250) PWM_temp=250;
}
CCAP1H = CCAP1L =PWM_temp;
}
channel=2;
break;
case 2:Boost_voltage=ADC_value;
channel=0;
break;
default:break;
}
ADC_CONTR=0xE8|channel;
ADC_ready=1;
}
STC12C5A60S2單片機(jī)內(nèi)部自帶的10位ADC能通過(guò)電壓電流檢測(cè)電流實(shí)時(shí)反饋電流和電壓數(shù)值,并由此調(diào)整輸出的PWM的占空比,形成電流電壓雙閉環(huán)控制系統(tǒng)。按鍵能設(shè)置輸出電流從0.2A到2A,以0.01A遞增,輸出最大10V,液晶能顯示實(shí)時(shí)輸出電流與電壓。
5系統(tǒng)測(cè)試5.1實(shí)物圖片實(shí)物由萬(wàn)用板手工焊接,板子的正面(a)和背面(b)如圖5-1所示。
1.048.jpg (17.45 KB, 下載次數(shù): 448)
下載附件
2017-7-9 04:27 上傳
1.049.jpg (14.68 KB, 下載次數(shù): 427)
下載附件
2017-7-9 04:27 上傳
1.050.jpg (23.94 KB, 下載次數(shù): 427)
下載附件
2017-7-9 04:27 上傳
(a)板子正面 (b)板子背面
圖5-1 總體電路圖
1.051.jpg (7.56 KB, 下載次數(shù): 430)
下載附件
2017-7-9 04:27 上傳
5.2電壓調(diào)整率測(cè)試電壓調(diào)整率,來(lái)源于電源在滿載時(shí),其輸出電壓因該電源的供電電壓波動(dòng)引起的變化,是穩(wěn)壓性能優(yōu)劣的重要指標(biāo)。
5.2.1 測(cè)試儀器需要測(cè)試電源的電壓調(diào)整率,需要直流可調(diào)壓供電電源,要萬(wàn)用表和負(fù)載。
可調(diào)壓電源:本實(shí)驗(yàn)采用兆信30/5A數(shù)顯線性電源。如圖5-1所示。
萬(wàn)用表:深圳勝利VC980+數(shù)字萬(wàn)用表,數(shù)量為4個(gè)。
負(fù)載:負(fù)載為100W 50Ω的環(huán)形滑動(dòng)變阻器。
圖5-2 可調(diào)壓電源
5.2.2 測(cè)試方式測(cè)試示意圖:
測(cè)量電路點(diǎn)如圖5-3所示(3、4、5、6、7為測(cè)量點(diǎn)):
1.052.jpg (14 KB, 下載次數(shù): 469)
下載附件
2017-7-9 04:27 上傳
圖5-3測(cè)量電路
測(cè)試步驟:
第一步:在3、4點(diǎn)間用電壓表測(cè)輸出電壓,在3、4點(diǎn)串入電流表在5、6點(diǎn)間用電壓表測(cè)輸出電壓,在5、7點(diǎn)串入電流表;
第二步:在1、2點(diǎn)源接入市電;
第三步:調(diào)整可調(diào)變壓器電阻,使電源滿載輸出;
第四步:調(diào)整穩(wěn)壓電源電壓,使電壓為12V,記錄輸入與輸出電壓;
第五步:逐步增大電源電壓,每隔一段做一次的記錄,直到輸出電壓的上限19V。
5.2.3 測(cè)試結(jié)果輸出輸入電壓測(cè)試結(jié)果如下表所示:
表5-1 輸出輸入電壓記錄表
(測(cè)試條件為輸出電壓10V,輸出電流為1.00A)
電壓調(diào)整率推導(dǎo):
1.053.jpg (6.11 KB, 下載次數(shù): 443)
下載附件
2017-7-9 04:27 上傳
(5-1)
5.3 負(fù)載調(diào)整率測(cè)試負(fù)載調(diào)整率:電源負(fù)載的變化會(huì)引起電源輸出的變化,負(fù)載增加,輸出降低,相反負(fù)載減少,輸出升高。好的電源負(fù)載變化引起的輸出變化較小,通常指標(biāo)為3%--5%。
負(fù)載調(diào)整率是衡量電源好壞的指標(biāo)。好的電源輸出接負(fù)載時(shí)電壓降較小。
5.3.1 測(cè)試儀器需要測(cè)試電源的負(fù)載調(diào)整率,需要帶隔離低壓電源、
1.054.jpg (7.43 KB, 下載次數(shù): 495)
下載附件
2017-7-9 04:27 上傳
萬(wàn)用表、負(fù)載和示波器。
可調(diào)壓電源:本實(shí)驗(yàn)采用兆信30/5A數(shù)顯線性電源。
萬(wàn)用表:深圳勝利VC980+數(shù)字萬(wàn)用表,數(shù)量為4個(gè)。
負(fù)載:負(fù)載為100W 50Ω的環(huán)形滑動(dòng)變阻器。
示波器:?jiǎn)纹瑱C(jī)輸出的載波頻率為40KHZ,實(shí)
驗(yàn)采用Siglent雙通道200M示波器,如圖5-4所示。 圖5-4 Siglent雙通示波器
5.3.2 測(cè)試方式測(cè)試示意圖:
測(cè)量電路如圖5-3所示。
測(cè)試步驟:
第一步:在3、4點(diǎn)間用電壓表測(cè)輸出電壓,在3、4點(diǎn)串入電流表在5、6點(diǎn)間用電壓表測(cè)輸出電壓,在5、7點(diǎn)串入電流表;
第二步:在1、2點(diǎn)間接上市電;
第三步:測(cè)試單片機(jī)輸出的PWM波形、mos管腳的驅(qū)動(dòng)波形。
第四步:輸入電壓為額定值10V,輸出電流取最小值,記錄最小負(fù)載量的輸出電壓;
第五步:調(diào)整負(fù)載為50%滿載,記錄對(duì)應(yīng)的輸出電壓;
第六步:調(diào)整負(fù)載為滿載,記錄對(duì)應(yīng)的輸出電壓;
測(cè)試數(shù)據(jù)記錄如表5-2。
表5-2 不同負(fù)載下輸出電壓記錄表
負(fù)載調(diào)整率推導(dǎo):
1.055.jpg (6.59 KB, 下載次數(shù): 441)
下載附件
2017-7-9 04:27 上傳
5.3.3 測(cè)試結(jié)果把示波器的其中一個(gè)探針接到單片機(jī)的PWM輸出口,地接到另外一個(gè)端口,得到的測(cè)試波形如5-5、 把探針?lè)旁谏舷耺os管腳G極的驅(qū)動(dòng)波形波形如圖5-6所示。
1.056.jpg (13.5 KB, 下載次數(shù): 462)
下載附件
2017-7-9 04:27 上傳
1.057.jpg (14 KB, 下載次數(shù): 454)
下載附件
2017-7-9 04:27 上傳
圖5-5 單片機(jī)輸出的PWM波形 圖5-6 上下mos管腳G極的驅(qū)動(dòng)波形
5.4 電路效率測(cè)試5.4.1 測(cè)試儀器需要測(cè)試電源的帶載性能及效率,需要萬(wàn)用表和負(fù)載。
可調(diào)壓電源:本實(shí)驗(yàn)采用兆信30/5A數(shù)顯線性電源。
萬(wàn)用表:數(shù)字萬(wàn)用表。
負(fù)載:負(fù)載為30W 50Ω的環(huán)形滑動(dòng)變阻器。
示波器:?jiǎn)纹瑱C(jī)輸出的載波頻率為47KHZ。
5.4.2 測(cè)試方式:測(cè)試示意圖:
測(cè)量電路如圖5-3所示。
測(cè)試步驟:
第一步:在3、4點(diǎn)間用電壓表測(cè)輸出電壓,在3、4點(diǎn)串入電流表在5、6點(diǎn)間用電壓表測(cè)輸出電壓,在5、7點(diǎn)串入電流表;
第二步:在1、2點(diǎn)間接入市電;
第三步:輸入電壓為額定值18V,
第四步:調(diào)整負(fù)載由大至小記錄對(duì)應(yīng)的輸出電壓、輸入電流、輸出電壓、輸出電流;
第五步:返回第四步,直到輸出電流達(dá)到自保護(hù)的狀態(tài)。
5.4.3 測(cè)試結(jié)果測(cè)試額定功率下的供電效率,測(cè)試結(jié)果如表3所示。
表5-3供電效率測(cè)試數(shù)據(jù) |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
由以上數(shù)據(jù)得到:滿載輸出情況下,供電效率為81%。
輸出噪聲紋波電壓峰-峰值的測(cè)試,把示波器的測(cè)試輸出電壓波形如圖5-6所示。
1.058.jpg (21.23 KB, 下載次數(shù): 435)
下載附件
2017-7-9 04:27 上傳
圖5-6 輸出電壓波形
由以上數(shù)據(jù)得到:該電源的電壓調(diào)整率為0.069%,負(fù)載調(diào)整率為3.164%,滿載輸出情況下,供電效率為81%,當(dāng)輸出電流大于2A時(shí),保護(hù)電路啟動(dòng)。輸出電壓為0。輸出紋波峰峰值為290Mv。實(shí)際電路的調(diào)試圖如圖5-7所示。
1.059.jpg (44.94 KB, 下載次數(shù): 455)
下載附件
2017-7-9 04:27 上傳
圖5-7實(shí)際電路的調(diào)試圖
6 總結(jié)6.1結(jié)論經(jīng)過(guò)研究國(guó)內(nèi)外關(guān)于開關(guān)電源的方式,本開關(guān)電源設(shè)計(jì)采用STC12C5A60S2單片機(jī)發(fā)生47KHZ的PWM脈沖信號(hào),經(jīng)過(guò)IR2104控制MOS,從而控制整個(gè)BUCK(降壓式變換)電路。單片機(jī)內(nèi)部自帶的10位ADC能通過(guò)電壓電流檢測(cè)電流實(shí)時(shí)反饋電流和電壓數(shù)值,并由此調(diào)整輸出的PWM的占空比,形成電流電壓閉環(huán)控制系統(tǒng)。按鍵能設(shè)置輸出電流從0.2A到2A,以0.01A遞增,輸出最大10V,液晶能顯示實(shí)時(shí)輸出電流與電壓。根據(jù)測(cè)試,滿載的供電效率為88%。按鍵設(shè)置的輸出電流的誤差小于0.01A。
因此,本文所研究的基于單片機(jī)的開關(guān)電源設(shè)計(jì)滿足了當(dāng)初的設(shè)計(jì)預(yù)想,達(dá)到了較好的效果。
6.2創(chuàng)新點(diǎn)論文主要的創(chuàng)新點(diǎn)有以下三點(diǎn):
1)使得開關(guān)電源硬件更加智能化,直接用單片機(jī)控制;
2)能顯示輸入和輸出的電流電壓狀況,實(shí)時(shí)監(jiān)測(cè)電源的運(yùn)作;
3)能經(jīng)過(guò)按鍵數(shù)字化地設(shè)置預(yù)設(shè)輸出電壓,能得到精確的設(shè)定電壓。
6.3存在問(wèn)題因?yàn)闀r(shí)間與能量有限,本文所設(shè)計(jì)的控制系統(tǒng)另有待于進(jìn)一步的改進(jìn):
比如,
- 比如可以加大電感L,使得輸出紋波進(jìn)一步降低;
- 采用PCB板制作實(shí)物,使得其穩(wěn)定性進(jìn)一步提升,等等
致謝本論文的全部工作得到了指導(dǎo)老師的悉心指導(dǎo)和親切關(guān)懷,同時(shí)也衷心感謝學(xué)校的所有老師在這四年來(lái)對(duì)我的學(xué)習(xí)、工作、生活上給予的無(wú)私幫助和無(wú)微不至的關(guān)懷。我的論文選題和論文寫作都是在導(dǎo)師的指導(dǎo)下完成的,他崇高的師德和高深的學(xué)術(shù)造詣給我在我身上留下了深深的烙印,對(duì)我的學(xué)術(shù)訓(xùn)練和研究能量的培養(yǎng)會(huì)讓我受用終身。
在我大學(xué)生涯中,得到了專業(yè)課老師在電子技術(shù)上給予的悉心指導(dǎo),特此感謝。
在完成該課題的時(shí)刻,得到舍友們,同班同學(xué)們和學(xué)長(zhǎng)們的幫助,在此深表感謝。
感謝惠州學(xué)院的老師們同學(xué)們,在學(xué)習(xí)工作的時(shí),從他們身上我學(xué)習(xí)到了不少開發(fā)項(xiàng)目的方式和新的開發(fā)技術(shù)。
謝謝所有幫助和關(guān)心我的老師和同學(xué)。
參考文獻(xiàn)[1]陳永真,孟麗囡.高效率開關(guān)電源設(shè)計(jì)與制作[M].北京:中國(guó)電力出版社,
2008:4-150.
[2]劉勝利.當(dāng)代高頻開關(guān)電源實(shí)用技術(shù).北京:電子工業(yè)出版社,2001:151-154.
[3]趙同賀.新型開關(guān)電源典型電路設(shè)計(jì)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,
2010:50-80.
[4]王水平,賈靜,方海燕等.開關(guān)穩(wěn)壓電源原理及設(shè)計(jì)[M].北京:人民郵電出版社,
2008:1-170
[5]張占松,蔡宣二等.開關(guān)電源的原理與設(shè)計(jì).北京:電子工業(yè)出版社, 2004:1-3.
[6]劉勝利,李龍文.高頻開關(guān)電源新技術(shù)應(yīng)用[M].北京:中國(guó)電力出版社,2008:2-69.
[7]王有緒,許杰等. PIC系列單片機(jī)接口技術(shù)及應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2000:5-8.
[8]田界容.開關(guān)電源電磁干擾的抑制.當(dāng)代電子技術(shù),2005,(8):112-113.
[9]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編(2007)[M].北京:北京理工大學(xué)出版社,2008
[10]余孟嘗.數(shù)字電子技術(shù)[M].北京:高等教育出版社,2007:31-62.
[11]電子技術(shù)基礎(chǔ)模擬部分(第五版).北京:高等教育出版社,2006
附錄附 C語(yǔ)言程序源代碼
- /*************手工焊板BUCK-BOOST******/
- #include <STC12C5A60S2.H>
- #include <intrins.h> /*use _nop_() function*/
- #define uchar unsigned char
- #define uint unsigned int
- #define ADC_FLAG 0X10
-
- /*****************************************
- 端口功能設(shè)定
- *****************************************/
- sbit PWM_1 = P1^4; //PWM1_Boost/Buck
- sbit SD_1 = P1^3; //SD1_Boost_Buck
- sbit Key_1 = P2^1; //Key_1
- sbit Key_2 = P2^2; //Key_2
- sbit Key_3 = P2^3; //Key_3
-
- uint ADC_value;
- uchar PWM_temp=2;
- uchar last_key; //按鍵變量
- uchar channel=0; //第一通道
- uchar Caes=0; //菜單
- uchar OUT_Current=100;
- uint Battery_voltage; //輸入電壓
- uint Boost_voltage; //Boost電壓
- uint Boost_Buck_current; //Buck_Boost電流8位
- uint A_value=90;
- bit lock=1; //PWM輸出鎖定
- bit ADC_ready=0; //ADC完畢
- bit K;
- void delay();
- void Key_1_();
- void Key_2_();
- void Key_3_();
- void init_pca();
- void init_timer();
- /**********************************************************
- 函數(shù)說(shuō)明: 延時(shí)程序
- **********************************************************/
- void delay(uchar t)
- {
- uint j;
- uchar i;
- for(i=0;i<t;i++)
- for(j=0;j<1000;j++);
- }
- /**********************************************************
- 函數(shù)說(shuō)明: PWM初始化
- **********************************************************/
- void init_pwm()
- {
- CCON = 0;
- CL = 0;
- CH = 0;
- CMOD = 0X08; //0X08:43KHZ // 0X02,22KHZ // 0X0A,10KHZ //
- CCAPM1 =0x42;//8位PWM輸出,無(wú)中斷
- CCAP1L =CCAP1H =250;//初始化spwm輸出的占空比
- CR=1;
- }
- /**********************************************************
- 函數(shù)說(shuō)明: 中斷 始化函數(shù)
- **********************************************************/
- void InitADC()
- {
- P1M1=0x83;
- P1M0=0x00;
- P1ASF=0X07; //選擇ADC通道012
- ADC_RES=0;
- ADC_CONTR=0X88; //1110 0000 E8 開電源,最高速
- EA=1;
- EADC=1;
- }
- /**************************************
- 1602液晶
- **************************************/
- sbit RS = P2^5;
- sbit RW = P2^6;
- sbit E = P2^7;
- /**************************************
- 短延時(shí)
- **************************************/
- void delay5ms()
- {
- uchar i,v,k;
- for(i=1;i>0;i--)
- for(v=168;v>0;v--)
- for(k=22;k>0;k--);
- }
- /**************************************
- 寫指令
- **************************************/
- void lcd_Write_com(uchar com)
- {
- RS=0; //定義指令寄存器
- RW=0; //寫允許
- P0=com; //寫指令
- delay5ms(); E=1; //片選端上拉
- delay5ms(); E=0; //下降沿鎖存
- }
- /**************************************
- 寫數(shù)據(jù)
- **************************************/
- void lcd_write_date(uchar date)
- {
- RS=1; //定義數(shù)據(jù)寄存器
- RW=0; //寫允許
- P0=date; //寫數(shù)據(jù)
- delay5ms(); E=1; //片選端上拉
- delay5ms(); E=0; //下降沿鎖存
- }
- /**************************************
- 顯示程序
- **************************************/
- void dis_lcd1602(uchar x,uchar y,uchar dat)
- {
- uchar add;
- if(y==1) add=(0x80+x);
- if(y==2) add=(0xc0+x);
- lcd_Write_com(add); //寫指令
- lcd_write_date(dat); //寫數(shù)據(jù)
- }
- /**************************************
- 液晶初始化
- **************************************/
- void lcd1602_init()
- {
- lcd_Write_com(0x38); //設(shè)置8位格式,2行,5*7
- lcd_Write_com(0x01); //清屏
- lcd_Write_com(0x0c); //整體顯示,關(guān)光標(biāo),不閃爍
- lcd_Write_com(0x06); //設(shè)定輸入方式,增量不移位
- lcd_Write_com(0x80); //初始坐標(biāo)
- }
- /**************************************
- 液晶顯示漢字程序
- **************************************/
- void hz_lcdDis(uchar x,uchar y,uchar *p) //漢字顯示
- {
- uchar i=0,temp;
- if(x)temp = 0x40; else temp = 0;
- for(i=y;*p!='\0';i++,p++)
- {
- lcd_Write_com(i|0x80+temp);
- lcd_write_date(*p);
- delay5ms();
- }
- }
- /**************************************
- 液晶顯示數(shù)字程序
- **************************************/
- void num_lcdDis(uchar X,uchar Y,uint num,uchar n)
- {
- uint i=0,temp,hang;
- n +=1;
- if(X)hang = 0x40;else hang = 0;
- for(i=(n-1);i>0;i--)
- {
- lcd_Write_com((i+Y-1)|0x80+hang); //從個(gè)位開始顯示
- temp = num%10+0x30;
- lcd_write_date(temp);
- delay5ms();
- num/=10;
- }
- }
- /**********************************************************
- 函數(shù)說(shuō)明: 平均濾波函數(shù)
- **********************************************************/
- #define N 50
- uint Filter(uint adc_data)
- {
- uint value=0;
- uchar count,count_ADC;
- for(count=0;count<N;count++)
- {
- for(count_ADC=0;count_ADC<2;count_ADC++)
- {
- while(!ADC_ready){}
- ADC_ready=0;
- }
- value+=adc_data;
- }
- return (value);
- }
- /**********************************************************
- 函數(shù)說(shuō)明:按鍵延時(shí)防抖動(dòng)
- P3^5 Key_1
- P3^6 Key_2
- P3^7 Key_3
-
- **********************************************************/
- void key_scan()
- {
- uchar temp;
- temp = P2&0x0F;
- if(temp != 0x0F)
- {
- delay(10);
- temp = P2&0x0F;
- if(temp!= 0x0F)
- {
- switch(temp)
- {
- case 0x0D: Key_1_(); break; //21
- case 0x0B: Key_2_(); break; //22
- case 0x07: Key_3_(); break; //23
- default:break;
- }
- }
- }
- // last_key = temp;
- }
-
- /**********************************************************
- 函數(shù)說(shuō)明: +按鍵程序
- **********************************************************/
- void Key_1_()
- {
- if(K) {SD_1=0; lock=1; CCAP1L =CCAP1H =128; hz_lcdDis(0,11,"Stop!");}
- else {SD_1=1; lock=0; hz_lcdDis(0,11,"Start");}
- K=~K;
- }
- void Key_2_()
- {
- OUT_Current=OUT_Current+1;
- if(OUT_Current>200)OUT_Current=200;
- }
- void Key_3_()
- {
- OUT_Current=OUT_Current-1;
- if(OUT_Current<20)OUT_Current=20;
- }
- /**********************************************************
- 函數(shù)說(shuō)明: 主函數(shù)
- **********************************************************/
- void main(void)
- {
- uint U1,U2,u1,u2,u3,i1;
- SD_1=0;
- lcd1602_init();
- hz_lcdDis(0,4,"Welcome!");
- init_pwm();
- InitADC();
- delay(250);
- // delay(250);
- EA=1;//開總中斷
- lcd_Write_com(0x01); //清屏
- // SD_1=1;
- hz_lcdDis(0,0,"IN= . V Stop!");
- hz_lcdDis(1,0,"OU= . V I= . A");
- while(1)//主循環(huán)
- {
- U1=Filter(Battery_voltage);
- U2=Filter(Boost_voltage);
- // I1=Filter(Boost_Buck_current); //檢測(cè)Boost_Buck電流
- // num_lcdDis(0,11,OUT_Current,3);
- // num_lcdDis(0,3,U1,5);
- // num_lcdDis(1,3,U2,5);
- // num_lcdDis(1,11,I1,5);
- u1=U1/91; //檢測(cè)電池電壓 1:2采樣電阻
- num_lcdDis(0,3,u1/10,2);
- num_lcdDis(0,6,u1%10,1);
- u2=U2/172;
- num_lcdDis(1,3,u2/10,2);
- num_lcdDis(1,6,u2%10,1);
- num_lcdDis(1,11,OUT_Current/100,1);
- num_lcdDis(1,13,OUT_Current%100,2);
- // if((u2-u1)<40) hz_lcdDis(0,10,"Error!");
- // else hz_lcdDis(0,10,"OK ");
- key_scan();
- }
- }
- /****************************************************************
- 函數(shù)說(shuō)明: ADC中斷
- 實(shí)現(xiàn)功能:執(zhí)行ADC采集并做電壓和電流的調(diào)整。
- ****************************************************************/
- void ADC_interrupt()interrupt 5 //ADC轉(zhuǎn)換完后ADC_FLAG由硬件自動(dòng)置位,須由軟件清零
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
完整論文下載(word格式 可編輯):
基于單片機(jī)的恒流開關(guān)電源.docx
(3.83 MB, 下載次數(shù): 304)
2017-7-8 08:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5