本文将该设计划分为若干个模块,分块实现各生理参数的测量及处理。选用不同的传感器对各生理参数进行采集,以单片机为控制核心,编程实现对输入信号的处理和输出信号的控制。
1 系统整体设计
1.1 硬件系统设计
系统总体结构框图如图1所示。本设计以AVR单片机ATmega16为控制核心,通过温度传感器、硅光电池、压力传感器、加速度传感器获得人体温度、脉搏、血压及跑步者的步数情况,再由单片机实时计算测量值并将结果送至液晶显示器显示,当测量值超过设定的阈值时,触发声音报警。系统设有键盘、人工复位电路。
1.2 软件系统设计
软件采用模块化设计方法,由主程序及参数测量、液晶显示、和键盘处理等若干子程序组成。系统主程序流程图如图2所示,系统上电后首先初始化,然后进行各参数的测定、判断超量报警及显示等操作。
2 各模块设计
2.1 温度检测模块
采用数字温度传感器DS18B20,其优点是提供12位温度读数,从单片机到DS18B20仅需一条数据线。DS18B20的测量范围从-55℃到+125℃,增量值为0.5℃,可在1 s内把温度变换成数字。
完成温度转换经过3个步骤:1)每一次读写之前都要对DS18B20进行初始化操作;2)初始化成功后发跳过ROM指令;3)最后发送温度转换RAM指令。这样等转换完成后将所测温度值送入缓冲区以供LCD显示,若温度值超过预设阈值,则触发报警提示。
2.2 脉搏检测模块
利用指套式光电传感器,换能元件采用硅光电池,由于心脏的跳动,引起手指尖的微血管的体积发生相应的变化,当光通过手指尖射到硅光电池上时,产生光电效应,两极之间产生电压由于指尖的微血管内的血液随着心脏的跳动发生相应于脉搏的容积变化,因而使光透过指尖射到硅光电池时也发生相应的强度变化,这样就把人体的脉搏转换为相应的电信号。结构如图3所示。
光电脉搏检测电路共分为5个部分,由光发射电路、光电转换电路、一级放大电路、二阶低通放大电路和波形整形电路等五部分组成,整体电路如图4所示。
光发射电路采用了常见恒流源电路,通过稳压管保证流过LED的电流为恒定值。光电转换电路采用硅光电池,将光信号转换为电压信号。一级放大电路对微弱信号进行放大,放大约20倍,为了不影响有用信号又能滤掉50 Hz干扰,将频率截止到31Hz。按人体脉搏最高跳动次数240次/min计算,根据归一化法设计低通放大器,理想放大倍数为-22.7倍。高频转折频率为14 Hz,低频特性满足条件,不影响有用信号。波形整形电路是一个电压比较器,该比较器的阀值电压可调节在脉搏波的幅值范围内。最终得到的信号为方波形式,送入单片机定时/计数器中计数,从而计算出脉搏数。[page]
2.3 血压检测模块
本设计中的血压测量采用示波法。由于心搏的血液动力学作用,在气袖压力上将重叠于心搏同步的压力波动,即脉搏波。示波法血压测量就是根据脉搏波振幅与气袖压力之间的关系来估计血压的。与脉搏波最大值对应的是平均压,收缩压和舒张压分别以对应脉搏波最大振幅的比例来确定。
该模块要完成信号的采集、处理和显示等功能,最主要的部分是传感器电路。
1)传感器电路
传感器电路主要包括传感器、放大电路部分和带通滤波电路,其电路原理图如图5所示。袖套通过气管连接到压力传感器MPX2050上,MPX2050将压力线性地转化为模拟电压信号。模拟信号通过仪用放大器AD620进行第一级放大,放大后的模拟电压信号通过电容将直流参量和交流分离。直流参量连接到ATmega16的模数转换通道ADC3口上,其测量的是袖套中的平均压力;交流参量通过OPA2277组成的带通滤波电路。交流参量得到足够大的放大增益并且有效减小噪声干扰。放大后的交流信号再接入一个交流耦合电路。经过处理的信号连接到ATmega16的模数转换通道ADC2口上,用于测量脉搏波的振幅。
2)血压检测软件设计
血压测量控制按键按下后,启动血压测量过程,袖袋开始充气。在袖袋充气过程中,如果用户感到不舒服或者有强烈的疼痛感,则可以再次按下血压测控按键停止气泵,袖袋快速放气,从而结束测量。这主要是为了确保用户在使用设备时的安全。如果袖袋充气过程正常,则袖袋内的压力将持续增加,直至160 mmHg。达到160 mmHg后,气泵将停止,袖袋内的气体将慢慢被放出。在此过程中,用户也可以按下血压测控按键,放弃本次测量。一旦单片机检测到舒张压和收缩压后,将打开气阀,使袖袋全部放气,完成一次测量过程,并将结果送缓冲区,以便在LCD上进行显示,若测量值超过预设阈值,则触发报警提示。
2.4 计步器模块
要实现检测步数首先要对人走路的姿态有一定了解。人体行走时腰部有上下的垂直运动,每步开始时会有一个比较大的加速度,利用对加速度的峰值检测可以得到行走的步数。人体行走时腰部垂直加速度曲线中有多少个峰值,即代表行走了多少步。
1)加速度传感器
根据资料显示,人行走的垂直加速度在±1g之间(1g为9.8 m/s即重力加速度),考虑到还有重力加速度的影响,可选择测量范围在+2g之间的加速度传感器ADXL202来实现计步器。ADXL202输出如图6所示占空比(T1/T2)与加速度成一定比例的数字信号,因此信号可以直接用单片机的计数器来测量,无需AD转换电路或是其他特殊电路。
占空比=T1/T2。一般情况下,0g(即加速度为零)时的占空比为50%,1g时的占空比为12.5%,则A(g)=(T1/T2-0.5)/0.125。考虑到我们的最终目的是检测加速度的峰值个数,而对加速度的具体值究竟是多少并不关心,T1完全可以反应加速度的变化趋势,因此选择对T1进行测量和检测峰值即可得到我们所需的步数。
T1的测量可利用单片机的中断和计数器来实现,峰值的检测通过门限判断实现。选择2个门限A和B,当数据大于门限B并且接下来变化小于门限A时判为一步,这样可以有效地排除干扰影响。将判断结果通过单片机计数即得跑步步数,再乘以步长,即可得到行走距离和速度。
利用人体能量消耗量与某些生理指标之间的相关性,建立数学模型得到预测公式,即可预测能量消耗量。系统根据性别、体重、身高、年龄等生理指标,采用Harris—Bene dict预测公式计算能量损耗,计算方程如式(1)所示。
式中:BEE——基础能量消耗,J;W——体重,kg;H——身高,cm;A——年龄,岁;
2)计步器软件
计步器测量控制按键按下后开始测量步数,由传感器将信号送入单片机进行计算并利用双门限判断峰值,计数得到所测步数,测控按键再次按下时,将两时间点之间所测得的步数送至缓冲区,以供LCD显示。
2.5 外围电路
液晶显示模块采用点阵字符液晶显示模块HD44780,CVAVR中对这种模块提供了一些基本的LCD应用接口函数,调用简单方便。键盘模块共有3个按键,其中S1为复位按键,S2为血压测量控制按键,S3为计步器控制按键。报警模块采用蜂鸣器,当所测生理参数超过预先设定的阈值时,启动报警程序,蜂鸣器发声报警。
3 结论
本文设计的基于单片机的便携式生命体征检测仪采用模块化设计,共分为温度检测、脉搏检测、血压检测和计步器等四个模块,各模块所测生理参数送至单片机后进行信号的处理、显示与报警提示等。该系统可实时监测运动者的体温、血压变化、脉搏跳动情况,记录跑步者的步数等。采用人机对话、语音提示等方式实现液晶显示、报警提示等功能。具备操作简单、功耗低、人性化及方便携带等特点。
上一篇:基于ATMEGA128的气密性检测仪设计与实现
下一篇:比较简单的AVR单片机超声波测距的实例
推荐阅读最新更新时间:2024-03-16 14:03
设计资源 培训 开发板 精华推荐
- 25美分实现25种功能的TI MSP430铁电超值微控制器方案即将直播!快来报名围观!
- ADI有奖下载活动之19:ADI可编程逻辑控制器(PLC)解决方案(更新版)
- EEWORLD新年有奖竞猜,邀你来出题啦!
- 【EEWORLD第六届社区明星人物】8月明星人物
- 专为高性能存储而优化的FPGA芯片, 英特尔®Agilex™ M 系列火热发布!
- 报名直播赢【保温杯】等好礼|TI MSPM0 MCU 在汽车系统中的应用
- TI模拟博文深度阅读季,赢小米盒子!
- 是德科技:五招教您最小化合格/不合格的误判风险在线直播预报名、看直播、填问卷、好礼相送!
- 以科技之力,成就安全 PI与您一起驾驭明天的智慧 答题赢好礼!
- 有奖直播报名:TI DLP®技术在汽车行业的创新应用——增强型抬头显示