基于STC12C5A60S2单片机热电偶温度检测系统.docx
《基于STC12C5A60S2单片机热电偶温度检测系统.docx》由会员分享,可在线阅读,更多相关《基于STC12C5A60S2单片机热电偶温度检测系统.docx(22页珍藏版)》请在冰豆网上搜索。
![基于STC12C5A60S2单片机热电偶温度检测系统.docx](https://file1.bdocx.com/fileroot1/2023-2/1/58f46b1d-bfd8-4db5-932f-56d2dea60184/58f46b1d-bfd8-4db5-932f-56d2dea601841.gif)
基于STC12C5A60S2单片机热电偶温度检测系统
一、设计目的
1、了解热电偶的基本概念,掌握热电偶的工作原理;
2、掌握热电偶的基本定律、基本类型、温度补偿方法、使用热电偶的测温方法;
3、掌握热电偶温度测量系统设计方法,学会独立思考、解决问题的能力。
二、设计任务
1、收集资料,阅读文献,了解热电偶测温原理。
2、设计热电偶温度补偿电路,信号放大电路,A/D采样电路及信号的处理显示电路。
3、编写程序实现热电偶温度系统设计,画Protell99电路图。
三、设计内容
1、热电偶工作原理:
热电偶是一种感温元件,热电偶由两种不同成份的均质金属导体组成,形成两个热电极端。
温度较高的一端为工作端或热端,温度较低的一端为自由端或冷端,自由端通常处于某个恒定的温度下。
当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在塞贝克电动势—热电动势,这就是所谓的塞贝克效应。
测得热电动势后,即可知道被测介质的温度。
热电偶温度测量由如图所示三部分组成:
1)、热电偶
2)、毫伏测量电路或毫伏测量仪表
3)、连接热电偶和毫伏测量电路的补偿导线与铜线
图1热电偶连接示意图
2、工业用普通热电偶结构
图2工业用普通热电偶结构图
Ø热电极(材料的热电特性稳定);
Ø绝缘套管(防止电极间短路);
Ø保护套管(隔离电极与介质,免受机械损伤或化学腐蚀等);
Ø接线盒。
3、常用的热电偶
1)、热电偶名称的含义:
前面为正极,后面为负极,下脚标为某种金属的含量。
2)、分度号:
代表温度范围和输出电压等级。
热电偶的分度号有主要有S、R、B、N、K、E、J、T等几种。
其中S、R、B属于贵金属热电偶,N、K、E、J、T属于廉金属热电偶。
3)、分度表:
温度与热电动势之间的关系。
图3S型(铂铑10-铂)热电偶分度表
分度表每10℃分档,中间值按内插法计算:
式中:
tM—被测温度值;
tH—较高的温度值;
tL—较低的温度值;
EM、EH、EL—分别为温度tM、tH、tL对应的热电势
4、铂铑10—铂热电偶(S型)
正极:
铂铑合金丝,用90%铂和10%铑(重量比)冶炼而成。
负极:
铂丝。
测量温度:
长期:
1300℃、短期:
1600℃。
特点:
✧材料性能稳定,测量准确度较高;可做成标准热电偶
或基准热电偶。
实验室或校验其它热电偶。
✧测量温度较高,一般用来测量1000℃以上高温。
✧在高温还原性气体中易被侵蚀,需要用保护套管。
✧材料属贵金属,成本较高。
✧热电势较弱。
5、镍铬—镍硅(镍铝)热电偶(K型)
正极:
镍铬合金(用88.4~89.7%镍、9~10%铬,0.6%
硅,0.3%锰,0.4~0.7%钴冶炼而成)。
负极:
镍硅合金(用95.7~97%镍,2~3%硅,0.4~0.7%钴
冶炼而成)。
测量温度:
长期1000℃,短期1300℃。
特点:
v价格比较便宜,在工业上广泛应用。
v高温下抗氧化能力强,在还原性气体和含有SO2、H2S等气
体中易被侵蚀。
v热电势大,但精度不高。
6、镍铬—康铜热电偶(E型)
正极:
镍铬合金
负极:
康铜合金(用56%铜,44%镍冶炼而成)。
测量温度:
长期600℃,短期800℃。
特点:
●价格比较便宜,工业上广泛应用。
●在常用热电偶中它产生的热电势最大。
●气体硫化物对热电偶有腐蚀作用。
康铜易氧化变质,适
于在还原性或中性介质中使用。
7、热电偶的基本定律
1)、中间导体定律
在热电偶测温回路内,接入第三种导体时,只要第三种导体的两端温度相同,则对回路的总热电势没有影响.
应用:
利用热电偶进行测温,必须在回路中引入连接导线和仪表,接入导线和仪表后不会影响回路中的热电势。
根据中间导体定律,还可以用开路热电偶对液态金属或金属壁面测温(被测物体是中间导体)。
2)、中间温度定律
对于同种热电偶,两端温度为T1、T3时产生的热电势为该热电偶两接点温度为T1、T2和T2、T3时所产生的热电势的代数和,T2为T1和T3之间的任一温度。
中间温度定律是制定热电偶分度表的理论基础。
热电偶分度表都是以冷端温度为0℃时做出的。
一般工程测量中冷端都不为零(任一恒定值),因此,只要测出热端、冷端的热电势,便可利用利用热电偶分度表求出工作端的被测温度值。
中间温度定律的应用:
Ø根据这个定律,可以连接与热电偶热电特性相近的导体A′和B′,将热电偶冷端延伸到温度恒定的地方,这就为热电偶回路中应用补偿导线提供了理论依据。
Ø该定律是参考端温度计算修正法的理论依据。
在实际热电偶测温回路中,利用热电偶这一性质,可对参考端温度不为0℃的热电势进行修正。
3)、标准导体(电极)定律
已知两个导体A、B分别与另一导体C组成的热电偶的热电势已知,则在相同接点温度(T,T0)下,由A、B电极组成的热电偶的热电势EAB(T,T0)为:
意义:
Ø通常选用高纯铂丝作标准电极;
Ø只要测得它与各种金属组成的热电偶的热电动势,则各种金属间相互组合成热电偶的热电动势就可根据标准电极定律计算出来。
4)、均质导体定律
由两种均质导体组成的热电偶,其热电动势的大小只与两材料及两接点温度有关,与热电偶的大小尺寸、形状及沿电极各处的温度分布无关。
即热电偶必须由两种不同性质的均质材料构成。
意义:
有助于检验两个热电极材料成分是否相同及材料的均匀性。
8、热电偶的结构和种类
1)、结构
为了适应不同生产对象的测温要求和条件,热电偶的结构形式有:
Ø普通型热电偶
Ø特殊热电偶
Ø铠装型热电偶
Ø薄膜热电偶
普通型热电偶
图4普通型热电偶结构
铠装型热电偶
图5铠装型热电偶结构
铠装热电偶的制造工艺:
把热电极材料与高温绝缘材料预置在金属保护管中、运用同比例压缩延伸工艺、将这三者合为一体,制成各种直径、规格的铠装偶体,再截取适当长度、将工作端焊接密封、配置接线盒即成为柔软、细长的铠装热电偶。
铠装热电偶特点:
内部的热电偶丝与外界空气隔绝,有着良好的抗高温氧化、抗低温水蒸气冷凝、抗机械外力冲击的特性。
铠装热电偶可以制作得很细,能解决微小、狭窄场合的测温问题,且具有抗震、可弯曲、超长等优点。
优点:
测温端热容量小,动态响应快;机械强度高,挠性好,可安装在结构复杂的装置上。
薄膜热电偶
图6薄膜型热电偶结构
特点:
热接点可以做得很小(μm),具有热容量小、反应速度快(μs)等特点,适用于微小面积上的表面温度以及快速变化的动态温度测量。
2)、热电极材料的选取
性能稳定;
温度测量范围广;
物理化学性能稳定;
导电率要高,并且电阻温度系数要小;
材料的机械强度要高,复制性好、复制工艺简单,价格便宜;
3)、热电偶的特点
热电偶是工业上最常用的温度检测器件之一。
优点:
◆测量精度高。
因热电偶直接与被测对象接触,不受中间介质的影响。
◆测量范围广。
常用的热电偶从-50~+1600℃均可连续测量,某些特殊热电偶最低可测到-269℃(如金铁镍铬),最高可达+2800℃(如钨-铼)。
◆构造简单,使用方便。
热电偶通常是由两种不同的金属组成,而且不受大小的限制,外有保护套管,使用非常方便;适用于远距离测量和自动控制。
9、热电偶温度补偿方法
1)、补偿导线法
热电偶一般做得较短,一般为350~2000mm。
在实际测温时,需要把热电偶输出的电势信号传输到远离现场数十米远的控制室里的显示仪表或控制仪表,这样,冷端温度t0比较稳定。
解决办法:
工程中采用一种补偿导线。
在0~150℃温度范围内,要求补偿导线和所配热电偶具有相同的热电特性。
常用补偿导线
2)、冷端恒温法
在实验室及精密测量中,通常把冷端放入0℃恒温器。
为了避免冰水导电引起两个连接点短路,必须把连接点分别置于两个玻璃试管里,浸入同一冰点槽,使相互绝缘。
3)、冷端温度校正法
当冷端温度t0不等于0℃,需要对热电偶回路的测量电势值eAB(t,t0)加以修正。
当工作端温度为t时,可查分度表得eAB(t,0)与eAB(t0,0)。
根据中间温度定律得到:
eAB(t,0)=eAB(t,t0)+eAB(t0,0)
4)、冷端温度自动补偿法(电桥补偿法)
图4普通型热电偶结构
常用炉温测量控制系统如图所示。
毫伏定值器给出给定温度的相应毫伏值,热电偶的热电势与定值器的毫伏值相比较,若有偏差则表示炉温偏离给定值,此偏差经放大器送入调节器,再经过晶闸管触发器推动晶闸管执行器来调整电炉丝的加热功率,直到偏差被消除,从而实现控制温度。
图4普通型热电偶结构
四、热电偶的实用测温系统设计
图5热电偶温度检测系统原理图
原理图如图5所示。
本设计采用铜-康铜热电偶,铜-康铜热电偶以其灵敏度高、稳定可靠、抗震抗摔、互换性好、价格低廉、适用于远距离测温和自动控制等优势,在农业和制冷工程中发挥着重要作用。
通过选择铜-康铜热电偶的制作方法和标定方式,进行多项式回归分析,表明热镀锡焊测头非标准分度的铜-康铜热电偶在-35~100℃范围内的线性及一致性都较好,适于实验室、农业和制冷工程测温应用。
温度补偿采用补偿导线法,由于铜-康铜价格低廉,采用原材料进行冷端温度补偿,可以实现信号的远距离传送。
1、硬件设计
1)、本设计以STC12C5A60S2单片机为核心,利用其内部8通道10位高速ADC采集模拟量,然后通过显示电路显示出来。
2)、显示部分采用8段共阳数码管,段码采用ULN28038个NPN型达林顿管驱动,位选采用3个9012PNP型晶体管驱动,逻辑上与共阴极数码管控制方式一样,段码给高电平,位码给低电平。
四个按键都接上拉(LPC2000系列内部没有上拉),AD采集电压通过VT端采集。
显示部分原理图如图1。
3)、温度测量电路用热电偶选择工业常用的铜康铜热电偶,温度测量范围选择-35~100℃,输出电压为-1.299~4.277mv,放大电路采用高精度仪用放大器AD620,选择合适的电阻使得第一级放大89.7倍,第二级放大10倍,总的放大倍数为897倍,而输出-1.299~4.277mv,电压通过转换和信号放大输出0~5V,供AD转换用。
4)、放大电路的设计
放大器的选择好坏对提高测量精度也十分关键,根据查阅的相关资料,在放大器电路精选中,一般在首级放大器有低噪声、低输入偏置电流、高共模抑制比等要求的大多采用自制的三运放结构,如下图6所示,三运放中由A1、A2构成前级对称的同相、反相输入放大器,后级为差动放大器,在这个结构图中,要保证放大器高的性能,参数的对称性与一致性显得尤为重要,不仅包括外围的电阻元件R1与R2、R3与R4、R5与R6,还包括A1与A2放大器的一致性,因此,要自制高性能的放大器对器件要求相当高。
随着微电子技术的发展,市场上出现了专用的高性能的仪用放大器,它的内部核心结构还是三运放,但是,采用微电子来解决刚才的参数匹配问题已不是什么复杂的问题。
图6三运放结构的高性能放大器原理图
随着近年来微电子技术的发展,市面上出现了不少专用的高性能的芯片,AD620、AD623就是具有上述描述的三运放结构,在本设计中我们根据手中的元器件材料最终选择了AD620作为放大器电路的首级放大。
AD620是低价格、低功耗仪用放大器,它只需要一只外部电阻就可设置1~1000倍的放大增益,它具有较低的输入偏置电流、较快的建立时间和较高的精度,特别适合于精确的数据采集系统,如称重和传感器接口,也非常适合医疗仪器的应用系统(如ECG检测和血压监视)、多路转换器及干电池供电的前置放大器使用。
AD620的内部结构是由OP-07组成的三运放结构,性能大大优于自制的三运放IC电路设计,其基本接法是在1脚与8脚之间外接一RG电阻,增益由式G=1+49.4KΩ/RG确定,由于它的外围电路十分简单,所以它在本系统中的应用见下图2-4所示。
由于我们的温度测量范围是-35~100℃,而此时的温度传感器的电压值根据分度表为-1.299mv~4.277mv,而AD采集的电压为0~5V,必须通过信号的放大和转换才能供单片机的AD用。
这样必须选择合适的匹配电阻,并且通过信号平移实现。
60S2单片机AD为12位精度,数据转换为0~500,精度大于0.1C,满足系统要求。
图7放大电路
5)、通信部分简介
RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。
RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
其传送距离最大约为15米,最高速率为20kb/s,并且RS-232是为点对点(即只用一对收、发设备)通讯而设计的。
所以,RS232只适合于本地通讯使用。
RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1200米(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。
为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA提出的建议标准都是以RS作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
自制RS232-485转换器
电路图:
RS232-485转换器主要包括了电源、232电平转换、485电路三部分。
本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485电路采用了MAX485集成电路。
为了使用方便,电源部分设计成无源方式,整个电路的供电直接从PC机的RS232接口中的DTR(4脚)和RTS(7脚)窃取。
PC串口每根线可以提供大约9mA的电流,因此两根线提供的电流足够供给这个电路使用了。
经实验,本电路只使用其中一条线也能够正常工作。
使用本电路需注意PC程序必须使串口的DTR和RTS输出高电平,经过D3稳压后得到VCC,经过实际测试,VCC电压大约在4.7V左右。
因此,电路中要说D3起的作用是稳压还不如说是限压功能。
MAX485是通过两个引脚RE(2脚)和DE(3脚)来控制数据的输入和输出。
当RE为低电平时,MAX485数据输入有效;当DE为高电平时,MAX485数据输出有效。
在半双工使用中,通常可以将这两个脚直接相连,然后由PC或者单片机输出的高低电平就可以让MAX485在接收和发送状态之间转换了。
由于本电路DTR和RTS都用于了电路供电,因此使用TX线和HIN232的另外一个通道及Q1来控制MAX485的状态切换。
平时NIH232的9脚输出高电平,经Q1倒相后,使MAX485的RE和DE为低电平而处于数据接收状态。
当PC机发送数据时,NIH232的9脚输出低电平,经Q1倒相后,使MAX485的RE和DE为高电平而处于数据发送状态。
6)、按键部分电路电路为辅助电路,可以根据自己想要的功能设定按键,通过编写程序实现功能。
2、软件设计
1)、软件设计及程序流程图
软件设计主要分为主程序、AD转换程序、液晶显示子程序。
主程序完成对中断的初始化、等待外部中断的查询结果、调用显示子程序。
AD采集子程序完成对温度测量数据的读取。
显示子程序完成液晶显示器的初始化及显示温度值。
程序流程图如图8所示。
图8程序流程图
在单片机读取A/D转换后的数值时,为了避免读取不正确数值,在软件编程时采用对数据多次采样的方法,即在一定的时间内,连续读数值,全部为一样的数值时才作为正确的数值接收,否则视为不正确数值而被忽略,这样可以有效地保障在显示器上输出的温度值连续变化,而不发生干扰性的跳动。
2)、部分程序代码如下:
/**************************************************************************
*程序功能:
热电偶温度检测系统设计
*版本:
KeiluVision4(2012/12/19)
*作者:
宋亮
************************************************************************/
#include
#defineuintunsignedint
#defineucharunsignedchar
sfrADC_CONTR=0xBC;//ADC控制寄存器
sfrADC_RES=0xBD;//ADC转换结果寄存器,高8位结果寄存器
sfrADC_RESL=0xBE;//ADC第2位结果寄存器
sfrP1ASF=0x9D;
unsignedcharad_average_result;//AD转换十次的平均值
unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsignedcharbitctl;
unsignedcharidatadisbuf[]={0,0,0,0};
unsignedcharVin;
unsignedcharb,R,*p;
chartp=0;
//-------模块延时程序----------------------------1ms
voiddelay1ms(uintdelay1ms)//STC11F60XE,22.1184M,延时1ms
{
uinti,j;
for(;delay1ms>0;delay1ms--)
for(i=0;i<7;i++)
for(j=0;j<210;j++);
}
voiddelay(uintdelay)//STC11F60XE,22.1184M,延时170us
{
uinti,j;
for(;delay>0;delay--)
for(i=0;i<124;i++);
for(j=0;j<124;j++);
}
/**********************AD转换程序***************************/
voidAD_initiate()//初始化函数
{
ES=0;
TMOD=0x21;//定时计数器方式控制寄存器,"自动重装,16位计数器".
SCON=0x50;//串行控制寄存器,方便在串口助手那观察
TH1=0xfa;
TL1=0xfa;
TR1=1;
}
voidADC_Power_On()//AD转换电
{
ADC_CONTR|=0x80;
delay(5);//必要的延时
}
voidget_ad_result()//取AD结果函数,它是十位AD转换,每十次平均,最后取低八位作为AD采样数据
{
uinti,q=0;
for(i=0;i<10;i++)
{
tp=0;
ADC_RES=0;//高八位数据清零
ADC_RESL=0;//低两位清零
ADC_CONTR|=0x08;//启动AD转换
while(!
tp)//判断AD转换是否完成
{
tp=0x10;
tp&=ADC_CONTR;
}
ADC_CONTR&=0xe7;
ad_average_result=ADC_RES;
q=q+ad_average_result;
}
ad_average_result=q/10;
//ad_average_result=ad_average_result*4*5000/1024;
}
/************************AD转换结束***********************/
voidcaiyangP10()//测电压
{
ADC_CONTR=0xe0;//设置P1.0为输入AD转换口
delay
(2);
get_ad_result();//取转换数据
Vin=ad_average_result;
R=Vin;
}
//---------------------显示结果-----------------------
voiddisplayP10(ucharin_data)
{unsignedchark,d;
d=(double)in_data/1024*500;
p=disbuf;
bitctl=0x01;
disbuf[3]=d/1000%10;
disbuf[2]=d/100%10;
disbuf[1]=d/10%10;
disbuf[0]=d/%10;
for(k=0;k<4;k++)
{
if(k==1)
P2=table[*p++]&0x7F;
else
P2=table[*p++];
P1=~bitctl;
bitctl=bitctl<<1;
delay1ms
(2);
}
}
//---------------------主程序-------------------------
voidmain()
{
EA=1;
AD_initiate();//初始化
ADC_Power_On();//开AD电源
delay(10);
while
(1)
{
caiyangP10();//测电压
//Vin=Vin*4007;
displayP10(R);
delay(10);
}
}
五、总结体会
在本次设计中,本人通过设计一个简易的热电偶温度检测系统了解了热电偶的工作原理,温度检测电路原理,RS485通信及单片机的应用。
学会了热电偶的温度补偿方法,以及热电偶使用的场合和选型。
在工业测温系统中最常用的温度检测元件就是热电偶,由于其温度测量范围广,外围电路简单,价格低廉成为温度测量系统的主流。
本设计只实现了对温度的检测,而没有涉及对温度的控制,测量范围也有限。
但对于测温范围较窄,应用场合要求不高的情况下可以采用本系统的设计。
通过一对个系统整体设计,不仅可以拓展自己的知识面,而且对以后的工作和学习都有一定的帮助。
附录Ⅰ
温度℃
0
1
2
3
4
5
6
7
8
9
热电动势mV
-40
-30
-20
-10
0-
0+
10
20
30
40
50
60
70
80
90
100