摘要:利用单总线数字温度传感器DS18B20芯片以及微处理器,可以用软件方法实现对传感器由于环境温度带来的测量误差的补偿。文中以电阻应变式传感器为例,提出了具体的补偿方案。 关键词:传感器;温度补偿;单总线DS18B20芯片;神经元芯片
Abstract: A one-wire digital chip DS18B20 and microprocessor by software are used to modify the error caused by the changing of surrounding temperature when the sensor is testing. In this paper, a detailed compensation scheme about resistance stain type sensor is put forward. Key words: Sensor; Temperature compensation; One-wire DS18B20 chip; Neuron Chip
工业现场的温度变化范围大而剧烈,工作在工业现场的传感器大多数都对温度有一定的敏感度,这样就会使传感器的零点发生变化,从而造成输出值随环境温度变化,导致测量出现附加误差,因此温度补偿问题一直是传感器技术中的关键环节。温度补偿的方法目前应用较广泛的是利用微处理器实现温度漂移软硬件补偿方法。本文要介绍的温度补偿方法也属于一种软硬件补偿,只是在具体实现的过程中提出了新的设计方案-采用单总线数字温度计DS18B20芯片和LonWorks现场总线技术中的神经元芯片(Neuron Chip即CPU)实现传感器的温度补偿,并以电阻应变片式传感器为例,详细介绍了它的硬件电路和软件设计部分[1-5]。
1 传感器温度漂移软件补偿原理
由于环境温度变化而引起的附加误差,可采用软件补偿的方法来修正,其基本思路是:在电阻应变片式传感器附近敏感部位处,安放一个测温元件,用来检测传感器所在环境的温度;把测温元件的输出经过多路开关与信号同一路径送入CPU,根据温度误差的数学模型去补偿被测信号,以达到精确测量的目的。其中误差修正是根据应变片在无载荷情况下,由于温度变化而引起的温度漂移的应变值。 传感器采用这种软件补偿方法解决温度附加误差时,通常测温元件采用热电阻,因此必须增加相应的热电阻温度变送器及A/D转换两部分的电路,任何一个环节都不能缺少,具体实施起来难免显得有些繁琐,而且两部分电路的温度特性可能成为新的附加误差。 针对上述问题,可以通过使用数字温度传感器代替热电阻检测电阻应变片周围环境温度。本设计采用由美国DALLAS半导体公司生产的DS18B20型单总线智能温度传感器。它具有其它温度传感器无法比拟的特点: (1) DS18B20采用DALLAS公司独特的"单线(1-wire)总线"专有技术,通过串行通信接口(I/O)直接输出被测温度(9位二进制数,含符号位); (2) 测温范围为-55~+125℃,其分辨率为0.5℃,若采用高分辨率模式,分辨率可达0.1℃,温度转换可在1s内完成; (3) 适配各种单片机或系统机,具有微型化、低功耗、高性能、抗干扰能力强等特点; (4) 价格便宜,市售仅为几元钱,仅为普通变送器的十分之一; (5) 只需一根数据线就能实现与微处理器的通讯,而且芯片正常工作所需电源也可以从数据线上获得,无需外部电源[2]。 经试验研究证明,DS18B20这种温度传感器可以很好地解决温度漂移软件补偿中的测温问题。 DS18B20的工作原理是:DS18B20采用3脚PR-35封装或8脚SOIC封装,其中GND为地;I/O为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平;Vdd是外部+5V电源端,不用时应接地;NC为空脚。图1所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分[3]。
 图1 DS18B20内部结构图
DS18B20的温度测量原理如下:DS18B20测量温度时使用特有的温度测量技术,其测量电路框图如图2所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。计数器设置为-55℃时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程[3]。
 图2 DS18B20测温原理框图
2 电阻应变式传感器的温度补偿方案
电阻应变片式传感器的最大用武之地是称重和测力领域。这种传感器有如下特点:应用和测量范围广,应变片可制成各种机械测量传感器,分辨力和灵敏度高,结构轻小,商品化。不过和大多数传感器一样,其温度特性不太理想,在实际使用时需进行温度补偿[4]。 具体思路是:在确定传感器与温度之间的数学模型后,通过数字温度传感器DS18B20芯片,直接把温度信号转换为相应的数字量,送入CPU进行后续处理,即根据传感器的温度特性对测量进行修正,实现用软件的方法消除由于环境温度的变化给测量带来的误差。 2.1 电阻应变片式传感器温度补偿硬件电路设计 硬件电路设计如图3所示,其核心部分是51单片机的CPU芯片和DS18B20芯片。51单片机的CPU采用AT89C52,共32个双向可编程I/O口。这些I/O口根据不同需要,灵活选择接口方式,实现与外围设备的接口。本文涉及的I/O对象主要有DS18B20的数据总线,A/D转换的数据总线及液晶的控制及数据总线。其中DS18B20由AT89C52的P1.0脚控制。
 图3 电阻应变式传感器温度补偿硬件电路图
对于DS18B20芯片工作时所需的一系列初始化序列,都由相应的时序来控制。有了这些时序CPU对外围元件DS18B20芯片的控制与通信就显得非常方便。 2.2 电阻应变片式传感器温度补偿软件设计 从图3给出的硬件电路可以发现,电阻应变式传感器温度补偿环节的硬件电路比较简单,然而简洁的硬件配置是靠复杂的软件来支撑的。为保证数据可靠传送,任一时刻单总线上只能有一个控制信号或数据,因此进行数据传输通信时,要符合总线协议。一般有以下四个过程:初始化信号,传送ROM信号,传送RAM信号和数据交换。神经元芯片所用的编程语言本设计采用汇编语言编程,其软件设计包括以下两个部分: (1) 温漂值的测定 在实验室里,将传感器贴在不受任何载荷模拟现场的试件上,然后人为地使温度升高(或降低),例如:将应变片及其附属设备放在冰箱或冰柜里。利用温度传感器DS18B20测出其温度,再利用单片机读出相应的应变值。将与温度相对应的应变值存入片外RAM中,并建立一个温度和温漂值相对应的数据库。 (2) 结果的修正 在现场,通过软硬件测得环境温度后,接着要对一定环境温度应变值进行修正,其流程图如图4所示。首先,在现场将电阻应变片贴在试件上,测出其应变值,然后将其结果输入CPU中,用CPU记录此结果,再从数据库中读出与温度相应的温漂值,并对该温度下测得低应变值进行修正,最后输出经过温度补偿真实的应变值,并存入片外RAM中。
 图4 软件补偿流程图
3 结语
传感器的温度漂移问题是影响传感器正常工作的一个比较棘手的难题。通过本文的例子可以看出,单总线芯片DS18B20不仅可以应用于温度检测,而且更加方便地解决了传感器的温度漂移补偿。并且DS18B20系列芯片不断有新的功能推出,它在传感器温度补偿中的应用前景是广泛的。
参考文献: [1] 刘君华.智能传感器系统[M].西安:西安电子科技大学出版社,1999,1. [2] Dallas Semiconductor Data Book, DS1820 Data Sheet. [3] 沙占有.智能化集成温度传感器原理与应用[M].北京:机械工业出版社,2002,7:84-102. [4] 刘少强.检测技术与系统设计[M].北京:中国电力出版社,2002,1:66-85. [5] DS18B20 Programmable Resolution 1-Wire Digital Thermometer. http://www.dalsemi.com. [6] 王俊省.微计算机检测技术及应用[M].北京:电子工业出版社,1999:147-151. [7] LonWorks Technology Device Data,Motorola Inc,1997:15-40. [8] Neuron Chip Data Book,Motorola and Toshiba,1992:119-130.
|