版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第页基于单片机的血压和心率监测系统设计与实现摘要随着社会的发展,血压和心率监测系统得到了广泛的应用,但在医学血压和心率监测系统方面还存在一些差距,如定位单一、检测手段单一等。对于很多的心脑血管患者,能随时随地的监测到危险的情况并及时的进行报警是现代医学的一大重要问题。我这个论文和实物作品必须克服传统血压、心脏监护系统的局限性,突出价格低廉、使用方便、维护费用低等特点,使用价格便宜、功能强大的stm32f103rct6单片机,通过对于模块的调用,最终实现了监测低血压,低心率的监测和预警,并通过手机应用程序进行展示,终极目标是经过测试完成整体的构建,完成了各项功能。利用中断和定时器功能,准确计算出血压和心率值,在制定了完整的硬件和软件算法后,进行了各种测试,测试结果表明该方案能够达到预想的效果。关键词:血压、心率监测系统;stm32f103rct6单片机;预警目录摘要 1目录 3引言 61概述 71.1选题的背景和意义 71.2研究目的 81.3国内外发展概况 81.4本设计应解决的主要问题 92血压、心率监测整体系统设计方案 92.1血压、心率监测系统的设计思想 92.2血压、心率监测系统设计方案的选择 102.3光电血压、心率监测系统的结构 112.3.1整体系统结构图 112.3.2系统模块功能介绍 113硬件系统的组成部分 123.1控制器 123.1.1stm32f103rct6简介 123.1.2stm32f103rct6的基本选型 133.2信号采集 133.2.1光电传感器的原理 133.2.2光电传感器的结构和核心器件 143.3放大、滤波、整形的意义 143.3.1信号放大 153.3.2放大电路 153.3.3波形整形电路 163.4显示电路 173.4.1OLED简介 173.4.2OLED的特点与参数 183.5无线传输模块 183.6MQTT服务器的应用 194软件系统设计 214.1C语言编写软件介绍 214.2主程序流程 214.3显示程序流程 224.4app编写的软件说明和具体编写 235抗干扰及使用方法 245.1抗干扰措施 245.1.1环境光对血压、心率传感器测量的影响 245.1.2电磁干扰对血压、心率传感器的影响 245.2使用方法 246系统检验 266.1系统检验 266.1.1实验过程总结 286.2误差分析 297总结与展望 30参考文献 32附录A 33附录B 33附录C 34引言近年来,我国国内的经济的迅速发展使得人民的生活质量以及对食品和衣物的所有方面的需求量都有了显著提高。但同时随着人们生活方式的改变,比如:摄入高油、高糖,工作压力大、少运动、熬夜等不良的行为习惯,使心脑血管疾病在我国成为如同发达国家死亡率一样的占第一位的致命疾病。据统计,上个世纪九十年代全世界死于心血管疾病的人口就高达1400万,预计到2021年,将会有超过2500万的人死于心脑血管相关的疾病。如今,中国每年有大概100万左右的人因心血管相关疾病失去生命。这些年来,此疾病的发病率逐年上升,但患者年龄逐年下降,心血管疾病对我们人类的健康产生的威胁也越严重。患者希望早采取措施,能够及时监测疾病的到来,早发现早治疗,尽快恢复健康,同时,中国的老龄化已经到来。到2019年,我国60岁以上老年人口超过2.4亿。老人们备受老年病的困扰,特别是患有高血压、高脂血症、高血糖等慢性疾病患者越来越多。冠心病等疾病一般情况下伴随患者的后半生,病痛带来的痛苦和负担不起的账单并会使患者家属承受巨大的经济负担。让我们想一想,本来只是需要治疗心脏病,但如果因突发心脏病、血压低而摔下楼梯导致骨折,这样就还需要花费额外的治疗骨折的费用,那么我们为什么不提早预防呢?如何有效地做到早预防、早报警、早就医、早诊断、早治疗,是当前我们追求的最完美的目标之一。如何做到前期预防和监控?使用什么手段和仪器来预防心血管疾病?是当务之急。过去,很少有专门用来测量血压和心率的仪器。为了满足你的身体状况,一些人在医院里测量了各种复杂的生理指标,特别是身体抵抗力较弱的老人和儿童。还有一些职业运动员每天训练得更多。当他们到达医院时,这些ECG(ECG就是electrocardiogram的英文缩写,中文意思是心电图)的指标会随着时间的推移而发生变化,因此测量数据不具有一定的可信性,血压控制系统和心率监测系统的出现使得每天都可以输入复杂的心电图仪器。然而,基于的工作站模式导致了医学诊断在个别领域的不完善和不足,因此,设计一个性能优良的血压和心率控制系统、自动监测系统、心电监护系统、心电监护系统和心电监护系统显得尤为重要,报警等功能,可在家庭和社区条件下使用,也适用于隐病患者和各种工作环境的工作人员,这种监测系统能在其血压、心率变异时发出警示;同时在设计时还要兼顾我国人均收入水平不高这一国情。1概述1.1选题的背景和意义血压(bloodpressure.BP)就是体循环动脉血压的简称。血液在血管内流动时会对血管的周围产生压力,这个压力就是血压,血压的作用是将血液推向全身各处的血管并使血液在其中里流动。我们的心脏在跳动时一收一舒,心室在收缩时,血液对血管壁产生最高的压力,医学上叫做收缩压(systolicbloodpressure,SBP)也就是我们俗称的高压;心室在舒张时,动脉血管回缩,血液仍然向前继续流动,但血液对血管壁的压力降低,所以这时的压力学名称舒张压(diastolicbloodpressure.DBP)也就是我们平常俗称的低压。成人血压的正常值应在收缩压:90~139mmHg,舒张压:60~89mmHg这个范围,高于或低于这个正常值就说明此人患有血压高或血压低,临床常通过测量血压来诊断心脑血管疾病。心血管疾病之所以被列为目前发达国家占第一位的致命疾病,是因为它死亡率是最高的,在我国心脑血管病的死亡率同样也是排在第一位的。心脑血管疾病已被世界卫生组织列为本世纪对人类生命和健康最头等危险的疾病。根据Wai-ChiFang和Hsiang-Cheh等人的研究,心脑血管疾病正成为一直较为普遍的疾病[1],中华医学会第二十三次全国心血管年会,给出的可靠数据,我国也正有越来越多人患此类疾病,预计在2021年将会达到2000万人,这是一个非常庞大和可怕的数字。越来越多的人意识到了这个疾病的严重性,并开始有意识的注意预防,如早起早睡,增加运动等方式。如何有效的进行早期预防、早期诊断和早期治疗,改进心脑血管疾病前期预防和监控手段和设施成为现在的当务之急。人们想要对于异常情况的防御和报警,却苦于家庭没有这样的设备。寻常的血压仪和心率仪体积较大,而且价格昂贵,不适合在家中购买和使用。因此,如果能发明制作一种性能优质,有实时监测、自动报警等较多功能的仪器,且便于携带、操作简单方便,更适合家庭和老人使用,既能做到监测心率和血压,并在低心率和低血压等异常情况下进行报警,又能做到体积小,价格亲民,让更多的有此类疾病的患者和想要预防此类疾病的人都能用上这种仪器是非常有必要。因此拟设计的功能有低心率、低血压预警和显示、蜂鸣器报警、APP显示数据、MQTT服务器传输数据、手机报警等功能。1.2研究目的综合运用上课已学过的的知识,通过毕业设计培养自己的动手能力和解决实际问题的能力,特别是培养自己的创新意识。通过毕业设计巩固和提高所学的基本理论知识及实际操作知识;了解电子信息技术专业的发展趋势,能够将已学内容运用到将来的实际工作中,同时培养自己在工作学习中仔细又专注的工作作风,遇到难题不退缩要尽力想办法解决。在技能方面能够通过自行设计在从淘宝买来的面包板上面完成要实现的电路,提高我的电路设计、制作、焊接、调试、修改的能力;加深之前上课学过的相关仪器仪表和设备的知识使用能力,在调试数据过程中加深编程的规范化。1.3国内外发展概况在十七世纪初那时,来自英国的科学家WilliamHarvey指出,当一条被切断的动脉被切断的时候,血液就会在压力的驱使下涌出。触模脉搏时会感觉到血管的跳动,从而发现了血压,从此医学才开始了对血压的研究。为了测量到血压的值,人们开始研究血压测量仪,1733年,一位叫海耶斯的牧师,首次测量了动物的血压。KarlVierordt在1855首次发明了脉搏图,这使血压的间接测量成为可能。在这之后人们不断改进,直到1896年意大利医生SciopioneRivaRocci研发了后来广泛使用的裹臂式血压计,在临床医学中起着至关重要的作用。然而,采用水银血压计和听诊器手工测量,这种方法由于技术上的苛刻,通常会造成测量值的不准确和错误,因此会影响其在临床上的可靠性。值得强调的是不易出错的测量方法是非常重要的,如动态血压测量、家庭血压测量和自动化诊室血压测量等,自动设备有助于在这一方面的改善和简化。随着电子时代的到来,电子类的血压计、心率表逐渐走近人们的视野,研究和开发工作早在几十年前就已经开始,尽管失败的很多。二十世纪九十年代一种用示波法也叫震荡法的比较先进的电子测量法发展起来,国际上有设计比较先进的欧姆龙等,研发出加压同步测量技术,即在加压的过程中测量血压的技术,测量的时间会被大大的减少,而测量的准确度会被有效地提高;我国的金亿帝科技、九安则是全世界为数不多的两家能够开发适用于大量生产电子血压计的软件的公司。电子血压计的发展使人们在家也能测量血压成为可能,一改过去必须去医院测量血压才行,如今只要坐在家里就能随时监测血压心率的变化,如果有出现血压异常情况就可以及时去医院治疗。我国在这方面的研究也在稳步的推进中。王子洪在《基于WSN穿戴式系统的研究现状与展望》[13]提出了健康检测系统的模块分析,为整个系统创建一个框架和一个规定,包括健康监测系统的三个模块,包括收集生理和运动信息的模块,媒体通信模块和数据分析模块,前端的生理和循环信息采集模块主要通过一系列可用的传感器采集人体的生理和运动信息然后通过通信模块将采集到的信息发送到中心节点或远程控制站;最后,根据采集到的生理和运动信息,远程监控站利用数据分析模块获取生理和病理的临床信息,但也说明远程控制还处于研究阶段,技术有待改进。1.4本设计应解决的主要问题中国目前已经进入了老龄化社会,老人数量急剧增加,随着社会结构及生活习惯的变化,年轻人很少与父母同住,独居老人的状况无论是在城里还是在乡村都大量存在。这样即使电子血压计发出预警,在当时紧急的情况下老人们自己也没有能力及时去医院救治。如果能够通过手机APP将电子血压计发出的警报传送给他们的子女或者亲人,患者就能够得到及时的救治。针对上述情况和问题,我将设计一款基于单片机的血压心率异常病人危险预警系统设计。本设计是通过在监护人手机上安装手机APP来传达被监护人发生低血压时发出的警告信息,设计包括硬件电路设计和软件程序两个方面。在软硬件部分,实现以下功能:(1)手机APP:实现预警信息通过服务器实时传送并显示到监护人的手机上。(2)MQTT服务器:实现血压,心率等数据的实时采集并将所采集到的数据上传至MQTT服务器。(3)Esp模块:用于连接WiFi并传输数据(5)显示模块:用于对报警值的显示。(6)光电传感器:用于测量被监护人的血压、心率数值。(7)电源模块:用于硬件电路的供电。2血压、心率监测系统整体设计方案2.1血压、心率监测系统的设计思想在这里我认为就心脑血管疾病而言,后期救治没有比早期的预防更加重要。本设计的目的是:为了解决心脑血管疾病患者低心率和低血压的意外情况,设计一种检测装置,检测异常情况(数据),并进行报警。本设计是通过在监护人手机上安装的手机APP来传达被监护人发生低血压时的警告信息。在当下这个智能手机普及的时代,无论人在何处,只需安装一个软件就可以监控到被监护人的血压和心率的状况。本作品有一定市场推广价值,未来的潜在市场会较大。本作品有较好的拓展性和兼容性,相对于市面上同样的产品有更好的性能和稳定性。本设计采用低成本、高精度、微型化的stm32f103rct6单片机做为核心,来设计血压、心率监测系统的硬件电路。在此基础上,编写出了系统的总体方案,最后,通过KeiluVision5和单片机的逐一调试,实现了五个模块的各项的功能。每个功能由不同的模块分别完成,其中有负责心率和血压监测的光电传感器模块,负责上传数据的WIFI模块,负责显示功能OLED模块,还有负责信号处理放大的处理模块。对于APP端主要的设计有数据的接收与处理、界面的设计、服务器的建立与链接。2.2血压、心率监测系统设计方案的选择上位机采用手机或者PC,下位机基于单片机技术,实现随身携带,长时间、高精度多参数同时采集。监护仪器可以在单片机系统中实时显示各项生理的参考数据,并发送给子女的手机上。预期成果:设计一款可实现低血压和低心率报警的监测仪,从而实现对老人或病人的监护,并后期的医疗诊断提供有力的依据。整体方案如下:首先,stm32对各硬件部分进行初始化调整,检查无误后,MKB08055模块开始监测使用者高血压、低血压、心率三个数据,将MKB08055模块的数据通过串口通讯协议传输到stm32上,stm32处理协议数据包再将信息打包在提前设计好的数据格式,并显示在OLED屏上,同时也将这三种数据通过esp8266模块进行无线传输,再根据MQTT协议传输进服务器。通过上位机定义高血压、低血压、心率三个阈值报警,通过OLED显示报警参数。对于MKB0805心率血压模块主要有两颗脉搏传感器芯片、一颗增益芯片和一颗算法芯片组成,该血压心率主要能实现人体佩戴识别、心率血压采集计算、脉搏和心电波输出、和血压追踪等功能。该血压测试模块的特点有:稳定、自动增益、使用了心率血压算法,并固化在MCU上,就可以直接输出到串口。由于脉搏信号非常的微弱,为了让收集到的信号更加的稳定,所以在测量位置的选择上要选稳定可靠的位置,且在测试过程中尽量不要有抖动和晃动。产品的整体设计不要过大,太过大会导致测量时滑落,导致测试数据不准确对于心率监测,我们采用的方案是通过传感器进行光电监测,记录脉搏调通次数并以16进制数进行记录,其核心原理是对于波的捕捉,放大,从而实现了对于心率的监测。影响人体血压的上升和下降主要有两种情况,第一种是在身体的正常生理状态下,第二种是因为药物的作用,对于第二种情况,我们需要设置一个校正值(一般为20mmhg),就可以做到有效的报警和监测。血压监测主要是通过血压对于血管壁的侧压力进行测量,通过压力传感器将数据传输到芯片上,进行处理后将数据进行显示,其原理类似于血压计,且为数模化的数据。2.3光电血压、心率监测系统的结构2.3.1整体系统结构图图2.1系统结构框图2.3.2系统模块功能介绍此系统设计初步规划是根据每个模块的功能对系统进行整体的布局和规划来设计PCB电路图,但考虑此次作品为毕业设计作品,用焊锡焊出的电路更容易设计。然后,在整体布局清晰没有问题的情况下安装各个模块,测试单一模块的功能,观察有没有短路或不合理的地方。各模块预期的功能如表2.1所示:表2.1模块功能表模块名称模块功能光电传感器红外光管加红外光接收管制成的非电量(红外光)模拟信号转换的元器件,它通过一定的线性关系将接收到的红外光转换成方便测量的物理量就好比电压、电流或频率这样的单片机电路单片机的计数/中断口将会根据从传感器得来的电平的变化运算出血压和心率(还包括stm32f103rct6外围电路、手表电路、外部中断等)。OLED頻幕在OLED上会显示出单片机通过运算得出的结果,OLED頻幕清晰比较便于直观的读出所要测量的数据。电源能够给光电传感器、单片机、OLED頻幕提供电源,通过电源适配器稳压后输出的是5V直流稳压电源。3硬件系统的组成部分3.1控制器本血压、心率监测系统的CPU选择的是stm32f103rct6单片机。因为其价格便宜,性能适中,具有较好的可扩展性和易操作性等优良特性。心率血压传感器对人体血压、心率和血氧等数据实时采集并以串口的形式传递到stm32单片机,stm32通过将对应数据解析并实时显示和实时上传至服务器,通过自行设计的异常值报警算法分析所解析数据,实时将异常情况传至服务器。亲人和医生可以通过APP实时订阅服务器数据。stm32对于APP的主要通信方式有蓝牙和WIFI两种,我们这次选择得中间桥梁是MQTT服务器,主要步骤有1.确定MQTT数据传输格式。2.stm32以指定格式上传数据(发布到指定话题),APP订阅指定话题。3.当订阅话题有数据时,APP解析数据并显示。3.1.1stm32f103rct6简介stm32F103RCT6是一种32位的微小型控制器,也是一种小型系统,其原理是利用了嵌入式的集成电路,实现了高速传输的特性,峰值速度可以达到80MHz。其通用的存储器类型有SDRAM和flash,本次设计采用的为FLASH类型,存储速度更快,效率更高,且存储器容量最大能达到256kb,对于日常程序完全够用。3.1.2stm32f103rct6的基本选型经过分析,本实验选择了意法半导体的stm32F103RCT6芯片作为产品开发的主控芯片。stm32F103为增强型系列,ARMCortex-M332位RISC(ReducedInstructionSetComputer)处理器提供了更高的代码效率,时钟最高工作频率达到72MHz,Flash存储器片上集成32-512KB。3.2信号采集3.2.1光电传感器的原理根据俞文彬,谢志军[8]等人的研究分析和比尔定律,当以一定的光强照射在人体的皮肤之上时,人体会对于光强进行反射和吸收,此时进行一定的监测,可以观察到人体的部分的特征。因此这里我们就需要用到传感器。传感器是一种可以将物化生等非电量通过电路的设计、感应处理并传输为另一种物理量的装置。该传感器由光敏元件、转换元件和测量电路组成,具体办法为PPG,光电容积描记法。如何去感应人体的脉搏信息并加以提取呢?本设计采用光电式容积脉搏波描记(PPG)的方式,通过一种新型的模拟端芯片HR607+HR6816和另外一种新型的算法芯片SFB9712输出血压、心率等串口信号。如图3.1所示。图3.1模块原理图伴随着人体心脏的跳动,人体的血液的浓度和流速会随之改变,同样的,人们的心率和血压差也会发生改变。实现血压监测的原理,主要是由PPG特征认知,持续跟进监测用户的血压变化趋势,并进行记录。PPG是利用光电容积描记(PPG)技术进行人体运动心率的检测,是红外无损检测技术,在生物医学中广泛应用。利用光电容积描记(PPG)技术进行人体运动心率的检测,是红外无损检测技术在生物医学中的一个应用,它利用光电传感器检测人体血液和组织吸收的反射光强度的差异,记录中血管内血液容积的变化,从得到的脉搏波形中计算出心率。心率主要由心脏的节律性波动产生,动脉也跟着节律性的心跳,动脉分布比较密集的地方在人体指尖和耳垂的上,而光线通过手臂后最容易被检测到。因此,我设计的这款传感器是放在人体手臂上的,我认为这是最何时的位置。其原理是当光射向皮肤时,当以一定的光强照射在人体的皮肤之上时,人体会对于光强进行反射和吸收,光敏传感器会对于反射回来的光进行监测并转化成电信号,再由AD转换为数字信号。3.2.2光电传感器的结构和核心器件对于心率的监测,主要是对于脉搏的跳动频率进行的监测,因为心脏的跳动会带着动脉进行节奏型的跳动,人体能明显观测到脉搏的就是脖颈和手臂,但脖颈不易测量而且不符合用户习惯,所以本设计的测量位置固定在手臂处。血压主要由血液流动对于侧壁产生的压力产生的,所以,我们可以通过对于手臂加压的方式,来测试测压力的多少,从而反映出真实的血压数据。图3.2光电传感器的结构和核心器件3.3放大、滤波、整形的意义某一个地方发送了一个信号,并被我们接收到这个信号时,我们并不可以对它进行直接分析和观察,而是通过一些特定的电路,对信号进行放大、滤波、整形之后才可以变成那种可以进行分析的稳定信号,我把之前在学校学过数电、模电、信号与系统等相应的课程做为本次毕业论文的铺垫。3.3.1信号放大由于在0.83Hz~3.33Hz的频率范围之间,即正常情况下人体的心率为50~200次/分钟,血压在18.7kPa所对应的频率,为红外传感器采集到的红外低频率区。又由于强光、噪声等不可预知的干扰。因此,本设计需过滤干扰波,从而更稳定的收集数据。我对此进行了放大电路的处理,即将低频的信号放大多倍并且整形,至此完成了对电路信号的变形和过滤,才将较为稳定的信号传送给处理模块进行数据整理。3.3.2放大电路人类心跳频率的最大值为200次/分钟。根据此已知条件,我们可以设想出理想的低通滤波电路,如图3.4所示。原理是:通过
C2、C3、C4及RW1,滤除大部分的干扰波,再利用C2、C3、C4和R4截止频率,LM328对信号进行多次的放大处理,具体的放大倍数由RW1及RW4决定。图3.3低通放大电路根据一阶有源滤波电路的传递函数,可得:(3-1)放大倍数为:(3-2)截止频率为:(3-3)我们将得到不掺杂噪声的正弦波,此时在经过抗失真操作和放大输出,在截止频率算法的作用下,我们能得到一种低频特性的波段,能满足频率在200次每分钟在波的要求。3.3.3波形整形电路本设计在VCC给上供电,再通过电阻进行控制电流,再通过U2B电压比较器进行比较,放大后的信号将以电流的形式存储在C5和C8电容中,在经过耦合进入比较器,最后在U2b中输出高电平,点亮发光二极管L2。反之就输出低电平让L2灭,图3.4中就是基本的波段整形电路的电路图。图3.4波形整形电路经过比较器U2B的输出波形如图3.5所示:图3.5示波器采集波形3.4显示电路此次设计采用了OLED显示,如图3.6。图3.6OLED核心原理图图3.70.96寸OLED显示屏实物图3.4.1OLED简介OLED随着现代显示技术的发展,OLED被广为熟知并大规模应用。相比于LED,人们对OLED赞口不绝,但却很少有人真正了解其优点。OLED的同时具备多种特性,高对比度、极薄、广角、高速、曲面、耐高温、自发光……使得显示效果更上一层,虽然使用当前的技术,OLED的尺寸已经很极限了,但它的分辨率确可以达到一个很高的点。3.4.2OLED的特点与参数1.特点:OLED在前文所提到的高对比度、极薄、广角、高速、曲面、耐高温、自发光等特性,使其与其他技术相比能够更广泛的被应用。2.接口定义OLED显示屏实物如图3.7所示表3.1液晶显示屏接口定义引脚号标识描述1GND电源地2YDD3.3-5V3SCK串行时钟4SDA串行数据3.5无线传输模块我做的这个毕业设计是通过手机APP随时随地的实时接收血压、心率数值异常报警,其最重要的就是随时随地的通过WIFI接收,那么我的单片机是通过ESP8266上传的数据,如图3.8所示。这个产品的集成化比较高,PCB只需要很少的空间即可,并且性能更稳定,传输速度快。硬件电路板上需焊接4×2的插排座,可以使其在焊接过程中不受热,避免损坏。最后焊接完所有排插后插上对应的模块即可。图3.83.6MQTT服务器的应用MQTT英文全名MessageQueuingTelemetryTransport,消息队列遥测传输协议。这次毕业设计我之所以选择MQTT作为中间的传输介质,是因为它对于代码和带宽都没有太大的需求就可以为设备提供可靠的消息服务。并且我找到的这个还是免费的,网址为/MQTT/public-MQTT5-broker。MQTT是一种轻量级的服务器系统,主要用于物联网的产品和机器之间的通信,其本质是一种消息传输协议,基本模式是订阅和发布。MQTT代理就相当于一个中转站,其不需要完全明白信息的具体含义,而是当发布者发布信息时,指定这条消息的主题和负载,MQTT无需访问信息的负载,只需要找到对应主题的接收者(订阅者),将这些主题的信息分发给他们,就完成了一个流程。用MQTT实现的数据传输非常清晰和简单,不过也存在一定的风险,不能保证数据的完全的合法和符合协议要求,在此次毕业设计中,数据都是提前设定好的,所以可以使用MQTT做服务器。在使用MQTT服务器之前,要对通信总线进行配置,对通信协议进行了解。总的配置信息如下,1.USART配置,将波特率设置为115200bps,将数据位设置为8Bits,将停止位设置为1bits,同时把奇偶校验设置为无,接下来是i2c的配置,将其模式设置为从机,地址设置为从机地址位7位,时钟设置为100kbps,ACK设置为使能。其次是监测模块通信协议的了解,对于模块的命令,主要由血压校准,心率血压数据的读取,读取脉搏信号,擦除EEPROM数据,读取ECG信号,读取模块工作状态(命令预留),读取版本号,读取HRV数据这些部分组成。MQTT服务器在安卓上实现需要配置一些参数:参数具体作用Topic为此次事件的主题,即订阅的事件URL统一标记的低级,即服务器的ip地址Username&password基础的用户账户密码,用于认证用户的登录合法性CLientID客户端的ID信息,用于检验信息的准确性具体实现:第一步:添加依赖第二步:声明权限第三步:开启服务器第四步:在Androidstudio中创建一个MQTTService类,然后在AndroidManifest.xml中进行声明,并向服务器请求服务。具体代码如下:图3.9MQTT服务器实现代码图4软件系统设计4.1C语言编写软件介绍图4.1KeilC51编程软件KeilC51这款软件起来自C语言的发源地美国,如图4.1所示,这款软件功能非常全面,之前在学校上课期间一直在使用,相对比较熟悉。本次设计的程序采用C语言编写,C语言作为一种计算机的底层语言,编写的代码简单易读,更重要的是处理效率高,对于一款健康检测的机器而言,每一分一秒都是生命,因此,对处理速度也是有一定要求的,C语言的高效性较好的符合本次设计的需求。并且,其本身具备多样化的运算符和数据类型,便于实行多量化、复杂性的数据结构。此外,C语言还具备层次分明的特性,由于它是一种结构化的语言,使用时利于模块化的组织程序,在现实的维护和调试方面具有优越性。考虑到跨平台性,因此C语言能较好的实现一切转换为机器语言的代码,逻辑性较强。4.2主程序流程主程序运行后的第一步就是程序初始化,然后运行模块监测代码,监测个个模块是否存在问题,能否正常运行。本设计设定了一个优先级,先检查WIFI模块,再检查血压模块,如果发生问题,将会通过OLED展示出来。如果没有问题,就会显示正常的数值。然后,设定对应的阈值,高压阈值,低血压阈值,低心率阈值。此时检测P2.3是否为下降沿,如果是下降沿,运行心率血压测量子程序;如果不是,返回开始重新运行程序,运行完检测子程序后在OLED显示和上传至云服务器;如果数值超过了阈值,则蜂鸣器报警。具体流程如图4.2所示。图4.2主程序流程图4.3显示程序流程显当我们的程序初始化后,将会进入到程序的死循环,此时会有数据被传输到显示子程序中,显示子程序取到结果,然后就会调用函数来显示在OLED界面,即显示上次的心率和血压结果,在屏幕显示上会要用到中文字体,所以我们要调用中文取模的C51代码,并且存储在OLED的中文库中,再利用对应库中的中文编号就可以显示对应中文,再将程序进行延时;最后进行一个回调,显示数据的最终结果,即完成一套显示程序流程。图4.3显示程序流程图4.4app编写的软件说明和具体编写对于APP的编写,本设计使用的是androidstudio,如图4.4所示。androidstudio是一个开源的安卓应用制作平台,通过代码可以实现想要的效果。在androidstudio中点击新建项目开始制作安卓应用。打开项目后点击链接就可以对正在制作的项目进行调试。在制作完成后点击生成APK可以直接下载应用APK。图4.4androidstudio制作页面图首先我们建立一个项目,选用手机端的项目,按照默认配置进行初始化,然后再进行项目框架的构建。这里由两部分组成,程序文件可以对于程序逻辑进行编写,xml文件就可以操作图像界面,实现对于控件的布局和视觉方面的变化等,然后我们对于编辑好的项目经行仿真,仿真就点击三角形runapp,在右侧就会出现具体的效果,再进行调试即可。在标签下面放上对应的数值,这个数字和OLED显示的数值保持实时同步,然后我们连接MQTT服务器,将一些预设定好的数据发送,测试能不能正常显示,然后我们再将10组数据异步发送,直到测试成功。5抗干扰及使用方法5.1抗干扰措施为了让采集的数据更精准和不受射频信号等其他信号的干扰,且由于脉搏信号是一种微弱的信号源,所以使用的方案要独立的LDO供电,目的是为了保证输出波纹被控制在20mv以下。当用户在使用我们的产品时,应降低和减少周围环境对信号的干扰,尽量保持一个平静和稳定的状态,否则输出数据就可能不稳定。5.1.1环境光对血压、心率传感器测量的影响环境光对于基于光敏原件的心率和血压监测传感器是有一定影响的,所以本设计在模块选择方面选择了一款抗环境光的检测模块,其原理是通过对于感光原件周围进行遮挡,通过镜面反射的方式将环境光反射出去,同时通过外力压迫的方式将感光元件压在手臂上,从而实现抗干扰的影响5.1.2电磁干扰对血压、心率传感器的影响电磁干扰主要是以电磁波的形式对于传感器产生的滤波进行干扰,导致滤波不能在下降沿出现,就会影响结果的出现,所以在模块选择上尽量不选择带有感性和容性负载,且对于外壳要进行封住,从而达到抗电磁的干扰。5.2使用方法1.本产品的监测要让使用者处于静止的状态10分钟,如果在运动状态下需要让产品固定在手臂,防止左右摇摆;2.测量时要用橡皮筋固定住传感器,保持与皮肤稳定接触,不能有晃动和摇动;3.按下初始化按钮,等待系统开始测试;4.测试开始,显示屏开始出现初始值然后开始波动,此时各模块正在工作;5.如果出现测试值低于阈值的情况,则手机APP会出现报警弹窗在在手机幕的下方;6.如果出现数值出现异常的情况,这是信号干扰的情况导致的,只需要按复位键,对系统进行复位即可;7.点击手机中的APP,将数据获取开关打开,即可通过MQTT服务器获得实时传输数据并在界面显示出来。6系统检验6.1系统检验单片机接上电源后即可使用,如图6.1所示:图6.1测量中显示的数据,如图6.2所示:图6.2产品最终实物效果图图6.3APP端效果图图实验过程总结本设计主要要做在异常情况下进行血压和心率的监测和报警,中间进行了很多次的尝试,过程非常的艰辛和痛苦,也有通宵制作的煎熬时候。在数据实现并进行上云的环节,程序发生了bug,在这之前我并没有尝试过如何同时调用多个串口,因为会存在数据异步的问题,导致单片机的数据无法显示,也无法上云,这是一件非常难处理的问题,我不断的尝试解决方法,一个一个修改语句尝试去解决,可是程序一直无法正常运行,就在我快要放弃了的时候,我突然想起看过的一篇博客,里面讲述了如何规范化代码,让程序跑起来的时候,数据能排队从串口发出,至此,终于解决了最难的问题。后面的上云让程序跑通就非常简单了,不过产生这么大问题的原因还是因为自己学艺不精,对于上云这一部分的代码并不是很熟悉,其中涉及到的代码知识不懂,导致无法去更改,经过了此次的事情,能更加了解这些事情的本质,和对于代码掌握的更加的牢靠。本设计发出操控命令的是手机,下位机基于单片机技术。它是一种便携式、实时、长期、高精度的采集设备,可将生理参数发送给子女的手机app上。预期成果:设计一款可实现低血压和低心率报警的监测仪,从而实现对老人或病人的监护,并且为后期的医疗诊断提供有力的依据。总的来说结果还是好的,从一开始调整代码到完成作品,无数个日日夜夜的努力,从stm32的芯片的构造,到基本语法,到上云,到APP,每个部分都花了无数的时间去制作,其中的艰辛只有自己知道,不过好在最终还是完成了这个设计,让每一步的代码都运行成功。特别是对于相应模块的调用,如血压模块,蜂鸣器模块和OLED模块,这些模块的运行已经非常熟悉,对于差不多的项目只需要复用现在的代码就行了,然后进行整合,调试。不过还是有很多问题在等着我,希望在未来我能继续把这段时间的所学继续精进,把不会的学会,把学会的应用到实际操作中,使自己真正的成为一个专业人士。6.2误差分析实际的心率次数测量得出心率次数1测量得出心率次数2测量得出心率次数3测量得出心率次数4测量得出心率次数5656464636563727071696970767675757473818080798180858383858284实际的血压的kPa测量得出血压的kPa1测量得出血压的kPa2测量得出血压的kPa3测量得出血压的kPa4测量得出血压的kPa518.718.718.718.818.218.519.619.319.619.819.619.418.818.718.718.618.818.819.019.019.019.019.019.116.916.916.917.016.816.8由考虑到由传感器获得的信号再通过公式的滤波和放大为非线性的,所以在本设计中编写其中的代码时加入了衰减补偿算法,具体由均方差公式可得:误差分析后的结果,再经过非线性误差补偿后,误差已经基本控制在合理的范围内,具有较小的鲁棒性。7总结与展望我的实物在此项目运用上相对物美价廉:首先,运用起来比较简单,只要有C语言基础和一般硬件操作基础即可,但功能却可以很多样,并且价格低廉;此外,操作简单易上手,适应性强,率周期性的变化,如测量结果低于正常的数值范围,机器就会发出报警提示,起到预防的功效。但需注意的是,测量的值是波动的,尤其当被测时的身体移动,会造成误差,因而测量时尽量保持稳定,不要随意大幅的移动,以免影响测量。通过大学两年的理论学习,怀着激动的心情,开展自己的毕业设计,将理论成果转化出来。一开始,我对自己的选题和内容非常有信心,但直到自己动手做实物,才知道原来理论与实际还隔着一道鸿沟,代码的编写、硬件的设计,一个个难题横在我面前时,我才知道实践中需要战胜的不只是知识漏洞,还有自己。当我实习加班回到家里时、当我见缝插针解决技术问题时,我才发现,我不只是解决了难题,我还挑战了自己。在无数个奔溃的夜晚,领悟到原来人的潜在能力是超乎想象的,就是需要看我们有没有坚强的意志。当我完成了一个真正属于我自己的作品时,我凝视它许久,在磨炼了我动手能力、信息检索能力、拓展思维解决问题之后的心血之作呈现在我面前时,我甚是欣慰,我无愧于两年里的自己。我把每一堂课的灵魂都注入其中,课本上死板的字符富有生命的活了起来。这个毕业设计刻在我的心灵深处,以后每次遇到困难,我都会鼓励自己,我是可以的。当然,我的作品肯定是不完美的,在这个设计中,有很多方面还有待改进。日后我一定会根据社会的发展、人们的需求进一步完善。参考文献[1]Designofheartratevariabilityprocessorforportable3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大棚卷帘机日常保养维修方案
- 职场营养早餐搭配制作指引
- 外包工程安全管理实施办法
- 隐患排查治理督导检查办法
- 农贸市场农产品检测管理制度
- 肝病患者饮食禁忌管理指南
- 促销活动效果评估方案
- 管理人员安全履职能力提升计划
- 正骨复位操作标准流程
- 门店消防安全检查规范
- 2026新教材语文 22《〈礼记〉二则-大道之行也》教学课件
- 浙江省Z20联盟2026届高三年级第三次学情诊断日语+答案
- 2026湖北供销集团有限公司招聘66人考试模拟试题及答案解析
- 2025年书记员速录技能考试真题及答案
- 2025厌氧好氧缺氧(AOA)活性污泥法设计标准
- GB 4789.3-2025食品安全国家标准食品微生物学检验大肠菌群计数
- 问病荐药流程
- 氢储存运输及加注技术教学课件:4.3液氨储氢技术
- TNMSP.MZB01.43-2024“蒙”字标农产品认证要求 阿拉善荒漠肉苁蓉片、粉
- 特种设备的操作安全与防范措施
- 儿童绘本故事《蚂蚁搬家》
评论
0/150
提交评论