发作品签到
专业版

基于STC15的便携心电监护仪

工程标签

5.2k
0
0
8

简介

STC15为主控的便携心电监护仪,带有1.8寸LCD显示屏,可实时显示心电波形与测量血氧饱和度 原本是我的课程设计,在此基础上稍微修改了一下,水平有限 : )

简介:STC15为主控的便携心电监护仪,带有1.8寸LCD显示屏,可实时显示心电波形与测量血氧饱和度 原本是我的课程设计,在此基础上稍微修改了一下,水平有限 : )
STC单片机创意设计大赛

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-07-06 18:11:51更新时间:2024-10-28 11:46:33

描述

//重新上传了新版本,到做毕设的时间了,好多人来问

//修改时间:2024.10.26

需求分析

心脏病是导致人类死亡的主要原因之一,及时和准确的心电监测对于预防和诊断心脏病至关重要。然而,由于心脏异常的突发与随机性,进行短期监测往往难以捕捉到异常,从而出现误诊。并且,传统的心电监护设备通常较为昂贵且不便携,无法满足人们日常生活中的监测需求。

因此,开发一款小型、便携的心电监护仪,可以让用户随时随地进行心电监测,具有重要的现实意义。

功能介绍

  • 显示实时心电波形并计算心率,还可以测血氧饱和度
  • 可切换下位机屏幕显示或蓝牙发送波形数据至上位机
  • 心率过速、过慢警告

心电信号简介

心电信号的频谱范围主要集中在0.05~100Hz,电压约为零点几毫伏,具有微弱、低频、易被干扰等特性,常见干扰有以下几种:

1.工频干扰。由供电网络(通常是50Hz)引起的干扰,是心电信号的主要干扰源

2.基线漂移。由于呼吸、运动引起的心电基线变化,幅值的变化可达到15%,频率低。

3.肌电干扰。肌肉活动伴随有电活动。其频率范围为20 ~ 5000Hz。

心电处理电路介绍

  • 第一级前置放大器,增益为7,包含右腿驱动电路,用于消除共模干扰
  • 第二级107HZ低通滤波,消除高频信号
  • 第三级双T有源50HZ陷波器,滤除工频干扰
  • 第四级0.1HZ高通滤波,改善基线漂移,放大50倍
  • 第五级放大器放大信号5倍
  • 整体对信号放大了1250倍

主控

  • P54脚低电平单片机复位,用于烧录软件
  • 采用3V3供电

供电

  • USB与锂电池供电
  • USB接口选择了广泛使用的TYPE-C
  • 电池为850毫安3.7V锂电池
  • 插入USB线后可自动切换为USB供电
  • 同时为锂电池充电
  • 电池充电管理使用TP4056芯片

软件设计

心率计算

Heart Rate (bpm)= 60 / 平均R波间隔()

R波检测方法 阈值法

1.遍历数据:遍历心电数据数组中的每一个数据点。

2.峰值条件:对于每一个数据点,检查它是否大于左右相邻的数据点,并且是否超过预设的阈值。

3.记录峰值:如果该数据点满足上述条件,则将其位置记录下来,表示检测到了一个R波峰值。

    • 优点:简单、速度快
    • 缺点:不精确,且阈值需要人工观察得出,如出现基线漂移或噪声毛刺就会产生很大影响

绘制波形实现

  • 将电压值计算缩放为屏幕像素Y轴的坐标值,X轴作为时间轴
  • 一个ADC值画一个像素点,相邻两点间画直线连接,最终效果就是实时电压波形滚动刷新

血氧饱和度读取

1.初始化:初始化 MAX30102 传感器,包括配置模式、采样率、LED电流等参数。

2.数据采集:通过 I2C 从传感器的FIFO Data寄存器中读取红光和红外光的光强数据。每三个字节一个数据,需要经过合并处理,合并后为一个长整型

3.计算:利用红光和红外光两个数据通过简化公式计算血氧饱和度

血氧简化公式

    • R = red / ir
    • spO2 = 120 - 25 * R;

血氧饱和度准确的计算方法需要获得光强的直流和交流分量,计算量大且需存储大量数据

简化公式的结果会不太准确

上位机

基于LabView制作,只有简单的波形绘制功能

演示

视频链接:

https://www.bilibili.com/video/BV1mJ8qeSEuj/?vd_source=51dc43e08b25c112cfd71690f421341d

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
串口上位机.vi
187
2
LCD版本.rar
240
3
IMG_0995_1.mp4
371
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航