×
单片机 > 单片机程序设计 > 详情

基于单片机设计的的高精度红外测温系统

发布时间:2020-06-06 发布时间:
|

  温度测量主要有两种方式:一种是传统的接触式测量,另一种是以红外测温为代表的非接触式测量。传统的温度测量不仅反应速度慢,而且必须与被测物体接触。红外测温以红外传感器为核心进行非接触式测量,特别适用于高温和危险场合的非接触测温,得到了广泛的应用。本文将详细介绍如何设计基于SOC级微处理器的高精度红外测温系统,及其在电力温度检测、设备故障诊断方面的应用。

  1.红外测温仪的工作原理

  自然界一切温度高于绝对零度的物体,都在不停地向外发出红外线。物体发出的红外线能量大小及其波长分布同它的表面温度有密切关系,物体的辐射能量与温度的 4 次方成正比,其辐射能量密度与物体本身的温度关系符合普朗克定律。因此我们通过测量物体辐射出的红外能量的大小就能测定物体的表面温度。微小的温度变化会引起明显的辐射能量变化,因此利用红外辐射测量温度的灵敏度很高。实际物体的辐射度除了依赖于温度和波长外,还与构成该物体的材料性质及表面状态等因素有关。只要引入一个随材料性质及表面状态变化的辐射系数,则就可把黑体的基本定律应用于实际物体。这个辐射系数,就是发射率ε,或称之为比辐射率,其定义为实际物体与同温度黑体辐射性能之比,该系数表示实际物体的热辐射与黑体辐射的接近程度,其值在

  0和1的数值之间。

  红外测温仪的工作原理如图 1所示:被测物体辐射出的红外能量通过空气传送到红外测温仪的物镜,物镜把红外线汇聚到红外探测器上,探测器将辐射能转换成电信号,又通过前置放大器、主放大器将信号放大、整形、滤波后,经过A/D转换电路处理后输入微处理器。微处理器进行环境温度补偿,并对温度值进行校正后驱动显示电路显示温度值。同时,微处理器还发出相应的报警信号,并且接受按键输入的发射率以完成发射率设定。



  2.系统硬件设计

  本红外线温度检测系统主要由传感器 A2PTMI﹑LM358有源滤波电路﹑AD转换电路﹑微处理器﹑显示电路等几个部分组成。因为传感器输出的信号为0-5V,刚好满足 AD转换的要求,故在本设计中省略了放大电路,只对传感器的信号进行了滤波处理。另外,本系统还有信号变换电路输出4~20mA、1~5V等模拟信号,并有RS232、RS485接口输出数字信号来与上位机通信。

  2.1传感器A2PTMI原理及其应用

  PerkinElmer A2TPMI 是一种内部集成了专用信号处理电路以及环境温度补偿电路的多用途红外热电堆传感器,这种集成红外传感器模块将目标的热辐射转换成模拟电压。该传感器自带距离系数 D:S=8:1的光学系统,通过该透镜接收空气中的红外辐射,然后转换成相应的电压信号,该信号通过一个 8 bit分辨率的可编程放大器放大。根据热电堆温度测量原理,热电堆电压可能是正或者负,取决于目标温度是否高于或者低于 A2TPMI 的环境温度。为了使负电压信号能在单电源系统处理,所有的内部信号都连接到 1.255 V内部电压参考(Vref),作为虚拟模拟地信号。为了热电堆放大电路偏置电压的调整,放大器上带了一个能产生有 8 bit 分辨率偏置电压的可编程调整部分。此外, A2TPMI 内部还集成有温度传感器来探测环境温度,这个信号被放大后匹配热电堆放大信号曲线的反向特性,进行信号处理。为了温度补偿,放大的热电堆信号和温度参考信号相加于一个放大器。经过温度补偿放大后的信号输出到 VTobj 脚,温度参考信号或者参考电压输出到 Vtamb脚。A2TPMI的工作特性由一个内部随机存取寄存器进行配置,所有的参数 /配置永久地存在并行 E2PROM 内。控制单元提供的两线、双向同步串口 (SDAT, SCLK),可以访问所有寄存器的 A2TPMI内部参数。A2TPMI 传感器通常不需要使用串口, SDAT,SCLK 引脚被内部连到 VDD。

  2.2滤波电路设计

  A2TPMI放大器采用斩波放大器技术,由于这种技术本身具有的特性,输出信号 VTobj 和 VTamb 中包含了大约10 mV 峰值、 250 kHz 的交流信号。这些交流信号能被一个电子低通滤波电路或者类似的软件滤波抑制掉。在高阻抗负载应用中,象 LM358 这样的rail to rail 运算放大器电路,可以作为输出信号的滤波器。

  在本设计中采用第二种滤波电路,因为集成运放的开环电压增益和输入阻抗均很高,输出阻抗又低,所以有源滤波电路有一定的电压放大和缓冲作用,滤波效果好,提高了传感器信号的准确度。

  2.3 AD转换电路

  TLC2543是 12位开关电容逐次逼近模数转换器。其设置方法如下:DATA INPUT端串行输入的 8位数据,它规定了 TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(D7~ D4)决定通道号。对于0通道至l0通道,该4位分别为 0000~IOIOH,当为 1011~1101时,用于对 TLC2543的自检,当为 1110时 ,TLC2543进入休眠状态。低 4位决定输出数据长度及格式。其中 D3、D2决定输出数据长度,0l表示输出数据长度为 8位 ,11表示输出数据长度为 16位 ,其他为 12位 。D1决定输出数据是高位先送出 ,还是低位先送出,为 0表示高位先送出 。D0决定输出数据是单极性(二 进 制 )还是双极性(2的补码),若为单极性,该位为0,反之为1。当片选 cs从高到低的时候,开始一次工作周期,此时 EOC为高,输入数据寄存器被置为 0,输出数据寄存器的内容是随机的。开始时,片选 CS为高,I/OCLOCK、DATAINPUT被禁止,DATAOU呈高阻状态 ,EOC为高。使变低,I/OCLOCK、DATAINPUT使能,DATAOU脱离高阻状态 。12个时钟信号从 I/OCLOCK端依次加入,随着时钟信号的加入,控制字从 DATAINPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从 DATAOUT一位一位地移出。TLC2543收到第 4个时钟信号后,通道号也已收到,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第 12个时钟的下降沿。在第 12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需lOt1s,转换完成后 EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。该芯片与微处理器接口的时候只需占用四个 IO口,其 12个时钟的工作时序看参考相关手册。


  2.4 SOC级微处理器特性本系统所采用的是 SOC级 STC系列单片机,指令代码完全兼容传统 51单片机,工作频率可达48HZ,本设计中使用的微处理器为 6时钟周期,故其工作频率相当于普通 51单片机的96MHZ,为本系统提供了速度保证。另外,本设计选用的 STC89C58RD含有 32K的程序存储区,并在内部扩展了 32K的数据 FLASH存储器,从而使本设计能方便的扩展相关功能,如参数的记忆功能等。该微处理器还支持 IAP与ISP,不需专用的编程器,通过普通串口即可调试程序。抗干扰也是选用该单片机的理由之一,本设计主要应用于对工业设备进行温度监控,故抗干扰十分重要。[page]

  3.系统软件设计

  红外线温度检测系统的软件设计主要有如下几个主要模块:初始化模块﹑I/O口查询模块﹑AD转化模块﹑数据处理模块﹑数据纠正模块﹑显示驱动模块等。另外还一个中断程序处理模块:0外部中断,主要用于参数设定。

  软件设计流程如图 3所示。


  整个程序采用 c51编写,初始化模块主要是初始化各路报警信号,将发射率等参数设定成默认的值并显示。主程序不断通过 I/O口查询模块扫描 AD转换模块送过来的 12位数字信号,本程序中采用的是 SPI总线的通信方式,串行的接口方式节约了大量 IO口。接受过来的数字信号通过数据处理模块处理之后按查表的方式得出温度值,把该温度值经过数据纠正模块纠正后送显示模块显示,并将数据传给上位机界面进行显示,从而完成了一路温度测量。在程序的运行过程中,随时可以对发射率,报警值等参数进行设定。当功能键按下的时候触发单片机的 0外部中断,在中断程序中对参数设定按键进行扫描,并将结果存储起来。每路测温结束后系统通过 RS485将温度值传送给上位机,在 VB界面上显示。

  1 实验数据处理及发射率整定

  2  实验数据的最小二乘法拟合

  对于一个测量系统,其精度和准确度是非常重要的。虽然本设计选用 12位AD,给本设计的高精度奠定了基础,但是由于传感器,AD等电子器件自身不可避免的误差和外界的干扰,测量结果难免会有些偏差。因此和研究其他仪器仪表一样,在本设计中,也进行了大量实验,通过对实验数据的处理,进一步提高了准确度。采用的主要方法是曲线拟合的最小二乘法。现将其原理介绍如下:

  在函数的最佳平方逼近中,函数 f(x)∈C[a,b],如果 f(x)只在一组离散点集{xi,i=0,1,…,m}上给定,那么我们就需要对实验数据{(xi,yi),i=0,1,…,m}进行曲线拟合,其中,yi= f(xi)。若要求函数 y=S ((*)x)与所给数据{(xi,yi),i=0,1,…,m}拟合,则误差δi= S *(x)-yi。设Φ 1(x),Φ2(x),…, Φn(x)是C[a,b]上线性无关函数族,在Φ =span{Φ1(x),Φ2(x),…, Φ n(x)}中找一函数S ((*)x),使其误差平方和最小即可。因为实验数据量很大,故在实际运算中,可以借助 MATLAB等数学工具,通过调用或者编写相关函数来完成曲线拟合,最后选择适当的结果输出。

  4.2 发射率ε的整定

  根据红外测温的原理,我们在检测时,应该首先明确被测物体的发射率。在较高的测温应用中,应实际测定被测对象的发射率ε,否则将造成严重的误差。而对于电力设备,其发射率一般在 0.85-0.95之间。测得的是被测对象的黑体辐射温度,在实际测量应用中,需要把黑体辐射温度 T P换算到真实温度T。换算公式为:T=T Pε-?

  发射率确定方法如下:首先选定一个被测物体,确定被测物体的真实温度 T(例如温300K),当然也可以选择其它温度,温度值可以通过热电阻或者其它测温设备测出来。然后,将测温系统,对准被测物体,得到一个温度值 T P=T0,通过以上公式,得到ε的设定值;然后将ε值输入系统,再测试,通过微调ε值,直到 T 0= T时,所得到的ε值,就是该物体的实际发射率。同一种被测物体的实际发射率ε,基本上是一样的。如果被测物体的材料,形状有变化,将改变它的发射率,用同样的方法可以测出它的实际发射率。本设计中有发射率设定,调整部分,可以方便调整发射率的值,这样,使用同一个测温设备,通过调整发射率,满足各种材料的测温要求。

  六.结束语

  非接触红外测温仪采用红外技术可快速方便地测量物体的表面温度。不需要机械的接触被测物体而快速测得温度读数。只需瞄准,即可在显示屏上读出温度数据。红外测温仪重量轻、体积小,使用方便,并能可靠地测量热的、危险的或难以接触的物体,而不会污染或损坏被测物体。另外,红外测温仪每秒可测若干个读数,而接触测温仪每次测量就需要数秒的时间。经实验对比,本测温仪和美国福禄克公司生产的红外测温仪的误差在一度以内,但本测温仪有参数设定功能并且价格较低,因此本测温仪具有较高的性价比,目前已应用于电力设备中,对高压柜中的铜板温度进行监测,效果良好。

  创新观点:将热电堆红外传感器应用于测温系统,并且采用 SOC级微处理器控制,从而实现了快速,精确测量。并将多个温度表的数据统一用上位机的数据库管理,实现了一个功能完善的复杂系统。

参考文献:

[1]. LM358 datasheet http://www.dzsc.com/datasheet/LM358_1060605.html.
[2]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[3]. RS485 datasheet http://www.dzsc.com/datasheet/RS485_585289.html.
[4]. TLC2543 datasheet http://www.dzsc.com/datasheet/TLC2543_1116475.html.
[5]. STC datasheet http://www.dzsc.com/datasheet/STC_2043151.html.
[6]. STC89C58RD datasheet http://www.dzsc.com/datasheet/STC89C58RD_1.html.




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈msp430f5529入门(2)----时钟配置.例程分析