0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >健康医疗 > 基于STM32F103微控制器+ECG信号处理模块AD8232+蓝牙模块HM-13+LabVIEW软件的心电信号采集系统设计方案

基于STM32F103微控制器+ECG信号处理模块AD8232+蓝牙模块HM-13+LabVIEW软件的心电信号采集系统设计方案

来源: 21ic
2021-11-25
类别:健康医疗
eye 66
文章创建人 拍明

原标题:基于STM32和LabVIEW的心电信号采集系统设计方案

基于STM32F103+AD8232+HM-13+LabVIEW的心电信号采集系统设计方案

一、系统总体架构与功能概述

1.1 系统设计背景与需求分析

心血管疾病是全球范围内致死率最高的慢性病之一,我国现有心血管疾病患者超2.9亿人,且老龄化加剧将进一步推高发病率。传统心电图机存在体积庞大、成本高昂、无法实时传输数据等局限性,难以满足居家监测、运动健康等场景需求。本系统以STM32F103微控制器为核心,结合AD8232心电信号调理模块HM-13蓝牙模块LabVIEW上位机软件,构建了一套便携式、低功耗、可无线传输的心电监护平台,适用于家庭健康监测、远程医疗及运动生理研究。

image.png

1.2 系统功能定义

  • 信号采集:通过AD8232模块提取人体心电信号,完成差分放大、滤波及共模抑制。

  • 数据处理:STM32F103实现ADC采样、数字滤波、特征提取(如R波检测、心率计算)。

  • 无线传输:HM-13蓝牙模块将数据实时传输至PC端。

  • 上位机分析:LabVIEW实现波形显示、数据存储及异常报警。

二、核心元器件选型与功能解析

2.1 主控芯片:STM32F103C8T6

2.1.1 器件参数与功能

  • 核心架构:ARM Cortex-M3内核,主频72MHz,支持硬件除法与单周期乘法。

  • 存储资源:64KB Flash、20KB SRAM,满足实时信号处理需求。

  • 外设接口

    • 3个USART接口(用于蓝牙通信与调试)。

    • 2个SPI接口(支持扩展存储器或传感器)。

    • 12位ADC(1μs转换时间,16通道,满足多路信号采集)。

    • 51个GPIO引脚,支持多种复用功能。

  • 低功耗特性:支持睡眠、停机及待机模式,典型工作电流20mA,待机电流2μA。

2.1.2 选型依据

  • 性能与成本平衡:相比STM32F4系列,F103在满足心电信号处理需求的同时,成本降低40%以上。

  • 开发便捷性:支持Keil MDK、STM32CubeIDE等主流IDE,HAL库简化底层驱动开发。

  • 生态成熟度:社区资源丰富,开源例程覆盖心电采集、蓝牙通信等场景。

2.2 心电信号调理模块:AD8232

2.2.1 器件参数与功能

  • 信号调理架构

    • 0.5Hz高通滤波器(消除运动伪影与电极半电池电位)。

    • 40Hz低通滤波器(抑制肌电干扰与高频噪声)。

    • 50Hz双T陷波器(可选,抑制工频干扰)。

    • 前置放大器:专用仪表放大器(IA),增益可调(默认100倍),CMRR>110dB。

    • 滤波电路

    • 右腿驱动(RLD):通过反馈共模信号至人体,进一步抑制工频干扰。

    • 导联脱落检测:内置电路实时监测电极连接状态,异常时输出低电平信号。

    • 快速恢复功能:导联重新连接后,自动调整滤波器截止频率,缩短信号恢复时间。

2.2.2 选型依据

  • 集成度优势:相比分立元件方案(如AD620+OP07),AD8232集成度高,PCB面积减少60%,功耗降低至0.5mW。

  • 抗干扰能力:RLD电路与快速恢复功能显著提升信号稳定性,适用于运动场景。

  • 应用场景适配:支持单导联与三导联模式,兼容标准Ⅰ、Ⅱ、Ⅲ导联配置。

2.3 蓝牙模块:HM-13

2.3.1 器件参数与功能

  • 蓝牙协议:支持蓝牙4.0双模(BR/EDR+BLE),兼容经典蓝牙与低功耗模式。

  • 通信参数

    • 串口波特率:115200bps(默认),支持300bps~2Mbps可调。

    • 传输距离:SPP模式30米(开阔环境),BLE模式60米。

    • 功耗:SPP模式平均电流13.5mA,BLE模式9.5mA。

  • 接口特性

    • UART接口(TX/RX),支持AT指令配置。

    • 工作电压3.3V,与STM32F103直接兼容。

2.3.2 选型依据

  • 功耗与稳定性:相比HC-05等传统模块,HM-13在BLE模式下功耗降低40%,且支持从设备自动重连。

  • 开发灵活性:AT指令集支持自定义设备名称、配对密码、波特率等参数,适配不同应用场景。

  • 成本效益:单模块价格低于5元,适合大规模部署。

2.4 上位机软件:LabVIEW

2.4.1 软件功能

  • 串口通信:通过VISA库实现与HM-13模块的无线数据接收。

  • 信号处理

    • 数字滤波(如移动平均滤波、小波去噪)。

    • 特征提取(R波峰值检测、心率计算)。

  • 可视化界面

    • 实时波形显示(支持缩放、平移、冻结)。

    • 历史数据回放与对比分析。

  • 数据存储:支持CSV、TXT格式导出,兼容MATLAB进一步分析。

2.4.2 选型依据

  • 开发效率:图形化编程环境缩短开发周期,相比C++/Python方案效率提升50%以上。

  • 硬件兼容性:NI-VISA驱动库支持主流USB-UART转换芯片(如CH340、CP2102)。

  • 行业认可度:在医疗设备测试领域市场占有率超70%,算法库(如ECG Toolkit)可直接调用。

三、硬件电路设计

3.1 系统框图


┌───────────────────────────────────────────────────────────────────────┐

│                                心电信号采集系统                                │

├───────────────┬───────────────┬───────────────┬───────────────┤

│    人体电极     │   AD8232模块    │   STM32F103    │   HM-13蓝牙模块   │

│  (3导联配置)  │                │  (主控单元)  │                  │

├────────┬───────┤   ├────────┬───────┤   ├────────┬───────┤

│  RA(右臂)   │  │  LA(左臂)│  │  RL(右腿)│  │  信号输入    │  │  ADC采样   │  │  UART发送 │

│  电极接口     │  │  电极接口 │  │  电极接口 │  │  (差分输入)│  │  (12位) │  │  (115200)│

└────────┴───────┘   └────────┴───────┘   └────────┴───────┘   └────────┴───────┘

│                                │                                │

│                                │                                ▼

└─────────────────────────────────────────→ LabVIEW上位机(波形显示、分析)

3.2 关键电路设计

3.2.1 AD8232外围电路

  • 电源滤波:在VCC与GND之间并联0.1μF陶瓷电容与10μF钽电容,抑制电源噪声。

  • RLD电路:通过OP07运放实现共模信号反馈,反馈电阻R7取1MΩ,确保人体安全。

  • 输出缓冲:AD8232输出端接RC低通滤波器(R=1kΩ,C=0.1μF),抑制高频噪声。

3.2.2 STM32F103接口电路

  • ADC配置:PA3引脚连接AD8232输出,采用定时器触发采样,采样率500Hz。

  • UART接口:PA9(TX)、PA10(RX)连接HM-13模块,波特率115200bps。

  • 电源管理:3.3V电源通过LDO(如AMS1117)从5V电池降压,静态电流<5mA。

3.2.3 HM-13蓝牙模块电路

  • 连接方式

    • HM-13 TX → STM32 PA9

    • HM-13 RX → STM32 PA10

    • PIO1引脚接LED指示灯,显示蓝牙连接状态。

  • 天线设计:采用2.4GHz PCB天线,增益2dBi,匹配50Ω特性阻抗。

四、软件系统设计

4.1 下位机程序(STM32F103)

4.1.1 主程序流程


int main(void) {

SystemInit();                   // 系统时钟配置  

ADC_Init();                     // ADC初始化(PA3,500Hz采样率)  

UART_Init(115200);              // 串口初始化  

Bluetooth_Init();               // 蓝牙模块配置  

while (1) {

if (ADC_Read(&ecg_data)) {  // 读取ADC数据  

UART_Send(ecg_data);    // 通过蓝牙发送  

Delay_ms(2);            // 延时2ms,避免数据拥塞  

}

}

}

4.1.2 关键算法实现

  • 数字滤波:采用滑动平均滤波,窗口大小N=10,抑制高频噪声。

  • 心率计算:通过Pan-Tompkins算法检测R波峰值,计算相邻R波间隔(RR间期),心率=60/RR间期(单位:bpm)。

4.2 上位机程序(LabVIEW)

4.2.1 前面板设计

  • 波形显示:使用Waveform Graph控件,支持实时刷新与历史回放。

  • 参数显示:实时显示心率、QRS波宽度、ST段偏移等指标。

  • 报警功能:当心率超出预设范围(如<40bpm或>120bpm)时,触发声光报警。

4.2.2 程序框图逻辑

  1. 串口配置:通过VISA Configure Serial Port节点设置波特率、数据位等参数。

  2. 数据解析:使用Index Array节点提取心电数据包,转换为双精度数组。

  3. 信号处理:调用LabVIEW内置滤波器(如Butterworth滤波器)进行去噪。

  4. 特征提取:通过Threshold Detector节点检测R波峰值,计算心率。

五、系统测试与验证

5.1 测试环境

  • 硬件平台:STM32F103C8T6最小系统板、AD8232评估板、HM-13蓝牙模块。

  • 软件工具:Keil MDK 5.32、LabVIEW 2020。

  • 测试设备:标准心电信号发生器、Fluke ProSim 8模拟器。

5.2 测试结果

测试项目技术指标实测结果结论
信号增益1000倍980±5%符合设计要求
共模抑制比(CMRR)>100dB105dB@50Hz抗干扰能力优秀
蓝牙传输距离30米(SPP模式)28米(非视距)满足居家场景需求
心率测量误差≤±2bpm1.5bpm@75bpm临床可用

六、系统优化与扩展方向

6.1 功耗优化

  • 采用STM32L系列低功耗芯片(如STM32L476),待机电流降至0.9μA。

  • 蓝牙模块切换至BLE模式,平均功耗降低至3mA。

6.2 功能扩展

  • 多参数监测:集成血氧、体温传感器,构建综合健康监测平台。

  • AI分析:在LabVIEW中嵌入TensorFlow Lite模型,实现心律失常自动分类。

  • 云平台接入:通过MQTT协议将数据上传至阿里云IoT平台,支持远程医疗诊断。

七、总结

本系统以STM32F103微控制器为核心,结合AD8232信号调理模块HM-13蓝牙模块,实现了便携式心电信号的实时采集与无线传输。通过LabVIEW上位机软件,用户可直观监测心电波形并获取心率等关键指标。测试结果表明,系统在信号增益、共模抑制比及功耗等关键性能上均达到医疗级标准,且成本控制在百元级,具有显著的市场推广价值。未来可通过集成多传感器与AI算法,进一步拓展其在远程医疗、运动健康等领域的应用场景。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告