基于51單片機的數(shù)控電源設(shè)計
華強電子世界網(wǎng) 本文介紹了以51系列單片機為控制單元,以數(shù)模轉(zhuǎn)換器dac0832輸出參考電壓,以該參考電壓控制電壓轉(zhuǎn)換模塊lm350的輸出電壓大小。該電路設(shè)計簡單,應(yīng)用廣泛,精度較高等特點。 關(guān)鍵詞:單片機(mcu),數(shù)模轉(zhuǎn)換器(da),掉電存儲器(eeprom)?! ∫浴 ∧壳八褂玫闹绷骺烧{(diào)電源中,幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。利用數(shù)控電源,可以達到每步0.1v的精度,輸出電壓范圍0~15v,電流可以達到2a?! ∠到y(tǒng)結(jié)構(gòu)
圖1:硬件系統(tǒng)結(jié)構(gòu)圖 對選用芯片說明 dac0832是一款常用的數(shù)摸轉(zhuǎn)換器,它有兩種連接模式,一種是電壓輸出模式,另外一種是電流輸出模式,為了設(shè)計的方便,選用電壓輸出模式,如電路圖所示,iout1和iout2之間接一參考電壓,vref輸出可控制電壓信號。它有三種工作方式:不帶緩沖工作方式,單緩沖工作方式,雙緩沖工作方式。該電路采用單緩沖模式,由電路圖可知,由于/wr2=/xfer=0,dac寄存處于直通狀態(tài)。又由于ile=1,故只要在選中該片(/cs=0)的地址時,寫入(/wr=0)數(shù)字量,則該數(shù)字信號立即傳送到輸入寄存器,并直通至dac寄存器,經(jīng)過短暫的建立時間,即可以獲得相應(yīng)的模擬電壓,一旦寫入操作結(jié)束,/wr1和/cs立即變?yōu)楦唠娖?,則寫入的數(shù)據(jù)被輸入寄存器鎖存,直到再次寫入刷新。 at24c02是一款常用的可掉電保存數(shù)據(jù)的rom,2k比特容量,采用i2c總線操作,關(guān)于它的具體操作方法參考相關(guān)資料。
圖2:主硬件電路圖
圖3:參考電壓電路圖 硬件電路設(shè)計 采用常用的51芯片作為控制器,p0口和dac0832的數(shù)據(jù)口直接相連,da的/cs和/wr1連接后接p2.0,/wr2和/xefr接地,讓da工作在單緩沖方式下。da的11腳接參考電壓,參考電壓電路如圖2所示,通過調(diào)節(jié)可調(diào)電阻調(diào)節(jié)lm336的輸出電壓為5.12v,所以在dac的8腳輸出電壓的分辨率為5.12v/256=0.02v,也就是說da輸入數(shù)據(jù)端每增加1,電壓增加0.02v?! a的電壓輸出端接放大器op07的輸入端,放大器的放大倍數(shù)為 r8/(r8+r9)=1k/(1k+4k)=5,輸出到電壓模塊lm350的電壓分辨率=0.02v×5=0.1v。所以,當mcu輸出數(shù)據(jù)增加1的時候,最終輸出電壓增加0.1v,當調(diào)節(jié)電壓的時候,可以以每次0.1v的梯度增加或者降低電壓?! ”倦娐吩O(shè)計三個按鍵,key1為翻頁按鍵,最近設(shè)置的電壓大小保存在eerom里面,比如10個電壓,按一下key1,電壓變?yōu)橄乱粋€,省去了反復設(shè)置電壓的麻煩,key2為電壓+,key3為電壓+,按一下key2,當前電壓增加0.1v,按一下key3,當前電壓減小0.1v?! ∠抻谄颍串嫵鰯?shù)碼管顯示電路,該系統(tǒng)使用3個數(shù)碼管,可以顯示三位數(shù),一個小數(shù)位,比如可以顯示12.5v,采用動態(tài)掃描驅(qū)動方式。本主電路的原理是通過mcu控制da的輸出電壓大小,通過放大器放大,給電壓模塊作為最終輸出的參考電壓,真正的電壓,電流還是由電壓模塊lm350輸出?! 榱诉_到2a的輸出電流,lm350必須選用金屬外殼封裝,并且?guī)源竺娣e的散熱片?! ≤浖鞒?br>
軟件系統(tǒng) 軟件的設(shè)計主要完成三方面的功能: 1.設(shè)置電壓并且保存,主要是對eerom的操作。 2.把設(shè)置的電壓送到da,主要是對da的操作?! ?.中斷顯示,把設(shè)置的電壓顯示到led數(shù)碼管上?! ≡摂?shù)控電壓源實現(xiàn)保存最近10電壓功能,當打開電源的時候,它顯示和輸出的必須是上次使用電壓大小,所以在eerom中使用11個地址保存數(shù)據(jù),第一個地址保存當前電壓編號,大小為1