基于STM32的便携体检装置的设计与实现

控制/MCU

1878人已加入

描述

我国正在大力推进全面小康社会建设,社区卫生医疗体系是其中的一个重点。国外的社区医疗保险制度已经相当成熟,我国的社区卫生医疗体系还处于刚起步阶段。现在的社区医疗现状是: 大病小病都往大医院跑,因而大中医院就要承担大部分的医疗压力。虽然政府推出大力发展社区医院的政策,由于社区医院资金紧张不可能配备完善的医疗检测仪器,所以便携式医疗仪器的发展及在社区中推广使用就显得尤为重要。本文设计的一个便携式体检装置,用以检测人体的主要基本生理指标,如身高、体重、血压等,辅助社区医生的诊断。

1. 系统组成及设计方法

体检箱采用STM32 为核心控制模块,该核心模块包括STM32 小系统,液晶触摸屏电路,SD 卡存储电路,按键电路等常用的面向用户的模块。在STM32 核心模块周围外接各种测量生理参数的电路,包括身高模块、体重模块、血压模块、体温模块、肺活量模块、心电模块、血氧饱和度模块等。各模块受STM32 控制独立工作,互不影响。STM32 控制各个模块测量生理信号,再通过内部的AD 采样口对个模块检测得到的电信号进行采集,并根据各个模块的测量要求处理数据,把最后得到的生理指标数据显示到液晶屏上并保存到SD 卡中,以便以后复查或则提供给医生查看。系统框图如( 图1 所示) 。



1. 1 硬件电路设计:

1. 1. 1 身高模块:

采用超声回波法测量身高。将超声收发探头固定于距离地面2m 的高度,根据超声测距的原理测得反射超声波的阻挡物的距离,若忽略超声探头间的距离再通过2m 减去此距离便可得到人的身高[1 - 2]。
超声发射采用换能器TCT40 - 2T,由STM32 发生40Khz 的方波。由于端口输出功率不够, 40kHz 方波脉冲信号分成两路,送给一个由74HC04 组成的推挽式电路进行功率放大以便使发射距离足够远,满足测量距离要求,最后送给超声波发射换能器TCT40 - 2T 以声波形式发射到空气中。

超声波接收部分是将反射波接收到超声波接收换能器TCT40 - 2S,再进行转换变成电信号,并对此电信号进行放大、滤波、整形等处理,这里使用了索尼公司生产的集成芯片CX20106 处理回波信号,得到一个负脉冲送给STM32 的外部中断引脚,以产生一个中断。经过计算发射和接受回的信号的时间差经计算可获得身高数据。

1. 1. 2 体重模块:

人体压力若压在电阻应变片上则会使其产生形变,用四个电阻应变片组成全桥臂电路,在加上电源,则根据压在之上的压力的大小会产生相应的电压,再经放大滤波处理即可获得体重压力信号。在测种台的四个角上放上四片电阻应变片,其中对角两个是受压力电阻上升的,另外两个是受压力电阻下降型的,这样使四个电阻应变片组成全臂电桥,再经并联零位补偿,使桥臂电阻达到平衡。桥路输出经过差模放大之后再经过电压跟随器得出输出结果,送到STM32 模块。


图2 温度测量电路

1. 3 体温模块

体温测量采用AD590 传感器。AD590 是AD 公司生产的电流输出型集成温度传感器的代表产品,它是利用PN 结正向电流与温度的关系的原理制成的。其测量电路如( 图2 所示) 。当温度为零度时,即热力学温度为273. 15K 时流出AD590 的电流为273. 15uA,在10K 电阻上产生的电压为2. 7315V。根据传感器输出与温度的关系可得温度值为T = U
* 100 - 273. 15。

1. 1. 4 血氧饱和度模块:

人体动脉的搏动能够造成测试部位血液容量的波动,从而引起光吸收量的变化,当透光区域动脉血管搏动时,动脉血液对光的吸收量将随之变化,称为脉动分量或交流量( AC) ; 而皮肤、肌肉、骨骼和静脉血等其他组织对光的吸收是恒定不变的,称为直流量( DC) 。脉搏式血氧饱和度测量技术就是利用这个特点,通过检测血液容量波动引起的光吸收量变化,消除非血液组织的影响,求得血氧饱和度。由于光路径长度变化属于未知量,所以采用两束不同波长的光作为入射光分别照射被测区域,即双光束法。双波长法测量脉搏式血氧饱和度的线性经验公式为[3]。

其中A、B 是经验常数,可以通过定标确定。

为减少组织对测量精度的影响,选择光波波长时,要求氧合血红蛋白HbO2 和还原血红蛋白Hb 对该波长的吸光系数要大于非血液组织对它的吸光系数,但不要太大使透过部分难于检测。根据入射光波长和吸收系数之间的关系,最终选取了650nm 和940nn 这两个波长。
本装置采用两路发光管交替发光采集脉搏波信号,使用硅光电池接受信号。再经放大滤波处理传输给STM32。

1. 1. 5 肺活量模块:

人体呼出的气流通过截流装置形成差压,接入MPX5010DP 产生电压信号,将电压信号进行放大( 10 倍左右) 和0. 014Hz ~8Hz 的带通滤波处理,即可获得与瞬时流量相对应的电压,送到STM32 进行采样后,再在程序里对流速进行积分即可获得肺活量值。

1. 1. 6 血压模块:

我们采用测振法测量血压。利用STM32 控制电机打气,再控制泄气阀将袖袋内的气体逐渐放掉,用压力传感器检出袖带内的压力和微弱的脉搏振荡信号,再经放大电路放大,送入A/D 转换器,经过STM32 处理得到收缩压和舒张压。

其中压力传感器选择GXP5050。MPX5050GP 是Motorala 公司生产的一款采用离子注入工艺生产的压力传感器,其压敏电阻元件是利用离子注入工艺光刻在单个硅膜片上,同时采用计算机控制的激光修正技术和温度补偿技术,使得MPX5050GP 压力传感器精度极高,具有广泛的应用范围。MPX5050GP 的输出直接一路接A/D 采样获得血压值,另一路经RC 网络及放大得到心脏收缩信号送另一路A/D。心脏收缩信号随着袖带压力的减小先减小再增大,如( 图3 所示) 。我们设定一个阈值( 定标得到) ,在阈值处测量当时袖带内压力即为血压。


图3 脉搏波的幅度变化情况

1. 1. 7 心电模块:

心电模块的具体设计步骤如( 图4 所示) 。对由电极采集到的心电信号,先通过前置放大,将微弱的心电信号高保真放大,再通过低通滤波、高通滤波及50Hz 陷波滤除干扰,最后进行A/D 转换[4]。


图4 心电提取步骤

理论上,人体任意两点之间都存在心电引起的电位差,两个电极即可实现心电测量。但是,在采集心电信号过程中,必须设法消除或降低来自交流市电共模电压的干扰,工程上常用“右脚驱动”的方法来消除,因此这里我们使用3 个电极来提取心电信号,即左右手和右脚。

前置放大电路采用差分方式输入,形成差模信号。为了提高精度,使用高精度仪表放大器AD620 作为心电的前置放大器的运放。前置放大电路由输入跟随、仪用放大器、右腿浮地驱动等3 部分组成。

滤波电路中,低通滤波器采用归一化设计的BUTTERWORTH 四阶低通滤波,截止频率fH 为100Hz。高通电路中由于噪声主要集中于0. 03Hz ~2Hz,为了尽可能在不影响心电信号的情况下尽量多的滤除干扰,选择截止频率fL为0. 036Hz。50Hz 陷波电路中采用“双T 带阻滤波”电路来滤除工频干扰。

经过陷波器后的心电信号是双极性,由于系统中的A/D 芯片只能量化单极性信号,所以必须使用电平提升电路把双极性信号转化为单极性信号。

1. 2 软件设计:

STM32 的包括处理用户按键数据输入,定时外部中断控制超声测量身高,A/D 采样体温、体重、肺活量、心电等信号。控制电机打气,泄气阀放气并测量血压值。将测得的信号显示在液晶屏上。其流程图如( 图5 所示) 。

2. 结果

STM32 显示界面如( 图6 所示) 。其中准水银体温计和体检装置实验对比,所有体有误差≤0. 1℃; 体重测量的误差≤2 公斤; 标准水银血压计和体检装置实验对比,所有收缩压和舒张压数据误差小于7%; 卷尺测量结果和体检装置实验对比,所有误差≤1cm; 均能够满足监护要求。


图5 程序整体流程图


图6 显示界面图

3. 结束语

经实验测量结果显示,该设计方案成本低,功能完善,操作简单,人机界面友好,非常人性化。随着人们对健康的关注度越来越高,国家对医疗事业越来越重视,该便携式体检箱将有很广的应用前景。本文的创新点在于集成了多项测量人体生理数据功能于一体,应用液晶彩屏显示,并将结果保存,非常人性化。

STM32单片机中文官网
意法半导体/ST/STM

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分