当前位置:文档之家› pt100温度变送器1

pt100温度变送器1

目录一:变送器的设计原理 (2)1:pt100热电阻的介绍 (2)2:基于双恒流源的三线热电阻测温探头电路的设计 (2)3:单片机最小系统介绍 (3)4:基于ADC0804的采样系统设计 (4)5:基于1602的显示电路的设计 (5)6:基于DAC0832的模拟量输出设计 (6)7 :4~20mA电路的设计 (7)三:程序设计 (7)1. 程序流程图 (7)2.程序如下所示: (8)一:变送器的设计原理1:pt100热电阻的介绍热电阻:电阻体的阻值随温度的变化而变化,利用此特性就可以进行对温度的测量。

pt100是铂热电阻,它的阻值跟温度的变化成正比。

PT100的阻值与温度变化关系为:当PT100温度为0℃时它的阻值为100欧姆,在100℃时它的阻值约为138.5欧姆。

它的工业原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成匀速增长的。

应用于医疗、电机、工业、温度计算、阻值计算等高精温度设备,应用范围非常之广泛。

热电阻PT100的分度表温度℃0 1 2 3 4 5 6 7 8 9电阻值(Ω)0 10 20 30 40 100.00103.90107.79111.67115.54100.39104.29108.18112.06115.93100.78104.68108.57112.45116.31101.17105.07108.96112.83116.70101.56105.46109.35113.22117.08101.95105.85109.73113.61117.47102.34106.24110.12114.00117.86102.73106.63110.51114.38118.24103.12107.02110.90114.77118.63103.51107.40111.29115.15119.0150 60 70 80 90 119.40123.24127.08130.90134.71119.78123.63127.46131.28135.09120.17124.01127.84131.66135.47120.55124.39128.22132.04135.85120.94124.78128.61132.42136.23121.32125.16128.99132.80136.61121.71125.54129.37133.18136.99122.09125.93129.75133.57137.37122.47126.31130.13133.95137.75122.86126.69130.52134.33138.13100 110 120 130 140 138.51142.29146.07149.83153.58138.88142.67146.44150.21153.96139.26143.05146.82150.58154.33139.64143.43147.20150.96154.71140.02143.80147.57151.33155.08140.40144.18147.95151.71155.46140.78144.56148.33152.08155.83141.16144.94148.70152.46156.20141.54145.31149.08152.83156.58141.91145.69149.46153.21156.95Pt100五段折线化数值0-19 0.3899 100.0009 20-39 0.3875 100.0465 40-59 0.3852 100.1369 60-79 0.3828 100.2755 80-100 0.3806 100.4494 2:基于双恒流源的三线热电阻测温探头电路的设计(1)稳流源电路90.00E+S+S-E-RT1RTD-PT100321U1TL43132111LM324567411U2:BLM324R22k R3100kR4100kR5100kR62kR8100kR9100kR10100kR11100kR1C1nR18100+V电流输出左端为电压输入端,输入电压为U ,通过已知参数计算得电流为i=U/R ;通过引入正负反馈来达到稳压的效果。

用热电阻测温时,工业设备距离计算机较远,引线很长,用以引进干扰,并在热电阻的电桥中产生长引线误差。

解决方法为三线制连接方法。

图为恒流源三线式铂阻测温电路,有两个1.25mA 的电流源分别施加给PT100和100Ω (千分之一精度)电阻及各自同质同长的导线上。

由于采用由LM324构成的39倍差分放大电路,使温度在0~100摄氏度变化,电压输入在0~1.9伏之间变化,且导线的分压部分已被消除,即0摄氏度时Pt100为100Ω,差分放大器两端两个输入电压为0V ,当升温后,差分放大电路将Pt100变化的阻值进行放大。

由LM324构成的电压跟随器经阻容低通滤波起作为反映当前温度的电压值,待后续处理。

该电路传感器引线的长度可达到300多米且保证精确的测量。

3:单片机最小系统介绍最小系统是指可以保证单片机工作的最少硬件构成,对于单片机内部资源能够满足系统的需要,可直接采用最小系统。

主要接线: (1)振荡电路 (2)复位电路(3)电源,EA 使能当最小系统可以正常工作后,可以接着做以下的工作了。

4:基于ADC0804的采样系统设计(1)ADC0804芯片介绍ADC0804是逐次比较型分辨率为8位的AD 芯片输入电压为0~5VVIN+6VIN-7VREF/29CLK IN 4 A GND 8RD 2WR 3INTR 5CS 1 D GND 10DB7(MSB)11DB612DB513DB414DB315DB216DB117DB0(LSB)18CLK R 19VCC 20U1ADC0804D0~D7为数字信号输出端 /CS 为片选端VIN+,VIN-为模拟信号输入端 AGND 模拟信号地 DGND 数字信号地WR 写信号端,低电平有效 RD 为读信号端 CLK 为时钟信号端Vref为参考电压输入INTR为转换结束信号VCC接电源本设计通过对前一级差分放大后的电压进行采样,输入单片机,然后根据所得数据进行温度显示,具体的实验图如下所示采用P1口对单片机传输数据5:基于1602的显示电路的设计(1)1602是一款及常用的字符型液晶,可显示1行16个字符或2行16个字符。

1602液晶模块内带标准字库,内部的字符发生存储器已经存储了160个5*7点阵字符,32个5*10的点阵字符。

(2)本设计采用的接线图如下所示注意:lcd 使用时要调好背光。

不然不能正常显示。

6:基于DAC0832的模拟量输出设计(1)DAC0832芯片介绍DAC0832是分辨率为8位的DA 转换芯片,是电流输出型芯片,常常在后面接一个运放来达到电压的输出。

输出电压公式为:-D*Vref/256=V out (2)本设计采用的接线如下图所示X TA L218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52VREF 8GND 3VCC 20CS 1WR12DI34DI25DI16DI07RFB 9GND 10IOUT111IOUT212DI713DI614DI515DI416XFER 17WR218ILE(BY1/BY2)19U2DAC0832321411U3:ALM324+88.8Volts234567891RP1RESPACK-8+88.8Volts-5V7 :4~20mA 电路的设计4~20mA 的电路是采用上述所说的稳流源电路实现的,通过DA 输出的电压的改变从而达到电流的改变。

电路图如下所示。

90.00E+S+S-E-RT1RTD-PT100321U1TL431R1510321411U2:ALM324567411U2:BLM324R22k R3100kR4100k R5100kR62k100k R8100kR9100kR10100kR11100k1R1C1nR18100+V电流输出三:程序设计 1.程序流程图开始初始化对AD 采样计算温度输出信号到DADA 输出电压显示温度恒流源产生电流2.程序如下所示:#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar code table[] ={"Temperature"};uchar code table1[]={"0123456789.C"};sbit adwr=P3^6;sbit adrd=P3^7;sbit adcs=P3^5;sbit lcdrs=P3^0;sbit lcden=P3^1;sbit dacs=P3^2;sbit dawr=P3^3;uchar num;void delay(uint z){uint x,y;for(x=z;z>0;z--)for(y=110;y>0;y--);}void write_com(uchar com)//对1602显示的设置指令{lcdrs=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date)//1602要显示的数据{lcdrs=1;P2=date;delay(5);lcden=1;delay(5);lcden=0;}void init()//对1602进行初始化{lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}void display(uchar bai,uchar shi,uchar ge,uchar s,uchar b)//显示部分{write_com(0x80);for(num=0;num<11;num++){write_date(table[num]);delay(5);}write_com(0x80+0x40);write_date(table1[bai]);delay(5);write_date(table1[shi]);delay(5);write_date(table1[ge]);delay(5);write_date(table1[10]);delay(5);write_date(table1[s]);delay(5);write_date(table1[b]);delay(5);write_date(table1[11]);delay(5);}void main()//主函数{while(1){uchar A1,A2,A3,A4,A5,a;float adval;float daval;float tem;init();adcs=0;//cs置零dacs=0;dawr=0;while(1){adwr=1; //AD进行采样_nop_();adwr=0;_nop_();adwr=1;for(a=10;a>0;a--){display(A1,A2,A3,A4,A5);}P1=0xff;adrd=1;_nop_();adrd=0;_nop_();adval=P1; //采样完毕adrd=1;adval=(5.0/256)*adval; //将采集的数进行温度的转化adval=adval-0.03875; //硬件误差if(adval<0.380079) //PT100的线性化tem=(adval/0.04875-0.0009)/0.3899;else if(adval<0.757814)tem=(adval/0.04875-0.0465)/0.3875;else if(adval<1.133121)tem=(adval/0.04875-0.1369)/0.3852;else if(adval<1.506248)tem=(adval/0.04875-0.2755)/0.3828;else if(adval>=1.506248)tem=(adval/0.04875-0.4494)/0.3806;//adval=adval/(0.00048125*39);A1=(uchar)(tem/100);A2=((uchar)(tem/10))%10;A3=((uchar)(tem))%10;A4=((uchar)(tem*10))%10;A5=((uchar)(tem*100))%10;//if(adval<0.7508)// daval=1.1125+adval*2.2376;//else if(adval<1.3139)// daval=0.8+adval*2.2376;// else// daval=1.1125+adval*2.2376; //if(adval>0.9)//daval=0.8+adval*2.2376;//P0=daval;daval=adval*2.131+0.2;P0=daval*51;delay(1000);}}}。

相关主题