基于8051單片機(jī)的數(shù)控電源設(shè)計(jì)方案
本文介紹了以8051單片機(jī)為控制單元,以數(shù)模轉(zhuǎn)換器DAC0832輸出參考電壓,以該參考電壓控制電壓轉(zhuǎn)換模塊LM350的輸出電壓大小。該電路設(shè)計(jì)簡(jiǎn)單,應(yīng)用廣泛,精度較高等特點(diǎn).LM350系列三端可調(diào)式集成穩(wěn)壓器的方法。
關(guān)鍵詞:單片機(jī)(MCU),數(shù)模轉(zhuǎn)換器(DA),掉電存儲(chǔ)器(EEPROM)。
引言
目前所使用的直流可調(diào)電源中,幾乎都為旋紐開(kāi)關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。利用數(shù)控電源,可以達(dá)到每步0.1V的精度,輸出電壓范圍0~15V,電流可以達(dá)到2A。
系統(tǒng)結(jié)構(gòu)
圖1:硬件系統(tǒng)結(jié)構(gòu)圖
對(duì)選用芯片說(shuō)明
DAC0832是一款常用的數(shù)摸轉(zhuǎn)換器,它有兩種連接模式,一種是電壓輸出模式,另外一種是電流輸出模式,為了設(shè)計(jì)的方便,選用電壓輸出模式,如電路圖所示,Iout1和Iout2之間接一參考電壓, VREF輸出可控制電壓信號(hào)。它有三種工作方式:不帶緩沖工作方式,單緩沖工作方式,雙緩沖工作方式。該電路采用單緩沖模式,由電路圖可知,由于/WR2 =/XFER=0,DAC寄存處于直通狀態(tài)。又由于ILE=1,故只要在選中該片(/CS=0)的地址時(shí),寫入(/WR=0)數(shù)字量,則該數(shù)字信號(hào)立即傳送到輸入寄存器,并直通至DAC寄存器,經(jīng)過(guò)短暫的建立時(shí)間,即可以獲得相應(yīng)的模擬電壓,一旦寫入操作結(jié)束,/WR1和/CS立即變?yōu)楦唠娖?,則寫入的數(shù)據(jù)被輸入寄存器鎖存,直到再次寫入刷新。
AT24C02是一款常用的可掉電保存數(shù)據(jù)的ROM,2K比特容量,采用I2C總線操作,關(guān)于它的具體操作方法參考相關(guān)資料。
圖2:主硬件電路圖
圖3:參考電壓電路圖
硬件電路設(shè)計(jì)
采用常用的51芯片作為控制器,P0口和 DAC0832的數(shù)據(jù)口直接相連,DA的/CS和/WR1連接后接P2.0,/WR2和/XEFR接地,讓DA工作在單緩沖方式下。DA的11腳接參考電壓,參考電壓電路如圖2所示,通過(guò)調(diào)節(jié)可調(diào)電阻調(diào)節(jié)LM336的輸出電壓為5.12V,所以在DAC的8腳輸出電壓的分辨率為5.12V/256= 0.02V,也就是說(shuō)DA輸入數(shù)據(jù)端每增加1,電壓增加0.02V。
DA的電壓輸出端接放大器OP07的輸入端,放大器的放大倍數(shù)為 R8/(R8+R9)=1K/(1K+4K)=5,輸出到電壓模塊LM350的電壓分辨率=0.02V×5=0.1V。所以,當(dāng)MCU輸出數(shù)據(jù)增加1的時(shí)候,最終輸出電壓增加0.1V,當(dāng)調(diào)節(jié)電壓的時(shí)候,可以以每次0.1V的梯度增加或者降低電壓。
本電路設(shè)計(jì)三個(gè)按鍵,KEY1為翻頁(yè)按鍵,最近設(shè)置的電壓大小保存在EEROM里面,比如10個(gè)電壓,按一下KEY1,電壓變?yōu)橄乱粋€(gè),省去了反復(fù)設(shè)置電壓的麻煩,KEY2為電壓+,KEY3為電壓+,按一下KEY2,當(dāng)前電壓增加0.1V,按一下KEY3,當(dāng)前電壓減小0.1V。
限于篇幅原因,未畫出數(shù)碼管顯示電路,該系統(tǒng)使用3個(gè)數(shù)碼管,可以顯示三位數(shù),一個(gè)小數(shù)位,比如可以顯示12.5V,采用動(dòng)態(tài)掃描驅(qū)動(dòng)方式。本主電路的原理是通過(guò)MCU控制DA的輸出電壓大小,通過(guò)放大器放大,給電壓模塊作為最終輸出的參考電壓,真正的電壓,電流還是由電壓模塊LM350輸出。
為了達(dá)到2A的輸出電流,LM350必須選用金屬外殼封裝,并且?guī)源竺娣e的散熱片。
軟件流程
軟件系統(tǒng)
軟件的設(shè)計(jì)主要完成三方面的功能:
1.設(shè)置電壓并且保存,主要是對(duì)EEROM的操作。
2.把設(shè)置的電壓送到DA,主要是對(duì)DA的操作。
3.中斷顯示,把設(shè)置的電壓顯示到LED數(shù)碼管上。
該數(shù)控電壓源實(shí)現(xiàn)保存最近10電壓功能,當(dāng)打開(kāi)電源的時(shí)候,它顯示和輸出的必須是上次使用電壓大小,所以在EEROM中使用11個(gè)地址保存數(shù)據(jù),第一個(gè)地址保存當(dāng)前電壓編號(hào),大小為1~10。第2個(gè)地址~第 11個(gè)地址連續(xù)保存10個(gè)電壓大小數(shù)據(jù)。電壓編號(hào)的大小分別對(duì)應(yīng)到相應(yīng)地址電壓大小。
對(duì)軟件流程做一下說(shuō)明:當(dāng)電源打開(kāi)的時(shí)候,MCU進(jìn)行復(fù)位,寄存器清零。接著電源應(yīng)該顯示和輸出上次關(guān)機(jī)前的電壓大小,這時(shí)候MCU先讀取EEPROM中保存的電壓編號(hào),根據(jù)電壓編號(hào)讀出對(duì)應(yīng)電壓,把該數(shù)據(jù)送到DA,在轉(zhuǎn)換成BCD碼送到顯示部分。這時(shí)候程序循環(huán)檢測(cè)是否有按鍵信號(hào),如果KEY1按下,電壓編號(hào)指向下一個(gè),保存該電壓編號(hào),讀對(duì)應(yīng)電壓,把他送到DA并且顯示。如果KEY2按下,當(dāng)前電壓數(shù)據(jù)加1,相對(duì)應(yīng)輸出電壓(POWER—OUT引腳)增加0.1V,保存設(shè)置電壓數(shù)據(jù)。如果KEY3按下,電壓數(shù)據(jù)減1,輸出電壓
減少0.1V,保存設(shè)置電壓數(shù)據(jù)。
結(jié)語(yǔ)
該數(shù)控電壓源經(jīng)過(guò)時(shí)間實(shí)際使用說(shuō)明,具有精度高,使用方便,硬件電路簡(jiǎn)單等特點(diǎn)。如果要作成產(chǎn)品,還需要增加電流測(cè)量和顯示部分,對(duì)這部分電路請(qǐng)參考相關(guān)資料。本文主要對(duì)如何控制功率輸出電壓大小做出個(gè)例子,該電路對(duì)測(cè)量領(lǐng)域,以及馬達(dá)調(diào)速方面都可以擴(kuò)展使用。
評(píng)論