CN102589743B - 数码显示温度检测***和数码显示温度检测方法 - Google Patents

数码显示温度检测***和数码显示温度检测方法 Download PDF

Info

Publication number
CN102589743B
CN102589743B CN 201210067353 CN201210067353A CN102589743B CN 102589743 B CN102589743 B CN 102589743B CN 201210067353 CN201210067353 CN 201210067353 CN 201210067353 A CN201210067353 A CN 201210067353A CN 102589743 B CN102589743 B CN 102589743B
Authority
CN
China
Prior art keywords
value
temperature
register
voltage
temperature value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 201210067353
Other languages
English (en)
Other versions
CN102589743A (zh
Inventor
高峰
姜坤
胡国辛
曲海亮
张丽娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XI'AN KANGSUN ELECTRONICS CO Ltd
Original Assignee
XI'AN KANGSUN ELECTRONICS CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by XI'AN KANGSUN ELECTRONICS CO Ltd filed Critical XI'AN KANGSUN ELECTRONICS CO Ltd
Priority to CN 201210067353 priority Critical patent/CN102589743B/zh
Publication of CN102589743A publication Critical patent/CN102589743A/zh
Application granted granted Critical
Publication of CN102589743B publication Critical patent/CN102589743B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measuring Temperature Or Quantity Of Heat (AREA)

Abstract

本发明涉及一种高分辨率、宽测量范围、低成本的数码显示温度检测***和数码显示温度检测方法,数码显示温度检测***由传感器探头,模拟电压信号采集电路,仪器放大器,模/数转换器,微处理器,驱动芯片,数码显示器组成;数码显示温度检测方法包括调用信号采集摸块进行电压值采样、调用去极值滤波取平均值模块求平均值、调用查表与温度值转换模块将电压值转换为温度值、调用温度值数制转换模块将二进制温度值转换为十进制温度值和调用扫描驱动模块进行动态扫描显示。本发明实现了0.1℃的分辨率,-15~+80℃的测量范围,解决了现有温度计难以兼顾高分辨率、宽测量范围和低成本的问题。

Description

数码显示温度检测***和数码显示温度检测方法
技术领域
本发明涉及数字测温技术领域,是一种高分辨率、宽测量范围、低成本的数码显示温度检测***和数码显示温度检测方法。
背景技术
在工农业生产、国防和科研领域中,数码显示温度检测***凭借其精确、直观等优点有着重要的应用。数码显示温度检测***的设计中一般要利用温度传感器作为温度检测的探头,温度传感器能够将温度的变化转换为可以测量的电量(如电阻、电势等)的变化。数码显示温度检测***的设计一般是将温度传感器接入检测电路中,然后从检测电路中采集到随温度变化而改变的模拟电压信号,模拟电压信号经过放大器增益后传送给模/数转换器,模/数转换器将模拟电压信号转换成对应的数字电压信号,并将其传送给微处理器,微处理器将其转换为相应的温度值,并控制数码显示器进行数码显示,显示检测到的温度值。
根据应用场合的不同,数码显示温度检测***有不同的分辨率、精度和测温范围要求,可以采用不同种类的温度传感器作为探头。相关专利和市场上的数码显示温度检测***温度传感器一般采用热电偶、铂电阻或热敏电阻。热电偶是一种电势随温度的变化而改变的热电式传感器,其结构简单,温度测量范围宽,常用的热电偶可测高温达1600℃,低温达-50℃,但是其分辨率较低,一般在1℃以上;铂电阻温度传感器是一种常用的热电阻传感器,温度测量范围较宽,常用的铂电阻温度传感器可测高温达850℃,低温达-250℃,而且具有精度高、稳定性好的优点,但是其电阻温度系数比较小,在高温还原性气氛中使用,容易被污染,使用性能变差,产生脆性以后,会使电阻温度系数发生变化,从而产生测量误差,而且铂材料价格昂贵;NTC热敏电阻是采用陶瓷工艺制成的温度传感器,阻值随温度的升高而呈指数规律减小,与其他温度传感器相比,NTC热敏电阻分辨率高、体积小、响应快、精度高、性能稳定,特别是在-50~+300℃范围内,被广泛使用。
高分辨率、宽测量范围的温度检测***除了对温度传感器有较高的要求以外,还对***的硬件资源及其利用效率有较高的要求。对***硬件资源的要求主要体现在模/数转换器的高位数和微处理器的多字长,这自然会提高***的成本;***硬件资源的利用效率的提高一般通过对模拟电压信号与温度值的变化关系的线性化处理来实现,而线性化处理只能在一定范围内近似有效,如果要在较宽的温度范围内进行线性化处理,则需要将测量范围划分为多段,在每一段内分别进行线性化处理,在温度测量时利用开关进行切换。例如,在河北省标准计量学校设计的“精密数显热敏电阻温度计”(中国专利,申请号为87214459)中,将NTC热敏电阻传感器连接在惠斯通电桥中,在不同的测温范围内与3个阻值恒定的电阻组成惠斯通电桥,利用电桥输出电压对NTC热敏电阻阻值的非线性与NTC热敏电阻阻值对温度的非线性凹凸特性方向相反,合适的选择与NTC热敏电阻同一桥臂的分压电阻R2的取值,使电桥输出电压对温度近似成线性关系,分压电阻R2的选择公式为:
R 2 = R T 1 R T 2 + R T 2 R T 3 - 2 R T 1 R T 3 R T 1 + R T 3 - 2 R T 2
式中,T1、T2和T3分别为某一测温范围的始点温度、中点温度和末点温度,RT1、RT2和RT3分别为NTC热敏电阻在T1、T2和T3温度下的电阻值。但是,线性化范围与线性化效果是互相矛盾的,线性化范围越宽,非线性误差越大,所以,河北省标准计量学校在设计中将测温范围分为4段,每一段分别根据上述公式选择合适的分压电阻R2,并用同步切换开关进行切换。这种在较宽范围内的线性化处理使得电路结构变得较为复杂,如果对分辨率和测量范围的要求不是十分苛刻,例如,要求分辨率为0.1℃,测量范围为-15~+80℃,包含的温度值为951个,8位模/数转换器只包含28=256个温度值,显然不能满足要求,***只能选用12位或更高位数的模/数转换器,而12位的模/数转换器包含212=4096个温度值,远多于需要检测的951个温度值,在这种情况下,如果设计合适的信号采集电路,即使不分段进行电路线性化处理,也完全可以满足使用需要,这相比于电路线性化处理可以使电路结构得到简化。在上述的分辨率和测量范围的要求下,可以选用8位字长的单片机作为微处理器,其相比于16位字长或更高字长的单片机可以降低***成本。但是,利用8位字长的单片机对12位的数字电压信号进行接收、处理、从电压值到温度值的转换、温度值的数值转换等操作相对困难,特别是单片机程序存储器ROM的容量有限,使用查表法进行从电压值到温度值的转换时,如果将电压值和与之对应的温度值同时存入程序存储器ROM,在很大程度上会限制***的分辨率和测量范围,这就要求设计新的查表与温度值转换算法,既能准确的实现从电压值到温度值的转换,又能节省对程序存储器ROM的占用,从而提高***的分辨率,扩大测量范围;对于需要存储在两个存储单元(高8位和低8位)中的温度值进行从二进制到十进制的转换也需要设计新的算法来实现。
也有待改进的是,现有的数码显示温度检测***采用的NTC热敏电阻材料大都是由高纯度过渡金属Mn、Cu、Ni等元素的氧化物在共沉淀制粉、等静压成型后经1200~1400℃的高温烧结而成,高温烧结会提高NTC热敏电阻材料制备技术的复杂性,从而提高了产品的生产成本;而且,现有产品中应用的高精度NTC热敏电阻传感器相当比例依靠进口。因此有必要在数码显示温度检测***的设计中选用我国采用自行设计、并利用低温烧结新工艺制备的高精度NTC热敏电阻传感器,以降低产品成本,并在长期的应用中检验自行设计制备的NTC热敏电阻传感器的性能,进一步改进其设计思路和制备工艺。
发明内容
本发明的目的在于解决现有的采用NTC热敏电阻传感器的数码显示温度检测***难以兼顾高分辨率、宽范围温度检测的要求和高成本的问题,为对分辨率和测量范围的要求不十分苛刻的应用领域提供一种数码显示温度检测***和数码显示温度检测方法。
本发明的技术方案为:一种数码显示温度检测***,由负温度系数(NTC)热敏电阻传感器探头(1)、模拟电压信号采集电路(2)、仪器放大器(3)、模/数转换器(4)、微处理器(5)、驱动芯片(6),数码显示器(7)依次连接组成,
a.模拟电压信号采集电路(2),采用结构简单的惠斯通电桥,由NTC热敏电阻Rt和3个电阻值恒为R0的电阻作为电桥的桥臂,Rt一端接地,接地的对角端接直流电压U0,Rt另一端为高电压输出端U+,U+的对角端为低电压输出端U-,稳压片为电桥提供直流电压U0,电桥两端输出的模拟电压信号是要输入仪器放大器(3)进行增益的模拟电压信号Uin=U+-U-
b.仪器放大器(3)由仪器放大器集成电路和反馈电阻RG组成,增益的大小由反馈电阻RG的取值调节;
c.微处理器(5)采用8位字长的单片机,接收并处理12位的模/数转换器(4)传送的数字电压信号;
d.驱动芯片(6)由14个Darlington管组成,在微处理器(5)的控制下,驱动数码显示器(7),进行动态扫描显示。
将NTC热敏电阻温度传感器探头(1)作为桥臂接入模拟电压信号采集电路(2),电桥输出的模拟电压信号经过仪器放大器(3)增益后传送给12位的模/数转换器(4),模/数转换器再将转换后的数字信号传给8位字长的单片机微处理器(5),8位字长的单片机微处理器对12位的数字信号进行处理,将电压值转换为相应的温度值,然后控制驱动芯片(6),驱动数码显示器(7)进行动态扫描显示;采用两个变压器和相应的整流及滤波电路构成电源板来为***主板提供+15伏、-15伏和+5伏的电压。
本发明根据***分辨率和测量范围与模拟电压信号采集电路(2)中的电桥电阻的阻值R0、电桥电压U0和模拟电压信号增益电路(3)中的仪器放大器的增益G的解析关系建立了电路参数R0、U0和G的选取准则,首先,应确定R0的取值,因为只有在满足R0<Rt的条件下,电桥输出的高电压端的电压值U+大于低电压端的电压值U-,输入模/数转换器的模拟电压信号的值为正,又因为提高R0的取值在提高***的分辨率
Figure BDA0000143558480000041
的同时可以扩大温度的测量范围,所以应尽量提高阻值R0的取值,使R0尽量接近Rt的最小值,即最高温度对应的电阻值;接下来,确定电桥电压值U0和仪器放大器增益G的乘积GU0的取值,由于提高U0与G的乘积GU0可以提高数码显示温度检测***的分辨率
Figure BDA0000143558480000042
但在模/数转换器要求的模拟电压输入范围一定的情况下,也会减小温度的测量范围,所以U0与G的乘积GU0的确定要分为分辨率
Figure BDA0000143558480000043
优先确保和测量范围优先确保两种情况,如果分辨率优先确保,首先将已经确定的R0的值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入分辨率表达式按要确保的分辨率
Figure BDA0000143558480000045
求得U0与G的乘积GU0的取值范围并从中选取较小的且容易实现的值,然后,将已经确定的R0的值、GU0的取值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入仪器放大器输出的最大模拟电压表达式
Figure BDA0000143558480000046
如果式中Uoutmax的值不大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是可以实现的,并可以按上述步骤试探选取更小的最低检测温度值,反之,如果式中Uoutmax的值大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是不可以实现的,应按上述步骤试探选取较大的最低检测温度值,重新确定GU0的取值;如果测量范围优先确保,首先将已经确定的R0的值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入仪器放大器输出的最大模拟电压表达式
Figure BDA0000143558480000051
令Uoutmax不大于模/数转换器要求输入的最高模拟电压值,从而求得U0与G的乘积GU0的取值范围,并从中选取较大的且容易实现的取值,接下来将已经确定的R0的值、GU0的取值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入分辨率表达式
Figure BDA0000143558480000052
求得分辨率
Figure BDA0000143558480000053
从而求得检测的温度步长,即模/数转换器的电压步长/
Figure BDA0000143558480000054
最后,根据实际电路和***工作性能的要求,分配U0和G各自的取值。
本发明中的温度传感器探头是自行设计、并采用低温烧结新工艺制备的片式NTC热敏电阻,用环氧树脂将其固定在黄铜外壳内,制成温度检测的传感器探头,这是一种低功耗制备、成本低廉的高精度的温度检测的传感器探头,在-15~+80℃温度范围内温度系数B值的误差小于3%。
与数码显示温度检测***相应的数码显示温度检测方法,由信号采集摸块、去极值滤波取平均值模块、查表与温度值转换模块、温度值数制转换模块、扫描驱动模块和表格模块组成,其包括如下步骤:
首先,6次调用信号采集摸块,控制模/数转换器(4),连续采集6个模拟电压信号,并转化成数字信号,传送给微处理器(5);然后调用去极值滤波取平均值模块,将采集的6个数字电压信号用冒泡法排序,去掉最大值和最小值后,再将剩余的4组数字电压信号累加后除以4,从而求得电压平均值,即样本平均值;如果样本平均值超过表格中电压值的范围,则使微处理器(5)的F0清零,直接调用扫描驱动模块进行报警显示;如果样本平均值不超过表格中电压值的范围,则使微处理器(5)的F0置位,调用查表与温度值转换模块,将样本平均值与表格模块中的各电压值按从大到小(采集的模拟电压信号随温度的升高而降低,所以对应的温度值是从低到高)的顺序进行比较,直到找到对应或邻近的电压值为止,这时比较的次数就是对应或最近邻的电压值对最大的数字电压值(即最低的温度值-15℃)的相对地址,即样本相对地址,然后将样本相对地址转化为样本平均值相对于0℃对应的电压值的相对地址,这个相对地址就是检测到的温度值的绝对值;接下来调用温度值数值转换模块,将以二进制存储的温度值转化为对应的三位(十位、个位和小数点后的十分位)十进制数值,再将其转换为相应的显示代码,并分别存储于微处理器(5)的随机数据存储器RAM的三个存储单元中;最后调用扫描驱动模块,控制驱动芯片(6),传送给数码显示器(7)位选端和字划端的显示信号,从而进行动态扫描显示。
查表与温度值转换模块是在单片机的程序存储器ROM中,只存入-15~+80℃温度范围内,以0.1℃为间隔的各温度值所对应的电压值,而不存入对应的温度值,查表得到的是样本平均值对应的相对地址,然后再将相对地址转换为对应的温度数值。其操作步骤如下:先将去极值滤波取平均值模块求得的样本平均值与表格模块中的各电压值按从大到小(采集的模拟电压信号随温度的升高而降低,所以对应的温度值是从低到高)的顺序进行比较,直到找到对应或邻近的电压值为止,这时比较的次数就是对应或最近邻的电压值相对于最大的电压值(即最低的温度值-15℃)的相对地址,即样本相对地址;然后将样本相对地址转换为样本平均值相对于0℃对应的电压值的相对地址,(由于***分辨率是0.1℃,所以得到的是温度值的绝对值的10倍),即将样本相对地址与0℃对应的相对地址比较,若样本相对地址大于或等于0℃对应的相对地址,表明检测到的温度值为正,则将样本相对地址减去0℃对应的相对地址,得到正温度值的绝对值的10倍;若样本平均值的相对地址小于151,表明检测到的温度值为负,则用0℃对应的相对地址减去样本相对地址,得到负温度值的绝对值的10倍。
温度值数制转换模块,能将存储在两个存储单元(高8位和低8位)中的-15~+80℃范围内951个可能的温度值利用8位字长的单片机将其从二进制转换为三位十进制数值(分别是十位、个位和小数点后的十分位),并分别存储于三个寄存器中,即寄存器4存十位对应的数值,寄存器5存个位对应的数值,寄存器6存十分位对应的数值,值得说明的是,由于分辨率是0.1℃,样本平均值相对于0℃对应的电压值的相对地址是实际温度值的十倍,所以在转换过程中,存储于寄存器4中的整百部分的数值是显示时十位上的数值,存储于寄存器5中整十部分的数值是显示时个位上的数值,存储于寄存器6中个位部分的数值是显示时十分位上的数值。本模块的操作步骤如下:首先将寄存器1除以100得到的整数部分加到寄存器4中去,然后从寄存器1中减去加到寄存器4中去的整百部分的数值,由于正温度和负温度对应的电压值相对于0℃对应的电压值的相对地址均不超过800,所以高8位寄存器2存储的数值只可能是1、2或3,如果是1,表明高8位寄存器2存储的数值大小是256,让寄存器4中的数值加2,然后将56加到寄存器1中去,如果是2,表明高8位寄存器2存储的数值大小是512,令寄存器4中的数值加5,然后将12加到寄存器1中去,如果是3,表明高8位寄存2存储的数值大小是768,令寄存器4中的数值加7,然后将68加到寄存器1中去,这时寄存器1中的数值可能会超过100,所以再将寄存器1除以100得到的整数部分加到寄存器4中去,然后从寄存器1中减去加到寄存器4中去的整百部分的数值,这样十位上应该显示的数值就被保存在寄存器4中,同时寄存器1和寄存器2中整百部分的数值均被剔除出去;接下来,将寄存器1除以10得到的整数部分存储到寄存器5中去,并从寄存器1中减去加到寄存器5中去的整十部分的数值,这样个位上应该显示的数值就被保存在寄存器5中,同时寄存器1中整十部分的数值被剔除出去;接下来,寄存器1存储的是个位部分的数值,将其存储到寄存器6中去,这样十分位上应该显示的数值就被保存在寄存器6中;这样就完成了温度值由二进制到十进制的转换。
本发明提供了一种能兼顾高分辨率、宽测量范围和低成本的新型数码显示温度检测***和相应的数码显示温度检测方法。一方面通过选用结构简单的惠斯通电桥作为模拟电压信号的采集电路,并根据***分辨率和测量范围与电桥中的电阻阻值R0、电桥直流电压U0和仪器放大器的增益G的解析关系建立了电路参数R0、U0和G的选取准则,从而使电路参数的选取得到优化;另一方面通过选用8位字长的单片机微处理器处理12位的数字信号,并结合自行设计的新的查表与温度值转换算法和温度值数制转换算法使***的硬件资源的利用效率提高;这两方面使***的成本得到了降低,并实现了0.1℃的分辨率,-15~+80℃的测量范围,解决了在分辨率和测量范围的要求不十分苛刻的应用领域现有温度计难以兼顾高分辨率、宽测量范围和低成本的问题。同时,本发明应用了自行设计、并利用低温烧结新工艺制备的高精度低成本的NTC热敏电阻温度传感器,这为检验自行设计制备的NTC热敏电阻传感器的性能,进一步改进其设计思路和制备工艺提供了可能。
附图说明
图1(a)是数码显示温度检测***框图;
图1(b)是数码显示温度检测***电桥电路原理图;
图2是仪器放大器输出电压和***分辨率与温度变化关系曲线;
图3(a)是数码显示温度检测***电源板电路原理图;
图3(b)是数码显示温度检测******主板电路原理图;
图4是数码显示温度检测方法流程图;
图5是信号采集摸块流程图;
图6是去极值滤波取平均值模块流程图;
图7是查表与温度值转换模块流程图;
图8是温度值数制转换模块流程图;
图9是扫描驱动模块流程图。
具体实施方式
实施例一
本实施例是数码显示温度检测***的实现。
数码显示温度检测***如图1(a)所示,采用低温烧结工艺制备的NTC热敏电阻作为温度传感器探头,用环氧树脂固定在黄铜外壳内,制成温度检测的探头,将NTC热敏电阻制成传感器探头(1)与3个阻值恒为R0的电阻R1、R2和R3连接起来,组成惠斯通电桥,作为模拟电压信号采集电路(2),如图1(b)所示,采集的模拟电压信号经过仪器放大器AD620(3)增益后传送给快速逐次比较型的12位的模/数转换器AD1674(4),模/数转换器AD1674(4)再将转换后的数字信号传给8位字长的AT89C51单片机微处理器(5),微处理器(5)对12位的数字信号进行处理,将电压值转换为相应的温度值,然后控制ULN2004驱动芯片(6),驱动4位共阳极发光二极管显示器(7)进行动态扫描显示,如图3(b)所示,采用两个220V/20V的变压器和相应的整流及滤波电路构成电源板,如图3(a)所示,为数码显示温度检测***主板提供+15伏、-15伏和+5伏的参考电压和工作电压。
本发明根据***分辨率和测量范围与模拟电压信号采集电路(2)中的电桥参考臂阻值R0、电桥电压U0和模拟电压信号增益电路(3)中的仪器放大器的增益G的解析关系建立了电路参数R0、U0和G的选取准则,按照这条准则来选取电路参数R0、U0和G可以使***满足预期要求的分辨率和测量范围,同时使***的工作性能得到优化。电路参数R0、U0和G的选取准则的建立过程如下:由NTC热敏电阻Rt和3个电阻值为R0的电阻作为桥臂组成惠斯通电桥,Rt一端接地,接地的对角端接直流电压U0,Rt另一端为高电压输出端U+,U+的对角端为低电压输出端U-,稳压片为电桥提供直流电压U0,电桥两端输出的模拟电压信号是要输入仪器放大器进行增益的模拟电压信号Uin
U in = U + - U - = ( 1 2 - R 0 R t + R 0 ) U 0 - - - ( 1 )
为保证输入仪器放大器的模拟电压信号为正,这里取R0<Rt。仪器放大器增益后输出的模拟电压信号Uout为:
U out = GU in = GU 0 ( 1 2 - R 0 R t + R 0 ) - - - ( 2 )
NTC热敏电阻Rt的电阻值随温度T变化的关系为:
R t = A 0 exp [ B ( 1 T - 1 T 0 ) ] = Aexp ( B T ) - - - ( 3 )
其中: A = A 0 exp ( - B T 0 )
T0:某一温度值;
A0:T0温度下的电阻值;
B:热敏电阻的材料温度常数,实验测得为3454K,误差小于3%;负温度系数热敏电阻Rt随温度T的升高按指数规律减小,而采集的模拟电压值Uout随温度T的升高而降低,如图2所示。模拟电压信号Uout随负温度系数热敏电阻Rt的变化规律为:
dU out d R t = GU 0 R 0 ( R t + R 0 ) 2 - - - ( 4 )
由以上式(3)和(4)可以得出数码显示温度检测***的分辨率为:
| dU out dT | = - dU out dT = - d U out dR t d R t dT = BGU 0 R 0 R t T 2 ( R t + R 0 ) 2 - - - ( 5 )
根据(2)式,在温度测量范围一定(即Rt的变化范围一定)的情况下,模拟电压值Uout的最大值是:
U out max = GU 0 ( 1 2 - R 0 R t max + R 0 ) - - - ( 6 )
第一步分析***分辨率
Figure BDA0000143558480000096
和最大模拟电压Uoutmax随电路参数R0、U0和G的变化关系。由式(5)可见,***分辨率
Figure BDA0000143558480000097
决定于
Figure BDA0000143558480000099
的乘积,
Figure BDA00001435584800000910
是NTC热敏电阻的本身的特性,提高分辨率
Figure BDA00001435584800000911
的途径是选择合适的电路参数来提高
Figure BDA00001435584800000912
由式(4)可以看出,一方面
Figure BDA00001435584800000913
与仪器放大器增益与电桥电压值的乘积GU0呈线性关系,提高GU0的值可以提高
Figure BDA00001435584800000914
从而提高分辨率
Figure BDA0000143558480000101
另一方面
Figure BDA0000143558480000102
随R0的变化关系为:
∂ ∂ R 0 ( dU out d R t ) = GU 0 ( R t + R 0 ) ( R t - R 0 ) ( R t + R 0 ) 4 > 0 - - - ( 7 )
可见,提高R0也可以提高
Figure BDA0000143558480000104
从而提高分辨率
Figure BDA0000143558480000105
从以上的分析可以看出,提高仪器放大器增益与电桥电压值的乘积GU0和R0均可以提高***的分辨率
Figure BDA0000143558480000106
由式(6)可以看出,一方面Uoutmax与仪器放大器增益与电桥电压值的乘积GU0呈线性关系,提高GU0的值会使Uoutmax增大,这在模/数转换器要求的模拟电压输入范围一定的情况下,会减小温度的测量范围;另一方面Uoutmax随R0的变化关系为:
&PartialD; U out max &PartialD; R 0 = - GU 0 R t max ( R t max + R 0 ) 2 < 0 - - - ( 8 )
可见,提高R0的取值可以使Uoutmax减小,从而扩大温度的测量范围。
从以上的分析可以看出,提高仪器放大器增益与电桥电压值的乘积GU0的值会缩小温度的测量范围,而提高R0的取值可以扩大温度的测量范围。
综合以上的分析可以看出,提高仪器放大器增益与电桥电压值的乘积GU0可以提高数码显示温度检测***的分辨率
Figure BDA0000143558480000108
但在模/数转换器要求的模拟电压输入范围一定的情况下,也会减小温度的测量范围;而提高R0的取值在提高***的分辨率
Figure BDA0000143558480000109
的同时可以扩大温度的测量范围;为保证输入仪器放大器的模拟电压信号为正,R0的取值不能大于Rt,所以提高分辨率与扩大测量范围是此消彼长,相互制约的,必须根据实际需要选择其平衡点。
第二步在电路参数R0、U0和G确定的情况下分析***分辨率
Figure BDA0000143558480000111
和模拟电压变化范围ΔUout随温度T的变化关系。数码显示温度检测***的分辨率随温度的变化为:
d dT ( | dU out dT | ) = - d 2 U out dT 2 = BGU 0 R 0 R t ( R t + R 0 ) 3 T 4 [ B ( R t - R 0 ) - 2 T ( R t + R 0 ) ] - - - ( 9 )
R t = R 0 ( B + 2 T ) B - 2 T - - - ( 10 )
时,因为提高R0的取值在提高***的分辨率
Figure BDA0000143558480000115
的同时可以扩大温度的测量范围,所以应尽量提高阻值R0的取值,使R0尽量接近Rt的最小值,NTC热敏电阻Rt在工作范围内的最小电阻值(即最高检测温度80℃对应的电阻值)是1.94kΩ,这里取R0=1.8kΩ,求得式(10)所示方程的数值解为T=342K=69℃,当T<69℃时,
Figure BDA0000143558480000116
分辨率
Figure BDA0000143558480000117
随温度的升高而提高,而当T>69℃时,分辨率
Figure BDA0000143558480000119
随温度的继续升高而降低,所以在T=69℃时,分辨率
Figure BDA00001435584800001110
取得最大值,又根据式(5)可知,T=80℃时的分辨率大于T=-15℃时的分辨率,所以,数码显示温度检测***的分辨率在低温端取得最低值。如果要实现0.1℃的分辨率,则要求在低温端温度变化0.1℃,模拟电压信号Uout的变化大于模/数转换器的步长。
表明模拟电压信号Uout随温度T的升高而减小,这说明低温端对应的模拟电压信号Uout大,最低温度对应于模拟电压信号的最大值Uoutmax,电路参数R0、U0和G对***测量范围的限制实际是对最低测量温度的限制,模拟电压信号的最大值Uoutmax应小于模/数转换器要求的最高模拟输入电压。
以上两方面的分析可知,最小分辨率和最大模拟电压信号Uoutmax均在低温端取得,所以电路参数的确定应该由低温端决定。
所以,电路参数R0、U0和G应该这样确定:首先,应确定R0的取值,因为只有在满足R0<Rt的条件下,电桥输出的高电压端的电压值U+大于低电压端的电压值U-,输入模/数转换器的模拟电压信号的值为正,又因为提高R0的取值在提高***的分辨率的同时可以扩大温度的测量范围,所以应尽量提高阻值R0的取值,使R0尽量接近Rt的最小值,即最高温度对应的电阻值。接下来,确定电桥电压值U0和仪器放大器增益G的乘积GU0的取值,由于提高U0与G的乘积GU0可以提高数码显示温度检测***的分辨率但在模/数转换器要求的模拟电压输入范围一定的情况下,也会减小温度的测量范围,所以U0与G的乘积GU0的确定要分为分辨率
Figure BDA0000143558480000123
优先确保和测量范围优先确保两种情况,如果分辨率优先确保,首先将已经确定的R0的值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入(5)式,按要确保的分辨率
Figure BDA0000143558480000124
求得U0与G的乘积GU0的取值范围并从中选取较小的且容易实现的值,然后,将已经确定的R0的值、GU0的取值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入(6)式,如果(6)式中Uoutmax的值不大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是可以实现的,并可以按上述步骤试探选取更小的最低检测温度值,反之,如果(6)式中Uoutmax的值大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是不可以实现的,应按上述步骤试探选取较大的最低检测温度值,重新确定GU0的取值;如果测量范围优先确保,首先将已经确定的R0的值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入(6)式,令Uoutmax不大于模/数转换器要求输入的最高模拟电压值,从而求得U0与G的乘积GU0的取值范围,并从中选取较大的且容易实现的取值,接下来将已经确定的R0的值、GU0的取值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入(5)式,求得分辨率
Figure BDA0000143558480000131
从而求得检测的温度步长,即模/数转换器的电压步长/最后,根据实际电路和***工作性能的要求,均衡分配U0和G各自的取值,因为U0过大会使阻值为R0的三个桥臂电阻发热,产生阻值的漂移,影响测量的精度,而仪器放大器的增益G过大会产生较大的噪声,使信噪比降低。
按照电路参数选取准则并根据***分辨率和测量范围确定R0、U0和G的取值。NTC热敏电阻传感器探头提供了-15~+80℃温度范围内,以2.5℃为步长的各温度值对应的电阻值,在每2个温度值之间利用线形插值的方法求得此温度范围内,以预期分辨率为步长的各温度值对应的电阻值。这里,我们首先示例如何根据电路参数选取准则,在***分辨率为0.1℃的性能指标优先确保的情况下选取电路参数R0、U0和G。首先,NTC热敏电阻Rt在工作范围内的最小电阻值(即预期检测的最高温度值80℃对应的电阻值)是1.94kΩ,为了应尽量提高阻值R0的取值,使R0尽量接近Rt的最小值,这里取R0=1.8kΩ;接下来,要满足0.1℃的分辨率要求,应在预期检测的最低温度值T=-15℃时,温度变化0.1℃时使模拟电压信号Uout的变化大于模/数转换器的步长(这里,我们选取12位模/数转换器AD1674,其要求输入的模拟电压范围是0~10V或0~20V,我们选择0~10V的范围,那么步长为10/(212-1)V),即
Figure BDA0000143558480000133
在式(5)中Rt代人预期检测的最低温度值-15℃对应的阻值71.7kΩ,得到GU0>19.7V,从此范围内选取较小的且容易实现的值GU0=20.4;然后,将R0=1.8kΩ、GU0=20.4和与预期检测的最低温度值T=-15℃相应的NTC热敏电阻的阻值Rtmax=71.7kΩ代入(6)式,得到Uoutmax=9.7V,小于模/数转换器AD1674要求输入的最高模拟电压值10V,说明预期检测的最低温度值T=-15℃是可以实现的;最后,考虑到实际电路和***工作性能的要求,分配U0=+5V,G=4.08,仪器放大器AD620的增益G与反馈电阻RG的关系为
Figure BDA0000143558480000141
所以G=4.08对应的RG=16kΩ。
接下来,我们示例如何根据电路参数选取准则,在***测量范围为-15~+80℃的性能指标优先确保的情况下选取电路参数R0、U0和G。首先,Rt的最小值(即预期检测的最高温度值80℃对应的电阻值)是1.94kΩ,为了应尽量提高阻值R0的取值,使R0尽量接近Rt的最小值,这里取R0=1.8kΩ;接下来,将R0=1.8kΩ和与预期检测的最低温度值T=-15℃相应的NTC热敏电阻的阻值Rtmax=71.7kΩ代入(6)式,令Uoutmax不大于模/数转换器要求输入的最高模拟电压值10V,从而求得U0与G的乘积GU0的取值范围GU0≤21.0,从此范围内选取较大的且容易实现的值GU0=20.4,然后,将R0=1.8kΩ、GU0=20.4、预期检测的最低温度值T=-15℃和与其相应的NTC热敏电阻的阻值Rt=71.7kΩ代入(5)式,求得分辨率
Figure BDA0000143558480000142
从而求得检测的温度步长,即模/数转换器的电压步长/
Figure BDA0000143558480000143
最后,考虑到实际电路和***工作性能的要求,分配U0=+5V,G=4.08,仪器放大器AD620的增益G与反馈电阻RG的关系为
Figure BDA0000143558480000144
所以G=4.08对应的RG=16kΩ。
如图2所示,将已经确定的电路参数R0=1.8kΩ、U0=+5V、G=4.08和NTC热敏电阻参数的材料温度常数B=3454K带入仪器放大器输出的模拟电压表达式(2)和***分辨率表达式(5),得到模拟电压Uout和分辨率
Figure BDA0000143558480000145
随温度T的变化曲线。可见,模拟电压Uout随温度T的升高而降低,在低温端T=-15℃取得最大值Uoutmax=9.7V;当T<69℃时,分辨率
Figure BDA0000143558480000146
随温度的升高而提高,而当T>69℃时,分辨率
Figure BDA0000143558480000147
随温度的继续升高而降低,T=80℃时的分辨率大于T=-15℃时的分辨率,分辨率
Figure BDA0000143558480000151
在低温端T=-15℃取得最低值。
如附图3(a)所示,采用两个220V/20V的变压器T1和T2,变压器T1的输出端3和4分别与整流桥B1的AC两段相连,整流桥B1的V-端接地,V+端与稳压片7805和稳压片7815的输入端1相连,同时与电容470μF的C6、C7和C9相连,电容C6、C7和C9的另一端接地;稳压片7815和稳压片7805的输出端3为***提供+15伏和+5伏的电压,同时与470μF的电容C8和C10相连,电容C8和C10的另一端接地,稳压片7815和稳压片7805的端口2接地;变压器T2的输出端4和5分别与整流桥B2的AC两段相连,整流桥B1的V+端接地,V-端与稳压片7915的输入端2相连,同时与470μF的电容C11和C12相连,电容C11和C12的另一端接地,稳压片7915的输出端3为***提供-15伏的电压,同时与470μF的电容C13相连,电容C13的另一端接地,稳压片7805的端口1接地。
如附图3(b)所示,低功率稳压片78L05的输入端与电源板提供的+5伏相连,输出端为惠斯通电桥提供+5伏的电压,输入端和输出端同时与30pF的电容C1和C2连接,电容C1和C2的另一端接地;惠斯通电桥输出的高电压端U+和低电压端U-分别与仪器放大器AD620的模拟正端+in和模拟负端-in相连,为仪器放大器AD620提供模拟电压输入信号;阻值为16kΩ的反馈电阻RG的两端分别与仪器放大器AD620的RG端连接,作为仪器放大器的增益电阻;仪器放大器AD620的+vs和-vs分别与电源板提供的+15伏和-15伏相连,为仪器放大器AD620提供工作的参考电压;仪器放大器AD620的模拟电压输出端out与模/数转换器AD1674的10V的模拟电压输入端10Vin相连,为模/数转换器AD1674提供模拟电压输入信号;仪器放大器AD620的ref管脚接地,为芯片工作提供参考零点;模/数转换器AD1674的STS、CS、A0、R/C和CE分别与AT89C51单片机的P0.1、P0.2、P0.3、P0.4和P0.5相连,为AT89C51单片机和模/数转换器AD1674之间传输控制和查询信号,阻值为0.1kΩ的电阻R8~R12一端与AT89C51单片机的P0.1、P0.2、P0.3、P0.4和P0.5相连,另一端与5伏的电源相连,作为P0端口的上拉电阻;模/数转换器AD1674的DB4~DB11与AT89C51单片机的P2.0~P2.7相连,模/数转换器AD1674的DB0~DB3与AT89C51单片机的P2.4~P2.7相连,以使模/数转换器AD1674向AT89C51单片机输出转换后的数字电压信号;模/数转换器AD1674的12/8管脚接地,使单片机读数时,模/数转换器为单字节分两次输出;模/数转换器AD1674的Vcc和Vee分别与电源板提供的+15伏和-15伏相连,为模/数转换器AD1674提供工作的参考电压;模/数转换器AD1674的REFin与REFout由一个0.1kΩ的可调电阻R4相连,以提供内部解码网络所需的参考电压;100kΩ的三端可调电阻R5的外边两端与电源板提供的+15伏和-15伏电压相连,另一端依次与100kΩ的电阻R6、0.1kΩ的R7和参考地相连,模/数转换器AD1674的BIPoff连接在电阻R6和R7之间,为模/数转换器AD1674调整ADC输出的零点;模/数转换器AD1674的模拟地端AG和数字地端DG均与参考地相连;Vl与+5伏电压相连,为模/数转换器AD1674提供工作电压;AD1674的20V的模拟电压输入端20Vin管脚悬空;每个驱动芯片ULN2004由7个Darlington管构成,利用两片ULN2004可提供14个Darlington管,AT89C51单片机的P1.0~P1.7分别与其中的8个Darlington管的输入端相连,8个Darlington管的输出端分别与连接着阻值为0.1kΩ的上拉电阻R14~R21(排阻)的+5伏的电源相连,也同时与4位共阳极发光二极管的字划端a~dp相连,AT89C51单片机的P3.0~P3.5分别与其中的6个Darlington管的输入端相连,6个Darlington管的输出端分别与连接着阻值为0.1kΩ的上拉电阻R22~R27(排阻)的+5伏的电源相连,也同时与4位共阳极发光二极管的位选端1~4和红色发光二极管Red以及蜂鸣器Alarm相连,由AT89C51单片机控制ULN2004芯片,反向驱动4位共阳极数码管进行动态扫描显示或报警;红色发光二极管以及蜂鸣器的另一端分别接地;绿色发光二极管Green一端与+5伏的电源相连,另一端接地,***上电时开始发光;晶体振荡器CRYSTAL两端分别与30pF的电容C3和C4相连,也同时与AT89C51单片机的XTAL1和XTAL2相连,电容C3和C4之间接地,为AT89C51单片机提供12MHz的时钟信号;+5伏的电源依次连接10pF的电容C5、10kΩ的电阻R13,然后接地,AT89C51单片机的RST连接在电容C5和电阻R13之间,构成AT89C51单片机的上电电路,AT89C51单片机的Vcc与+5伏电压相连,为单片机提供工作电压,Vss接地;T89C51单片机的EA与+5伏电压相连,以使用AT89C51单片机片内程序存储器ROM;同时AT89C51单片机的其他管脚悬空。
***上电后,开始工作,当温度在-15~+80℃范围内时,绿色的发光二极管Green发光示意温度计正常工作,分辨率为0.1℃;当温度超过-15~+80℃范围时,红色的发光二极管Red发光,配合蜂鸣器Alarm的响声进行报警。
实施例二
本实施例是与数码显示温度检测***相应的数码显示温度检测方法的实现。
基于AT89C51单片机的数码显示温度检测方法,是由信号采集摸块、去极值滤波取平均值模块、查表与温度值转换模块、温度值数制转换模块、扫描驱动模块和表格模块组成。如附图4所示,首先,6次调用信号采集摸块,控制模/数转换器(4),连续采集6个模拟电压信号,并转化成数字信号,传送给微处理器(5);然后调用去极值滤波取平均值模块,将采集的6个数字电压信号用冒泡法排序,去掉最大值和最小值后,再将剩余的4组数字电压信号累加后除以4,从而求得电压平均值,即样本平均值;如果样本平均值超过表格中电压值的范围,则直接调用扫描驱动模块进行报警显示;如果样本平均值不超过表格中电压值的范围,则调用查表与温度值转换模块,将样本平均值与表格模块中的各电压值按从大到小(采集的模拟电压信号随温度的升高而降低,所以对应的温度值是从低到高)的顺序进行比较,直到找到对应或邻近的电压值为止,这时比较的次数就是对应或最近邻的电压值对最大的数字电压值(即最低的温度值-15℃)的相对地址,即样本相对地址,然后将样本相对地址转化为样本平均值相对于0℃对应的电压值的相对地址,这个相对地址就是检测到的温度值的绝对值;接下来调用温度值数制转换模块,将以二进制存储的温度值转化为对应的三位(十位、个位和小数点后的十分位)十进制数值,再利用表格2(表格2中存入0到9所对应的显示代码)将其转换为相应的显示代码,并分别存储于微处理器(5)的随机数据存储器RAM的三个存储单元中,最后调用扫描驱动模块,控制驱动芯片(6),传送给数码显示器(7)位选端和字划端的显示信号,从而进行动态扫描显示。
如附图5所示,信号采集摸块是微处理器(5)控制模/数转换器(4)采集模拟电压信号,并将其转化成数字信号,传送给微处理器(5)。其实施细节如下:将模/数转换器AD1674的STS、CS、A0、R/C和CE管脚分别与AT89C51单片机的5个I/O管脚相连,为AT89C51单片机和模/数转换器AD1674之间传输控制和查询信号,其中STS是输出状态引脚,转换开始时,STS达到高电平,转换过程中保持高电平,转换完成时,返回到低电平,其中CS是片选信号端,低电平有效,其中A0是字节选择控制线,在转换期间,A0=0,AD1674进行全12位转换,在读出期间,A0=0时,高8位数据有效,A0=1时,低4位数据有效,中间4位为0,高4位为三态,其中R/C是读数据/转换控制信号,R/C=1时,AD1674转换结果的数据允许被读取,当R/C=0时,允许启动A/D转换,其中CE启动转换信号控制端,高电平有效,可以作为A/D转换启动或读取数据的启动信号,模/数转换器AD1674的DB4~DB11(高8位信号)应与AT89C51单片机的Pi口(i=0、1、2、3)相连,模/数转换器AD1674的DB0~DB3(低4位信号)与AT89C51单片机的Pi.4~Pi.7相连,每次转换分两次读取,先读高8位,再读低4位,每次读数之前,要将AT89C51单片机接收数据的端口写1,以读取正确信号,首先,将CE清零,再将A0清零,设置12位A/D转换,随后将R/C清零,准备12位A/D转换,CE置1,启动12位A/D转换,与STS相连管脚置1,以读取正确信号,设置查询,若STS变为低电平,将0FFH赋给Pi口以读取正确信号,然后将数据读到累加器A中,随后将累加器A中数据转到RAM存储单元中,然后将CE清零,再将A0置1,设置读取低4位数字信号,CE置1,准备读取低4位数字信号,将0FFH赋给Pi口以读取正确信号,然后将数据读到累加器A中,随后将累加器A中数据转到RAM存储单元中;
如附图6所示,去极值滤波取平均值模块是将采集的6个数字电压值用冒泡法排序,去掉最大值和最小值,将排在中间的四个电压值累加求和,再除以4,从而求得平均电压值,即样本平均值。其实施细节如下:首先设置双层循环,将寄存器1做为外层循环计数器,将寄存器2做为内层循环计数器,数据存储器RAM中一共存有6个采集的电压值,所以外层循环初始计数为5次,将数值5赋给寄存器1,内层每循环1次,外层循环计数减1,内层循环初始计数也减1,恰等于寄存器1的数值,所以将寄存器1的数值赋给寄存器2,这是因为内层每循环一次,按目标顺序(从小到大或从大到小)存在RAM中靠后面单元的数据个数又增加1个,下一轮循环时,比较次数可以减少1次;接下来利用寄存器3和寄存器4设置两个指针:指针1和指针2,指向RAM中的前两个电压值;然后对两个电压值比较大小(这里值得指出的是,由于采用的AT89C51单片机是8位数字信号微处理器,对12位的数字信号比较大小要分两步进行,即先比较高8位,再比较低4位),如果要对6个电压值从小到大排序,若RAM中存在前面的数据大于存在后面的数据,就要交换两个数据在RAM中的存储位置,否则不交换存储位置;接下来修改指针,让指针1指向指针2指向的数据,让指针2指向下一个数据,继续比较、排序,直到循环结束;然后设置2个工作寄存器(寄存器3和寄存器4)做为累加器分别存储高8位和低8位的累加值,值得指出的是,由于采用AD1674的模/数转换器,8位字长的单片机AT89C51在接收转换的数字电压时按左对齐的规则,将高8位存在RAM的1个数据单元中,将低4位存在另一个数据单元(此单元中低4位用0补齐),在累加之前,需要按右对齐的原则,将低8位存在RAM的1个数据单元中,将高4位存在另一个数据单元(此单元中高4位用0补齐),可以设置次数为4的循环,对大小排在中间的4个电压值用换位指令实现右对齐存储,累加时,可以设置累加次数为3的循环,对大小排在中间的4个电压值累加求和,先加低8位,然后再借用进位标志位CY加高8位;最后,将累加值除以4,这里可以使用移位指令进行右移2位实现。
如附图7所示,查表与温度值转换模块先将去极值滤波取平均值模块求得的样本平均值与表格模块中的各电压值按从大到小的顺序进行比较,由于采集的模拟电压信号随温度的升高而降低,所以对应的温度值是从低到高,直到找到对应或邻近的电压值为止,这时比较的次数就是对应或最近邻的电压值相对于最大的电压值的相对地址,即样本相对地址;然后将样本相对地址转换为样本平均值相对于0℃对应的电压值的相对地址,即将样本相对地址与0℃对应的相对地址比较,若样本相对地址大于或等于0℃对应的相对地址,表明检测到的温度值为正,则将样本相对地址减去0℃对应的相对地址,得到正温度值的绝对值的10倍,由于***分辨率是0.1℃,所以得到的是温度值的绝对值的10倍,若样本平均值的相对地址小于151,表明检测到的温度值为负,则用0℃对应的相对地址减去样本相对地址,得到负温度值的绝对值的10倍。其实施细节如下:首先将电压表格首单元地址赋给程序存储器ROM指针DPTR,然后设置寄存器1、寄存器2分别作为指针的低8位和高8位,指向表格中的电压值,并将其清零;再利用寄存器3和寄存器4分别做为外层和内层循环的计数器,将10赋给寄存器3,将95赋给寄存器4,设置950次的双层循环;利用DPTR与寄存器1配合先提取表格中的数字电压值的高8位,然后将寄存器1的值加1以后再提取表格中的数字电压值的低8位,并将提取的电压值存入数据缓冲区RAM中;接下来要判断是否应该调整指针的数值,如果寄存器1中的数值等于255,则将寄存器1清零,同时寄存器2的数值加1(指针的高8位加1,相当于指针的值加256),程序存储器ROM指针DPTR加256;然后比较样本电压值与存在数据缓冲区RAM中的电压值的大小,如果样本电压值大于或等于存在数据缓冲区RAM中的电压值,则跳出循环,将寄存器1、寄存器2中存储的16位指针数值除以2,得到样本平均值的相对地址(因为程序存储器ROM中每个电压值占用2个存储单元,所以寄存器1、寄存器2中存储的16位指针数值是实际相对地址的2倍),如果样本电压值小于存在数据缓冲区RAM中的电压值,则继续循环比较,直到从程序存储器ROM的表格中找到对应的或最近邻的电压值为止;在接下来的对应温度值转化中,先将样本平均值的相对地址与0℃对应的相对地址151比较,若样本平均值的相对地址大于或等于151,则使样本平均值的相对地址减去151,得到正温度相对于零度的相对地址,重新存入寄存器1、寄存器2,此时正温度的符号位不发光,所以令符号位字划端代码寄存器3=0,若样本平均值的相对地址小于151,则使151减去样本平均值的相对地址,得到负温度相对于零度的相对地址,重新存入寄存器1、寄存器2,这时负温度的符号位显示负号,这里令符号位字划端代码寄存器3=40H。
如附图8所示,温度值数制转换模块是将以二进制存储在两个单元(高8位和低8位)中的-15~+80℃范围内951个可能的温度值转化为三位十进制数值(分别是十位、个位和小数点后的十分位),并分别存储于三个寄存器中,这里设寄存器4存十位对应的数值,寄存器5存个位对应的数值,寄存器6存十分位对应的数值,待转化结束后,将其分别转移到微处理器(5)的随机数据存储器RAM的三个存储单元中,值得说明的是,由于分辨率是0.1℃,样本平均值相对于0℃对应的电压值的相对地址是实际温度值的十倍,所以在转换过程中,存储于寄存器4中的整百部分的数值是显示时十位上的数值,存储于寄存器5中整十部分的数值是显示时个位上的数值,存储于寄存器6中个位部分的数值是显示时十分位上的数值。这里说明一下,附图8中的“[]”符号代表对括号内的运算结果取整数,本模块的实施细节如下:首先将寄存器1除以100得到的整数部分加到寄存器4中去,然后从寄存器1中减去加到寄存器4中去的整百部分的数值,由于正温度和负温度对应的电压值相对于0℃对应的电压值的相对地址均不超过800,所以高8位寄存器2存储的数值只可能是1、2或3,如果是1,表明高8位寄存器2存储的数值大小是256,让寄存器4中的数值加2,然后将56加到寄存器1中去,如果是2,表明高8位寄存器2存储的数值大小是512,令寄存器4中的数值加5,然后将12加到寄存器1中去,如果是3,表明高8位寄存2存储的数值大小是768,令寄存器4中的数值加7,然后将68加到寄存器1中去,这时寄存器1中的数值可能会超过100,所以再将寄存器1除以100得到的整数部分加到寄存器4中去,然后从寄存器1中减去加到寄存器4中去的整百部分的数值,这样十位上应该显示的数值就被保存在寄存器4中,同时寄存器1和寄存器2中整百部分的数值均被剔除出去;接下来,将寄存器1除以10得到的整数部分存储到寄存器5中去,并从寄存器1中减去加到寄存器5中去的整十部分的数值,这样个位上应该显示的数值就被保存在寄存器5中,同时寄存器1中整十部分的数值被剔除出去;接下来,寄存器1存储的是个位部分的数值,将其存储到寄存器6中去,这样十分位上应该显示的数值就被保存在寄存器6中;最后通过查表格2将寄存器4、5和6中的数值转换为显示时对应的字划端代码,并转移到随机数据存储器RAM中去,这样就完成了温度值由二进制到十进制的转换。
如附图3(b)和附图9所示,扫描驱动模块是微处理器(5)将位选端和字划端的数字信号传给驱动芯片(6),驱动芯片(6)在微处理器(5)的控制下驱动数字显示器(7),进行动态扫描显示。其实施细节如下:首先,设置寄存器3做为扫描循环次数的计数器,并赋给其数值X;如果在前面模块的处理中标志位F0=0,则表明要进行正常的动态扫描显示,扫描显示之前,前面模块已经将要显示的四位数(含符号位)的字划端和位选端代码按顺序存入了随机数据存储器RAM中去,利用寄存器1、寄存器2作为指针,分别指向首位数的数据缓冲区中的字划端和位选端代码;然后设置寄存器4做为位扫描循环计数器,因为要扫描显示4位数码(连同符号位在内),所以赋给其数值4,然后在循环控制下,依次对四位数进行扫描;这里,利用单片机Pi端口(这里,选用P1端口)传送字划端代码,利用Pj端口(这里,选用P3端口)传位选端代码,在扫描新的一位(即向新的一位传送字划端代码)之前要利用Pj=3FH将数码管熄灭,再将位选端代码赋给Pj口,这时数码管开始发光显示,然后设置停顿延长显示时间,然后再利用Pi=0H,Pj=30H将数码管熄灭(值得强调的是,要使数码管熄灭,对Pi口、Pj口的赋值方法有多种,但由于ULN2004驱动管是反向控制,Pi口、Pj口的电位为低有利于减少不必要的***功率消耗,所以在不影响正常显示的情况下选择了对Pi口、Pj口的这种赋值方法),接下来,调整指针的值,即将寄存器1、寄存器2的值加1,指向下1位数的数据缓冲区中的字划端和位选端代码,继续扫描显示,直到循环结束;如果标志位F0=1,则进行报警,利用Pi=3FH,Pj=0H使得四位数码管全部显示零,且红灯亮,蜂鸣器响;
表格模块包括两部分,表格1是不同温度值对应的数字电压值,自行设计并采用低温烧结工艺制备的NTC热敏电阻提供了-15~+80℃温度范围内,以2.5℃为步长的各温度值对应的电阻值,在每2个温度值之间利用线形插值的方法求得此温度范围内,以0.1℃为步长的各温度值对应的电阻值,从而得到-15~+80℃范围内以0.1℃为步长的各温度值对应的电阻值,再根据式(2),将其转化为相应的数字电压值,存入微处理器(4)的程序存储器ROM中,作为温度转换的表格1;表格2是数字显示器(7)从0到9的字划端代码对应的二进制数值。
本发明的数码显示温度检测方法的特点在于:查表与温度值转换模块是按自行设计的查表算法编制的程序,与常见的查表算法的不同之处在于:在AT89C51单片机的程序存储器ROM中,只存入-15~+80℃温度范围内,以0.1℃为间隔的温度所对应的电压值,而不存入电压值对应的温度值,查表得到的是检测到的电压值对应的相对地址,然后将相对地址转换为相应的温度数值,这样可以节省AT89C51单片机的程序存储器ROM的存储空间,可以进一步扩大温度测量范围和提高检测分辨率;
本发明的数码显示温度检测方法的特点还在于:温度值数制转化模块,也是按自行设计的算法编制的程序,能够将存储于两个存储单元(寄存器1存储高8位,寄存器2存储低8位)中的-15~+80℃范围内的951个可能的温度值(分辨率为0.1℃,温度范围为-15~+80℃)利用8位字长的单片机将其从二进制转化到十进制,并分别存储于三个存储单元中,即寄存器4存储十位对应的数值,寄存器5存储个位对应的数值,寄存器6存储十分位对应的数值,由于分辨率是0.1℃,温度值存储在相应单元中的数值是实际温度值的十倍,所以正温度(最大800)存储在相应单元中的数值均可能超过256,要被存储在两个存储单元中,现有的数值转化算法不能满足转换要求,转换中必须要结合对高8位存储单元中的数值的判断来进行转化,此算法稍加修改扩展可以适用于更大的温度范围的温度值的数制转化。
***上电后,绿色的发光二极管发光,***开始工作,当温度在-15~+80℃范围内时,温度计正常显示温度,当温度超过-15~+80℃范围时,红色的发光二极管发光配合以蜂鸣器的响声进行报警。

Claims (3)

1.一种数码显示温度检测***,由包含负温度系数(简称为NTC)热敏电阻传感器探头(1)的模拟电压信号采集电路(2)、仪器放大器(3)、模/数转换器(4)、微处理器(5)、驱动芯片(6)和数码显示器(7)依次连接组成,其中模拟电压信号采集电路(2)采用结构简单的惠斯通电桥,由NTC热敏电阻Rt和3个电阻值恒为R0的电阻R1、R2和R3作为电桥的桥臂,Rt一端接地,接地的对角端接直流电压U0,Rt另一端为高电压输出端,其电压值为U+,高电压输出端的对角端为低电压输出端,其电压值为U-,稳压片为电桥提供直流电压U0,电桥两端输出的模拟电压信号是要输入仪器放大器(3)进行增益的模拟电压信号Uin=U+-U-;其特征在于:根据***分辨率和测量范围与模拟电压信号采集电路(2)中的电桥电阻的阻值R0、电桥电压U0和仪器放大器(3)的增益G的解析关系建立了电路参数R0、U0和G的选取准则,首先,确定R0的取值,使R0尽量接近Rt的最小值,即最高温度对应的电阻值;接下来,确定电桥电压值U0和仪器放大器增益G的乘积GU0的取值,U0与G的乘积GU0的确定要分为分辨率
Figure FDA00003471575100011
优先确保和测量范围优先确保两种情况,如果分辨率优先确保,首先将已经确定的R0的值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入分辨率表达式
Figure FDA00003471575100012
按要确保的分辨率
Figure FDA00003471575100013
求得U0与G的乘积GU0的取值范围并从中选取较小的且容易实现的值,然后,将已经确定的R0的值、GU0的取值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入仪器放大器输出的最大模拟电压表达式
Figure FDA00003471575100014
如果式中Uoutmax的值不大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是可以实现的,并可以按上述步骤试探选取更小的最低检测温度值,反之,如果式中Uoutmax的值大于模/数转换器要求输入的最高模拟电压值,则说明预期检测的最低温度值T是不可以实现的,应按上述步骤试探选取较大的最低检测温度值,重新确定GU0的取值;如果测量范围优先确保,首先将已经确定的R0的值和与预期检测的最低温度值T相应的NTC热敏电阻的阻值Rtmax代入仪器放大器输出的最大模拟电压表达式
Figure FDA00003471575100021
令Uoutmax不大于模/数转换器要求输入的最高模拟电压值,从而求得U0与G的乘积GU0的取值范围,并从中选取较大的且容易实现的取值,接下来将已经确定的R0的值、GU0的取值、预期检测的最低温度值T和与其相应的NTC热敏电阻的阻值Rt代入分辨率表达式求得分辨率
Figure FDA00003471575100023
从而求得检测的温度步长,即模/数转换器的电压步长
Figure FDA00003471575100024
最后,根据实际电路和***工作性能的要求,分配U0和G各自的取值。
2.一种基于权利要求1所述的数码显示温度检测***的数码显示温度检测方法,由信号采集摸块、去极值滤波取平均值模块、查表与温度值转换模块、温度值数制转换模块、扫描驱动模块和表格模块组成,包括如下步骤:
6次调用信号采集模块,通过模/数转换器(4)采集模拟电压信号,并将其转化成数字信号,传送给微处理器(5),采集6个样本电压值;
调用去极值滤波取平均值模块求平均值:在每次更新显示温度值之前,将采集的6个数字电压信号进行排序,去掉最大值和最小值后,再将剩余的4个数字电压信号累加后除以4,从而求得平均值,即样本平均值;
判断样本平均值是否超过表格中电压值的范围,若是,则使微处理器(5)的F0清零,直接调用扫描驱动模块进行报警显示;否则,使微处理器(5)的F0置位,调用查表与温度值转换模块将电压值转换为温度值;再调用温度值数制转换模块,将存储在高8位和低8位两个单元中的二进制温度值转换为三位十进制数值,分别为十位、个位和小数点后的十分位;最后调用扫描驱动模块,控制驱动芯片(6),传送给数码显示器(7)位选端和字划端的显示信号,从而进行动态扫描显示;
其特征在于:查表与温度值转换模块是在单片机的程序存储器ROM中,只存入-15~+80℃温度范围内,以0.1℃为间隔的各温度值所对应的电压值,而不存入对应的温度值,查表得到的是样本平均值对应的相对地址,然后再将相对地址转换为对应的温度数值;其操作步骤如下:先将去极值滤波取平均值模块求得的样本平均值与表格模块中的各电压值按从大到小的顺序进行比较,由于采集的模拟电压信号随温度的升高而降低,所以对应的温度值是从低到高,直到找到对应或邻近的电压值为止,这时比较的次数就是对应或最近邻的电压值相对于最大的电压值的相对地址,即样本相对地址;然后将样本相对地址转换为样本平均值相对于0℃对应的电压值的相对地址,即将样本相对地址与0℃对应的相对地址比较,若样本相对地址大于或等于0℃对应的相对地址151,表明检测到的温度值为正,则将样本相对地址减去0℃对应的相对地址,得到正温度值的绝对值的10倍,由于***分辨率是0.1℃,所以得到的是温度值的绝对值的10倍,若样本平均值的相对地址小于151,表明检测到的温度值为负,则用0℃对应的相对地址减去样本相对地址,得到负温度值的绝对值的10倍。
3.如权利要求2所述的数码显示温度检测方法,其特征在于:温度值数制转换模块,将存储在高8位和低8位两个存储单元中的-15~+80℃范围内951个可能的温度值利用8位字长的单片机将其从二进制转换为三位十进制数值,并分别存储于三个寄存器中,即寄存器4存储十位对应的数值,寄存器5存储个位对应的数值,寄存器6存储十分位对应的数值;其操作步骤如下:首先,将低8位寄存器1中的数值除以100得到的整数部分存储到寄存器4中,然后从寄存器1中减去存储到寄存器4中去的整百部分的数值;接下来,由于正温度和负温度对应的电压值相对于0℃对应的电压值的相对地址均不超过800,所以高8位寄存器2存储的数值只可能是1、2或3,如果是1,表明高8位寄存器2存储的数值大小是256,令寄存器4中的数值加2,然后将56加到寄存器1中,如果是2,表明高8位寄存器2存储的数值大小是512,令寄存器4中的数值加5,然后将12加到寄存器1中,如果是3,表明高8位寄存2存储的数值大小是768,令寄存器4中的数值加7,然后将68加到寄存器1中,这时寄存器1中的数值可能会超过100,所以再将寄存器1中的数值除以100得到的整数部分加到寄存器4中,然后从寄存器1中减去加到寄存器4中去的整百部分的数值,这样十位上应该显示的数值就被保存在寄存器4中,同时寄存器1和寄存器2中存储的温度值的整百部分的数值均被剔除出去;接下来,将低8位寄存器1中的数值除以10得到的整数部分存储到寄存器5中,并从寄存器1中减去存储到寄存器5中去的整十部分的数值,这样个位上应该显示的数值就被保存在寄存器5中,同时低8位寄存器1中整十部分的数值被剔除出去;最后,低8位寄存器1存储的是个位部分的数值,将其存储到寄存器6中,这样十分位上应该显示的数值就被保存在寄存器6中,从而完成了温度值由二进制到十进制的转换。
CN 201210067353 2012-03-15 2012-03-15 数码显示温度检测***和数码显示温度检测方法 Expired - Fee Related CN102589743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201210067353 CN102589743B (zh) 2012-03-15 2012-03-15 数码显示温度检测***和数码显示温度检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210067353 CN102589743B (zh) 2012-03-15 2012-03-15 数码显示温度检测***和数码显示温度检测方法

Publications (2)

Publication Number Publication Date
CN102589743A CN102589743A (zh) 2012-07-18
CN102589743B true CN102589743B (zh) 2013-10-16

Family

ID=46478705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210067353 Expired - Fee Related CN102589743B (zh) 2012-03-15 2012-03-15 数码显示温度检测***和数码显示温度检测方法

Country Status (1)

Country Link
CN (1) CN102589743B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104880020A (zh) * 2015-06-18 2015-09-02 合肥美菱股份有限公司 变频冰箱0.1度温度采集处理方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103126652A (zh) * 2013-01-30 2013-06-05 莆田市超威电子科技有限公司 一种在耳垂部位快速测量的电子体温计
CN103309379A (zh) * 2013-05-29 2013-09-18 辽宁科技大学 一种焦炭高温动态反应性控制器
CN103286194A (zh) * 2013-06-28 2013-09-11 苏州唐氏机械制造有限公司 一种智能温控冲裁模具
CN103341557A (zh) * 2013-06-28 2013-10-09 苏州唐氏机械制造有限公司 一种智能温控增压冲压模具
CN103302168A (zh) * 2013-06-28 2013-09-18 苏州唐氏机械制造有限公司 一种智能温度监控增压冲裁模具
CN103286220A (zh) * 2013-06-28 2013-09-11 苏州唐氏机械制造有限公司 一种智能温控冲压模具
CN103316996A (zh) * 2013-06-28 2013-09-25 苏州唐氏机械制造有限公司 一种智能温度监控冲裁模具
CN103575056A (zh) * 2013-11-04 2014-02-12 合肥美的电冰箱有限公司 冰箱的控制方法及温度检测方法
CN104331467B (zh) * 2014-10-31 2019-02-26 上海玮舟微电子科技有限公司 一种数据查询方法及***
CN104990326B (zh) * 2015-06-26 2018-02-02 青岛海尔股份有限公司 冰箱和基于红外传感器的温度测量方法
CN105274819A (zh) * 2015-11-30 2016-01-27 成都聚汇才科技有限公司 一种基于单相整流稳压电路的烘干机温度控制***
CN106570231B (zh) * 2016-10-31 2020-05-15 深圳市博巨兴微电子科技有限公司 一种实时显示pdm值的方法
CN110275467A (zh) * 2019-06-25 2019-09-24 江苏理工学院 基于电路物理参数检测的控制***
CN111398659A (zh) * 2020-04-03 2020-07-10 一诺仪器(中国)有限公司 一种电压与温度测量方法
CN111765985A (zh) * 2020-06-18 2020-10-13 杭州棒糖网络科技有限公司 一种基于12位adc实现高精度测温的电路及方法
CN112525359B (zh) * 2020-11-24 2021-11-30 深圳市高巨创新科技开发有限公司 一种基于红外图像的红外测温校正方法及终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2757124B1 (de) * 1977-12-21 1979-04-26 Siemens Ag Medizinisches Thermometer mit digitaler Anzeigevorrichtung des Temperaturwertes der Koerpertemperatur
CN100483287C (zh) * 2006-03-15 2009-04-29 北京联合大学 一种新型空调智能传感器
CN101108773A (zh) * 2006-07-20 2008-01-23 西北工业大学 一种可低温烧结的ntc热敏半导体陶瓷及其制备方法
CN101358888A (zh) * 2008-09-03 2009-02-04 伊玛精密电子(苏州)有限公司 压力温度传感器
CN201765206U (zh) * 2010-06-07 2011-03-16 北京国铁科林科技有限公司 一种开水器中使用的水质监控仪
CN102179728A (zh) * 2011-03-14 2011-09-14 上海师范大学 一种数控刀具磨损智能检测装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104880020A (zh) * 2015-06-18 2015-09-02 合肥美菱股份有限公司 变频冰箱0.1度温度采集处理方法
CN104880020B (zh) * 2015-06-18 2017-03-01 合肥美菱股份有限公司 变频冰箱0.1度温度采集处理方法

Also Published As

Publication number Publication date
CN102589743A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102589743B (zh) 数码显示温度检测***和数码显示温度检测方法
CN102032974A (zh) 一种压力传感器温度补偿方法
CN102253286A (zh) 电阻电容测量方法及其装置
CN110568396A (zh) 一种安装式标准表及使用该表进行校准的***和方法
CN202075334U (zh) 峰值电压数显表
CN201909811U (zh) 基于msp430单片机的三相电表
CN1188678C (zh) 直接数字化的压力变送器及其测量方法
CN202166693U (zh) 电阻电容测量装置
CN103868575A (zh) 智能电子秤
CN2482055Y (zh) 数字式角度测量仪
CN209842046U (zh) 一种安装式标准表及使用该表进行校准的***
CN211197463U (zh) 一种基于云平台的货物称重***
CN201436569U (zh) 超高精度压力计量校准仪
CN202210117U (zh) 一种大量程峰值电压数显表
CN206594285U (zh) 三相谐波标准电能表
CN2529255Y (zh) 温度、湿度检测仪
CN201926696U (zh) 一种数字电压表
CN2149669Y (zh) 单片机交流电桥平衡指示器
CN2379795Y (zh) 热敏电阻粮食测温普通电缆
CN202512167U (zh) 一种数字电压表
CN102901420A (zh) 基于多个测量仪器或多个传感器的实时多点测量***
CN218122081U (zh) 一种数显集成调试盒
CN212677146U (zh) 一种高精度传感器数据采集模块
CN202869730U (zh) Led语音气压计
CN203037368U (zh) 一种温度测量处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131016

CF01 Termination of patent right due to non-payment of annual fee