高精度温度测试仪的设计

2018-08-25 08:14娟,谢
电子设计工程 2018年16期
关键词:热电阻温度计按键

王 娟,谢 檬

(西安交通大学城市学院电气与信息工程系,陕西西安710018)

温度是人们在工农业和日常生活中的一项重要生产生活指标,有着极其重要的作用,尤其是一些特殊场合,对温度的精度测量也会有一定的要求,而热电阻传感器适用于对温度检测精度要求比较高的场合,热电阻传感器能够用于检测-200℃~+600℃范围内的温度[1-4]。而单片微型计算机(即单片机)凭借其丰富的接口,以及软件程序实现硬件功能的特性,弥补了热电阻单独测温时不能满足工业要求精度的劣势[5-6]。文中设计的基于89C52单片机的高精度热电阻温度采集测量模块,使得温度控制精度大大提高,满足工业控制和日常生活对测温的要求。

1 硬件设计

本设计硬件系统主要由单片机主控模块、温度采集模块、A/D转换模块、LCD显示模块、矩阵键盘模块等组成。温度测试仪的硬件结构框图如图1所示。

图1 温度测试仪的硬件结构框图

1.1 温度采集处理模块

温度采集模块,也就是测温与信号放大模块电路,如图2所示,该测温模块主要由PT100铂热电阻和LM358芯片组成。

LM358内部有两个高增益的双运算放大器,运放U1A将VREF转换为恒流源,电流流过PT100时在其上产生压降,再通过U1B将该微弱信号放大,即输出期望的电压信号,可直接用于AD转换。LM358的封装形式有贴片式和直插式,但是贴片式的封装不利于电路的焊接,所以本设计中选用的封装方式是双列直插式。等效恒流源输出的电流最好不超过1 mA,以免电流大使得PT100电阻自身发热造成测量温度不准确[7-9]。

由热电阻的恒流源调理电路可知,电路放大倍数为10倍,VREF为基准电压[10]。本设计中基准电压是4.096 V,采用TO-92封装方式的基准电压芯片MCP1541产生,信号稳定且便于电路的焊接。

图2 测温与信号放大电路

1.2 A/D转换模块

A/D转换模块主要由A/D芯片TLC2543及其外围电路组成,其硬件电路图如图3所示。

图3 A/D转换电路

A/D转换模块主要由A/D芯片TLC2543及其外围电路组成,本设计中只使用一路A/D转换通道,这里选择通道0即AIN0。TLC2543芯片的各种功能由控制字节来控制实现,比如选择使用哪个模拟量输入通道等,控制字节存放在控制寄存器中,是从低位D0到高位D7的8位数据,通过配置这8位数据可以控制TLC2543芯片使用哪路A/D通道、数据输出的格式和位数等等功能[11-12]。

D0决定了转换出的结果输出的格式;

D1为0时,输出数据格式为高位在前,D0为1时,输出格式为低位在前;

D2和D3为01时,输出的数据为8位数据,D2、D3为11时,输出的数据为16位数据,D2、D3为X1时,输出的数据为12位数据;

D4、D5、D6、D7为 1100-1110的时候,芯片检测片内电压。当它们为1111时,芯片的电流为25 μA,进入休眠低功耗模式。

最初,CS为高电平,时钟输入输出和数据输入都被禁止了且都为高阻抗状态。CS由高电平到低电平时开始序列转换,时钟输入输出和数据输入的高祖抗状态被删除,功能被开启。输入数据是一个8位数据流和4比特组成的模拟通道地址(D7-D4)还有2比特的数据长度,选择(D3-D2),一个输出MSB和LSB,第1位(D1),和一个单极或双极输出选择(D0)应用于数据输入。在这个转变过程中,I/O时钟序列也从之前的输出数据得出转换结果。

1.3 人机接口

人机交互对话最通用的方法就是通过键盘和LCD显示进行的,操作者通过键盘向系统发送各种指令或置入必要的数据信息,并将结果通过LCD屏显示出来。

本设计中选择使用矩阵键盘连接方式[13],硬件设计图上的P13、P14、P15、P16是接在单片机引脚上的。

本设计采用的LCD1602低功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。单片机内部P1口、P2口、P3口都有内部上拉电阻,而P0口没有内部上拉电阻,设计中P0口连接LCD1602显示模块,所以在电路中给P0口加了10K的上拉电阻。

2 软件设计

系统软件主要对A/D模块传递的数值进行计算,计算出PT100铂热电阻的阻值,然后根据该阻值通过查表法得出相应的温度数值,再将温度数值在LCD上显示出来。按键可以变换温度的显示模式,分别是摄氏温度、华氏温度、开氏温度。如果没有按键按下,LCD将显示摄氏温度;如果有按键按下,根据按键值,LCD将显示相应的温度模式。系统软件流程图如图4所示。

图4 系统软件流程图

2.1 A/D转换程序

A/D转换芯片使用的是TI公司的TLC2543芯片,这款芯片使用SPI串行数据传输方式,而本设计中只用到芯片的一路转换通道。在这个转变过程中,输出的数字量数据为Dn=2n×VIN/VREF。

2.2 显示程序

LCD1602能够同时显示16x02即32个字符,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

LCD1602显示屏使用HD44780控制,该芯片中包含多个寄存器,在显示之前,需要对相关寄存器进行设置,即LCD初始化。初始化完毕以后,就可以进行数据的传输。根据相应的控制方式,将计算出的温度数值各个位提取出来,方便显示。显示子程序流程图如图5所示。

图5 显示流程图

2.3 键盘扫描程序

系统中键盘采用矩阵键盘方案。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。要使单片机能检测到矩阵键盘中的按键按下,需使用键盘扫描的方式对按键进行检测,即先将键盘逐行置低,在此过程中,逐列检测,如果检测到某列连接的引脚为低,说明该行与该列的交叉点的按键被按下,根据行值与列值计算键值,将键值记录下来。

按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5 V电源上。无按键按下时,行线处于高电平的状态,当有按键按下时,行线电平与此行线相连的列线电平决定。

在本设计键盘扫描中,如果检测到按键1按下,则返回值为1;检测到按键2按下,返回值为2;检测到按键3按下,返回值为3;检测到按键4,返回值为4;初始时,没有按键按下,返回值为0。所以在主程序中会根据返回的键值来显示不同的温度模式:当键值为0或者4时,温度显示模式普通温度模式;当键值为1时,温度显示为摄氏温度模式;当键值为2时,温度显示为华氏温度模式;当键值为3时,温度显示为开氏温度模式。

3 功能测试

将程序下载到单片机中,LCD1602液晶显示屏插入正确位置,PT100铂热电阻连接至电路板中,安装好电池,之后打开电源对系统进行功能测试。所选择比较的标定测试仪器参数指标如下:

测量范围:-200.0~600.0 ℃;传感器:PT100;显示:五位LCD;基本误差:±0.05%、±0.2%;采样时间:1~2 s;环境条件:温度:-40~70 ℃;相对湿度:90%RH。

具体测试步骤:

1)将PT100探测头端置于冰水混合物中静置几分钟,然后观察显示屏数值。

2)将PT100探测头端与数字温度计置于同一杯常温水中静置一段时间,观察显示屏与数字温度计数值并且进行对比,如图6所示。

图6 本系统与数字温度计同时测温水温度

3)将PT100探测头端与数字温度计置于同一壶刚烧开的水中,观察显示屏数值并读取数字温度计数值,如图7所示。

图7 本系统与温度计同时测开水温度

4)在上一步骤操作完后,将水壶盖打开散热,PT100探测头与数字温度计放置在水中不变,每隔3分钟记录一次显示屏的数值与数字温度计的数值。

5)重复上述步骤多次,测量多组数据。

6)对测量的数据进行统计分析。

通过上述的测试步骤,得出了一组测量温度数据见表1。

表1 测量数据统计表

在以上的测试中,假设数字温度计测量的数值为温度的实际数值,那么就有:

绝对误差=数字温度计读取数值-显示屏显示数值;

相对误差=(绝对误差/显示屏显示数值)*100%。

绝对误差能表示测量的数据与实际数据偏离的数值大小,而相对误差能表示测量数据的可靠程度[14-15]。由上表数据可知,每一组的绝对误差很小,即表明系统测量的数据与实际数据相差很小[16]。而每一组的相对误差都不超过0.5%,说明测量的数据准确可靠,而测量精度也达到了设计要求,说明系统达到设计要求。

根据表1绘制出数字温度计和实际测试温度对比坐标图如图8所示。

由图8可以看到上方的虚线是由系统温度测试仪测试出的温度值所绘制出的图形,下方的实线是由数字温度计测试的温度值所绘制出的图形[17],对比图形可以看出两条线几乎一致,

表明设计的高精度温度测试仪的误差是非常小的。

图8 本系统和温度计测温对比坐标

4 结束语

本文主要介绍了高精度测温系统的设计特性,设计中采用最常用的单片机芯片作为CPU,结合铂热电阻PT100温度采集电路,完成了一整套测温系统的设计,同时对不同的水温进行多次测量,对测量数据记录并分析得出结果,结果证明系统工作正常,符合设计要求。

猜你喜欢
热电阻温度计按键
正确认识温度计
各种各样的温度计
基于有限状态机的按键检测程序设计
基于PT100铂热电阻的离心泵温度监测系统设计
温度计的『一二三』
三招搞定温度计
NHR-213不隔离智能温度变送器
一种多方向导光按键结构设计
热电阻智能防火系统
三线制PT100热电阻测温电路的设计