PT100温度测量研究.docx
《PT100温度测量研究.docx》由会员分享,可在线阅读,更多相关《PT100温度测量研究.docx(21页珍藏版)》请在冰豆网上搜索。
PT100温度测量研究
目录
摘要·······················································
(1)
Abstract···················································
(1)
前言·······················································
(1)
第一章PT100·············································
(2)
1.1PT100阻值与温度的关系··································
(1)
1.2PT100的各种接线方式····································(3)
第二章ATmega16微处理器··································(4)
2.1单片微机的发展··········································(4)
2.2AVR单片机的特点········································(4)
2.3AVR与51、PIC单片机的比较······························(5)
2.4ATmega16的特性·········································(5)
2.5ATmega16引脚说明·······································(8)
第三章实验应用··········································(11)
3.1恒流源的设计···········································(11)
3.2A/D转换·················································(11)
3.3PT100温度计算数据的处理································(14)
3.4查表方法················································(17)
第四章结论···············································(20)
参考文献····················································(21)
致谢························································(22)
PT100温度测量研究
摘要
本文介绍了铂热电阻PT100的特性和PT100温度和阻值对应关系,采用16KB的8位AVR微控制器ATmega16协同工作。
通过恒流源将采集到的信号转换成电压信号;再经过A/D转换成数字信号并由单片机系统读取;单片机系统把读取到的数字信号进行识别处理,并换算成与温度对应的数字信号,最后再由LCD显示输出温度值。
关键字:
PT100、温度测量、单片机
Abstract
ThisthesisintroducesthefeaturesofplatinumthermalresistancePT100,andthecorrespondingrelationsbetweentemperatureandresistanceonPT100.Duringtheexperiment,a8bits(16kb)AVRmicrocontrollerATmega16isused.Thesignalistransformedintovoltagesignalthroughaconstant-currentsource;thenthevoltagesignalistransformedintodigitalsignalbyA/D,andreadbyasinglechipsystem;afterthat,thesinglechipsystemputsthedigitalsignalintoarecognitionprocess,thentransformeditintoadigitalsignalwhichcorrespondstothetemperature.Intheend,thetemperaturevalueisdisplayedthroughaLCDscreen.
Keywords:
PT100、Temperaturemeasurement、SCM
前言
在工业生产过程中,温度一直都是一个很重要的物理参数,温度的检测和控制直接和安全生产、产品质量、生产效率、节约能源等重大技术经济指标相联系,因此在国民经济的各个领域中都受到了人们的普遍重视。
随着传感器技术和电子测量技术的迅猛发展,以单片机为主的嵌入式系统已广泛应用于工业现场,新型的电子测温仪器不仅操作简单,而且精度比传统仪器有很大提高。
目前在工业生产现场使用最广泛的温度传感器主要有热电偶和热电阻,例如铂热电阻PT100就是使用最广泛的传感器之一。
本文介绍的就是PT100的温度研究。
第一章PT100
1.1PT100的阻值与温度之间的关系
铂电阻是用很细的铂丝(Ф0.03~0.07mm)绕在云母支架上制成,是国际公认的高精度测温标准传感器。
因为铂电阻在氧化性介质中,甚至高温下其物理、化学性质都非常稳定,因此它具有精度高、稳定性好、性能可靠的特点。
铂电阻在中温(-200~650℃)范围内得到广泛应用。
目前市场上已有用金属铂制作成的标准测温热电阻,如PT100、PT500、PT1000等。
它的电阻—温度关系的线性度非常好,如图1所示是其电阻—温度关系曲线,在-200~650℃温度范围内线性度已经非常接近直线。
由于铂电阻的测量精度、测量范围、线性度等特性都非常好,在工业生产中应用最广,市场上已有用金属铂制作成的标准测温热电阻,如PT100、PT500、PT1000等。
本系统采用的是PT100,它的电阻—温度关系的线性度非常好,如图1.1所示是其电阻—温度关系曲线,在-200~650℃温度范围内线性度已经非常接近直线。
图1.1PT100的电阻—温度关系曲线
铂电阻阻值与温度的关系可以近似用下式表示:
在0~650℃范围内:
Rt=R0(1+At+Bt2)………………………
(1)
在-190~0℃范围内:
Rt=R0(1+At+Bt2+C(t-100)t3)…………
(2)
式中A、B、C为常数,
A=3.96847×10-3;
B=-5.847×10-7;
C=-4.22×10-12;
Rt为温度为t时的电阻值;R0为温度为0℃时的电阻值,对于PT100这种型号的铂热电阻,R0就等于100Ω,即环境温度等于0度的时候,PT100的阻值就是100Ω。
当温度变化的时候,通过以上电阻-温度表达式计算出环境的温度。
但由于该表达式相对来说比较复杂,若用单片机处理这相的计算过程,将会占用大量的资源,程序的编写上也相当复杂,所以一般采用先查表再插值的方法。
。
1.2PT100的各种接线方式
铂热电阻的使用,一般有三种接法,分别是二线制接法、三线制接法和四线制接法,如图1.2所示,不同的接法适应于不同的精度要不求。
(a)二线制(b)三线制(c)四线制
图1.2PT100三种接线方式
1.二线制接法:
如图2(a)所示,这种接法不考虑PT100电缆的导线电阻,将A/D采样端与电流源的正极输出端接在一起,这种接法由于没有考虑测温电缆的电阻,因此只能适用于测温距离较近的场合。
2.三线制接法:
如图2(b)所示,这种接法增加了用于A/D采样的补偿线,三线制接法消除了连接导线电阻引起的测量误差,这种接法适用于中等测温距离的场合。
3.四线制接法:
如图2(c)所示,这种接法不仅增加了A/D采样补偿线,还加了一条A/D对地的补偿线,这样可以近一步的减小测量误差,可以用于测温距离较远的场合。
第二章ATmega16微处理器
由于微电子技术和数字技术的飞速发展,二十多年来计算机、尤其是微型计算机及其应用技术取得极其广泛和深刻的进步。
其中单片微机由4位、8位,迅速发展到16位、32位,在运算速率、总线控制、存储容量,接口功能及数量、开发工具、软件支持等方面都取得了长足的进步。
单片微机具有体积小、价格低、高性能、应用开发简捷等优点,在工业控制、生产自动化、机械、电器、智能仪器仪表、信息家电、航空航天、通讯导航、汽车电子等领域,得到异乎寻常、日益广泛的应用。
2.1单片微机的技术发展
1975年,4位单片机诞生,揭开了单片机的历史。
1976年,Intel公司的MCS-48系列单片机的出现,使单片机进入了8位机的历史阶段。
几年后,Motorola公司、仙童公司、国家半导体公司和日立等公司也先后推出了8位单片机。
这些单片机主要应用于工业控制及多机控制系统,用来满足各种对象的控制要求。
因此,单片机必须具有各种不同规格的接口,如传感器、各种驱动功率接口、数据的串/并接口。
所以8位单片机在功能上有了很大的发展。
1983年,Intel公司又推出了16位单片机,如MC3-96系列产品。
MC3-96系列集成度达到12万的晶体管/片。
它的性能相当好。
近几年,有些公司又推出了32位单片机,如HITACHI公司的SH7000系列,NEC的MPD77230。
这种单片机也称高级信号处理器。
它被用作数字滤波、高速数据调制、高速控制、图像处理、图形传送、语音处理等。
2.2AVR单片机的特点
单片机按CPU的处理能力分类目前有4位、8位、16位、32位,位数越高的单片机在数据处理能力和指令系统方面就越强,AVR、51、PIC都属于8位机。
8位单片机也是目前应用最广泛的单片机,在各个领域上都可以看到它的身影。
AVR单片机是1997年由ATMEL公司研制开发的一种新型的8位单片机,AVR单片机分抵挡的ATtiny系列、中档的AT90S系列、高档的ATmega系列,本站推荐初学者选择学习的芯片型号是ATmega48/88/168或者ATmega16;不推荐使用中档的AT90S系列,因为它们都是比较早期的产品,现在它们早已经停产了。
AVR单片机全部型号(个别老型号除外)都支持ISP在线编程(烧写)、芯片可以反复擦写,这样学习AVR就变得非常的方便,设计者可以通过下载线直接在目标电路板上对芯片进行编程、调试,而不需要把芯片放在专用的编程器或者仿真器上烧写与调试。
2.3AVR与51、PIC单片机的比较
1、在相同的系统时钟下AVR运行速度最快;
2、所有AVR单片机的FLASH、EEPROM蓄存器都可以反复烧写、支持在ISP在线编程(烧写),入门费用非常少;
3、片内集成多种频率的RC振荡器、上电自动复位、看门狗、启动延时等功能,使得电路设计变得非常简单;
4、每个IO口作输出时都可以输出很强的高、低电平,作输入时IO口可以是高阻抗或者带上拉电阻;
5、片内具有丰富实用的资源,如AD模数器、DA数模器,丰富的中断源、SPI、USART、TWI通信口、PWM等等;
6、片内采用了先进的数据加密技术,大大的提高了破解的难度;
7、片内FLASH空间大、品种多,引脚少的有8脚,多的有64脚等各种封装
8、部分芯片的引脚兼容51系列,代换容易,如ATtiny2313兼容AT89C2051,ATmega8515/162兼容AT89S51等
本设计使用的是ATMEL公司的ATmeag16单片机。
本芯片是以Atmel高密度非易失性存储器技术生产的。
片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。
引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。
在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。
通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。
2.4ATmega16微处理器
•高性能、低功耗的8位AVR微处理器
•先进的RISC结构
131条指令–大多数指令执行时间为单个时钟周期
32个8位通用工作寄存器
全静态工作
工作于16MHz时性能高达16MIPS
只需两个时钟周期的硬件乘法器
•非易失性程序和数据存储器
16K字节的系统内可编程Flash
擦写寿命:
10,000次
具有独立锁定位的可选Boot代码区
通过片上Boot程序实现系统内编程
真正的同时读写操作
512字节的EEPROM
擦写寿命:
100,000次
1K字节的片内SRAM
可以对锁定位进行编程以实现用户程序的加密
•JTAG接口(与IEEE1149.1标准兼容)
符合JTAG标准的边界扫描功能
支持扩展的片内调试功能
通过JTAG接口实现对Flash、EEPROM、熔丝位和锁定位的编程
•外设特点
两个具有独立预分频器和比较器功能的8位定时器/计数器
一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
具有独立振荡器的实时计数器RTC
四通道PWM
8路10位ADC
8个单端通道
TQFP封装的7个差分通道
2个具有可编程增益(1x,10x,或200x)的差分通道
面向字节的两线接口
两个可编程的串行USART
可工作于主机/从机模式的spi串行接口
具有独立片内振荡器的可编程看门狗定时器
片内模拟比较器
•特殊的处理器特点
上电复位以及可编程的掉电检测
片内经过标定的RC振荡器
片内/片外中断源
6种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式。
•I/O和封装
32个可编程的I/O口
40引脚PDIP封装,44引脚TQFP封装,与44引脚MLF封装
•工作电压:
ATmega16L:
2.7-5.5V
ATmega16:
4.5-5.5V
•速度等级
0-8MHzATmega16L
0-16MHzATmega16
•ATmega16L在1MHz,3V,25°C时的功耗
正常模式:
1.1mA
空闲模式:
0.35mA
掉电模式:
<1μA
图2.1ATmega16微处理器
2.5ATmega16引脚说明
VCC数字电路的电源
GND接地
端口A(PA7..PA0)端口A做为A/D转换器的模拟输入端。
端口A为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。
端口B(PB7..PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。
端口B也可以用做其他不同的特殊功能。
端口C(PC7..PC0)端口C为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。
如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。
端口C也可以用做其他不同的特殊功能。
端口D(PD7..PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。
端口D也可以用做其他不同的特殊功能。
RESET复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
持续时间小于门限的脉冲不能保证可靠复位。
XTAL1反向振荡放大器与片内时钟操作电路的输入端。
XTAL2反向振荡放大器的输出端。
AVCCAVCC是端口A与A/D转换器的电源。
不使用ADC时,该引脚应直接与VCC连接。
使用ADC时应通过一个低通滤波器与VCC连接。
AREFA/D的模拟基准输入引脚。
代码例子本数据手册包含了一些简单的代码例子以说明如何使用芯片各个不同的功能模块。
这些例子都假定在编译之前已经包含了正确的头文件。
有些C编译器在头文件里并没有包含位定义,而且各个C编译器对中断处理有自己不同的处理方式。
请注意查阅相关文档以获取具体的信息。
第三章实验应用
3.1恒流源的设计
由于温度信号是由恒流源通过铂热电阻PT100,通过检测PT100上的电压变化量而获得的,所以设计一个稳定的恒流源尤为重要。
图3.1恒流源电路
图3.1是LM358放大电路,RI是铂电阻PT100,RI在O°是为100Ω,V=2.56V,电流I=V/RS,当断开电阻RS的电路,流经RI的电流即为I,则可以计算得到铂电阻RI=V/I
3.2A/D转换部分程序:
voidmain(void)
{
INT8Uuc_pData,i;
INT16UwPT100_ResPosMax;
FP32dADC_Diff,d,t;
init_devices();
LcdIni();
delay_ms(20);
#asm("sei")
TIMSK=0x05;
TCCR1B=0x03;//startTimer
wPT100_ResPosMax=PT100_TEMP_MAXNUMS-1;//sizeof(PT100_R_REF)/2-1;
while
(1)
{
WDR();
delay_ms(500);
dADC_Diff=TempGetAndFilter(20);
d=CalP100Temperature((INT16U)(dADC_Diff*1996.8/5120*100+0.5),-200,wPT100_ResPosMax);
sprintf(g_ucStr,"PT100(R)=%5.1f%4.1fC",dADC_Diff*1996.8/5120,d);
LcdDisplayStr(g_ucStr,0);
}
}
INT16SCalP100Temperature(INT16UwRes,INT16SiTempS,INT16UwBotMax)
{
//PT100_R_REF
INT16UwTop,wMiddle,wBottom;
INT8UucFind;
//g_wSearchNums=0;
if(wRes<=PT100_R_REF[0])
{
returniTempS;
}
elseif(wRes>=PT100_R_REF[wBotMax])
{
returniTempS+wBotMax;
}
wTop=0;
wBottom=wBotMax;
ucFind=0;
while(wTop<=wBottom&&!
ucFind)
{
wMiddle=(wTop+wBottom)/2;
if(PT100_R_REF[wMiddle]==wRes)
{
ucFind=1;
}
else
{
if(wRes{
wBottom=wMiddle-1;
}
else
{
wTop=wMiddle+1;
}
}
//g_wSearchNums++;
}
if(ucFind)
{
returniTempS+wMiddle;
}
else
{
returniTempS+wBottom;
}
}
3.3PT100温度计算数据的处理
PT100是电阻式温度传感器,测温的本质其实是测量传感器的电阻,通常是将电阻的变化转换成电压或电流等模拟信号,再将模拟信号转换成数字信号,再由处理器换算出相应温度。
采用PT100测量温度一般有两种方案:
1.设计一个恒流源通过PT100热电阻,通过检测PT100上电压的变化来换算出温度;
2.采用惠斯顿电桥,电桥的四个电阻中三个是恒定的,另一个用PT100热电阻,当PT100电阻值变化时,测试端产生一个电势差,由此电势差换算出温度。
两种方案的区别只在于信号获取电路的不同,其原理上基本一致,如图3.2所示。
本文采用恒流源做为信号获取电路的测温方案,恒流源通过PT100热电阻,温度变化引起PT100电阻值的变化,从引起电压的变化,放大后经AD采用后,送由单片机处理,换算出相应温度。
为了达到高精度、宽量程的测温要求,选用的是AD转换芯片是16KB的8位AVR微控制器ATmega16。
图3.2PT100温度数据处理
PT100铂电阻分度表
℃
0
1
2
3
4
5
6
7
8
9
-200
18.49
-190
22.8
22.37
21.94
21.51
21.08
20.65
20.22
19.79
19.36
18.93
-180
27.08
26.65
26.23
25.8
25.37
24.94
24.52
24.09
23.66
23.23
-170
31.32
30.9
30.47
30.05
29.63
29.2
28.78
28.35
27.93
27.5
-160
35.53
35.11
34.69
34.27
33.85
33.43
33.01
32.59
32.16
31.74
-150
39.71
39.3
38.88
38.46
38.04
37.63
37.21
36.79
36.37
35.95
-140
43.87
43.45
43.04
42.63
42.21
41.79
41.38
40.96
40.55
40.13
-130
48
47.59
47.1