基于单片机SPCE061A的智能温度计设计
扫描二维码
随时随地手机看文章
常用温度计依材料和用途种类可分为以下几种:玻璃水银温度计,测量准确,价格低廉,但必须直接接触人体3 min以上,而且由于刻度过细,不易读数,同时还有易碎等缺点;电子数字显示温度计,以数字形式显示体温,对玻璃水银温度计不易读数的缺点进行了改进,但仍然存在紧急情况下需要一直关注温度计的缺点;贴纸温度计,使用方便但精度不高;奶嘴温度计,属于专用温度计,夜间使用不方便;耳温枪,价格昂贵;一次性体温计相对成本较高等。
在数字温度计的基础上采用数字语音技术,测量结果通过语音的方式播报,可以发挥听觉的优势,弥补完全用光信号传递信息的不足,实现温度测量由“查询方式” 向“中断方式”的过渡,充分发挥中断方式的优势,如在光线较暗的地方或者眼睛正在关注其他细节的时候或者其他特殊情况(如夜间长时间监测温度)。本文设计并研制了一种集可编程(设置参数)、语音播报、超限报警功能于一体,并能联机显示温度变化曲线和可联网使用的新型智能温度计。可以广泛地应用于医疗卫生行业甚至家庭,如夜间测体温和体温监测中,在监护重症病人时,设置合适的报警温度值,可以有效地减轻监护人员的工作强度,同时又可及时发现温度异常。通过联网运行,在传染性较强、和体温有关的疾病检测中也可以发挥其优势,可以有效地保护医务人员。该温度计可编程,本身可以裁减,给温度计的使用带来了极大的灵活性,在不同的需要测温的行业中都可以推广使用。
1 系统设计目标
(1)系统每分钟采用语音报告一次所测温度的实时值,无误报、漏报。当所测温度超过预警温度值时,系统立即报警。
(2)系统预警温度值可在-55.O~+125.O℃的范围内任意设置(默认值设定为37.O℃)。
(3)记录测温结果,并可以和计算机联网显示温度变化曲线。
(4)测量精度为±0.1℃(或0.2 F)。
(5)系统结构简单,使用方便,价格合理。
2 硬件设计
系统采用一般自动测试系统的成熟方案,由主控单片机、测温电路、语音播报和编程电路组成。
2.1 主控芯片的选择
可供选择的主控芯片比较多,如使用面最广的MCS-5l系列、资源丰富的ARM7TDMI-S系列微控制器、低功耗的MSP430系列等。考虑到语音播报和语音编程功能的高性价比实现方案,所以采用台湾凌阳公司推出的16位μ’nSPTM内核单片机SPCE061A,其较高的处理速度能够非常容易、快速地处理复杂的数字信号,也是适用于数字语音识别应用领域产品的一种最经济的选择。
2.2 测温方案
在不同的测温范围,成熟的测温方案也比较多,如采用热敏电阻、利用铂电阻、基于集成温度传感器等的测温系统。当前流行的数字型温度传感器有 AD7416;MAX6575L/H以及DSl8X20。前两者多用于计算机或仪器设备内部的温度检测。鉴于后者接口简单,且就测量精度、器件可靠性、稳定性及参数一致性而言表现良好,应用较广泛。由于在-10~+85℃范围其测温误差不超过±O.5℃,以及有12位的分辨率而使其在各适用领域十分受欢迎。本系统采用DSl8B20,该传感器内部自带信号调理和A/D转换,与单片机之间的硬件接口非常简单,只需要通过一根数据线与单片机相连,所以保证了系统的高可靠性。为了实现测量精度为±0.1℃,利用了DSl8B20中SCRATCHPAD中的“剩余脉冲数”和“每度脉冲数”,通过公式:高分辨率温度值=TI-0.25+(Tp—TR)/TP可以获得±0.1℃的测量精度。
2.3 语音播报
对于语音播报,常用做法是用单片机对ISDl420操作来实现,所用硬件和连线都较多,所以系统的可靠性和成本都不占优势。本设计由于采用了 SPCE061A单片机,由于其强大的信号处理功能,所以可以直接由单片机输出语音信号,不需要借助其他语音芯片,从而使系统的可靠性得到大幅提高。
2.4 语音控制(编程)
语音控制也有现成的芯片可供选择,由于本系统采用的单片机具有较强的数字信号处理能力,而且其Mic输入内部已经集成AGC电路,使得语音控制更为稳定,所以直接用SPCE061A实现语音控制。由于凌阳公司提供的语音识别API是基于特定人语音识别技术的,所以使用之前需要用户对系统进行训练,同时也只有对训练过的人的语音识别率才较高,所以使用很不方便。本系统基于DHMM模型的识别算法,用BaumWelch法对模板进行训练,Viterbi算法进行识别实现的非特定人语音识别,使得使用者可以直接控制而无需进行繁琐的训练,不同的用户也不需要经常反复训练,使系统的适应性大为增强。
2.5 键盘电路
考虑到使用者讲话的习惯,对于部分用户,使用语音控制不太方便,所以设置键盘电路,以解决其设置(编程)问题,所以要求键盘电路非常简单,对整体成本影响不大。SPCE06IA有2个16位的通用I/O接口Port A和Port B,而且Port A具有唤醒功能,所以采用A口直控键盘的形式。
2.6 联网功能
SPCE061A同样提供了通用异步串行接口UART,所以可以直接利用其通用异步串行接口进行联网,实现测温人员与被测对象的隔离,即远距离和多点测温。
综上所述,整体硬件电路组成如图1所示,由SCPE061A单片机实现系统整体控制并实现语音或键盘编程与语音播报,系统可通过通用异步串行接口实现联网功能,在不需要联网的场合,温度计也可以单独使用,实现了系统的可裁剪,DSl8B20用来实现温度检测。
3 软件设计
软件设计的主要任务是将测量温度通过语音播报出来,接收编程数据使系统工作于不同的状态。
3.1 温度检测
通过DSl8B20测温时,要求控制器严格按照其单总线协议进行通信,对于DSl8B20的通信控制程序已有很多讨论,这里不再赘述。
3.2 语音播报
实验凌阳公司提供的API可以直接播放压缩格式的语音,所以将O~9十个数字和摄氏度、设置、报警温度等语音的数字信号(文件)压缩后直接写入单片机,播报温时传递温度参数给放音程序就可以实现语音播报或者报警功能。
3.3 参数设置
参数设置可以通过语音控制和键盘输入实现,对于普通话较好的用户,可以直接使用语音控制实现系统参数的调整,而普通话不太好( 识别率低)的用户,则可以选择使用键盘调整系统参数。系统采用非特定人语音识别技术,使得使用语言控制系统较为简单、方便,同时键盘的设计也为不方便使用语音控制的人群提供了另一种选择,可以适应不同类型的用户。
可设置的参数主要有,播报方式:“连续、隔x秒、禁止”;报警温度值;工作方式等。在需要实时关注温度值的时候,可以设置为连续播报;温度变化较慢的时候可以设置为隔x秒方式;夜晚设置报警模式后,可以设置为禁止播报模式。设置报警温度值后可以,可以处理其他事情,在出现警情时,系统给出报警,提示用户。选择工作方式为“联网工作”后,系统除了现场播报和报警外,还将相应信息通过异步串行口发送到远端。设置过程全部采用语音菜单方式,可以大幅度较低成本,设置流程图如图2所示。
4 结语
本文设计的智能温度计,电路简单、所需元器件少、测量精度高、抗干扰能力强,可以实现实时测温、超限报警和语音播报等功能。由于各种功能是通过单片机来实现的,可以根据具体要求添加不同的测温模式,实现了设计目标,可广泛地应用于温度测量和性价比要求较高的领域,尤其是特殊应用场合。