52單片機數(shù)控直流穩(wěn)壓電源設計.doc_第1頁
52單片機數(shù)控直流穩(wěn)壓電源設計.doc_第2頁
52單片機數(shù)控直流穩(wěn)壓電源設計.doc_第3頁
52單片機數(shù)控直流穩(wěn)壓電源設計.doc_第4頁
52單片機數(shù)控直流穩(wěn)壓電源設計.doc_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

課程名稱:數(shù)控直流穩(wěn)壓電源設計 年級專業(yè):工程管理1103學生姓名: 袁征 學 號:201114020313數(shù)控直流穩(wěn)壓電源設計土建 工管 袁征 201114020313采用at89s52單片機作為整機的控制單元,通過改變dac0832的輸入數(shù)字量來改變輸出電壓值,從而使輸出功率管的基極電壓發(fā)生變化,間接地改變輸出電壓的大小。為了能夠使系統(tǒng)具備檢測實際輸出電壓值的大小,可以將輸出電壓經(jīng)過adc0832進行模數(shù)轉換,間接用單片機實時對電壓進行采樣,然后進行數(shù)據(jù)處理及顯示。此系統(tǒng)比較靈活,采用軟件方法來解決數(shù)據(jù)的預置以及電壓的步進控制,使系統(tǒng)硬件更加簡潔,各類功能易于實現(xiàn),能很好地滿足題目的要求??傮w方案框圖 系統(tǒng)總體方案框圖如圖1所示: 圖1 系統(tǒng)原理框圖4 系統(tǒng)部分功能設計穩(wěn)壓輸出部分穩(wěn)壓輸出原理與電路這部分將數(shù)控部分送來的電壓控制字轉換成穩(wěn)定電壓輸出。d/a轉換部分的輸出電壓作為穩(wěn)壓輸出電路的參考電壓。穩(wěn)壓輸出電路的輸出與參考電壓成比例。穩(wěn)壓輸出電路采用的是串聯(lián)式反饋穩(wěn)壓電路(如圖2),在電路中,q1tip122為調(diào)整管,u6alm358 為比較放大器,r19、r22組成反饋網(wǎng)絡。d/a轉換電路的輸出電壓daout接到 u6a 的同向端,穩(wěn)壓電源的輸出經(jīng)r19、r22組成的取樣電路分壓后送到運放u6a的反向端,經(jīng)運放比較放大后,驅動調(diào)整管q1。路平衡時,d/a電路的輸出電壓 與取樣后的電壓 相等。穩(wěn)壓輸出部分的過流保護電路由r21和q2組成。設 為保護動作電流,則當電源輸出電流i增加到 時,r21上的壓降 *r21使得q2管導通,分掉了q1上的基極電流,使輸出i不再增加,起到了過流保護作用。圖2 穩(wěn)壓輸出部分穩(wěn)壓輸出部分仿真圖圖3 穩(wěn)壓電路仿真圖一般的直流穩(wěn)壓電源是用可變電阻來實現(xiàn)輸出電壓的調(diào)節(jié),那么要在直流穩(wěn)壓電源的基礎上實現(xiàn)數(shù)字控制的話,實際上很簡單,我們只要將可變電阻換成數(shù)字控制部分來代替,就能實現(xiàn)數(shù)控恒壓源這一課題。所以,首先要做的,就是選擇合適的穩(wěn)壓輸出電路并對其可行性進行了仿真。如圖9,很容易就驗證了此穩(wěn)壓輸出電路的可靠。數(shù)字控制部分單片機部分圖4 單片機控制部分4.2.2 d/a轉換部分系統(tǒng)設置d/a轉換接口,采用8位模數(shù)轉換器dac0832。其電路如圖5. 圖5 d/a轉換部分d/a轉換部分的輸出電壓作為穩(wěn)壓輸出電路的參考電壓。穩(wěn)壓輸出電路的輸出與參考電壓成比例。8位字長的d/a轉換器具有256種狀態(tài)。當電壓控制字從0,1,2,到256時,電源輸出電壓為0.0,0.06,15.0。其時序圖如圖6:圖6dac0832數(shù)模轉換時序圖clk為時鐘端,data為輸入數(shù)據(jù),load為輸入控制信號。每路電壓輸出值的計算: ref為參考電壓,data為輸入8位的比特數(shù)據(jù);我們這里用的ref=5v; a/d轉換部分a/d轉換部分我們采用美國國家半導體公司生產(chǎn)的一種8 位分辨率、雙通道a/d轉換芯片adc0832。其電路圖如圖7所示:圖7 a/d轉換部分adc0832 是美國國家半導體公司生產(chǎn)的一種8 位分辨率、雙通道a/d轉換芯片。由于它體積小,兼容性,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學習并使用adc0832 可是使我們了解a/d轉換器的原理,有助于我們單片機技術水平的提高。adc0832 具有以下特點: 8位分辨率; 雙通道a/d轉換; 輸入輸出電平與ttl/cmos相兼容; 5v電源供電時輸入電壓在05v之間; 工作頻率為250khz,轉換時間為32s; 一般功耗僅為15mw; 8p、14pdip(雙列直插)、picc 多種封裝; 商用級芯片溫寬為0c to +70c,工業(yè)級芯片溫寬為40c to +85c; 芯片接口說明: cs_ 片選使能,低電平芯片使能。 ch0 模擬輸入通道0,或作為in+/-使用。 ch1 模擬輸入通道1,或作為in+/-使用。 gnd 芯片參考0 電位(地)。 di 數(shù)據(jù)信號輸入,選擇通道控制。 do 數(shù)據(jù)信號輸出,轉換數(shù)據(jù)輸出。 clk 芯片時鐘輸入。 vcc/ref 電源輸入及參考電壓輸入(復用)。 adc0832 為8位分辨率a/d轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在05v之間。芯片轉換時間僅為32s,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過di 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 單片機對adc0832 的控制原理:正常情況下adc0832 與單片機的接口應為4條數(shù)據(jù)線,分別是cs、clk、do、di。但由于do端與di端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將do和di 并聯(lián)在一根數(shù)據(jù)線上使用。當adc0832未工作時其cs輸入端應為高電平,此時芯片禁用,clk 和do/di 的電平可任意。當要進行a/d轉換時,須先將cs使能端置于低電平并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端clk 輸入時鐘脈沖,do/di端則使用di端輸入通道功能選擇的數(shù)據(jù)信號。在第1 個時鐘脈沖的下沉之前di端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前di端應輸入2 位數(shù)據(jù)用于選擇通道功能。其時序圖如圖8. 圖8 adc0832時序表 如圖所示,當此2 位數(shù)據(jù)為“1”、“0”時,只對ch0 進行單通道轉換。當2位數(shù)據(jù)為“1”、“1”時,只對ch1進行單通道轉換。當2 位數(shù)據(jù)為“0”、“0”時,將ch0作為正輸入端in+,ch1作為負輸入端in-進行輸入。當2 位數(shù)據(jù)為“0”、“1”時,將ch0作為負輸入端in-,ch1 作為正輸入端in+進行輸入。到第3 個脈沖的下沉之后di端的輸入電平就失去輸入作用,此后do/di端則開始利用數(shù)據(jù)輸出do進行轉換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由do端輸出轉換數(shù)據(jù)最高位data7,隨后每一個脈沖下沉do端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)data0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出datd0。隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標志著一次a/d轉換的結束。最后將cs置高電平禁用芯片,直接將轉換后的數(shù)據(jù)進行處理就可以了。 鍵盤部分由于要實現(xiàn)人機對話,要顯示09.9v的電壓值,我們自制3*4按鍵的鍵盤來完成整個系統(tǒng)控制。電路原理如圖9所示。 圖9 鍵盤與顯示電路圖按鍵的具體意義如下:1234567890*enter顯示部分本方案采用ym12864型lcd,可直接顯示4*8個漢字,界面友好,支持串并行兩種連接方式,其電路連接如圖10所示: 圖10 lcd12864與單片機連接圖ym12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個16*16點漢字,和128個16*8點ascii字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可以顯示84行1616點陣的漢字。 也可完成圖形顯示。 串行接口管腳號管腳名稱電平管腳功能描述1vss0v電源地2vcc3.0+5v電源正3v0-對比度(亮度)調(diào)整4rs(cs)h/lrs=“h”,表示db7db0為顯示數(shù)據(jù)rs=“l(fā)”,表示db7db0為顯示指令數(shù)據(jù)5r/w(sid)h/lr/w=“h”,e=“h”,數(shù)據(jù)被讀到db7db0r/w=“l(fā)”,e=“hl”, db7db0的數(shù)據(jù)被寫到ir或dr6e(sclk)h/l使能信號7db0h/l三態(tài)數(shù)據(jù)線8db1h/l三態(tài)數(shù)據(jù)線9db2h/l三態(tài)數(shù)據(jù)線10db3h/l三態(tài)數(shù)據(jù)線11db4h/l三態(tài)數(shù)據(jù)線12db5h/l三態(tài)數(shù)據(jù)線13db6h/l三態(tài)數(shù)據(jù)線14db7h/l三態(tài)數(shù)據(jù)線15psbh/lh:8位或4位并口方式,l:串口方式(見注釋1)16nc-空腳17/reseth/l復位端,低電平有效(見注釋2)18vout-lcd驅動電壓輸出端19avdd背光源正端(+5v)(見注釋3)20kvss背光源負端(見注釋3)總電路軟件實現(xiàn)流程圖圖10 總流程圖 電源測試結果電壓測試預置電壓(v)顯示電壓(v)測量電壓(v)11.051.051.21.101.171.41.351.381.61.551.611.81.751.7821.952.002.62.552.6033.003.033.73.703.6855.005.0177.006.9788.108.0698.758.759.79.659.63 性能測試性能指標測量條件測量結果測量儀表全程輸出電壓0-9.9vdm-311型數(shù)字萬用表負載電流=5v, =25 206ma過流保護330ma用單片機控制電源時,輸出直流0-9.9v,液晶屏顯示清晰正確,誤差較小,完美的實現(xiàn)了數(shù)控恒壓源這一課題。但在功能上還不夠強大,沒有顯示預置電壓等等,還可以進一步得到提高。系統(tǒng)總體電路圖系統(tǒng)總程序#include #include #define uchar unsigned char#define uint unsigned int#define dataport p2sbit lcm_rs=p15;sbit lcm_rw=p16;sbit lcm_en=p17;sbit k1=p34;sbit k2=p32;sbit k3=p30;sfr p1asf=0x9d;sfr adc_contr = 0xbc;sfr adc_res = 0xbd;sfr adc_resl= 0xbe;void get_ad_result();void ad_init( );extern void writecommandlcm(uchar cmd,uchar attribc);extern void initlcd();extern void displayonechar(unsigned char x,unsigned char y,unsigned char ddata);extern void displaylistchar(uchar x,uchar y,uchar code *ddata);unsigned char code dispcode=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;unsigned char dispbuf8=0,0,16,0,0,16,0,0;uchar ad_value,key,vd=60;unsigned char i,j,temp8,temp9,temp10,temp11;float tt=0.0;uchar tt1=0,tt2=0,tt3=0,m=0;uchar code str0=by 20111018;/uchar code str1=beyond;void delay5ms() unsigned int i=5552; while(i-); void delay400ms() unsigned char jj=5; unsigned int jjj; while(jj-); jjj=7269;while(jjj-);void delay(unsigned int k) unsigned int i,j; for(i=0;ik;i+) for(j=0;j121;j+) ; /-ad convert-void ad_init( )/void ad_init(uchar ad_port_sel ) /adc初始化adc_contr|=0x80; /開adc電源 p1asf=0x01; /設置p1.0高阻輸入方式adc_contr|=0x08; /啟動ad轉換 start=1 void get_ad_result()/啟動ad轉換并返回轉換值 uchar temp;temp=0x10; /判轉換結束標志 adc_flagtemp&=adc_contr;if ( temp )ad_value=adc_res;/讀取ad數(shù)據(jù)adc_contr&=0xe4;/清轉換結束標志adc_flagelseadc_res=0;/清轉換數(shù)據(jù)高8位adc_resl=0;/清轉換數(shù)據(jù)低2位adc_contr|=0xe8;/啟動ad轉換 adc_start/lcd display/void waitforenable(void)dataport=0xff;lcm_rs=0;lcm_rw=1;_nop_();lcm_en=1;_nop_();_nop_();while(dataport&0x80);lcm_en=0;void writecommandlcm(uchar cmd,uchar attribc)if(attribc)waitforenable();lcm_rs=0;lcm_rw=0;_nop_();dataport=cmd;_nop_();lcm_en=1;_nop_();_nop_();lcm_en=0;void writedatalcm(uchar dataw)waitforenable();lcm_rs=1;lcm_rw=0;_nop_();dataport=dataw;_nop_();lcm_en=1;_nop_();_nop_();lcm_en=0;void initlcd()p2=0;writecommandlcm(0x38,0);delay5ms();writecommandlcm(0x08,0); delay5ms(); writecommandlcm(0x08,0); delay5ms();writecommandlcm(0x38,1);writecommandlcm(0x08,1);writecommandlcm(0x01,1); writecommandlcm(0x06,1); writecommandlcm(0x0c,1);void displayonechar(unsigned char x,unsigned char y,unsigned char ddata)y&=1;x&=15;if(y)x|=0x40;x|=0x80;writecommandlcm(x,0);writedatalcm(ddata);void displaylistchar(uchar x,uchar y,uchar code *ddata)uchar listlength=0;y&=0x1;x&=0xf;while(x=186&ad_value=165&ad_value=122&ad_value=120) vd=60; p0=vd; while(k1=0);e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論