基于单片机的数字血压计设计

   2023-12-16 互联网1590
核心提示:  1 数字血压计工作原理  随着人民生活水平的提高,人们对于医疗器械的要求越来越高。因此,现在大多数医疗器械向着家庭化、

  1 数字血压计工作原理

  随着人民生活水平的提高,人们对于医疗器械的要求越来越高。因此,现在大多数医疗器械向着家庭化、智能化、小型化方向发展。传统的水银式血压计,必须专业医护人员操作,观察误差极大主观性强,体积较大不易携带,本文将介绍一种基于单片机控制的数字血压计,其电路简单,软硬件结构模块化设计,易于实现。

  1. 1 血压计测量原理

  血压是指血管内的血液对于单位面积血管壁的侧压力,也即压强。由心脏出来的血液,需要有推力,才能绕行身体一周,心脏就是借着不停的收缩、放松,将血液推送前进。心脏收缩时血压升高,其最大值为收缩压; 心脏舒张时血液仍在通过毛细血管流走,在下次心脏收缩前降到最低值,这个最低值为舒张压。当袖带的压力等于血压时,血液开始可以流通而产生所谓的袖带声,这时候也就是收缩压,必须开始从这里做记录,直到最后当袖带声没有的时候,此点即为舒张压。

  1. 2 系统工作原理

  该次设计主要由压力传感器、运算放大器,滤波器,放大器,液晶驱动器和单片机组成,如图 1 所示。

  首先单片机采用 PWM 输出控制对袖带内气压充气,当气泵充气至 200 mmHg 高时,继续使用 PWM控制以每秒约下降 5 mmHg 的速度放气。压力传感器输出信号经过放大器后的信号 A,送入单片机的ADC 转换为直流分量,即为收缩压和舒张压; 同时,信号 A 输入至带通滤波器去除电源及皮肤与袖带摩擦的高频噪声和工频干扰,继续对该信号进行放大,得到单片机匹配的电压信号 B,一路通过低功耗比较器转换成脉冲信号,触发 ADC 工作,一路送入单片机的 ADC1 转换为交流分量,用于分析计算分析确定收缩压和舒张压的瞬态时间位置,同时单片机控制将计算出的收缩压和舒张压结果输出至液晶驱动器显示,同时可以记录测试时的时间以及压值。

  2 系统的硬件设计

  ( 1) 单片机的选择 单片机是整个设计方案的核心,用于控制血压的采集、显示和处理以及记录。综合考虑性能和成本方面的因素,设计选用了 AT-MEL 公司的 ATmega8 单片机作为主控芯片。

  ATmega8 有如下特点: 8K 字节的系统内可编程Flash( 可同时读写的能力) ,512 字节 EEPROM,1K字节 SRAM,32 个通用 I/O 口线,32 个通用工作寄存器,三个具有比较模式的灵活的定时器/计数器( T/C) ,片内 / 外中断,可编程串行 USART,面向字节的两线串行接口,10 位 6 路 ( 8 路为 TQFP 与 MLF 封装)ADC,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及五种可以通过软件进行选择的省电模式。工作于空闲模式时 CPU 停止工作,而SRAM、T / C、SPI 端口以及中断系统继续工作; ADC噪声抑制模式时终止 CPU 和除了异步定时器与 ADC以外所有 I/O 模块的工作,以降低 ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力[1]。

  (2) 压力传感器 压力传感器是整个控制系统控制所需的重要部件,它的特性直接影响系统的精度。BP01 型压力传感器是为检测血压而专门设计的,它采用精密厚膜陶瓷芯片和尼龙塑料封装,具有高线性、低噪声和外界应力小的特点; 采用内部标定和温度补偿方式,提高了测量精度、稳定性和重复性,在全量程范围内,精度为 ± 1%、零点失调不大于 ±300μV。

  ( 3) 运放、滤波和放大 在设计中,采用 MAX 公司的运放 MAX4472、滤波器 MAX267、低功耗放大器MAX4471 和低功耗的比较器 MAX9028 与压力传感器一起实现血压的采集。

  ( 4) 液晶驱动器 该次设计[2]采用 TC1602 字符型液晶显示模块作为 LCD 显示,它是由若干个5 ×7 或 5 × 11 等点阵字符组成。每一个点阵字符位都可以显示一个字符,点阵字符位之间的一个点距的间隔起字符间距和行距的作用。

  ( 5) 外部存储 24CL04 该设计选用 FM 24CL04存储血压记录,FM 24CL04 采用先进的铁电技术制造的 512B 非易失存储器。

  ( 6) 按键电路 按键电路用来启动血压测试、记录本次测试日期及血压、上翻、下翻功能。

  3 系统的软件设计

  ( 1) 主程序设计 主控程序模块主要负责初始化各个 I/O 口、等待按键对气泵充气,并且实时测量血压,并且可以选择对血压进行存储,以便可以查询[3],如图 2 所示。

  ( 2) AD 采样程序 对压力传感器的 AD 数据采样程序采用查询方式工作,程序如下:

  unsigned int read _adc ( unsigned char adc _ input,unsigned char i) / / 查询方式读取 ADC 单端通道

  {

  unsigned charx;

  unsigned inty = 0;

  ADC = 0;

  ADMUX = ( AD_ref | adc _input) ; / / adc _input: 单端通道 0x00 ~0x07,0x1E,0x1F

  / /0xc0: 选择内部 2. 56V 参考电压

  delay_nus( 100) ;

  for( x = 0; x < i; x + + )

  {

  ADCSRA | = ( 1 < < ADSC) ; / / 启动 AD 转换

  loop_until_bit_is_set( ADCSRA,ADIF) ; / / 方法 1等待 AD 转换结束

  ADCSRA | = ( 1 < < ADIF) ; / / 写 1 清除标志位

  y + = ADC; / / ADC = ADCH: ADCL}

  return y;

  }

  4 结 论

  笔者完整的给出了数字血压计的设计方案,并基于 ATmega8 为核心辅以压力传感器和外围的模拟电路以及存储和显示芯片实现了数字血压计的设计,通过实际验证,该数字血压计能够准确测出血压,具有较高的实用价值。

  参考文献:

  [1] Richard Barnett. 嵌入式 C 程序与 Atmel AVR[M]. 北京. 清华大学出版社,2003.

  [2] 赵巧娥. 自动检测与传感器技术[M]. 北京: 中国电力出版社,2005.

  [3] 包旭鹤. 便携式电子血压计设计[J]. 现代电子技术,2007( 3) :89.

  本文作者:马胜玉


 
举报收藏 0打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅