摘 要:针对工业领域中温度传感器需要标定的问题,设计了一种可以同时对多路温度传感器" title="多路温度传感器">多路温度传感器" title="多路温度传感器">多路温度传感器进行标定和特性分析的系统。系统包括以STC89C52单片机为核心的硬件电路和在PC机上运行的软件程序。介绍了标定和分析的方法、硬件电路和软件设计。本系统实现了在0 ℃~100 ℃范围内标定和分析多种温度传感器采集的温度值。用该标定系统标定过的温度传感器的各项误差均在应用允许范围内。
关键词:铂电阻; 温度传感器; 传感器标定
传感器在使用前或使用一段时间后是需要标定的。为了迅速完成大量传感器的标定与特性分析工作,本文开发了一套STC89C52-PC系统,用在温度传感器的标定与特性分析上,得到了满意的结果。
1 标定和特性分析的方法
1.1 标定方法
标定是指:在规定的条件下,为确定测量仪器或测量装置所指示的量值,与对应的由标准所复现的量值之间关系的一组操作。在本系统中,标准所复现的量值是标准温度传感器所显示的数值,它准确且稳定地指示当前温度;测量仪器或测量装置所指示的量值是由各个被标定的温度传感器所采集的信号经过处理后所显示的数值。
1.2 特性分析方法
特性分析是指对温度传感器所测温度与电压、电阻量之间的关系曲线进行描述与分析。
对于热阻效应的传感器,温度特性是指阻值与温度的关系;对于热电效应的传感器,温度特性是电动势与温度的关系。在本系统中,温度值是标准温度,待分析传感器的相应电量是由各个温度传感器对应的处理电路进行放大、采样、A/D转换得到。通过数据处理和分析,得到不同的温度与电量之间的特性曲线,分析其线性度,就可以知道温度传感器的性能好坏。
2 系统构成
本系统是一个软硬件融合的产品,由单片机、外围电路和温度传感器构成数据采集与处理部分,由PC机进行数据处理和图形化显示,单片机与PC机通过RS-232实现主从式通信。
2.1 硬件系统的组成及实现
2.1.1 硬件系统结构
硬件系统总体结构如图1所示。
2.1.2 硬件系统各部分说明
(1) 数据处理模块
系统中数据采集及处理由STC89C52单片机实现,它是本系统的核心,因此单片机型号的选择很重要,它关系到系统的稳定、功耗、可操作性等各个方面。STC89C52单片机的优点:(1)它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,DIP40封装系列与8051兼容均为Pin-to-Pin,使用时容易掌握;(2)高速(最高时钟频率90 MHz)、低功耗、价格低、稳定可靠、应用广泛、通用性强,在系统/在应用可编程(ISP,IAP),不占用户资源。本系统利用了STC89C52单片机的1个中断,2个定时器以及P0~P3 4个端口。采用外部11.059 2 MHz晶振,并使用30 pF的电容接地,以提高系统的稳定性和可靠性。
(2) 标准温度测量模块
标准温度测量模块由Pt100和精密电阻组成的四臂电桥以及AD7705组成。Pt100是线性度非常高的温度传感器,稳定性好,灵敏度系数为3 850 ppm/℃,配合高增益放大电路可以实现高灵敏度。为了消除布线电阻对测量误差的影响,Pt100采用三线制接线方法[1]。使用精度为1‰的精密电阻可以减小前端电桥引入的误差。AD7705是Analog Device公司出品的适用于低频测量仪器的低功耗A/D转换器,它内部集成了仪表放大器和模数转换器,能将传感器的微弱信号直接转换成串行数字信号输出;片内可编程放大器可设置增益为1~128;采用Σ-Δ的模数转换机制,实现16位无误码的A/D转换;通过片内控制寄存器可设置数字滤波器的第一个凹口,能够有效滤除工频噪声。由于采用了AD7705 A/D转换器,有效地使系统成本降低、体积缩小、复杂性减小。
采用AD7705完成信号放大和模数转换非常方便,但在应用时有两点需要注意: (1)铂电阻电桥的驱动电压是系统电压VCC,所以输出信号与VCC成正比。为了消除电源电压波动引起的误差,AD7705宜采用与VCC成比例的外接基准电压,本系统中采用VCC/2[2];(2)前端电桥100 ℃时输出为19 mV,AD7705的A/D转换部分输入为VCC/2=2.5 V时输出才是全额输出(对于16位A/D芯片来说,全额输出是指输出数字量为216-1=65 535)。为了使AD7705在100 ℃时全额输出,选用增益为2.5 V/19 mV=131。因此,设置AD7705内部可调增益为128,留有部分余量。该模块测温范围在0 ℃~100 ℃,测温精度为±0.05 ℃。
(3) 待标定温度传感器信号采集与处理模块
①放大电路
各路温度传感器信号在数字化之前,需经过放大电路处理。放大电路有3个作用:对微弱信号进行放大;阻抗变换;有源滤波。
本系统选用的是AD623集成仪表运算放大器。它的特点在于只用1个外接电阻就可以获得1~1 000的增益、高精度、高共模抑制比,偏置漂移典型值只有0.1 μV/℃。使用AD623作为前级放大器,提高了放大的精确度与稳定度,实现了微弱信号的高倍放大和滤波处理。
②多路模拟输入A/D转换电路
为了尽量减小A/D转换部分的误差,本系统采用MAX186多通道模数转换器。它是一个8通道12位高速超低功耗模数转换器,采用逐次逼近的A/D转换技术,内部有宽带跟踪/保持电路和串行接口;8路单端输入或4路差动输入可由软件设定, 转换结果由串行接口输出。分辨率为12位,采样速度达133 kHz,芯片可由单5 V或双±5 V电源供电;其串行接口可与SPITM、QSPITM、WicrowireTM兼容;可采用内部时钟或外部时钟完成A/D转换;内部基准电压为4.096 V,也可以外接基准电压;具有硬件关断和2种软件关断模式。
铂电阻和NTC热敏电阻的信号转换电路采用系统电压作为驱动电压,输出电压值应与系统电压成比例。为了减小A/D转换电路引入的误差,对应于铂电阻和NTC热敏电阻的A/D转换电路基准电压也应与系统电压成比例,本系统中采用VCC/2。
热电偶和热电堆红外温度传感器的输出信号是电动势,无需信号转换。为了更准确地将该电动势转化为数字量,对应于它们的A/D转换电路的基准电压应该是准确且稳定的,本系统中采用的内部基准电压为4.096 V。
(4) RS-232串口通信模块
硬件电路和PC机之间采用RS-232串口通信技术,通信芯片采用MAX232。该芯片只需+5V供电,内部集成电平转换电路,外围电路简单,只需3根线就能完成半双工通信,且传输可靠。STC89C52有专门的串口通信引脚RXD、TXD。本系统中采用的STC89C52的Timer2作为串行数据传输的波特率发生器。
(5) 键盘与液晶显示模块
键盘功能:选择被标定和分析的传感器;设置温度范围;选择要查看的对象;同时为了使系统更实用,还有主菜单、翻页、退格、确定等按钮。综合这些要求,本系统采用4×4小键盘。驱动电路采用CH452芯片。该芯片与单片机采用串行四线制连接。DIG7~DIG0 引脚用于列扫描输入,SEG7~SEG0 引脚都带有内部下拉电阻,用于行扫描输入;当启用键盘扫描功能后,DOUT引脚的功能由串行接口的数据输入变为键盘中断以及数据输入。使用CH452芯片不仅节省了单片机端口,而且它的中断机制保证了系统的及时响应。
液晶显示部分的功能:显示测量温度值;输出标定和分析的结果;显示提示信息、报警信息。本系统采用12232f液晶显示器。12232f是一种内置8 192个16×16点汉字库和128个16×8点ASCII字符集的图形点阵液晶显示器,它主要由行驱动器、列驱动器及128×32全点阵液晶显示屏组成,含有2 MB ROM提供的8 192个汉字和16 KB ROM提供的128个字符,可完成图形显示,也可以显示汉字。12232f液晶显示器能识别18条指令,分别实现光标显示、画面移位、自定义字符、睡眠模式等多种功能。与微处理器的连接方式有并口和串口两种。并口相对于串口虽然用了较多的I/O口,但是数据传输速度快得多。本系统采用并口连接方式来保证输出结果的更新速度。
2.2 软件系统的组成及实现
2.2.1 软件系统流程
软件系统流程图如图2所示。该软件系统通过握手信号将硬件电路与PC机有机地联系起来。由图2可见,硬件部分可以脱离PC机单独使用,即支持现场操作。系统采样周期为1s,由Timer1定时实现。为了能够保证各个温度传感器的响应时间,还要控制热源的升降温速度。
2.2.2 软件系统功能
单片机上的软件程序实现:选择被标定传感器、设置标定温度、查看标定的数据、采集温度值等功能。
PC机上运行的软件程序是为了获得更加丰富且直观的测量结果,实现如下功能:(1)通过串口与硬件电路通信,接收上传的测量数据,下传指令数据;(2)图形化显示测温、标定、特性分析的结果; (3)设置通信端口,选择工作模式,选择被标定和分析的温度传感器,设置温度范围,实时指示工作状态;(4)对数据进行软件滤波,丢弃错误数据,保证通信稳定可靠。
软件采用Visual Basic语言实现。Visual Basic语言在界面开发和串口通信方面拥有独特的优势,它具有面向对象的设计思想、事件触发程序执行的机制、MSComm通信控件,使编程快捷、方便,效率大大提高,也减少了因编程不当导致的系统不稳定[3]。
系统最终实现了在标定模式下显示标准温度模块和待标定温度模块采集的温度曲线比较,在分析模式下显示待分析传感器的温度特性曲线以及对应的数据列表。
3 系统的误差测量与分析
3.1 标准温度模块的测量误差
本系统中的标准温度由AD7705输出的数字量通过曲线拟合转换为温度值得到。为了尽量减小误差,采用3次曲线拟合,因为0 ℃~100 ℃本身温度范围比较小,所以就将0 ℃~100 ℃作为一个温度段,拟合成1条曲线。具体实现由1stOpt软件完成。1stOpt在非线性拟合、参数估算等优化领域处于领先地位。
标准温度测量模块在35 ℃~40 ℃范围内测试结果如表1所示。标准误差:
参考文献
[1] 松井邦彦.传感器实用电路设计与制作. 北京:科学出版社,2005:13-84.
[2] 松井邦彦. 传感器应用技巧141例.北京:科学出版社, 2006:57-110.
[3] 刘炳文.Visual Basic程序设计. 北京:机械工业出版社, 2004: 23-300.
[4] MONTROSE M I.电磁兼容和印刷电路板. 北京:人民 邮电出版社, 2002: 1-354.
可见在35 ℃~40 ℃范围内标准温度测量误差为±0.026 ℃。
通过在整个应用温度范围0 ℃~100 ℃内测量、计算,得到标准温度测量模块测温范围在0 ℃~100 ℃时的测温误差为±0.05 ℃。
3.2 待标定温度传感器模块的系统误差
在具体测试中,应将待标定温度传感器的数值减去其系统误差,然后和标准温度模块的测量结果进行比较,得出标定结果。待标定温度传感器模块的系统误差主要来源于传感器信号转换电路的电阻误差、放大电路的偏置漂移和A/D转换的误差。下面以在50 ℃标定标称电阻值为2 kΩ的NTC热敏电阻为例进行测量。随机抽取3个标准的标称电阻值为2 kΩ的NTC热敏电阻进行测试,取平均值作为测量结果。因为选取的是标准的NTC热敏电阻,所以此时显示温度和实际温度的差值取平均就是待标定温度传感器模块的系统误差。测量10次,其结果如表2所示。
对表2中的绝对误差取平均值得到+1.14 ℃。可见,在50 ℃标定标称电阻值为2 kΩ的NTC热敏电阻的系统误差为+1.14 ℃。
通过在整个应用温度范围0 ℃~100 ℃内以0.5 ℃为间隔逐点测量,最后采取折中处理,确定在室温下,标称电阻值为2 kΩ的NTC热敏电阻标定模块的系统误差为+1.2 ℃。
显示温度减去系统误差其结果如表3所示。用来计算NTC热敏电阻标定模块的。标定误差计算如下:
可见,在50 ℃标定标称电阻值为2 kΩ的NTC热敏电阻的标定误差为±0.33 ℃。
通过在整个应用温度范围0 ℃~100 ℃内以0.5 ℃为间隔逐点测量、计算,选取最大的标准误差作为标定误差。最后确定在室温下,标称电阻值为2 kΩ的NTC热敏电阻的标定误差为±0.5 ℃。
系统标准温度测量范围在0 ℃~100 ℃,精度为±0.05 ℃;铂电阻标定误差为±0.1 ℃;热电偶标定误差为±0.5 ℃;NTC热敏电阻标定误差为±0.5 ℃;热电堆红外传感器标定误差为±1 ℃。经过PCB设计[4]、软硬件联合调试以后,本系统性能稳定可靠,标定和分析结果可信。在对实验室所用的温度传感器进行大量测试的过程中,未出现误测现象。该系统支持现场操作,功能丰富,可以作为工业领域温度测控系统设计与维护的辅助工具。