APP下载

连续测量体温监测仪的设计与实现

2022-09-26迪,赵琢,陈

自动化与仪表 2022年9期
关键词:热敏电阻按键蓝牙

吴 迪,赵 琢,陈 逢

(威海威高医疗影像科技有限公司,威海 264210)

体温是人体重要的生理参数,正常的体温是维持人体新陈代谢的必要条件,体温的监测是临床诊治的重要指标之一[1]。目前体温测量仪器按照工作原理不同主要分为水银式、红外式和电阻式。 水银体温计是我国临床最常见的体温测量工具,但是由于汞的危害性,世界范围内已经逐步禁止其生产和使用[2]。 红外体温计根据红外辐射原理进行测量,使用便捷、无需接触,但是易受干扰、精度较低[3],只能用于公众排查,不能用于临床诊治参考[4-5]。 电阻式体温计采用铂电阻或热敏电阻等采集温度,测量精度高、响应速度快,易于集成,使用越来越广泛[6-7]。

按照使用需求不同,体温测量可分为单次测量和连续测量。 目前满足高精度连续测量的产品较少,只有医用监护仪类的设备可以满足需求[8-9]。 但是监护仪成本高、体积大、操作复杂,不适用于单纯的体温测量。 因此设计一款精度高、体积小、便于操作的连续测量体温监测仪,是有待解决的问题。

基于此,本文设计了可连续测量体温监测仪,采用负温度系数(NTC)热敏电阻连续采集体温,信号经过处理电路进入微控制器(MCU)进行模拟/数字转换(ADC),计算出结果在显示屏上实时显示,并对外无线传输数据。 在测量精度、易用性、工作时长等方面均满足需求,实用效果良好。

1 系统方案设计

体温监测仪由微控制器、存储器、温度传感器、信号采集电路、校准电路、信号处理电路、显示屏、蜂鸣器、按键、蓝牙模块、电源管理单元和锂电池组成。系统框图如图1 所示。其中,微控制器为系统核心,用于控制系统运行、读取与分析数据、响应按键指令、驱动显示屏和控制蓝牙模块。 温度传感器用于将实时的温度变化转换为电阻值变化。 进一步通过信号采集电路将电阻值变化转换为电压变化,送入信号处理电路。 校准电路用于采集预设的参考值,并送入信号处理电路。 信号处理电路将模拟量小信号放大后送入微控制器的ADC。 显示屏可以显示体温值、历史数据、电池电量、提示信息、充电状态等。 蜂鸣器用于发出提示声音。 按键实现系统开关机和操作命令输入。蓝牙模块采用BLE 低功耗蓝牙,实现测量数据的无线传输。 电源采用18650 电池组, 由电源管理单元进行电池充电和路径管理。使用USB Type-C 接口充电。

图1 系统框图Fig.1 System architecture diagram

2 硬件设计

2.1 微控制器

微控制器选用STM32L152。该芯片集成了ARM Cortex-M3 内核,CPU 时钟频率最高至32 MHz,能提供高效的运算能力。 内置256 KB 闪存、32 KB 的SRAM 和8 KB 的EEPROM。 12 位1 MSPS 的ADC满足体温数据采集的精度要求。数量众多的GPIO满足外部控制的需求。另外,它的突出特点是超低功耗。

2.2 信号采集、校准和处理电路

信号采集、 校准和处理电路是系统的关键部分,电路设计如图2 所示。 前端温度传感器中的NTC热敏电阻接入TEMP_IN,与电路板上的精密电阻R44、参考电压Vref组成分压电路,将采集到的当前温度下的电阻值转换为电压值,经过滤波网络,通过多路复用开关74HC4501,进入后端的放大电路,经放大后输入到STM32 的ADC 端口。

图2 信号采集、校准和处理电路图Fig.2 Signal sampling,calibrating and processing circuit diagram

多路复用开关74HC4501 是8 选1 开关,输入通道使用3 路,其中一路是通过温度传感器采集到的信号,另外两路是参考电压经过预设精密电阻分压得到的两个参考点,目的在于根据实时采样这两个参考点的电压值,进行校准和修正函数曲线。 参考温度点选取的方法是根据热敏电阻的温度-阻值对照表,选择温度在测量范围内,并且使用常用精密电阻容易实现的温度点。 设计中两个参考温度点为25.5 ℃和37.0 ℃。

图2 中以运放N10 为核心的放大电路将采集到的电压信号放大到与ADC 的参考电压相对应的范围内。 对放大电路进行分析,用Vin表示放大电路输入端电压,Va表示经过N10A 第1 级放大后的输出电压,Vy表示第一参考点输入电压,Vout表示经过N10B 第2 级放大后的输出电压,根据电路参数分析可以得到:

已知电压Vref和Vs,由式(1)、式(2)、式(3)可以计算出Vout和Vin的关系函数。

2.3 电源管理

体温监测仪要实现长时间连续测量,需要大容量电池供电。设计选用3.7 V/6000 mAh 的18650 电池组。 考虑到体温监测仪在电池充电时也要正常工作,因此充电芯片需要具有电源路径管理功能。 设计选取BQ25616 芯片,它是具有电源路径管理功能的独立式3.0 A 降压型电池充电芯片,可以独立调节各项参数,包括输入电流限制、充电电流和充电电压。 电源管理电路如图3 所示。

图3 电源管理电路图Fig.3 Power management circuit diagram

通过ILIM 引脚可以设置输入电流限制,R117选用402 Ω 电阻接地,实现最大1.2 A 输入电流。 通过ICHG 引脚可以设置恒流充电过程中的电流值,R118选用619 Ω 电阻接地, 实现1.1 A 的充电电流。VSET 引脚可以调节充电电压, 此引脚悬空即设置为4.2 V 的充电电压。#PGOOD 和STAT 两个输出引脚的组合,可以表示当前充电状态,两者都是开漏极输出,通过发光二极管和限流电阻上拉到3.3 V,并且接入STM32 的IO 口,实现充电状态指示灯功能,同时把状态信息输出到MCU。

2.4 显示屏电路

显示屏作为人机交互界面用于显示体温值、历史体温数据、提示信息、当前电池电量、电池充电状态等。 系统采用1.3 寸、分辨率为128×64 的OLED液晶屏,亮度130 cd/m2,使用3.3 V 供电。 驱动芯片为SH1106G,采用4 线SPI 接口传输数据。 显示屏接口电路如图4 所示。

图4 显示屏接口电路图Fig.4 LCD interface circuit diagram

液晶屏在上电瞬间会有不确定状态,可能显示乱码。 为了遮掩乱码,设计了液晶屏背光时序控制。设计用MOS 管2301 作为背光的控制开关。 STM32的GPIO 控制BL_SW 输出高电平时,三极管V4导通,2301 的栅源极电压差超过阈值,MOS 管导通,液晶屏背光点亮。

2.5 蓝牙模块电路

蓝牙模块用于将测出的体温数据向外部设备传输,采用BLE5.0 标准。使用蓝牙透传方式,STM32 仅需使用UART 接口与蓝牙模块通信,即可实现蓝牙数据传输。 RF-BM-4044 蓝牙模块具备-21~+2 dBm宽输出功率调节,-97 dBm 高增益接收灵敏度。蓝牙模块的接口电路如图5 所示。TX 和RX 引脚用于蓝牙模块发送和接收数据,连接到STM32 的RXD 和TXD 引脚。如图6 所示。 关机状态下,按下按键SW1,二极管D9导通,电源PWR 通过R1和R4分压,MOS 管N1导通,系统上电。STM32 工作后先检测BTN_DET 引脚,如果是低电平,则将PWR_EN 引脚拉高,使得三极管V1导通。 此时松开按键,MOS 管N1也保持导通,完成系统开机动作。 系统正常运行后,BTN_DET 引脚用于检测按键动作,并通过计时器识别长按或短按,以执行相应命令。

图5 蓝牙模块接口电路图Fig.5 Bluetooth module interface circuit diagram

图6 按键电路图Fig.6 Button circuit diagram

2.6 按键电路

设计采用单按键,用于开关机、功能操作和调取菜单。各种操作通过长按、短按来区分。按键电路

3 软件设计

3.1 系统主程序设计

体温监测仪的UI 分为两个界面: 数据读取界面和历史数据界面。 每次开机默认进入数据读取界面,两个界面可以相互切换,在每个界面中进行对应的操作。 系统主程序流程如图7 所示。 系统上电初始化后进入数据读取界面,该界面中进行连续体温测量和显示,再将数据通过蓝牙传输。 通过短按按键(<3 s)可以进行界面切换的操作,即切换到历史数据界面。历史数据界面用于显示最近保存的3组体温值。 在历史数据界面通过短按按键可以切换到数据读取界面。 在任何一个界面下长按按键(≥3 s)即为关机操作,系统关机。

图7 系统主程序流程Fig.7 Main program flow chart of system

3.2 数据读取设计

对于NTC 热敏电阻的温度-电阻曲线解析,通常有公式法、线性拟合法及查表法。 NTC 热敏电阻有如下公式:

式中:T 和T1为开尔文温度;RT为温度T 下的电阻值;R1为温度T1下的电阻值;B 值是与热敏电阻材料相关的参数,由厂家给出。 因此已知B,R1和T1,并通过ADC 和输入端分压电路计算出RT后,可以计算出温度T。 但是实际上B 值只是在一个温度区间内有意义,超出区间B 值会变化。因此按照公式法计算的温度值存在较大偏差,当精度要求高时无法满足。 线性拟合法将NTC 热敏电阻的温度-电阻曲线分段线性拟合,但对于落在每一分段区间中的数据,与实际值存在一定偏差, 同样不适合高精度应用。而对于查表法,由于NTC 热敏电阻厂家提供了0.1 ℃精度的温度-电阻对照表,可以将误差有效减小。

在基于热敏电阻的温度测量系统中,误差包括参考电压误差、放大电路参数误差、ADC 非线性误差和截距误差等。 设计采用两个参考温度点对误差进行校正。 原理是用高精度高稳定性的精密电阻代替NTC 热敏电阻,分别模拟在25.5 ℃和37.0 ℃时的数据。将用精密电阻进行ADC 转换后得到的电压值与已知的对应电压值做比较,将两者的差作为校准参数,在实际测量体温时,调用校准参数进行修正,再查表得出校准后的体温值。 为了进一步减小误差,采用分段校准。 数据读取模块的程序流程如图8 所示。 用E1表示25.5 ℃时的校准参数;E2表示37 ℃时的校准参数;E 表示实际采用的校准参数;t0表示初测体温;tc表示校准后体温。 计算得出tc,在显示屏上显示。 下一步进行超限检测,判断体温是否超出测量范围。 在数据读取界面中,连续2 次短按按键,系统会保存当前体温数据。 在历史数据界面中可以查看最后3 次保存的体温数据。

图8 数据读取模块程序流程Fig.8 Flow chart of data reading module program

3.3 超限检测程序设计

根据体温监测仪的设计要求,在25~45 ℃测量范围内,整机除温度传感器探头外的最大允许误差为±0.1 ℃;其余显示范围内最大允许误差为±0.2 ℃。系统需判断测量的温度是否在25~45 ℃范围内,并给出提示信息,用于提示测量精度可能发生变化。具体实现方式如下:如果超出上述范围,显示屏显示超出上限或者超出下限提示,同时驱动蜂鸣器发声1 s 进行声音提示。超限检测程序流程如图9 所示。

图9 超限检测程序流程Fig.9 Flow chart of overflow detection program

3.4 电池电量检测设计

显示屏在每个界面都可以显示电池的电量和状态。电池电压通过STM32 的一路ADC 端口读取。因使用的18650 电池组最高电压为4.2 V,而ADC的参考电压为2.5 V,因此用电阻网络将电池电压分压到参考电压范围内,再进入ADC 读取。 设计电量显示为三格指示, 分格的节点电压是3.7 V,3.4 V,3.2 V。低于3.2 V 显示为空格。低于3.05 V 时,为保护锂电池、避免过度放电,系统关机。

4 系统测试

4.1 测量准确度测试

测量准确度测试可以分为温度探头和整机两部分单独进行。本系统中的NTC 热敏电阻温度探头已有厂家的测试报告,因此只需测试整机部分。 设计测量范围是15~45 ℃。按照设计要求,整机在25~45 ℃范围内最大允许误差为±0.1 ℃;在小于25 ℃范围内最大允许误差为±0.2 ℃。

使用温度探头模拟器进行测试。 模拟器是根据热敏电阻的温度-阻值对照表,选择测量范围内各个整摄氏度对应的电阻值,使用精密电阻制作的测试设备, 其原理示意图如图10 所示。 通过转动旋钮,选择接入对应的电阻值。 选取5 台体温监测仪样机进行测试,抽取温度点的测试结果如表1 所示。由测试数据可见,在25~45 ℃范围内的最大误差为±0.1 ℃;在小于25 ℃范围内的最大误差为0.2 ℃,符合设计要求。 并且在正常体温范围内的误差较小。

表1 测试结果Tab.1 Test results

图10 温度探头模拟器原理示意图Fig.10 Schematic diagram of temperature probe simulator

4.2 连续工作时间测试

首先测量系统工作电流,使用示波器电流探头测量电池端电流,波形如图11 所示,平均电流约为22 mA。 进一步测量连续工作时间,从电池充满电开始连续工作,直到系统自动关机为止。 测量样机平均工作时间为273 h,符合设计需求。 体温监测仪实物测试如图12 所示。

图11 工作电流测试波形图Fig.11 Waveform of working current test

5 结语

本文设计实现了一款连续测量的体温监测仪,以NTC 热敏电阻作为温度传感器,采用低功耗的STM32L152 作为控制核心,通过设置参考点并实时采样,修正函数曲线,保证了测量准确性。 基于低功耗的系统设计,并选取小尺寸OLED 显示屏和BLE 5.0 标准的蓝牙模块,配合大容量锂电池,确保长时间连续工作。 多功能单按键结合双界面的UI 设计实现了简洁操作。经测试表明,系统性能稳定、测量准确度高、工作时间长。 整机成本低、体积小,可代替监护仪测量体温使用,具有较好的应用前景。

猜你喜欢

热敏电阻按键蓝牙
基于几何画板软件的热敏电阻温度计参数优化
蓝牙音箱的直线之美
基于有限状态机的按键检测程序设计
微安表内阻值对热敏电阻温度计设计的影响
多按键情况下,单片机端口不足的解决方法
复合NTC热敏电阻材料的制备与电性能研究
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
按键消抖在单片机和FPGA实验教学中的应用
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
热敏温度传感器基本特性与应用