2024年3月1日发(作者:良吟怀)
基于mega328p单片机和Android手机的数字血压计①
佚 名
【期刊名称】《《计算机系统应用》》
【年(卷),期】2013(000)006
【总页数】4页(P200-203)
【关键词】mega328p; mps3117; bluetooth; 示波法; android
【正文语种】中 文
1 系统工作原理
1.1 血压测量原理
心脏每时每刻如泵一样对血液施加压力,而血液流经血管壁所施加的压力就是血压.
其中心脏收缩 ,输出血液时的最高压 ,称为收缩压(高压),心脏舒张 ,血液回流心脏时的最低压 ,称为舒张压(低压)[1].
示波法血压测量就是根据脉搏波振幅、振幅最大值与气袖压力之间的关系来估计血压的. 当脉搏波到达最大值时气袖压力为平均压, 收缩压和舒张压则分别对应脉搏波最大振幅的一定比例时的气袖压力.
1.2 系统工作原理
系统通过单片机控制气泵和放气阀向充气袖套打气. 气压传感器通过导管连通充气袖套, 实时传递气压信号. 在充气的过程中检测脉搏波震荡幅度,当幅度小于一定值时停止充气,并缓慢放气. 放气过程中保存脉搏波幅值和静压信号数据, 脉搏波幅值开始下降并小于最大幅值的一定比例时, 打开放气阀结束用户测量. 然后根据放气
时保存的数据计算出心率和血压,将结果显示在液晶显示屏并发送至手机.
手机端显示用户测量的历史数据,收到本次测试结果之后,显示用户的测量结果,并根据血压评判标准,评判用户血压级别.界面上还提供预防高血压的相关建议. 用户可以选择将本次结果快捷发送给其他人(如医生). 系统框图如图1所示.
2 硬件设计
2.1 压力传感器
图1 系统总体框图
本电路使用MPS-3117型压力传感器, 采用恒流源供电. 由于传感器内部由电阻桥输出差模信号, 因此能够有效抑制漂移, 测量范围 0-5.8PSI, 精度 0.3,输出信号mv级输出.
2.2 信号放大电路
由于传感器输出的差动信号十分微弱, 所以采用标准三运放仪器放大电[2]. 该电路能够有效抑制漂移,输出稳定. 信号放大电路如图2所示.
图2 标准三运放仪器放大电路
2.3 带通滤波放大电路
本电路中, 放大产生的波形含有大量的高频(相对于脉搏波)噪声. 因此, 本电路采用滤波效果优异的巴特沃斯二阶低通滤波电路作为低通滤波器. 由于电路中的低频干扰较少, 使用一阶无源 RC高通滤波电路,两个滤波电路级联构成了带通滤波器. 带通滤波器之后再加上一级同向放大器,如图3所示.
图3 带通滤波放大电路
图4 单片机和12864、蓝牙接线图
2.4 单片机、LCD和蓝牙电路
为了将测试信息、测量结果直观地呈现给用户,本设计使用自带字库的12864模块.
与mega328p连接采用8位并口连接方式. 单片机通过3根控制线RS、R/W、E
和8根数据线DB0-DB7驱动LCD显示字符和数字等信息.血压测试仪通过DF-BluetoothV3蓝牙串口模块与手机通信, 蓝牙串口模块使用RXD、TXD与单片机通讯.
3 软件设计
3.1 读取AD采样之后的数值
在arduino 编程环境下直接使用arduino提供的库函数int analogRead(int Pin)获得10位AD转换值.
3.2 通过蓝牙发送数据
通过应答信号判断是否建立连接.
通过串口发送数据, 使用 arduino库函数 void (char data)发送数据.
3.3 均值滤波算法
3.4 测试仪工作流程
图5 测试仪软件流程图
测试仪的工作流程如图 5所示, 其中初始化包括I/O口初始化、串口初始化、定时器初始化等. 当测得脉搏波的震荡幅值小于额定值时停止打气, 然后缓慢放气. 当脉搏波的震荡幅值由小变大, 再由大变小且小于额定值时开发放气阀, 处理数据, 然后显示测量结果, 并将结果通过蓝牙发送至已成功连接的手机.
4 实验结果
4.1 波形采集结果
在调试模式下, 系统通过 avr单片机的串口将测量仪采集到的信号, 经过A/D转换之后发送到pc端,pc端接收到数据并绘制成折线图. 如图6所示.
图6 调试状态下采集到的波形
图中的曲线为由开机到结束测量时A/D转换的脉搏波信号, 由于 A/D转换为 10位, 所以采样值为0-1023之间, 由于集成运放中的三极管结间压降, 使整个输出范围在50-720之间, 高于或者低于这个值将被限幅. 曲线前一段为充气时的脉搏波波形, 充电开始和停止时产生一个大幅度的变化, 在图中表现为陡升或陡降, 放气过程相对缓慢, 图中清晰的展示了脉搏波幅度的变化过程.
4.2 android手机运行界面
图7显示用户的历史测量数据走势图, 并选择是否通过蓝牙连接测量仪.
图8为测量仪测试完毕, 将测试结果通过蓝牙发送至手机的界面. 界面上显示本次测试结果, 并对本次测试结果进行评估, 给出评估等级. 该界面还给出了预防或减轻高血压的建议.
图9为用户点击发送短信按钮(见图8)之后的界面,用户只需要选择联系人, 便可将本次测量结果发送出去, 用户可以将结果发送给医生, 让医生根据测量结果给出建议.?
图7 开始界面
图8 收到测试数据
图9 测量结果发送短信
5 结语
本文设计的基于mega328p和android的数字血压计不仅在硬件上采用合适滤波电路使得脉搏波形噪声小易于识别, 在软件上还采用均值滤波、异常值过滤等处理,
使得结果准确, 工作稳定.
与传统的电子血压计相比, 本系统能够通过蓝牙连接并发送测量结果到手机. 当今的智能手机拥有强大的功能, 通过手机这个平台, 本系统可以将测量结果发送短信至其他手机. 在下一步的研究工作中, 可以通过手机将测量数据上传至“云”端, 提
供个人信息保存的功能或为相关单位或部门做数据挖掘提供数据来源.
参考文献
【相关文献】
1 郭岳,熊合金.基于 AVR 单片机的数字血压计设计.计量与测试技术,2010,37(2):25-26.
2 康华光.电子技术基础:模拟部分.第 5版.北京:高等教育出版社,2006.36-37,413-429.
2024年3月1日发(作者:良吟怀)
基于mega328p单片机和Android手机的数字血压计①
佚 名
【期刊名称】《《计算机系统应用》》
【年(卷),期】2013(000)006
【总页数】4页(P200-203)
【关键词】mega328p; mps3117; bluetooth; 示波法; android
【正文语种】中 文
1 系统工作原理
1.1 血压测量原理
心脏每时每刻如泵一样对血液施加压力,而血液流经血管壁所施加的压力就是血压.
其中心脏收缩 ,输出血液时的最高压 ,称为收缩压(高压),心脏舒张 ,血液回流心脏时的最低压 ,称为舒张压(低压)[1].
示波法血压测量就是根据脉搏波振幅、振幅最大值与气袖压力之间的关系来估计血压的. 当脉搏波到达最大值时气袖压力为平均压, 收缩压和舒张压则分别对应脉搏波最大振幅的一定比例时的气袖压力.
1.2 系统工作原理
系统通过单片机控制气泵和放气阀向充气袖套打气. 气压传感器通过导管连通充气袖套, 实时传递气压信号. 在充气的过程中检测脉搏波震荡幅度,当幅度小于一定值时停止充气,并缓慢放气. 放气过程中保存脉搏波幅值和静压信号数据, 脉搏波幅值开始下降并小于最大幅值的一定比例时, 打开放气阀结束用户测量. 然后根据放气
时保存的数据计算出心率和血压,将结果显示在液晶显示屏并发送至手机.
手机端显示用户测量的历史数据,收到本次测试结果之后,显示用户的测量结果,并根据血压评判标准,评判用户血压级别.界面上还提供预防高血压的相关建议. 用户可以选择将本次结果快捷发送给其他人(如医生). 系统框图如图1所示.
2 硬件设计
2.1 压力传感器
图1 系统总体框图
本电路使用MPS-3117型压力传感器, 采用恒流源供电. 由于传感器内部由电阻桥输出差模信号, 因此能够有效抑制漂移, 测量范围 0-5.8PSI, 精度 0.3,输出信号mv级输出.
2.2 信号放大电路
由于传感器输出的差动信号十分微弱, 所以采用标准三运放仪器放大电[2]. 该电路能够有效抑制漂移,输出稳定. 信号放大电路如图2所示.
图2 标准三运放仪器放大电路
2.3 带通滤波放大电路
本电路中, 放大产生的波形含有大量的高频(相对于脉搏波)噪声. 因此, 本电路采用滤波效果优异的巴特沃斯二阶低通滤波电路作为低通滤波器. 由于电路中的低频干扰较少, 使用一阶无源 RC高通滤波电路,两个滤波电路级联构成了带通滤波器. 带通滤波器之后再加上一级同向放大器,如图3所示.
图3 带通滤波放大电路
图4 单片机和12864、蓝牙接线图
2.4 单片机、LCD和蓝牙电路
为了将测试信息、测量结果直观地呈现给用户,本设计使用自带字库的12864模块.
与mega328p连接采用8位并口连接方式. 单片机通过3根控制线RS、R/W、E
和8根数据线DB0-DB7驱动LCD显示字符和数字等信息.血压测试仪通过DF-BluetoothV3蓝牙串口模块与手机通信, 蓝牙串口模块使用RXD、TXD与单片机通讯.
3 软件设计
3.1 读取AD采样之后的数值
在arduino 编程环境下直接使用arduino提供的库函数int analogRead(int Pin)获得10位AD转换值.
3.2 通过蓝牙发送数据
通过应答信号判断是否建立连接.
通过串口发送数据, 使用 arduino库函数 void (char data)发送数据.
3.3 均值滤波算法
3.4 测试仪工作流程
图5 测试仪软件流程图
测试仪的工作流程如图 5所示, 其中初始化包括I/O口初始化、串口初始化、定时器初始化等. 当测得脉搏波的震荡幅值小于额定值时停止打气, 然后缓慢放气. 当脉搏波的震荡幅值由小变大, 再由大变小且小于额定值时开发放气阀, 处理数据, 然后显示测量结果, 并将结果通过蓝牙发送至已成功连接的手机.
4 实验结果
4.1 波形采集结果
在调试模式下, 系统通过 avr单片机的串口将测量仪采集到的信号, 经过A/D转换之后发送到pc端,pc端接收到数据并绘制成折线图. 如图6所示.
图6 调试状态下采集到的波形
图中的曲线为由开机到结束测量时A/D转换的脉搏波信号, 由于 A/D转换为 10位, 所以采样值为0-1023之间, 由于集成运放中的三极管结间压降, 使整个输出范围在50-720之间, 高于或者低于这个值将被限幅. 曲线前一段为充气时的脉搏波波形, 充电开始和停止时产生一个大幅度的变化, 在图中表现为陡升或陡降, 放气过程相对缓慢, 图中清晰的展示了脉搏波幅度的变化过程.
4.2 android手机运行界面
图7显示用户的历史测量数据走势图, 并选择是否通过蓝牙连接测量仪.
图8为测量仪测试完毕, 将测试结果通过蓝牙发送至手机的界面. 界面上显示本次测试结果, 并对本次测试结果进行评估, 给出评估等级. 该界面还给出了预防或减轻高血压的建议.
图9为用户点击发送短信按钮(见图8)之后的界面,用户只需要选择联系人, 便可将本次测量结果发送出去, 用户可以将结果发送给医生, 让医生根据测量结果给出建议.?
图7 开始界面
图8 收到测试数据
图9 测量结果发送短信
5 结语
本文设计的基于mega328p和android的数字血压计不仅在硬件上采用合适滤波电路使得脉搏波形噪声小易于识别, 在软件上还采用均值滤波、异常值过滤等处理,
使得结果准确, 工作稳定.
与传统的电子血压计相比, 本系统能够通过蓝牙连接并发送测量结果到手机. 当今的智能手机拥有强大的功能, 通过手机这个平台, 本系统可以将测量结果发送短信至其他手机. 在下一步的研究工作中, 可以通过手机将测量数据上传至“云”端, 提
供个人信息保存的功能或为相关单位或部门做数据挖掘提供数据来源.
参考文献
【相关文献】
1 郭岳,熊合金.基于 AVR 单片机的数字血压计设计.计量与测试技术,2010,37(2):25-26.
2 康华光.电子技术基础:模拟部分.第 5版.北京:高等教育出版社,2006.36-37,413-429.