數(shù)控恒流源設(shè)計報告加程序_第1頁
數(shù)控恒流源設(shè)計報告加程序_第2頁
數(shù)控恒流源設(shè)計報告加程序_第3頁
數(shù)控恒流源設(shè)計報告加程序_第4頁
數(shù)控恒流源設(shè)計報告加程序_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)控恒流源設(shè)計報告背 景數(shù)控恒流源是單片機運用數(shù)字控制技術(shù)控制恒流源的一種設(shè)計方案。當(dāng)前,數(shù)字化數(shù)控恒流源的應(yīng)用, 隨著電子技術(shù)的發(fā)展使用范圍越來越廣, 在電子測量儀器、激光、傳感技術(shù)、超導(dǎo)、現(xiàn)代通信等高新技術(shù)領(lǐng)域,恒流源都被廣泛應(yīng)用,且發(fā)展前景較為良好。同時,也不僅局限于此。電子領(lǐng)域,數(shù)控恒壓技術(shù)已經(jīng)很成熟,但是恒流方面特別是數(shù)控恒流的技術(shù)是有待發(fā)展, 高性能的數(shù)控恒流器件的開發(fā)和應(yīng)用存在巨大的發(fā)展空間。 所以設(shè)計一個數(shù)控恒流源方案來提高恒流源的穩(wěn)定性、適用范圍以及精度很有必要。目 錄第一章 設(shè)計方案第二章 恒流電路第三章 MSP430F149單片機及電源第四章 AD模塊第五章 DA模塊第六章 鍵盤模塊和顯示模塊第七章 軟件設(shè)計第八章 實驗總結(jié)第一章 設(shè)計方案本設(shè)計本設(shè)計是基于單片機控制的直流恒流源 , 分為以下幾個組成部分 : 單片機控制系統(tǒng)、 A/D和D/A轉(zhuǎn)換模塊、 電源模塊、恒流源模塊、負(fù)載及鍵盤液晶顯示模塊 , 系統(tǒng)框圖如圖所示。系統(tǒng)框圖用430單片機作為整機的控制單元,通過改變D/A轉(zhuǎn)換器的輸入數(shù)字量來改變輸出電壓值,從而間接地改變壓控恒流源的輸出電流大小。為了能夠使系統(tǒng)具備檢測實際輸出電流值的大小,可以將電流轉(zhuǎn)換成電壓,并經(jīng)過

A/D轉(zhuǎn)換器進行模數(shù)轉(zhuǎn)換,用單片機實時對電壓進行采樣,與輸入預(yù)期值比較,并通過

430單片機進行進行數(shù)據(jù)處理微調(diào)輸出,提高精度實時顯示。第二章 恒流電路數(shù)控直流電流源可以采用電流輸出型 D/A轉(zhuǎn)換器來實現(xiàn),單由于其輸出電流的幅值一般在uA數(shù)量級,因此需要進行電流放大若干倍才能達到所需要的要求電流值,電路實現(xiàn)很困難。若選擇電壓輸出型DAC,再通過V-I轉(zhuǎn)換電路變成與之成比例的電流信號,則電路實現(xiàn)相對簡單,因此設(shè)計直流電源時常采用該種方案實現(xiàn),在這種方案中,V/I轉(zhuǎn)換電路設(shè)計是關(guān)鍵。通常的V/I轉(zhuǎn)換有兩種方式,一種是負(fù)載共地的方式,一種是負(fù)載共電源的方式。我們選用的是負(fù)載共地的方式,因為有很多電路負(fù)載在連接的時候需要進行共地。R6為電流反饋采樣電阻, R5為限流電阻, RL為負(fù)載電阻。R7為A/D轉(zhuǎn)換采樣電阻,R6采樣到的電流信號加到電路的輸入端,構(gòu)成電流并聯(lián)負(fù)反饋電路。由虛斷知,運算放大器輸入端沒有電流流過,則

(Vi

V2)/R1=(V1

V4)/R2

??a同理

(V3

V2)/R3=V2/R4

??b由虛短知

V1=V2

??c如果

R1=R2=R4=R3,則由

abc

式得

V3-V4=Vi上式說明 R6兩端的電壓和輸入電壓 Vi相等,則通過R7和RL的電流I=Vi/R6。如果負(fù)載RL<<100KΩ,且運算放大器的放大增益足夠大時,通過負(fù)載 RL的電流僅有輸入電壓 Vi決定,并且 I=Vi/R6。所以R1、R2、R3、R4選用100kΩ。為了方便采樣,我們選擇 R6為1Ω電阻。Vi為0~1V,我們做的恒流源輸出電流在 0~100mA,R6=1/=10Ω。為了擴大電流的輸出能力,在上電路的負(fù)反饋沒有通過電阻直接反饋, 而是串聯(lián)了三極管的發(fā)射結(jié), 進行電流放大。因為在恒流源電路中 ,MOSFET管的輸入電容太大 ,而一般運放的輸出 電阻都在幾十歐姆以上,會造成閉環(huán)的延遲 ,而高增益的閉環(huán)負(fù)反饋中的遲延很容易振蕩 ,三極管的放大倍數(shù)選大些,也可以用復(fù)合管 ,實際上電阻的誤差比三極管 基極電流的影響可能要大 ,還可以通過調(diào)節(jié)電阻的值來調(diào)節(jié) .所以我們選用的是三級管而不是 MOSFET管。第三章 MSP430F149單片機及電源MSP430F149單片機MSP430F149單片機是一個16位的、具有精簡指令集的、超低功耗的混合型單片機。由于它具有極低的功耗、達到60KB的FLASH容量、豐富的片內(nèi)外設(shè)和相對較小的體積及方便靈活的開發(fā)環(huán)境,已成為眾多單片機系列中一顆耀眼的“芯星”。開發(fā)板資源描述 :1】.板載MSP430F149芯片【2】.集成USB型BSL編程器(對自身或其他板子進行 bsl編程)【3】.提供和8MHZ兩種晶振連接方式【4】.采用USB供電和程序下載,優(yōu)質(zhì)電容濾波5】.采用標(biāo)準(zhǔn)JTAG接口(14針),支持硬件仿真。6】.所有IO口(包括AD電源等)均引出(未焊接排針,可自己向上或向下焊接)。7】.4路彩色LED全部上拉,可以借此觀察程序運行狀態(tài)。8】.2個優(yōu)質(zhì)獨立按鍵。9】.板載手動復(fù)位電路。10】.板載蜂鳴器電路,可做音樂實驗等。11】.提供NRF24L01+無線模塊接口。12】.板子集成USB轉(zhuǎn)串口功能。13】.向外提供和5v電源排針。?MSP430的端口有 P1、P2、P3、P4、P5、P6、S和COM(型號不同,包含的端口也不僅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列則包含全部上述端口),它們都可以直接用于輸入/輸出。MSP430系統(tǒng)中沒有專門的輸入/輸出指令,輸入/輸出操作通過傳送指令來實現(xiàn)。端口P1`P6的每一位都可以獨立用于輸入/輸出,即具有位尋址功能。常見的鍵盤接口可以直接用端口進行模擬,用查詢或者中斷方式控制。由于MSP430的端口只有數(shù)據(jù)口,沒有狀態(tài)口或控制口,在實際應(yīng)用中,如在查詢式輸入/輸出傳送時,可以用端口的某一位或者幾位來傳送狀態(tài)信息,通過查詢對應(yīng)位的狀態(tài)來確定外設(shè)是否處于“準(zhǔn)備好”狀態(tài)。端口的功能。(1)P1,P2端口:I/O, 中斷功能,其他片內(nèi)外設(shè)功能如定時器、 比較器;(2)P3,P4P5P6端口:I/O,其他片內(nèi)外設(shè)功能如 SPI、UART模式,A/D轉(zhuǎn)換等;(3)S,COM端口:I/O,驅(qū)動液晶。MSP430各端口具有豐富的控制寄存器供用戶實現(xiàn)相應(yīng)的操作。 其中P1,P2具有7個寄存器,P3~P6具有4個寄存器。通過設(shè)置寄存器我們可以實現(xiàn):( 1)每個I/O位獨立編程;( 2)任意組合輸入,輸出和中斷;( 3)P1,P2所有8個位全部可以用作外部中斷處理;( 4)可以使用所以指令對寄存器操作;( 5)可以按字節(jié)輸入、輸出,也可按位進行操作。端口

P1,P2

的功能可以通過它們的

7個控制寄存器來實現(xiàn)。這里,

Px代表

P1或P2。(1)PxDIR:輸入/輸出方向寄存器。

8 位相互獨立,可以分別定義

8個引腳的輸入

/輸出方向。8位再

PUC后都被復(fù)位。使用輸入

/輸出功能時,應(yīng)該先定義端口的方向

。作為輸入時只能讀,作為輸出時,可讀可寫。 0:輸入模式;1:輸出模式。如: P1DIR|=BIT4;用左移位的指令,在進位位CY里就可以檢測出是0還是1.為1表示無按下,;為0表示該鍵按下。在掃描按鍵時,如無按下,則取碼指針R1加1后,繼續(xù)掃描。如有鍵按下,轉(zhuǎn)按鍵處理子程序,按鍵按下標(biāo)志位;F0清0(表示按下)。此時,取碼指針的值,就是按鍵的鍵名。隨后繼續(xù)進入按鍵檢測子程序重新掃描。每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。鍵盤連接成4×4的矩陣形式,占用單片機P1口的8根線,行信號是列信號是。789復(fù)位456小數(shù)點123清除一位0輸出暫停確認(rèn)按鍵對應(yīng)功能圖1602 液晶顯示模塊工業(yè)字符型液晶,能夠同時顯示 16x02即32個字符。(16列2行)注:為了表示的方便 ,后文皆以 1表示高電平,0表示低電平。1602液晶也叫 1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個 5X7或者5X11等點陣字符位組成, 每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔, 每行之間也有間隔, 起到了字符間距和行間距的作用, 正因為如此所以它不能很好地顯示圖形(用自定義 CGRAM,顯示效果也不好)。 ?1602LCD是指顯示的內(nèi)容為 16X2,即可以顯示兩行, 每行16個字符液晶模塊(顯示字符和數(shù)字)。?目前市面上字符液晶絕大多數(shù)是基于 HD44780液晶芯片的,控制原理是完全相同的, 因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。⑵管腳功能1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高。第4腳:RS為寄存器選擇,高電平 1時選擇數(shù)據(jù)寄存器、低電平 0時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。⑶特性或5V工作電壓,對比度可調(diào)內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能有80字節(jié)顯示數(shù)據(jù)存儲器 DDRAM內(nèi)建有192個5X7點陣的字型的字符發(fā)生器 CGROM8個可由用戶自定義的 5X7的字符發(fā)生器 CGRAM指令集1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置: (初始化)00110000[0x38]設(shè)置16×2顯示,5×7點陣,8位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置:(初始化)00001DCBD顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)000001NSN=1(讀或?qū)懸粋€字符后地址指針加1&光標(biāo)加1),N=0(讀或?qū)懸粋€字符后地址指針減1&光標(biāo)減1),S=1且N=1(當(dāng)寫一個字符后,整屏顯示左移)s=0當(dāng)寫一個字符后,整屏顯示不移動數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為

80H,所以數(shù)據(jù)地址為

80H+地址碼

(0-27H,40-67H)其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針

=0,所有顯示

=0);02H(顯示回車,數(shù)據(jù)指針

=0)。第四章 軟件設(shè)計開 始初始化鍵按下按下有按鍵按下key_Flag標(biāo)志位置 1沒讀取鍵值有有按鍵按判斷是否按過確下認(rèn)鍵有確認(rèn)鍵按下AD轉(zhuǎn)換使能輸出鍵按下有輸出鍵按判斷電流是否為鍵入值是DA轉(zhuǎn)換否Flag是否為1是各鍵值功能執(zhí)行

否步進加減 1Flag清0第五章 實驗總結(jié)經(jīng)測試,此數(shù)控恒流源在

0~100mA時可適用負(fù)載的電阻范圍為

0~69.Ω。在

50mA時相對誤差為

0,在

10mA時顯示電流比電流表小,在

100mA時顯示電流比電流表大。并且其誤差值近視拋物線。經(jīng)分析,我們認(rèn)為是一方面因為

DA采樣信號經(jīng)過

LM358放大

10倍時誤有一定的誤差,并不是絕對的十倍,故造成其輸出值不是理想狀態(tài)。另一方面是因為單片機的ADC模塊的參考電壓不是很準(zhǔn)確,也造成一定影響。附錄1:實物圖附錄2:程序清單#include<>#include""#include""#defineucharunsignedchar#defineuintunsignedint#define Num_of_Results 32ucharshuzi[]={"09."};staticuintresults[Num_of_Results]; ;else{dianliu1[n]='0';n++;dianliu1[n]='.';}if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);DispNChar(14,0,2,ceshi5);}elseDispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);break;}elsebreak;case6:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(6);break;}elsebreak;case7:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(5);break;}elsebreak;case8:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(4);break;}elsebreak;case9:// 清除if((n!=0)&&(d==0))//{

清除整數(shù)y=dianliu1[--n]-'0';Dianliu1=(Dianliu1-y)/10;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}elseif((d!=0)&&(m!=0))//{

清除小數(shù)y=dianliu1[m+n]-'0';Dianliu1=(Dianliu1-y)/10;m--;y=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}elseif((d!=0)&&(m==0))//{

清除小數(shù)點d=0;if(h==0){LcdWriteCommand(0x01,1);DispNChar(14,0,2,ceshi5);DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);}else{LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(14,1,2,ceshi5);DispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}}else{DispNChar(4,1,7,ceshi1);if(h==0)z=1;elsez=2;}break;case10:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(3);break;}elsebreak;case11:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(2);break;}elsebreak;case12:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(1);break;}elsebreak;case13://if((n!=0)){

確定if(m==0)daxiao=Dianliu1*10;elsedaxiao=Dianliu1;if(daxiao>1000){DispNChar(0,1,16,ceshi2);m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';if(h==1)z=2;elsez=1;break;}h=1;// 確認(rèn)標(biāo)志mm=m;nn=n;dd=d;zheng=daxiao;for(y=0;y<(n+m+d);y++)display[y]=dianliu1[y];y=0;m=0;n=0;d=0;Dianliu1=0;dianliu1[0]='\0';LcdWriteCommand(0x01,1);DispNChar(0,0,2,ceshi3);DispNChar(2,0,nn+2*mm,display);DispNChar(8,0,2,ceshi4);DispNChar(13,1,2,ceshi5);ADC12CTL0|=ENC;使能轉(zhuǎn)換// ADC12CTL0|=ADC12SC;開始轉(zhuǎn)換}break;case14://if(h==1){

暫停//jiaVV=0;com=(uint)(VV*2);//com=(uint)(VV/(2*REF)*4096);Write_A_B(com,0x0000,1,0);//A通道,慢速模式q=0;//

轉(zhuǎn)換輸出確認(rèn)位置

0break;}elsebreak;case15://if(h==1){VV=zheng;

輸出//jiancom=(uint)(VV*2);//com=(uint)(VV/(2*REF)*4096);if(com<2400)Write_A_B(com,0x0000,1,0);

//A

通道,慢速模式q=1;//

轉(zhuǎn)換輸出確認(rèn)位break;}elsebreak;case16:if((n<3&&d==0)||(m<1&&d==1)){shuzishuru(0);break;}elsebreak;}}}}voidshuzishuru(uintshuzi)//{

數(shù)字輸入dianliu1[n+m+d]='0'+shuzi;Dianliu1=10*Dianliu1+shuzi;if(d==0)n++;elsem++;if(h==0){DispNChar(8-(m+n+d+1)/2,0,n+m+d,dianliu1);DispNChar(14,0,2,ceshi5);}elseDispNChar(8-(m+n+d+1)/2,1,n+m+d,dianliu1);}/*******************************************AD模塊函數(shù)名稱:Trans_val功 能:將16進制ADC轉(zhuǎn)換數(shù)據(jù)變換成三位 10進制真實的模擬電壓數(shù)據(jù),并在液晶上顯示參 數(shù):Hex_Val--16 進制數(shù)據(jù)n-- 變換時的分母等于 2的n次方返回值 :無********************************************/voidTrans_val(uintHex_Val){uchari;Dianliu2=Hex_Val;Dianliu2=(Dianliu2*2500)/4096;Dianliu2=Dianliu2%10000;caltmp=2*caltmp;j++;Dianliu3=Dianliu3+Dianliu2;a++;if(j==300){Dianliu3=Dianliu3/a;dianliu2[0]=Dianliu3%10000/1000;dianliu2[1]=Dianliu3%1000/100;dianliu2[2]=Dianliu3%100/10;dianliu2[3]=10;dianliu2[4]=Dianliu3%10;for(i=0;i<5;i++)Disp1Char((10+i),0,shuzi[dianliu2[i]]);j=0;}k=1;if(a==30){a=0;Dianliu3=0;}ADC12CTL0&=~ENC; // 關(guān)使能轉(zhuǎn)換}/*******************************************函數(shù)名稱:ADC12ISR功 能:ADC中斷服務(wù)函數(shù),在這里用多次平均的計算口的模擬電壓數(shù)值參 數(shù):無返回值 :無********************************************/#pragmavector=ADC_VECTOR__interruptvoidADC12ISR(void){staticuintindex=0;results[index++]=ADC12MEM0; //Moveresultsif(i

溫馨提示

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

評論

0/150

提交評論