单片机
返回首页

基于STM32F103C8T6的心率血压手表设计

2024-04-30 来源:elecfans

设计要求

随着社会的不断发展,生活水平越来越好,大家也越来越关注健康问题。


计步器是一种便携式反映人体状况的仪器,通过计算行走的步数和所消耗的能量,很有效反映人体健康的状态,所以受到了很多人的喜爱和欢迎。

总体设计方案

当传感器监测到数据之后,在屏幕上以曲线加数字的方式显示出检测者的血氧和心率数据。同时LED指示灯和蜂鸣器根据心率数据闪烁和发出声音。

如果未监测到数据,蜂鸣器常响警报。

硬件组成

主控芯片使用的是大家用的最多的MCU——STM32F103C8T6,ARM Cortex-M 内核32位,程序存储器容量是64KB,内部还集成了模数转换器A/D 10*12b。

测量传感器使用的是MAX30100,能够读取心率、血氧的传感器,通信方式是通过IIC进行通信。

两个发光二极管,一个光检测器,优化光学和低噪声的仿真信号处理,以检测脉搏血氧饱和度和心脏速率信号。

只需要将手指头紧贴在传感器上,就能估计脉搏血氧饱和度(SpO2)及脉搏(相当于心跳),但是现在MAX30100已经停产了,可以使用MAX30102替代。 

poYBAGLhC0yAFKM4AADIXRABF3w938.png

信息采集部分:主要是通过心率传感器检测当前人体的心率,并且我们可以通过ADXL345三轴传感器采集当前行走的步数。

单片机控制中心:采用STM32单片机系统,它是本系统的核心部分,主要功能是监控键盘状态。处理键盘输入的操作信息。

液晶显示:本次设计所有的信息我们都是通过OLED液晶显示屏来显示,这样方便人们随时进行观察。

实现功能要求

ADXL345进行步数采集

DS18B20温度采集

心率传感器检测

DS1302时钟芯片

HC05蓝牙无线通信部分

OLED液晶显示

按键设置

单片机数据处

功能描述

OLED液晶显示当前时间,心率血氧,体温,步数

通过DS1302显示当前时间,井且具有掉电行是功能

MAX30102模块检测当前心率和血氧

DS18B20检测当前温度或者是体温

ADXL3轴传感器采集当前行走步数,并且具有掉电保存功能

通过HC05蓝牙模块把当前数据无线传输到手机端进行显示

第一个按键进行 设置,第二个按键加,第三个按键减

第四个一键清除当前行走步数

硬件构成

STM32单片机+OLED液晶显示+按键设置

MAX30102心率血氧+DS1302时钟模块

HC05蓝牙+ADXL345+DS18B20温度

pYYBAGLhC1-AJhxNAAB6Na_Y7VQ630.png

整体设计框图

pYYBAGLhC3OADGLfAAD6qvmiP6A577.png

工作原理

MAX30102接口说明:

VIN  :LED电源输入端,也是I2C总线上拉电平,建议接3.3V或者5V   

SCL  :接I2C总线的时钟     

SDA :接 I2C总线的数据     

INT :MAX30102芯片的中断引脚     

RD  :MAX30102 芯片的 RED LED 接地端,一般不接     

IRD :MAX30102 芯片的  

IR LED  接地端,一般不接     

GND  :接地线     

 传统的脉搏测量方法主要有三种:一是从心电信号中提取;二是从测量血压时压力传感器测到的波动来计算脉率;三是光电容积法。

前两种方法提取信号都会限制病人的活动,如果长时间使用会增加病人生理和心理上的不舒适感。

而光电容积法脉搏测量作为监护测量中最普遍的方法之一,其具有方法简单、佩戴方便、可靠性高等特点。

光电容积法的基本原理是利用人体组织在血管搏动时造成透光率不同来进行脉搏和血氧饱和度测量,其使用的传感器由光源和光电变换器两部分组成,通过绑带或夹子固定在病人的手指、手腕或耳垂上。

光源一般采用对动脉血中氧合血红蛋白(HbO2)和血红蛋  白(Hb)有选择性的特定波长的发光二极管(一般选用  660nm  附近的红光和  900nm  附近的  红外光)。

当光束透过人体外周血管,由于动脉搏动充血容积变化导致这束光的透光率发生改变,此时由光电变换器接收经人体组织反射的光线,转变为电信号并将其放大和输出。

由于脉搏是随心脏的搏动而周期性变化的信号,动脉血管容积也周期性变化,因此光电变换器的电信号变化周期就是脉搏率。同时根据血氧饱和度的定义,其表示为: 

pYYBAGLhC42AKUyjAAAurj3mRws876.png

MAX30102本身集成了完整的发光  LED  及驱动部分,光感应和  AD  转换部分,环境光干扰消除及数字滤波部分,只将数字接口留给用户,极大地减轻了用户的设计负担。

用户只需要使用单片机通过硬件 I2C或者模拟I2C接口来读取  MAX30102  本身的FIFO  ,就可以得到转换后的光强度数值,通过编写相应算法就可以得到心率值和血氧饱和度。

pYYBAGLhC6GAcyxWAACLiAJR1fs446.png



进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章