欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 高精度電流表 [打印本頁]

作者: songyuan    時間: 2018-3-15 09:12
標題: 高精度電流表
基于單片機的高精度直流電流表的設計與實現

第二章總體方案設計
2.1數字電流表的工作原理
[3]用單片機及其擴展的外部電路先做成一個理想電壓表,圖1中用G表示。由于通常所說的電流表是指靈敏電流計其量程太小,不能直接測量電流,僅用于檢測有無電流和電流的方向,所以要想得到一個有多量程或量程較大的電流表需要將一個理想電壓表改裝而成。本設計是用一個內阻視為無窮大的電壓表并聯分流電阻而成的數字電流表。待測電流I隨搬動開關K的位置而流過R1或R2,因而本電流表的兩個量程就取決于G的滿量程電壓和R1、R2的阻值,記G的滿量程電壓為Ug,根據歐姆定律Ug=RgIg,若
Ug和Rg已知則Ig就是電流表的滿量程電流。
Gt
V
R1
100
R2K
1
i
2.2方案比較及方案選擇
方案一:
選用內置AD轉換器的單片機如MSP430系列作為核心處理器,實現本設計的需求,此方案的好處在于,所需芯片、外圍電路較少,但對程序要求比較高。
信號輸入
顯示 單片機
MSP430
1
信號放大
方案二:
方案二是選用ADC0809為轉換芯片和單片機組成的系統,ADC0809是采樣頻率為8位的、以逐次逼近原理進行模—數轉換的器件。其內部有一個8通道多路開關,它可以根據地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉換,它的輸出為并行輸出。且功耗低,工作溫度范圍廣轉換時間較快為100us,具有轉換起停控制端。
信號輸入MCU 檔位選擇 STC89C52 單片機
數碼管顯示
信號放大
A/D轉換
2.3方案選擇
通過比較兩種方案,采用方案二ADC0809轉換芯片來完成本次設計,他功耗低,模擬輸入電壓范圍0,,5V,不需零點和滿刻度校準,換時間快,具有轉換起停控制端,且并行輸出單片機引腳也夠,所以本次設計采用方案二。
2
2.4功能要求
1、數字電流表在平常工作環境中能良好工作
2、能測0——20mA電流,至少能達0.1%的精度
3、要求掌握I/V信號轉換,A/D轉換器的使用和數據采集系統的設計4、電流表能數字顯示,且由單片機處理采集數據并驅動LED顯示 2.5計思路
1、根據設計要求,選擇STC89C52單片機作為核心控制器件。
2、A/D轉換采用ADC0809。與單片機的接口為P1口的高四位引腳。
3、采用數碼管顯示。
4、又P0口輸出顯示數據。
3
第三章單元模塊設計
3.1各單元模塊功能介紹及電路設計
3.1.1高共模抑制比放大電路
如下圖,由雙運放組成的同相輸入高共模抑制比放大電路,其閉環輸出可表示為:
R2*R4U1,U212R1R2*R4U0,(1,)*(),(1,,)(U1,U2)
為使共模R1*R322R2R1*R3
輸入為0,可令R1/R2=R4/R3,此時電路的差動閉環增益為Kd=1+R1/R2,U0=Kd(U1-U2); 下圖即Kd=11,U0=11(U1-U2);第二級為同相放大電路,放大倍數可通過電位器調節。
4
3.1.2數模轉換模塊
ADC0809美國國家半導體公司生產的一種8 位分辨率、雙通道 A/D 轉換芯片。由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業歡迎,其目前已經有很高的普及率。
5
3.1.3單片機周邊電路
復位電路與晶振電路(12Mhz),保證單片機正常運行
6
3.1.4顯示電路
采用6位LED數碼管顯示,P0口為段選,P2口為位選,P0口有8個1K上拉電阻
7
3.2電路參數的計算及元器件的選擇3.2.1單片機STC89C52
STC52是美國ATMEL 公司生產的低電壓,高性能CMOS 8 位單片機,片內含8k bytes 的可反復擦寫的只讀程序存 儲器(PEROM)和256 bytes 的隨機存取數據存儲器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲技術生產, 與標準MCS-51 指令系統及8052 產品引腳兼容,片內置通用8 位 央處理器(CPU)和Flash存儲單元,功能強大AT89C52 單片機適合于許多較為復雜控制應用場合。 主要性能參數
?與MCS-51產品指令和引腳完全兼容 ?8k 字節可 擦寫Flash 閃速存儲器 ?1000 次擦寫周期
?全靜態操作:0Hz,24MHz?三級加密程序存儲器
?256×8 字節內部RAM
?32個可編程I ,O 口線
?3 個16位定時,計數器
?8 個斷源
?可編程串行UART通道
8
?低功耗空閑和掉電模式
功能特性概述
STC89C52提供以下標準功能:8k 字節Flash 閃速存儲器,256 字節內部RAM,32 I ,O 口線,3 個16位定時,計數器,一個6 向量兩級 斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,STC89C52可降至0Hz 的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU 的工作,但允許RAM,定時,計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。
3.2.2ADC0809
ADC0809是帶有8 位A/D 轉換器、8 路多路開關以及微處理機兼容的控制邏輯的CMOS 組件。它是
逐次逼近式A/D轉換器,可以和單片機直接接口。
(1)ADC0809的內部邏輯結構
由下圖可知,ADC0809由一個8 路模擬開關、一個地址鎖存與譯碼器、一個A/D 轉換器和一
個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8 路模擬量分時輸入,共用
A/D轉換器進行轉換。三態輸出鎖器用于鎖存A/D 轉換完的數字量,當OE 端為高電平時,才
可以從三態輸出鎖存器取走轉換完的數據。
(2)(ADC0809 引腳結構
ADC0809各腳功能如下:
D7-D0:8位數字量輸出引腳。
IN0-IN7:8位模擬量輸入引腳。
VCC:+5V工作電壓。
GND:地。
REF(+):參考電壓正端。
REF(-):參考電壓負端。
START:A/D轉換啟動信號輸入端。
ALE:地址鎖存允許信號輸入端。
(以上兩種信號用于啟動A/D轉換)
EOC:轉換結束信號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平。OE:輸出允許控制端,用以打開三態數據輸出鎖存器。
CLK:時鐘信號輸入端(一般為500KHz)。
xiaoylly
A、B、C:地址輸入線。
9
ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0,5V,若信號太小,必須進行放大;
輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保
持電路。
地址輸入和控制線:4條
ALE為地址鎖存允許輸入線,高電平有效。當ALE 線為高電平時,地址鎖存與譯碼器將A,
B,C三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬量進轉換器進行轉換。
A,B和C 為地址輸入線,用于選通IN0,IN7 上的一路模擬量輸入。通道選擇表如下表所示。
C BA 選擇的通道
0 00 IN0
0 01 IN1
0 10 IN2
0 11 IN3
1 00 IN4
1 01 IN5
1 10 IN6
1 11 IN7
數字量輸出及控制線:11條
ST 為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D 轉換;
在轉換期間,ST應保持低電平。EOC 為轉換結束信號。當EOC 為高電平時,表明轉換結束;
否則,表明正在進行A/D轉換。OE 為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出
轉換得到的數據。OE,1,輸出轉換得到的數據;OE,0,輸出數據線呈高阻狀態。D7,D0為
數字量輸出線。
CLK為時鐘輸入信號線。因ADC0809 的內部沒有時鐘電路,所需時鐘信號必須由外界提供,通常
使用頻率為500KHZ,
VREF(,),VREF(,)為參考電壓輸入。
3.2.3放大芯片UA741
741放大器為運算放大器中最常使用的一種,擁有反相向與非反相兩輸入,由輸入端輸入欲被放大的電流或電壓信號,經放大后由輸出端輸出。放大器作用的最大特點為需要一對同樣大小的正負電源,其值由正負12V至正負18V不等,而一般使用正負15
10
的電壓。UA741運算放大器的外型與管腳配置分別如下圖。
圖1:放大器外型圖2:放大器管腳
UA741運算放大器使用時需于7、4管腳供應一對同等大小的正負電源電壓+Vdc與-Vdc,一旦于2、3管腳即兩輸入端間電壓差存在,壓差即會被放大于輸出端,唯Op放大器具有的一特色其輸出電壓值決不會于正電源電壓+Vdc或小于電源電壓-Vdc,輸入電壓差經放大后若大于外接電源電壓+Vdc至-Vdc之范圍,其值會等于+Vdc或-Vdc,故一般運算放大器輸出電壓均具有下圖的曲線。
圖3:放大器輸入輸出與電源電壓的關系
運放類型:低功率
11
放大器數目:1
帶寬:1MHz
針腳數:8
工作溫度范圍:0?Cto +70?C
封裝類型:DIP
器件標號:741
器件標記:UA741
增益帶寬:1MHz
工作溫度最低:0?C
工作溫度最高:70?C
放大器類型:低功耗
溫度范圍:商用
運放特點:高增益頻率補償運算
額定電源電壓:+15V
3.2.4LED顯示
LED顯示電路的選擇
LED顯示器是由N個LED顯示塊拼接成N位LED顯示器。N個LED顯示塊有N跟位選線,根據顯示方式的不同,位選線和段選線的連接方法也各不相同,段選線控制顯示字符的字型,而位選線為各個LED顯示塊的公共端,它控制該LED顯示位的亮、暗。LED顯示器有靜態顯示和動態顯示兩種顯示方式。
(1)LED靜態顯示方式:
LED顯示器工作于靜態顯示方式時,各位的共陰極(或共陽極)連接在一起并接地(或+5V);每位的段選線(a,dp)分別與一個8位的鎖存器輸出相連。所以稱為靜態顯示。各個LED的顯示字符一經確定,相應鎖存器的輸出將維持不變,直到顯示另一個字符為止。也正因此如此,靜態顯示器的亮度都較高。這種顯示方式接口編程容易。付出的代價是占用口線較多,若用I/O接口,則要占用6個8位I/O口,若用鎖存器接口,則要用6片74LS373芯片。如果顯示器位數增多,則靜態顯示方式更是無法適應,因此在顯示位數較多的情況下,一般都采用動態顯示方式。
12
(2)LED動態顯示方式:
在多位LED顯示時,為了簡化硬件電路,通常將所有位的段選線相應的并聯在一起,有一個8位I/O口控制,形成段選線的多路復用。而各位的共陽極或共陰極分別由相應的I/O線控制,實現各位的分時選通。其中段選線占用一個8位I/O口,而位選線占用一個4位I/O口。由于各位的段選線并聯,段碼的輸出對各位來說都是相同的,因此,同一時刻,如果各位位選線都處于選通狀態的話,4位LED將顯示相同的字符。若要各位LED能夠顯示出與本位相應的顯示字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線狀態,而其他各位的位選線處于關閉狀態,同時,段選線上輸出相應位要顯示字節的段碼。在確定LED不同位顯示的時間間隔,不能太短,因為發光二極管從導通到發光有一定的延時,導通時間太短,發光太弱人眼無法看清。但也不能太長,因為畢竟要受限于臨界閃爍頻率,而且此時間越長,占用CPU時間也越多,另外,顯示位增多,也將占用大量的CPU時間,因此動態顯示實質是一犧牲CPU時間來換取元件的減少。
所以,由于本系統涉及到6位顯示輸出,采用LED動態掃描顯示方式。
13
3.3各單元模塊的聯接
3.3.1采樣探針與放大電路
14
3.3.2放大電路與AD芯片
ADC0809選用IN0作為為信號輸入端。
15
3.3.3ADC0809與80c52單片機連接
ADC0809與單片機P1口連接。
16
3.3.4單片機與LED數碼管顯示
段選為P0口,位選為P2口
17
第四章軟件設計 程序均用keil4軟件C語言編寫。
4.1系統程序設計總方案
根據模塊的劃分原則,將該程序劃分初始化模塊,A/D轉換子程序和顯示子程序,
這三個程序模塊構成了整個系統軟件的主程序,如圖5.1所示。
入口
初始化
調用A/D轉換子程序
判斷檔位
調用顯示程

出口
圖4.1數字式直流電流表主程序框圖
18
4.2系統子程序設計
4.2.1初始化程序
所謂初始化,是對將要用到的MCS_51系列單片機內部部件或擴展芯片進行初始工作狀態設定,初始化子程序的主要工作是設置定時器的工作模式,初值預置,開中斷和打開定時器等。
4.2.2A/D轉換子程序
A/D轉換子程序用來控制對輸入的模塊電流信號的采集測量,并將對應的數值存入相應的內存單元,其轉換流程圖如圖4.2所示。
入口
初始化
啟動轉換
A/D轉換結束,
輸出轉換結果
出口
圖4.2A/D轉換流程圖
19
4.2.3顯示子程序
顯示子程序采用動態掃描實現四位數碼管的數值顯示,在采用動態掃描顯示方式時,要使得LED顯示的比較均勻,又有足夠的亮度,需要設置適當的掃描頻率,當掃描頻率在70HZ左右時,能夠產生比較好的顯示效果,一般可以采用間隔10ms對LED進行動態掃描一次,每一位LED的顯示時間為1ms。
在本設計中,為了簡化硬件設計,主要采用軟件定時的方式,即用定時器0溢出中斷功能實現11μs定時,通過軟件延時程序來實現5ms的延時。其轉換流程圖如圖5.3所示。
顯示程序入口
取出單片機寄存器數據
處理計算數據
等待顯示數據的顯示碼
數碼管顯示一位
延時
4位顯示完成,
出口
圖4.3顯示子程序流程圖
20
第五章系統技術指標及精度和誤差分析 在+探針加上1.75v,在-探針加上1.5v,經過10歐電阻得出24.92mA 誤差小于0.08mA
21
22
設計總結
在本次設計過程中遇到了不少問題,在同組同學的幫助下才順利的完成了本次課程設計。
設計對以前學過ADC的轉換,也就是信號的離散化過程中,可能會使所得的數據與原來系統中的參數稍有不同。這一項不足完全可以由提高系統的數據采集單元的精度來彌補,很好地復現出原值。
目前單片機技術在測控系統、智能儀表、機電一體化、家用電器等領域均得到了廣泛的應用,極大地推動了電子產業的發展。2006年,單片機設計師也正式成為我國的一種新職業。鑒于單片機及嵌入式系統在工業領域和日常生活中的應用日趨廣泛和深入,以及社會對單片機人才的大量需求,單片機已成為電子、計算機、信息、通信、電氣、
[4]自動化、機電、數控等各工科專業學生必須要掌握的一門基本技術。
智能化微機測量和控制技術的迅速發展和廣泛應用己經滲透到國民經濟的各個部門。不但國防技術、航空、鐵路、冶金、化工等產業,就連在日常生活中也得到廣泛的應用。在研究國內外有關智能儀器儀表最新科研成果的基礎上,采用單片機作為測量儀器的主控制器,從軟硬件方面出發設計出可與上位計算機進行通信的新型電流表系統
23
參考文獻
[1]吳金戌.8051單片機實踐與應用.北京:清華大學出版社,2002 [2] 余錫存 《單片機原理及接口技術》 西安電子科技大學出版社 2000年 [3] 龍脈工作室《51單片機C語言應用開發技術大全》人民郵電出版社 08年9月 [4] 余錫存 《單片機原理及接口技術》 西安電子科技大學出版社 2000年 [5] 張國勛.縮短ICL7135A/D采樣程序時間的一種方法,1993[6] 潭浩強 《C程序設計》清華大學出版社 2003年
24
25
附錄
附錄I
原理圖
附錄II
源程序
#include<reg52.h>
#defineuchar unsigned char #define uint unsigned int uchar cmd;
uintge,shi,bai,qian,wan;
sbitOE =P2^7;
26
sbitCLK =P2^6;
sbitEOC =P3^0;
sbitSARTT =P3^1;
sbitADD1 =P3^5;
sbitADD2 =P3^6;
sbitADD3 =P3^7;
ucharcode
dux[]={0x3F,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
ucharcode wex[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
voiddelay(uchar i);
voidinit()
{
P1=0x00;
EA=1;
TMOD=0x02; //設置定時器T0工作方式 TH0 =216; //利用定時器T0產生CLK信號
TL0=216;
TR0=1; //啟動定時器 ET0 =1; //定時器溢出中斷允許 START =0;
27
OE=0;
}
voiddisplay() //數據處理 {
ge=(cmd*195)%10;
shi=(cmd*195)/10%10;bai=(cmd*195)/100%10; qian=(cmd*195)/1000%10; wan=(cmd*195)/10000%10;disled(wex[1],dux[wan]); disled(wex[2],dux[qian]); disled(wex[3],0x80);disled(wex[4],dux[bai]); disld(wex[5],dux[shi]); disled(wex[6],dux[ge]); }
voiddisled(uchar we,uchar du) //顯示 {
P2=we;
delay(10);
P0=du;
delay(10);
28
}
voidAD()
{
START=0;
ADD1=0; //選擇IN0通道 ADD2 =0;
ADD3=0;
delay(10);
START=1; //啟動AD 轉換 delay(10);
START=0;
while(!EOC);
OE=1;
cmd=P1;
OE=0;
}
voidt0(void) interrupt 1 using 0 //T0中斷服務程序
{
CLK=~CLK;
}
voiddelay(uchar i) //延遲函數
29
{
ucharj
while(i--)
{
for(j=125;j>0;j--);
}
}
voidmian()
{
inti();
while(1);
{
AD();
cmd=P1;
dispiay();
}
}
30


作者: PROTUSE    時間: 2018-6-14 00:17
沒圖啊
作者: c20160526    時間: 2018-10-8 07:57
有沒有電路圖,量程是多少,精度怎么樣?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1