高精度溫度測量在很多場合都是需要的,有時還需要對溫度進(jìn)行精確地閉環(huán)控制。要實現(xiàn)高精度的溫度檢測,在傳感器選型、信號調(diào)理電路設(shè)計、非線性處理等方面都要下功夫,要在分析技術(shù)要求的基礎(chǔ)上逐步完成功能設(shè)計,結(jié)合軟件進(jìn)行驗證和實現(xiàn)。 2.技術(shù)要求 測溫量程:-100℃~+400℃; 測溫精度:±0.1℃; 測溫分辨率:0.01℃; 通道數(shù):16 每通道采樣頻率:≥100sps 二、具體實施內(nèi)容 1.傳感器選型,分析傳感器的檢測信號和輸出信號之間關(guān)系,找出最大誤差 2.傳感器的信號調(diào)理電路設(shè)計并且考慮遠(yuǎn)距離傳輸時導(dǎo)線電阻對測量的影響,選取合適的接線方式 3.多路開關(guān)的選擇,A/D選型,分析A/D位數(shù)產(chǎn)生的量化誤差,采樣頻率是否滿足香農(nóng)采樣定律 4.用Altium Designer 軟件畫出整個電路原理圖,設(shè)計PCB 5.A/D采樣后數(shù)據(jù)數(shù)據(jù)如何轉(zhuǎn)化成A/D輸入的實際電壓值? 如果是熱電阻傳感器,如何把電壓值反算成傳感器的電阻值? 利用C語言編寫多路數(shù)據(jù)采集程序,得到實際的電阻值 - 根據(jù)電阻值(針對熱電阻傳感器)或mV子如何得到實測的溫度?
如果通過查表的方式得到溫度,是否考慮用二分法或其它方法提高查表效率? 根據(jù)電阻值思考如何得到實測的溫度 第一部分--傳感器選型 1.介紹PT100 pt100溫度傳感器是一種將溫度變量轉(zhuǎn)換為可傳送的標(biāo)準(zhǔn)化輸出信號的儀表。主要用于工業(yè)過程溫度參數(shù)的測量和控制。 2.分析檢測信號和輸出信號的關(guān)系(excel繪制曲線) 3.實現(xiàn)高精度檢測的措施 為了實現(xiàn)高精度測量,可以對傳感器輸出信號或其他模擬信號進(jìn)行線性化處理與非線性補(bǔ)償。 線性化處理: a.函數(shù)運(yùn)算法 有些類型的傳感器的系統(tǒng)特性可以用函數(shù)關(guān)系來表示,對于此種類型的傳感器,可以把其運(yùn)算規(guī)則(反函數(shù)的)存入系統(tǒng)的微處理器,這樣每測得一個參量,就可以通過處理器的計算得到一一個需要的相應(yīng)物理量。 b.可變電壓源電橋法 用橋路中的-一個橋臂或幾個橋臂作為傳感器輸出的電阻信號,由于傳感器的輸出電阻信號跟被測物理量或化學(xué)參數(shù)呈線性關(guān)系,所以電橋的輸出信號Vo能反映出被測物理量或化學(xué)量的變化。但是由于一般的單臂電橋采用穩(wěn)壓電源供電從而使得其輸出電位與橋臂電阻的變化并不呈線性關(guān)系,有時還存在嚴(yán)重的非線性誤差。 非線性補(bǔ)償: 傳感器輸出常帶有一定的非線性信號, 當(dāng)無法用線性化處理的方法來消除非線性誤差時,為保證系統(tǒng)測試的精度,應(yīng)對輸出信號進(jìn)行非線性補(bǔ)償。通過選取適當(dāng)?shù)臄M合函數(shù),并把能實現(xiàn)擬合函數(shù)關(guān)系的電路作為傳感器信號處理電路的一部分,則在補(bǔ)償范圍內(nèi),傳感器的非線性可基本線性化。對所選擇的擬合函數(shù)的要求是:能將剩余的誤差限制在要求的范圍內(nèi),且對于輸入信號是單值性的。一般應(yīng)采用連續(xù)函數(shù)來做擬合函數(shù),雖然要進(jìn)行較多的數(shù)學(xué)運(yùn)算,但其誤差函數(shù)是平滑、連續(xù)的,故結(jié)果易于觀測分析。常用的擬合函數(shù)有: 1/x.x"、1gx\A.+Bx'等。 4.做散點圖,分析最大誤差
第二部分--傳感器的信號調(diào)理電路設(shè)計 1.總體分析 選擇采用PTl00熱電阻溫度傳感器對外界溫度進(jìn)行采集。由于PTl00傳感器是基于金屬導(dǎo)體的電阻值隨溫度的增加而增加這一特性來進(jìn)行溫度測量的,所以測量電阻就等同于測量了外界的溫度,將PT100傳感器連到電路中,將電阻信號轉(zhuǎn)換為電壓信號,考慮到導(dǎo)線的電阻以及其他因素,通過電橋設(shè)計,對兩點電位進(jìn)行比較得出差值,經(jīng)過減法放大器,比例放大器輸出0-5V電壓,調(diào)理電路設(shè)計如下:  2.回答問題:遠(yuǎn)距離傳輸時導(dǎo)線電阻對測量的影響,選取合適的接線方式,并分析原因 采用三線制是為了消除連接導(dǎo)線電阻引起的測量誤差。這是因為測量熱電阻的電路一般是不平衡電橋,熱電阻作為電橋的一個橋臂電阻,其連接導(dǎo)線(從熱電阻到中控室)也成為橋臂電阻的一部分,這一部分電阻是未知的且隨環(huán)境溫度變化,造成測量誤差。采用三線制,將導(dǎo)線一根接到電橋的電源端,其余兩根分別接到熱電阻所在的橋臂及與其相鄰的橋臂上,這樣消除了導(dǎo)線線路電阻帶來的測量誤差。所以我們組選用三線制的接線方式。 1.多路開關(guān)的選擇 根據(jù)項目設(shè)計要求,通道數(shù)為16,經(jīng)過文庫以及網(wǎng)站查閱相關(guān)資料過,選取符合要求的型號為——USR-R16-T遠(yuǎn)程控制開關(guān),16路開關(guān)控制,用戶可在直連、局域、遠(yuǎn)程三種模式下實時、定時控制設(shè)備。 2.A/D選型 根據(jù)每通道采樣頻率:≥100sps,和測溫精度:±0.1℃,選取A/D轉(zhuǎn)換器——ISLA216S,ISLA216S是一系列的低功耗,高性能,16位模數(shù)轉(zhuǎn)換器。該系列采用標(biāo)準(zhǔn)CMOS工藝的FemtoCharge?技術(shù)設(shè)計,支持高達(dá)250MSPS的采樣率。 ISLA216S是引腳兼容的12,14和16位A/D系列的一部分,最大采樣速率范圍為130至500MSPS,與ISLA216P系列ADC共用相同的模擬內(nèi)核。該系列最大限度地降低了功耗,同時提供了最先進(jìn)的動態(tài)性能,提供了最佳的性能與功耗之間的權(quán)衡。 3.分析A/D位數(shù)產(chǎn)生的量化誤差 數(shù)采設(shè)備通過AD進(jìn)行量化,量化是指現(xiàn)實世界中的時域信號的連續(xù)幅值離散成若干個量化量級,量化誤差是指量化結(jié)果和被量化模擬量的差值,顯然量化級數(shù)越多,量化的相對誤差越小,每一個均值的大小稱為一個量化單位。A/D位數(shù)越高,量化量級(可理解為最小刻度)越小,轉(zhuǎn)換后的數(shù)據(jù)幅值精度越高,量化誤差越小。 香農(nóng)采樣定律:為了不失真地恢復(fù)模擬信號,采樣頻率應(yīng)該不小于模擬信號頻譜中最高頻率的2倍(f s≥2f max)。采樣頻率滿足香農(nóng)采樣定律
第四部分——設(shè)計PCB 1.介紹PCB PCB( Printed Circuit Board),中文名稱為印制電路板,又稱印刷線路板,是重要的電子部件,是電子元器件的支撐體,是電子元器件電氣連接的載體。由于它是采用電子印刷術(shù)制作的,故被稱為“印刷”電路板。 - 根據(jù)設(shè)計電路繪制電路原理圖,設(shè)計PCB
經(jīng)過幾天自學(xué),成果展示如下:  
第五部分 問題描述: - A/D采樣后數(shù)據(jù)數(shù)據(jù)如何轉(zhuǎn)化成A/D輸入的實際電壓值?
第一種類型:模擬信號傳感器 模擬信號采集通道前端采用輸出信號為模擬信號的傳感器(如電阻式、電感式、磁電式、熱電式等)。當(dāng)傳感器輸出不是電量而是電參量時,需要通過基本轉(zhuǎn)換電路將其轉(zhuǎn)換為電量,再通過相應(yīng)的放大、調(diào)制解調(diào)、濾波和運(yùn)算電路將需要的信號檢測出來,傳遞給信息采集接口電路,進(jìn)人控制系統(tǒng)或顯示,其基本構(gòu)成如圖5-1所示。  第二種類型:數(shù)字信號傳感器 數(shù)字信號采集通道前端采用數(shù)字式傳感器(如光柵、磁柵、容柵、感應(yīng)同步器等),再經(jīng)放大、整形后形成數(shù)宇脈沖信號,并由細(xì)分電路進(jìn)一步提高信號分辨率,脈沖當(dāng)量變換電路對脈沖信號進(jìn)行進(jìn)一步處理,讀出信號并送計數(shù)器和寄存器,或直接送控制器和顯示,其基本構(gòu)成如圖5-2所示。  問題描述二: 如果是熱電阻傳感器,如何把電壓值反算成傳感器的電阻值? 熱電阻是基于電阻的熱效應(yīng)進(jìn)行溫度測量的,即電阻體的阻值,隨溫度的變化而變化的特征。因此,只要測量出感溫?zé)犭娮璧淖柚底兓,就可以測量出溫度。 利用C語言編寫多路數(shù)據(jù)采集程序,得到實際的電阻值
- #include <reg52.h>
- //#include <intrins.h>
- sbit IO_18B20 =P2^0;
- unsigned char wei[]={0x1,0x2,0x4,0x8};
- char temp_data,temp_data1;
- unsigned char duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};
- unsigned char disp[]={5,0,0,0};
- /oid delayx10us(unsigned char t);
- void delay_ms( int x);
- void write18b20(unsigned char dat);
- void tempchange(void);
- void display();
- void display1();
- bit read_bit();
- bit Init_Ds18b20();
- unsigned char read18b20();
- int get18b20temp();
- void main()
- {
- P0=0Xff;
- P3=0Xff;
- while(1)
- {
- tempchange();
- temp_data=get18b20temp()/16; // 取整數(shù)部分
- if(temp_data<0&&temp_data>=(-10)) //如果讀取到的值大于負(fù)10小于 0,顯示負(fù)號且將值轉(zhuǎn)換為正數(shù)
- {
- disp[0]= 16;
- temp_data=0-temp_data; //將負(fù)數(shù)轉(zhuǎn)換為正數(shù)
- }
- else
- {disp[0]=temp_data/100;}
- temp_data1=temp_data%100;
- disp[1]=temp_data1/10;
- disp[2]=temp_data1%10;
- disp[3]=12; //顯示溫度單位C
- if((temp_data>=(-100))&&(temp_data<=(400))) //如果讀取到的數(shù)值的范圍在-100~400之間,就顯示出來
- {
- display();
- }
- }
- }
復(fù)制代碼 第六部分:
問題描述:
根據(jù)電阻值(針對熱電阻傳感器)或mV(針對熱電偶傳感器)子如何得到實測的溫度?
1.兩種不同成份的導(dǎo)體(稱為熱電偶絲材或熱電極)兩端接合成回路,
熱電偶當(dāng)兩個接合點的溫度不同時,在回路中就會產(chǎn)生電動勢,這種現(xiàn)象稱為熱電效應(yīng),而這種電動勢稱為熱電勢。熱電偶就是利用這種原理進(jìn)行溫度測量的,其中,直接用作測量介質(zhì)溫度的一端叫做工作端(也稱為測量端),另一端叫做冷端(也稱為補(bǔ)償端);冷端與顯示儀表或配套儀表連接,顯示儀表會指出熱電偶所產(chǎn)生的熱電勢。
2.熱電偶實際上是一種能量轉(zhuǎn)換器,它將熱能轉(zhuǎn)換為電能,用所產(chǎn)生的熱電勢測量溫度,對于熱電偶的熱電勢,應(yīng)注意如下幾個問題:
1、熱電偶的熱電勢是熱電偶工作端的兩端溫度函數(shù)的差,而不是熱電偶冷端與工作端,兩端溫度差的函數(shù);
2、熱電偶所產(chǎn)生的熱電勢的大小,當(dāng)熱電偶的材料是均勻時,與熱電偶的長度和直徑無關(guān),只與熱電偶材料的成份和兩端的溫差有關(guān);
3、當(dāng)熱電偶的兩個熱電偶絲材料成份確定后,熱電偶熱電勢的大小,只與熱電偶的溫度差有關(guān);若熱電偶冷端的溫度保持一定,這進(jìn)熱電偶的熱電勢僅是工作端溫度的單值函數(shù)。將兩種不同材料的導(dǎo)體或半導(dǎo)體A和B焊接起來,構(gòu)成一個閉合回路,如圖所示。當(dāng)導(dǎo)體A和B的兩個執(zhí)著點1和2之間存在溫差時,兩者之間便產(chǎn)生電動勢,因而在回路中形成一個大小的電流。熱電偶就是利用這一效應(yīng)來工作的。
問題描述:
如果通過查表的方式得到溫度,是否考慮用二分法或其它方法提高查表效率?
用最少的運(yùn)算次數(shù)找出數(shù)據(jù)位置,基礎(chǔ)思路。1000個數(shù)據(jù),第一次判定是前500還是后500,第二次是前250還是后250.這樣1000個數(shù)據(jù)很快就可以查完。
uint8 FineTab(uint16 *a,uint8 TabLong,uint16 data)//表中數(shù)據(jù)從大到小
{
uint8 st,ed,m ;
uint8 i ;
st = 0 ;
ed = TabLong-1 ;
i = 0 ;
if(data >= a[st]) return st ;
else if(data <= a[ed]) return ed ;
while(st < ed)
{
m = (st+ed)/2 ;
if(data == a[m] ) break ;
if(data < a[m] && data > a[m+1]) break ;
if(data > a[m]) ed = m ;
else st = m ;
if(i++ > TabLong) break ;
}
if(st > ed ) return 0 ;
return m ;
}
以上的Word格式文檔51黑下載地址:
機(jī)電一體化系統(tǒng)設(shè)計51hei(1).docx
(362.61 KB, 下載次數(shù): 34)
2020-12-14 23:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|