控制/MCU
在进行温度测量时,测量端置于被测介质中,而冷端温度一般不为0℃,其大小随周围环境温度变化。如果直接按照冷端温度为0℃时的分度表来求得测试温度,势必产生很大误差。传统的办法,一是使用补偿导线,将冷端延长到远离热源的恒温室。测出冷端温度,根据热电偶中间温度定律,算出对应0℃冷端时的热电势:
其中eAB(T,T0)是实测的热电势,eAB(T0,0)根据冷端温度T0计算或查表所得。据此可算得eAB(T,0),从而可得被测温度T。
二是采用电桥补偿法,在冷端接入补偿电桥,用外加的能随冷端温度变化的补偿电势,来补偿由于冷端温度变化所引起的测试误差。该法可用于冷端温度变化的场合。
由于补偿导线材料或补偿电桥中的温敏元件其热电特性与热电偶的热电特性仅能作某种程度上的近似,因此其补偿范围与补偿精度都不能满足高精度测量的要求。
微机技术的发展,使得冷端温度的数字化实时处理成为可能。笔者利用微控制器和集成温度传感器,对热电偶的冷端温度进行实时修正,使热电偶的测温精度在全范围内达到±0.5℃。本文以K型热电偶为例,介绍该系统的设计方法。本设计采用89C51作为微控制器,热电偶产生的热电势经过精密运算放大器7650放大后,送四位半双积分AD转换器ICL7135转换为数字量送入89C51。冷端温度的测试采用集成温度传感器DS18B20,该传感器为数字传感器,采用单总线协议,用一根线与计算机连接。硬件结构如图1所示。
(1)测量端温度。5位数字显示,单位℃;(2)冷端温度。4位数字显示,单位℃;(3)热电势eAB(T,T0)经AD转换后得到的数字量。5位数字显示,单位mV。
用显示选择按钮来进行显示选择。指示灯指示当前显示的数字。缺省状态显示测量端温度。
计算机的工作过程如下:
首先通过AD7135,采集热电偶在测量端温度T和冷端温度T?0时产生的热电势数据eAB(T,T0)。其次,由DS18B20测得冷端温度T0,然后,通过软件查询分度表,得到对应的热电势eAB?(T0,0),再根据中间温度定律,算得:
最后根据分度表查得eAB(T,0)对应的温度T。ICL7135是常用的四位半双积分AD转换器,输出定时波形如图2所示。ICL7135工作时,当R/H脚为“1”,7135处于连续转换状态。每40002个时钟周期完成一次AD转换,以4位二进制形式的BCD码输出(实际上是上次转换的结果)。同时输出各位的位同步选通信号:D5,D4,D3,D2,D1。AD转换结果以动态扫描方式输出。即当选通信号D5=“1”时,BCD输出为万位。当D4=“1”时,BCD输出为千位……,其余类推。数字选通信号STB产生的负脉冲可作为AD转换的结束信号,向微控制器发出中断请求。在中断服务程序中,首先判断最高位的位选信号D5是否有效,若无效则等待。当D5有效后将此时出现在数据线上的4位BCD码读入内存作为万位。接下来再判千位的位选通脉冲D4是否有效,无效等待,有效则读入数据作为千位存内存,其余类推。所有5位数读完以后,中断返回。
冷端温度的测量采用美国DALLAS公司的DS18B20集成传感器。该传感器有如下特点:
(1)采用单总线协议,即只要一个接口引脚即可通信。(2)不需要外部元件。(3)可用数据线供电。测量范围从-55℃到+125℃。(4)以9位数字量输出温度数据。(5)数字增量值为0.5℃。(6)转换时间为100ms。(7)具有用户可定义的温度报警设置。
对DS18B20的操作是通过控制命令来进行的。DS18B20有自己的指令集。共有6种控制命令。用户可用这些指令进行有关的读/写操作。DS18B20的温度值有9位,以1/2℃ LSB形式表示。DS18B20内有9个字节的数据暂存存储器,字节0和字节1存放测得的温度值。低字节在前,高字节在
后。图3是DS18B20测温程序的流程图。
来源;21ic
全部0条评论
快来发表一下你的评论吧 !