谭成兵,孙式运
(亳州职业技术学院 信息工程系,安徽 亳州 236800)
正常的人体可以利用体温调节中枢调节神经和体液,来保持身体产生热量和散发热量处于动态平衡,从而使体温保持相对恒定,当人体处于生病状态时体温调节功能就会不正常.因此,通过体温测量来判断人体健康状况是疾病检查最常用而有效的手段.传统的体温测量都采用水银温度计.但水银(汞)有毒,容易因温度计破碎发生汞中毒而存在安全隐患.2013年10月中国政府签约加入了关于减少汞排放的《水俣公约》,该公约已于2017年8月生效,条约规定自2020年起,各签约国不准生产、进口和出口未申请豁免的添汞产品[1].随着《水俣公约》的生效,水银温度计将逐渐淘汰而被电子温度计替代.但用于人体体温测量的电子体温计必须要满足国家标准GB/T 21416-2008《医用电子体温计》的要求,包括测量精度要求和数据存储、异常报警等功能要求[2].
目前市场上的电子温度计主要有热电阻温度计、集成温度计、红外温度计和智能温度计等.热电阻温度计采用金属热电阻(一般为铂电阻)采集温度,精度较高,结构简单,稳定性好.但灵敏度较低,且价格偏高,不适合做体温计[3].集成温度计利用半导体的温度特性采集温度,易于微型化、集成化,价格最低,但半导体易受其他因素干扰,其测量精度和长期稳定性不好[4].红外温度计利用人体体温所辐射的红外线进行温度采集,无需与病人接触,清洁卫生,测量速度快,工作效率高,但容易受到环境干扰,精度难保证,且转化电路复杂,成本较高,目前一般只用于体温的初步筛查[5,6].智能温度计采用单片机作为处理核心,可根据需要把温度信息进行选择性处理,很容易实现GB/T 21416-2008《医用电子体温计》的技术要求,功能较好,发展前景广阔[7].
本设计是一种低成本、便携式的医用体温计,满足GB/T 21416-2008《医用电子体温计》的功能要求.综上所述,本设计的智能温度计采用灵敏度较高的负温度系数型(NTC)热敏电阻作为测温探头,经直流电桥电路转化为电压信息后送入C8051F980单片机进行处理,并实现温度显示和异常报警等功能.相比于同类产品功耗低寿命长,使用方便,能满足测量需要,具有较高的实用价值[8].
本设计由测温元件、电源电路、转化电路、主控部分及输出部分组成.测温元件采用NTC热敏电阻,电源电路采用TL431稳压管搭建的稳压电路,转化电路采用惠斯登直流电桥,主控部分采用C8051F980单片机,输出部分包括LCD液晶显示器及报警器,其结构框图如图1所示.
图1 系统结构图
系统的工作原理是:测温元件探测温度信息并转化为电阻的变化,再经直流电桥转化为电压变化,送入单片机进行数据处理,并按程序设定的功能要求进行温度显示、异常报警及数据储存等操作.
本设计选用灵敏度较高的负温度系数型(Negative Temperature Coefficient,NTC)半导体热敏电阻.该电阻的阻值随着温度的升高而减小,如式(1)所示[9].
(1)
式(1)中:B—材料系数;T0—参考温度,一般取25℃,即T0=(273.15+25)K=298.15 K;T—工作时实际温度,T=(t+273.15)K;R0—冷电阻,即温度T0时的电阻;RT—温度T时的实际电阻.由于B、T0、R0均为已知量,故Rt是T的单值函数,只要知道热敏电阻阻值RT就可以算出对应温度T.由于NTC热敏电阻热惯性小测温快,非常适合制作体温计.
RT与T是指数函数,并非线性关系.为了对其进行线性化处理,对(1)式两边取对数得:
(2)
本设计选用日本SEMITEC公司生产的503ET热敏电阻.该电阻额定功率3.5 mW,时间常数3.4 s,测温范围:-40-100 ℃,最大直径1.5 mm,功耗低体积小响应快,非常适合作为体温探头[10].查阅503ET热敏电阻的技术参数可知,R25 ℃=(50±3%)KΩ,B值:(4055±1%)K,代入式(2)可得:
(3)
但由于R25 ℃和B值本身的误差,式(3)只是理论直线,存在一定误差,还要进行数据测量,求得实际拟合直线.
本设计采用TL431稳压管搭建电源电路对系统供电.TL431是TI公司(美国德州仪器)生产的一款高性能、低价格稳压集成电路,技术成熟性能稳定,工作电流1-150 mA,一节普通纽扣电池即可供电.内部参考电压2.495 V(25℃),可通过调节外接电阻输出2.495-36 V的电压[11].电源电路如图2所示.
查阅TL431技术手册可知,其输出电压为:
(4)
式(4)中U0为TL431内部参考电压,即2.495 V.设计中选用R1=R3=1 K,R2=2 K,代入(4)式可得UOUT=7.485 V,此电压可以对直流电桥供电.如果不接电阻R2和R3,则可直接取出参考电压U0=2.495 V,可对单片机和LCD液晶显示器供电.
本设计的转换电路采用惠斯登直流电桥,如图3所示.
图3 转换电路
图3中R4、R5、R6、R7和RT组成直流电桥.由电桥理论,输出电压为:
(5)
由电桥理论,当桥臂比等于1时,即满足式(6)时灵敏度最高[12]:
(6)
考虑到输出电压不能太小,又兼顾电桥灵敏度,设计中我们取R4=R5=R7=20 K,R6=10 K.式中VCC为稳压电路提供的工作电压,即7.485 V.把数据代入式(5)计算可得:
(7)
式(7)中热敏电阻RT阻值随温度变化而变化,在测量体温所规定的35-42 ℃范围内,其阻值为32.67-24.57 KΩ,代入(7)式可估算电压范围为1.354-0.999 V,这个电压已能被单片机直接识别,无需进行放大处理,节约成本和设计空间.
考虑到低功耗、微型化设计要求,同时要没有太复杂的数据存储与运算,综合比较各种微控器,本设计选用芯科科技的8位单片机C8051F980[13].查阅其技术资料可知,其工作电压1.8-3.6 V,可用TL431 稳压管参考电压直接供电.外形尺寸仅 3 mm× 3 mm,最小睡眠电流为10 nA,唤醒时间2 μs,同时集成了丰富的外设接口.C8051F980内部自带一个12位ADC,设计中采用差分结构,可将直流电桥输出电压直接读取并进行AD转换.
本设计中,只需要一个启动键唤醒单片机开始工作,一个确认键确认数据保存,LCD液晶驱动显示温度,并输出一个可调信号给蜂鸣器报警即可,外围电路简单,此处不再赘述.
本设计的工作原理是ΔT→ΔR→ΔU,理论上单片机读取输入电压后可根据(7)式计算RT,再根据(1)式即可计算出T.但由于热敏电阻阻值RT和材料系数B均存在一定误差,且线路电阻和电路各元件间的干扰也会造成一定误差,为了提高测量精度,我们对测量结果进行数据分析处理,用最小二乘法确定RT与1/T间的函数关系.
根据GB/T 21416-2008《医用电子体温计》第4.3条规定,医用电子体温计的测温范围不小于35-41 ℃,测量精度应该满足表1要求[2]:
表1 医用电子体温计精度要求 单位:℃
可见,为了保证测量精度,重点是37℃-39℃范围内测量数据要精确.为此,我们进行了此范围内的测量取样,数据如表2所示.
表2 测量温度与热敏电阻和输出电压对应关系
利用最小二乘法求得拟合直线:
y=4042.65x-2.731
(8)
该拟合直线最大残差r4=-0.0006,线性度较好.因此经校正后的电阻与温度关系应为:
(9)
由式(9)和式(2)比较,不难求得:
B=4042.65K,R0=50.4KΩ
B值与厂家提供参数B=(4055 ±1%)K对比误差0.3%;R0值与厂家提供的参数R25 ℃=(50±3%)KΩ对比误差0.8%,均小于允许的最大误差,从而保证了体温测量的准确性.
由以上分析,单片机工作后首先读取电压,按式(7)计算RT:
然后利用式(9)计算T,即赋值于中间变量x=1/T和y=lnRT,利用线性函数式(8)计算,最后再将T换算为摄氏度:
t=(T-273.15)℃
图4 体温测量程序
按GB/T 21416-2008《医用电子体温计》的要求,医用体温计要有异常报警和
数据存储功能.人体体温测量值与测量部位有关,其中腋下温度最低,为 36.0-37.0 ℃.且不同人群体温也略有不同.一般认为超过37.3 ℃就是发烧,其中37.4-38 ℃为低烧,38.1-41 ℃为高烧,41 ℃以上为超高烧.
系统工作时,首先通过启动按键唤醒单片机,单片机开始读取由转换电路输入的电压,然后按上面分析计算温度,并把结果输送到液晶显示器进行显示.为避免温度计误动,程序设定其工作时间为120 s(从按键开始计时),测量结束会发出“嘀”一声提示音,并提示是否保存数据.如果继续测量,按复位键启动即可.如果发现温度异常,单片机会发出信号触发报警器报警.如无其他操作,系统会延时60 s自动关机,并保存最近一次测量数据(保存数据条数可根据需要设定).系统程序设计如图4所示.
为检验本设计的可靠性,我们用温水来模拟“发热”和“低温”等的温度检测与报警测试,测量结果与相同条件下测量精度较高的某实验室用数字温度计测量结果作标准值进行比较,结果如表3所示.
表3 测试结果对比(单位:℃)
测试结果表明,本设计的智能体温计最大误差为0.1℃,误报率为零,完全满足GB/T 21416-2008《医用电子体温计》所规定的精度和功能要求.
本设计采用热敏电阻作测温探头,测量迅速准确.采用直流电桥作转化电路,简单实用.用C8051F980低功耗、微型化的单片机作中控,成本低体积小,便于携带和使用,超低功耗使得其寿命较长,能很好地满足GB/T 21416-2008《医用电子体温计》所规定的技术要求.同时,本设计采用单片机作为处理核心,可以通过编程进行功能拓展,便于进一步开发研究.