找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3108|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于PT100熱電阻傳感器的溫度采集系統(tǒng)設(shè)計資料

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:848290 發(fā)表于 2020-12-14 23:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

高精度溫度測量在很多場合都是需要的,有時還需要對溫度進(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)線線路電阻帶來的測量誤差。所以我們組選用三線制的接線方式。

  • -設(shè)備的選擇

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)采樣定律

香農(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ù)采集程序,得到實際的電阻值


  1. #include <reg52.h>
  2. //#include <intrins.h>
  3. sbit IO_18B20 =P2^0;
  4. unsigned char wei[]={0x1,0x2,0x4,0x8};
  5. char temp_data,temp_data1;
  6. unsigned char duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};
  7. unsigned char disp[]={5,0,0,0};
  8. /oid delayx10us(unsigned char t);
  9. void delay_ms( int x);
  10. void write18b20(unsigned char dat);
  11. void tempchange(void);
  12. void display();
  13. void display1();
  14. bit read_bit();
  15. bit Init_Ds18b20();
  16. unsigned char read18b20();
  17. int get18b20temp();

  18. void main()
  19. {
  20.         P0=0Xff;
  21.         P3=0Xff;
  22.         while(1)
  23.         {
  24.    tempchange();
  25.          temp_data=get18b20temp()/16;       // 取整數(shù)部分
  26.                 if(temp_data<0&&temp_data>=(-10)) //如果讀取到的值大于負(fù)10小于 0,顯示負(fù)號且將值轉(zhuǎn)換為正數(shù)
  27.                 {
  28.      disp[0]= 16;
  29.                  temp_data=0-temp_data;         //將負(fù)數(shù)轉(zhuǎn)換為正數(shù)
  30.                 }
  31.           else
  32.                 {disp[0]=temp_data/100;}
  33.                 temp_data1=temp_data%100;
  34.                 disp[1]=temp_data1/10;
  35.                 disp[2]=temp_data1%10;
  36.                 disp[3]=12;                                //顯示溫度單位C
  37.                 if((temp_data>=(-100))&&(temp_data<=(400))) //如果讀取到的數(shù)值的范圍在-100~400之間,就顯示出來
  38.                 {
  39.                   display();
  40.                 }
  41.         }
  42. }

復(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)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏8 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表