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