婴幼儿体温监测器设计
位置: 首页 >教案设计 > 文章内容

婴幼儿体温监测器设计

2022-10-30 13:18:01 投稿作者:网友投稿 点击:


打开文本图片集

摘 要:该设计使用低功耗蓝牙为通信手段,由臂环和报警器2部分组成。通过体温传感器WD3703和6轴运动处理传感器MPU6050,使用互补滤波算法融合MPU6050内置的陀螺仪和加速度计的数据计算出较为准确的倾角数据,使用中位值平均滤波法计算温度数据,从而实现婴幼儿体温和睡眠姿态的实时监测,并存储数据。数据异常时会进行报警提示,有效减轻父母在看护婴幼儿生病发烧时的负担。该设计存储的睡眠姿态数据能及时提供给父母作为参考,以便对婴幼儿的不良睡姿进行调整。

关键词:WD3703;互补滤波算法; MPU6050;中位值平均滤波法

文章编号:2095-2163(2019)04-0194-04 中图分类号:TN98 文献标志码:A

0 引 言

由于当前社会很多年轻父母把更多时间投入工作,婴幼儿生病发烧后,有时工作还不能落下,甚至需要在家加班。这种情况下,照顾起来往往力不从心,倍感疲惫。即使能放下手头的工作,也几乎是整夜无眠,不时测量孩子的体温,这对父母的身心也是一种考验。基于此,本文设计了一种具备实时监测婴幼儿体温的监测器,减轻父母看护过程中的负担。同时该设备具备记录孩子睡眠姿势的功能,因为孩子的体型在发育阶段,70%的时间都是在床上度过[1],该功能能及时矫正孩子的不良睡姿。

1 系统原理

监测器分为2部分:臂环和报警器。臂环戴在婴幼儿手臂上监测体温和睡眠的动作状态,同时将数据通过蓝牙发送到报警器。报警器实时通过大尺寸的红色数码管显示婴儿当前的体温,同时在液晶显示屏上显示婴幼儿当前的睡眠姿势。可通过报警器的按键查询婴幼儿体温和睡眠姿势的历史记录。系统结构如图1所示。

2 监测器硬件设计

2.1 臂环硬件组成

臂环的电源芯片使用TP4058,有600mA的可編程充电电流,为臂环内置的锂电池进行充电管理。锂电池通过XC6203E332PR低压差LDO稳压器输出3.3 V为传感器和控制芯片供电。加速度传感器使用MPU6050,该芯片内部包括一个3轴MEMS陀螺仪和3轴MEMS加速度计[2]。蓝牙模块使用蜂汇物联科技公司的低功耗BLE射频模块,该模块是基于TI公司的CC2541F256芯片设计而成。体温传感器使用WD3703,具有用户可编程的13位(0.031 25 ℃)分辨率,通过一根数据线实现Single-Line协议完成串行传输数据,与控制芯片的PA5引脚连接。控制芯片使用低功耗芯片STM32L151C8T6,具有214 uA/mHz的运行模式和9uA低功耗运行模式[3]。臂环硬件各部分电路详情如图2所示。

2.2 报警器硬件组成

报警器的数码管使用TM1650芯片驱动4位共阴数码管,报警器使用和臂环同型号的蓝牙模块,通过内存寄存器即可配置主从模式。液晶显示器使用SPI通信接口的1.8寸TFT屏。存储芯片使用AT24C32,是一个32K位串行CMOS E2PROM,器件通过IIC总线接口进行操作,有一个专门的写保护功能[4],内部存放体温和睡眠姿态数据。一个用户按键,用来切换显示的内容,声光报警电路由一个蜂鸣器和LED组成。报警器硬件各部分电路如图3所示。

3 监测器软件设计及运行测试

3.1 程序流程图

臂环程序代码分为2部分:一是主程序,首先进行传感器初始化后立即进入低功耗状态。另一部分是定时器,MPU6050传感器和体温传感器数据的采集在定时器2中每隔200 μs获取一次,获取后立即通过蓝牙模块发送数据。

报警器的程序流程如图4所示。

开机上电后设备先初始化,然后开始接收臂环通过蓝牙发送过来的数据,数据通过自定义协议进行数据传输。数据异常时进行声光报警,同时将体温数据和睡眠姿态通过液晶屏显示出来。体温和睡眠姿态数据通过存储芯片进行长期保存,通过报警器的按键可随时查询。

在该系统中,蓝牙模块发送的自定义数据帧包括7个字节,第1字节0XFF,表示帧头,第2字节表示体温数据的十位,第3字节表示体温数据的小数位,例如体温数据是37.5℃,那么第2字节发送的就是37的十六进制数0X25,第3字节是5的十六进制数0X05,第4字节表示睡姿数据,规定0X01是左侧躺,0X02是右侧躺,0X03是仰躺,0X04是卧躺,第5字节的数据,0X01表示从睡眠中醒来,0X02表达睡眠状态正常、第6字节、第7字节预留,即目前值都为0X00,方便后续功能的增加,第8字节为前面除帧头外的校验和。

3.2 臂环算法设计

臂环主要监测体温和睡眠姿势。体温由接触式传感器WD3703通过Single-Line协议直接传回,该系统使用中位值平均滤波法,即温度数组中去掉最大值和最小值后取平均值。对于偶然出现的脉冲性干扰,可消除由其所引起的采样值偏差。

睡眠姿势的判断需2个参数,一个是加速度,一个是倾角。本监测器中,通过计算倾角可以监测的睡眠姿势有仰躺、卧躺、左侧躺、右侧躺。通过对加速度值的处理可以监测婴幼儿是否从睡眠中醒来。

每隔20 s主控芯片采集一次MPU6050传感器的加速度数据,把3个轴加速度的绝对值求和放入一维数组,采集8次。当第1次采集完8个数据之后,第9个数据则替换原来数组中的第1个数据,第10个数据替换原来的数组中的第2个数据,以此类推,保证数组中保存的都是最新采集的8个数据。判断数组8个元素之和,若大于某个阈值,则说明孩子手臂动作较大,且坚持了较长时间,判定孩子从睡眠中醒来。

对睡眠姿势的判定需要获取倾角数据。对MPU6050传感器而言,加速度计对婴幼儿手臂动作的加速度比较敏感,取瞬时值计算倾角误差比较大,而陀螺仪积分得到的角度不受手臂动作产生的加速度影响。但随着时间的增加,积分漂移和温度漂移带来的误差比较大。通过互补滤波算法可以实现2种传感器的缺点互相弥补,互补滤波就是短时间内采用陀螺仪得到的角度做为最优,定时对加速度采样的角度进行取平均值来校正陀螺仪得到的角度[5]。长时间用加速度计较为准确,即加速度计滤高频信号,陀螺仪滤低频信号,然后相加得到整个频带的信号,互补滤波需要选择切换的频率点,即高通和低通的频率。 算法代码如下所示:

float K2 =0.14;

float x1,x2,y1;

float dt=20*0.001;

float AngleAmend;

void SecondOrderFilter(float Angle_Acce, float Angle_Gyro)

{

x1=(Angle_Acce-AngleAmend)*(1-K2)*(1-K2);

y1=y1+x1*dt;

x2=y1+2*(1-K2)*(Angle_Acce-AngleAmend)+Angle_Gyro;

AngleAmend=AngleAmend+ x2*dt;

}

其中,K2表示對加速度取值的权重;dt表示滤波器采样时间;AngleAmend表示二阶滤波后的角度;Angle_Acce表示由加速度求出的角度;Angle_Gyro表示角速度。

3.3 监测器的运行及测试

测试阶段对测试对象进行了4个睡眠姿势的识别正确率测试。例如测试仰躺时,前一个睡眠姿势随机,即可能是左侧躺转仰躺,也可能是右侧躺或者卧躺转仰躺。每个姿势测试50次。测试结果见表1。

从测量结果来看,算法具备较高的准确度,能够满足监测需求。但是仍然存在一定的误差,算法存在改进空间。对比体温计和该监测器测得的数据,误差在±0.2 ℃以内。

4 结束语

该监测器能够实时监测婴幼儿的体温,对于异常的体温数据能够及时产生报警信号提醒监护人,同时记录的睡眠姿势便于提醒父母及时调整婴幼儿的不良睡姿。臂环和报警器的连接无需经过复杂的配对,对于老年监护人员使用方式较为友好。但目前该监护器并未实现联网功能,且监测的生理参数不多,未能对心率、血氧进行监测。

参考文献

[1] 李立早, 胡晓燕, 郑子昊. 一种智能婴儿睡姿调整系统的设计[J]. 信息通信, 2018 (9):53-55.

[2]徐秀林, 姚晓明, 徐奚娇. MPU6050在评定人体上肢关节角度中的应用[J]. 生物医学工程学进展, 2015,36(3):137-141.

[3]朱武辉, 王放. 基于STM32的无线传感网络车辆检测节点的设计[J]. 计算机光盘软件与应用, 2012(9):166-167.

[4]陈博. AT24C系列贴片式EEPROM芯片[J]. 电子世界, 1998(10):35-36.

[5]张承岫, 李铁鹰, 王耀力. 基于MPU6050和互补滤波的四旋翼飞控系统设计[J]. 传感技术学报, 2016,29(7):1011-1015.


猜你喜欢