摘要
随着科学技术的不断进步,一些急性病的发病率也在持续升高,所以人们对身体健康情况的重视程度也逐渐加
深,应时代应群众的需求设计研究了一款以单片机为核心控制元件的人体健康监测系统,它具有较强的检测能力,
可以采集体温、心率、血氧等基本生理指标,还能够检测出人体的行为动作,判断是否摔倒,并通过WiFi无线传输
模块实时将数据发送到手机APP上,供家属查看。
本次设计的人体健康监测系统,采用 STC12C5A60S2单片机作为系统微核心处理单元,通过 DS18B20 模块来采
集人体温度,选用MAX30102传感器进行感应测量心率血氧浓度、三维角度传感器MPU6050实现跌倒检测、辅以
LCD1602液晶显示、蜂鸣器报警、ESP8266无线WIFI模块,最终将得到的各种基本生理参数上传到手机APP界面上显
示。本设计具有体积小、精度高、结构简单等优点。可以多次重复采集数据,实用且较为安全。
关键词:健康监测系统,MAX30102,MPU6050,无线数据传输
1 绪论
1.1 课题背景及目的
随着生活节奏的加快,人们的生活方式发生了很大的变化,产生许多不良习惯,由于这些习惯长期得不到改
善,最终会给我们的身体带来不可磨灭的损害。导致急性病的发病率逐年上升,严重威胁着人们的生命,特别是独
居在家的老人。一些小病看似无伤大雅,实则危害极大,经过日积月累,小病终成恶疾。一次检测并不能代表一了
百当,有些疾病变化速度快,事发突然,不易被察觉,所以单纯的日常体检远远不能够满足人们的实际要求。加上日前国内外疫情形势反复,在病毒面前人们的生命显得极为脆弱,而大多数病毒引发疾病的初始症状都是体温心率
等生理参数出现异常,因此,一套生命机能健康监测系统已经成为人们迫不及待的需求。定期监测是保持健康的有
效手段,通过监测可以达到提早发现,及时治疗的目的。
本设计即可个人自主进行健康管理,通过各种传感器随时随地的对自身的心率、血氧、体温等重大身体机能指
标进行系统的监测,从各项数据的量变之中,寻找身体的不利信息,纠正不良的生活习惯,及早发现小毛病身后的大
隐患。此外监测系统也可以通过WiFi无线远程传输将采集到的各种数据发送到手机APP上,家人及亲属可随时查看相
应老人或病人的信息。当生命体征出现异常或突然跌倒时,手机会立即收到报警信号,实现及时提醒救助的功能。
与此同时,还有利于监测独居老人或病人的实时情况,促进良好作息规律的培养,把健康融入到生活点点滴滴中。
当突发急性病时,此系统还可以为医生提供了患者发病时的具体情况,在一定程度上提高治愈率,有利于减轻医护
人员负担和家属的精神压力。
1.2 国内外研究现状
在科技发展进步高速的今天,健康监测系统更新换代飞快,中国在此方面也取得了令人瞩目的成就,无线的检
测系统应运而生。国内的健康检测仪器已经从书本概念走向了人们的生活,甚至已经应用到医疗、健身等各个领
域。健康监测的发展已经将以前采用的静态被动的检测,转化为动态实时的监测。人体健康检测仪器在国内已经逐
渐形成了一个完整的产业链,从最初的血压仪到目前市面上的智能移动背心、计步器、智能手表等可穿戴的电子设
备。五花八门的样式,令人眼前一亮。各种智能电子设备优劣各异,外形构造复杂多样。它们除了具有记录运动轨
迹、移动支付、模式选择等功能以外,还可监测人体生理参数。不仅功能强大,还带来了一定的社会效益。智能产
品取代传统器械已成为必然的趋势。虽然带来了许多的益处,但是同样也存在一些弊端,此类产品耗电量较大,一
旦电池电量耗尽,需要及时充电方可正常使用。当发生故障时维修的难度较大,重复利用率不高。为了抗击新冠疫
情,我国全力以赴,在健康检测方面投入巨大,国家药监局先后发布了许多获国家审批的新冠防控医疗器械产品。
例如基因测序系统、腺病毒核酸检测试剂盒、新冠病毒IgM抗体检测试剂盒等。普通民众可以居家查看自己的身体情
况。健康监测系统虽发展飞速,但是对其应用情况来看,尚未达到所预期的评估目标。监护领域仍然存在着许多的
薄弱环节和一些待解决的关键性问题,如只监不护,不能自动护理的情况,或者是海量数据的采集和预处理以及识
别多种信息的管理与查询等问题。相信随着市场的进步,技术的更新,我国的健康监测技术也会获得日新月异的发
展。
近几年来国外的人体健康监测系统也得到了快速的发展。美国兴起了无线监测系统,通过体型较小的无线设备
连接到系统核心控制器,不但操作简单,还大大降低了风险率。联邦通信委员会着手计划构建一项无线MBAN系统,
主要用于无线传感器网络,还可直接采集到体温、脉搏、血氧等参数,而此系统与传统的医疗器械不一样的是可以
用同一个网络来检测身体机能,然后把数据汇总起来进行分析总结,最终将结果传输到核心处理器进行整体评估。
英国的激光检测仪,可以检测出诸如癌症和老年痴呆症等疾病,还可以预测人类寿命。在全球抗击新型冠状病毒防
控阻击战中,世界卫生组织及国家推出了一款基因测序仪,它主要具有检测、筛查新冠病毒的能力,是国家抗击疫
情的有效手段之一。由于新冠疫情危害巨大,各个国家先后发明了用于监测预防新型冠状病毒的仪器,如美国无人
机病症检测仪,可在几十米外监测病人的体温,并用传感器和计算机视觉检测出各种基本生理参数,可被用于疫情
期间远程安全的监控。但是这种监测仪器仍需进一步的性能测试,没有广泛地被投入到市场上,目前并未得到应
用。
1.3 课题实现途径、方法和手段
本系统充分利用了单片机和相应的传感器作为中心元器件,采集实时的心率、血氧、体温生理机能,并在液晶
屏上显示相应的参数,还具有跌倒检测功能,通过无线WiFi传输模块将检测到的数据发送到手机APP上。预先设置系
统报警阈值上下限,当检测的数据不在阈值范围内或者是跌倒时则立刻发出警报。
初期在书籍和网络上查阅各个模块的相关资料,详细学习编程方法,设计整体的电路图,编写完整的单片机应
用程序,根据所需功能在软件上进行仿真,仿真调试成功后,统计并购买好所需的材料,遵循先低后高的原则,焊
接元器件,再进行系统的最终调试,完成设计。
2 人体健康监测系统总体设计方案
2.1 设计要求
1、利用温度传感器测量出当前的体温,并将检测的数据传输给单片机进行处理。
2、采用心率血氧传感器,监测采集心率以及血氧基本生理指标。
3、用陀螺仪对人体的行为动作与身体姿态等进行实时检测,综合分析判断是否发生摔倒,并在跌倒时发出警报,实
6
现跌倒监测。
4、用液晶屏实时显示传感器检测出来的体温、心率以及血氧的具体数值。
5、通过无线WiFi模块将检测的各种数据发送到手机APP上(包括体温,心率,血氧浓度,是否跌倒等信息)。当检
测到的体温、心率、血氧不在阈值范围或发生跌倒现象则报警。同时设置三个按键来调节预设的温度,心率以及血
氧值。
2.2 总体设计方案
本设计用STC12C5A60S2单片机作为核心控制器件[1],采用DS18B20,MAX30102传感器进行体温心率血氧生理指
标的采集、以LCD1602液晶显示屏作为主要显示器件、利用ESP8266无线WiFi模块电路作为单片机与手机之间连接的
主要通讯装置、通过MPU6050陀螺仪实现跌倒检测、蜂鸣器报警电路作为声音警报器件。
本设计系统总体框图如图 2.1 所示。
图 2.1系统总体框图
2.3 电路元件选择方案
2.3.1 主控制器
方案一:控制核心采用电压比较电路。这种方案虽然易于操作,简单方便,不受程序的限制,但是相对于其他
控制器来说功能不够强大,也不能直接设置系统的体温、心率、以及血氧的阈值上下限,故本方案不适用于此系
统。
方案二:采用STC12C5A60S2系列单片机作为控制逻辑核心。单片机拥有多个输入输出接口,可同时接入多种外
设,控制准确;同时编程灵活,可以实现设计与调试同时进行,电路设计较为简单,当增加新的功能时只需要编写
对应的程序,下载至单片机内即可;成本较低,可多次重复下载程序进行调试。功能强大,能够满足各个方面的需
求。所以选择本方案作为核心控制。
2.3.2 温度检测元件
方案一:感测温度信息的元器件为热敏电阻,与以往电阻不同的是,它的温度系数为负值,温度和阻值成反
比,随着温度的上升电阻值减小,将感知到的信息经过运算放大器放大后,最终以变化的电压信号输出,再将模拟
信号转化为数字信号。
方案二:使用热电偶作为单片机测量温度的元件,辅以桥式电路,AD转换电路以及运算放大电路[2]。
方案三:采用DS18B20传感器来测量温度。
对于方案一,热敏电阻具有成本低,设计简洁等优势,可以很容易地检测到温度的变化情况,但在温度测量方
面还存在失真问题,热敏电阻的阻值与温度之间的关系呈非线性变化;同时其耐用性较差;而且一旦损坏不易替
换。还对温度范围有限制,超过指定的温度范围变成高温时,热敏电阻就不能正常使用。尽管这个问题可以采用电
路进行改善,但仍然会降低整个系统的稳定性,故不选择该方案。
对于方案二,热电偶测温时不经过任何介质直接与被测物体接触[3],所以测量准确,同时型号种类丰富,测温
范围广,抗干扰能力强,一般与屏蔽线同时使用,坚固耐用,响应快,但是将热电偶测量出来的数据转化为温度并
非易事。故不采用该方案。
对于方案三,采用数字式的DS18B20温度传感器,可以提高测量的准确度,减小误差,同时应用范围广,可适应
于任何环境。它的外层材料绝缘防腐耐磨,起到一定的保护作用,内层具有低熔点的物理性质,防水密封性强。同
时DS18B20传感器感测温度的分辨力极高。采集到的温度值可快速转换成数字信号输出,系统编程简单,所以采用此
方案。
2.3.3 心率血氧检测元件
方案一:采用电容压电式脉搏传感器,使心率跳动时产生的压力通过微压力型的装置转换为信号输出。进而监
测出脉搏的跳动情况。
方案二:MAX30102是一个集成了血氧仪和心率监测仪的光电传感器,可同时测量两个基本生理参数,它是利用
血管搏动时产生透光程度来进行测量,最终将其转化为电信号并放大输出。
对于方案一,该传感器虽然具有响应频带宽,设计简单,灵敏可靠,可以自动监听脉搏的音频信号等特点,但
无信号处理电路,需要根据用户的需求设计信号放大部分,使用繁琐复杂。
对于方案二,MAX30102传感器将输出的数字信号传递给单片机计算后,即可得到心率。它集成了脉搏血压仪和
心率监测仪,不仅可以采集心率还可以计算血氧饱和度。同时此传感器是一款升级产品,带有玻璃盖能够有效防止
光干扰,性能可靠。测量时可直接将手指轻触红外接收元件,即可正确显示出心率血氧数值。操作简单,易于使
用。方案二相比于方案一来说功能强大。所以本系统采用方案二。
2.3.4 显示电路
方案一:使用共阳数码管动态扫描显示方式。
方案二:采用LCD1602液晶显示屏显示。
对于方案一,它是将发光二极管按顺序排列而制成的,该方案虽然成本较低,但是通过逐个点亮LED进行显示,
视觉上可能会有时间延迟,同时会有闪烁不定的情况,清晰度较低,显示内容单一。
对于方案二,该方案功耗较低,与数码管不同的是,用户在使用LCD1602液晶显示屏时可以根据需求自动调节对
比度,内部具有自动复位电路,初始化简单,显示清晰,安装方便,不需要后期焊接即插即用,工作稳定可靠。LCD
屏本身具有背光功能,不易产生视觉疲劳。综合对比分析,采用方案二。
2.3.5 无线传输电路
方案一:采用ESP8266传感器,手机可以通过WiFi无线传输与监测系统进行通信。ESP8266无线WiFi模块集成了
透传功能,有三种不同的工作模式可供选择,都可用于数据传输,性能可靠稳定,硬件接口丰富,可同步对多个终
端进行传送,支持使用AT指令,初始化简单,用户通过串口即可实现网络访问。此方案可应用于本系统。
方案二:采用集成了高性能的内核无线MCU的CC3200,用户可实现单芯片无线通信。CC3200性能虽强,但CC3200
价格昂贵,引脚配置以及寄存器结构复杂,综合分析对比,选用方案一。
2.3.6 跌倒模块
方案一:采用压力传感器实现跌倒检测,利用压敏电阻器来检测足底的压力,进而判断是否摔倒。采用的器件
为一个非线性的压敏电阻元器件,其阻值受施加在其两端的电压影响,电压在设定阈值范围内,阻值非常大,当电
压超过预先设定的数值时,压敏电阻导通。根据阻值的变化情况,可以得到电压与压力值之间的关系。人体是否跌
倒可以通过检测到的压力值来判断。但是检测的精确度有限,误差相对较大,方法复杂,而且应用较少。
方案二:采用MPU6050陀螺仪实现跌倒信号采集,测量物体三维空间的加速度和角速度。MPU6050是由多个元器
件组成的集合体,相对于其他传感器,MPU6050消除了轴间差问题,还自带电压稳定电路,能够兼容2.5V/3V的系
统,模块内部集成了多种算法,它功能强大。MPU6050的测量精度范围完全可由用户控制,可测量X、Y、Z轴三个方
向上的加速度,测量准确,而且价格低廉,应用广泛。故本系统采用方案二。
3 系统的硬件设计
3.1 主控制器的简介
STC12C5A60S2是新一代的51单片机,相比于传统的51单片机来说,它的功能更加强大,具有低电压、高性能、
速度快、能兼容普通的51指令系统的特点。
STC12C5A60S2单片机内部除了具有与外部联系的4个并行的I/O口外,还增加了标准的P4口,其中P0口内部不带
上拉电阻[4]。另外,此单片机的管脚具有多重功能,P1.0-P1.7不仅能够作为普通的I/O口使用,还可以进行数模转
换。
单片机的引脚不同,功能各异,除了一些基本引脚之外,其他引脚说明情况见表3.1。
表3.1 STC12C5A60S2 单片机引脚说明
序号 引脚 引脚说明
40 VCC +5V电源
31 EX_LVD/RST2 外部低压检测中断/第二复位
8
30 ALE 地址锁存允许/编程脉冲
20 GND 接地
19 XTAL1 外部晶振一端
18 XTAL2 外部晶振另一端
15 CLKOUT1 计时器1时钟输出
14 CLKOUT0 计时器0时钟输出
9 RST 复位
8 SCLK SPI同步串行接口的时钟信号
7 MISO SPI同步串行接口的主入从出
6 MOSI SPI同步串行接口的主出从入
5 SS/CCP1 SPI的从机选择信号/外部信号捕获
4 CCP0 外部信号捕获
3 ECI PCA计数器的外部脉冲输入
1 CLKOUT2 波特率发生器的时钟输出
3.2 显示模块电路设计
3.2.1 液晶显示模块介绍
液晶显示的原理为利用其电压性质进而对显示区域进行控制。LCD1602是目前使用较为普遍的字符型液晶屏,它
的显示器画质高且不会闪烁。接口以及操作使用简单,质量较轻而且安装方便,不需要焊接即插即用。
3.2.2 液晶显示模块引脚说明
整个液晶屏的引脚图见图3.1所示。D0-D7为8位数据引脚[5],其余引脚各有其不同的功能,各个引脚具体介绍
。
其中,LCD1602的VEE引脚主要功能是调节屏幕的对比度,为了使液晶显示的内容更加清晰对比度更加明显,所
以本设计在实现显示功能时选用10k的可调电阻接在此引脚上。
3.2.3 液晶显示模块指令说明
9
LCD1602有以下基本操作,见表3.3。
表3.3 LCD1602基本操作
操作 输入 输出
R/W RS E —— ——
读状态 1 0 高电平 —— D0~D7为状态字
读数据 1 1 高电平 —— D0~D7为数据
写指令 0 0 高脉冲 D0~D7为指令码 无
写数据 0 1 高脉冲 D0~D7为数据 无
LCD1602液晶显示模块的运行是根据这几种基本操作来设置的。上表中数字0表示低电平,数字1表示高电平。在
程序编写时需要注意液晶显示屏忙标志位,当为低电平时则表示不忙,而忙时则不能接收指令或数据。通过编程可
以实现LCD1602的显示以及各种初始化操作。
3.2.4 液晶显示模块接线
图3.2为单片机和LCD1602液晶显示屏的接线图,为了能使显示器正常工作,需要接一个上拉电阻。单片机通过
控制P2口的P2.4、P2.5和P2.6三个引脚来控制LCD1602的RS、RW和E引脚的高低电平,从而控制LCD1602液晶显示模块
进行读写的操作。
3.3 体温采集硬件设计
DS18B20数字温度传感器具有单线接口、多点组网、硬件简单等特性,进行体温采集时所用到的电路简单。
DS18B20传感器模块相较与其他传感器来说引脚少,三个管脚分别为GND、DQ、VDD,如图3.3所示。无论是数据的接
收还是发送都使用DQ引脚,方便容易。本设计中将DQ引脚与单片机P3.2引脚相连,实现数据的传输。在实物焊接时
可采用DS18B20数字温度传感器探头,不仅测量准确稳定同时还具有防止外界环境干扰的优点。
3.4 心率血氧电路设计
MAX30102是可以同时测量心率和血氧两种基本生理参数的传感器,是一款升级产品,能够有效防止光干扰,性
能可靠。拥有兼容通讯接口可以将采集的数据传递给单片机。它的工作原理主要是利用血管搏动时产生通光率,并
将其转化为电信号放大输出[6],从而进行心率以及血氧值的测量。
3.4.1 心率血氧模块引脚说明
MAX30102传感器模块的引脚功能,见表3.4
3.4.2 心率血氧模块接线
MAX30102心率血氧传感器的实物接线图如3.4所示。图中的SCL引脚和SDA引脚分别接单片机引脚的P1.2和P1.3。
图3.4 MAX30102接线图 图3.5 心率血氧模块仿真接线图
由于仿真软件中缺少采集心率以及血氧参数的传感器,所以采用按键的形式来代替,即按键按下次数则表示检
测到的血氧以及心率的上升或下降的数值,当超过预设范围时则发出警报。同时还设置了切换按键,当按下此键时
液晶显示屏幕上的光标会依据按下的次数依次跳到体温心率以及血氧的所设定的阈值,可再根据加减按键来进行更
改预设值
3.5 跌倒检测电路设计
MPU6050传感器是一款陀螺仪[7],可以获取3个轴上的加速度和角速度,通过接口将采集的模拟量转换成数字量
输出。同时MPU6050传感器的测量角度还可以通过编程来进行规范。
MPU6050传感器I2C接口中的SCL引脚与单片机的P3.4相连,SDA引脚接单片机的P3.5引脚。通过时钟线和数据线
与单片机进行信号传递。
仿真过程中采用按键来代替检测跌倒的MPU6050传感器,当按下按键则表示跌倒,并引发蜂鸣器报警。
人体健康监测系统可以进行报警,此模块主要采用的是有源蜂鸣器,它控制简单,易于操作。在蜂鸣器中加入
三极管,可以进一步提高单片机引脚的驱动力。蜂鸣器的电路接线图如图3.8所示。将蜂鸣器模块电路与单片机的
P3.6引脚连接起来,将该引脚设置为低电平,使得PNP型三极管8550进入导通状态,就可以让蜂鸣器发出声音。
3.7 WiFi模块电路设计
无线WiFi通信模块使用的是ESP8266传感器,ESP8266模块采用AP工作模式,用USB转TTL连接到电脑。利用计算
机上的串口调试软件用AT指令对名称密码和传输的波特率等相关参数进行设置,设置完成后可实现通信。通过WiFi
传输数据使得人体健康监测系统十分便捷。
3.7.2 WiFi模块接线
ESP8266无线WiFi传感器的TX端主要接单片机的P3.0引脚,RX接单片机P3.1引脚,采用一个ASM1117-3.3降压芯
片将5V电压降为3.3V为ESP8266供电,具体实物接线图见图3.9。
图3.9 WiFi模块实物接线图
在仿真时,在仿真电路中添加一个虚拟终端,实现串口输出显示,利用virtual terminal可以清晰查看端口之间传
输的数据。同时还可以反映出体温、心率、血氧的数值以及ESP8266的配置名称密码以及端口号。
3.8 系统整体电路设计
整个系统的电路图如图3.11。本设计通过单片机各个引脚将上述的模块连接起来。P0口连接LCD1602,P0口需要
接上拉电阻;P3.6连接蜂鸣器;P3.2连接DS18B20温度传感器,P3.0和P3.1连接ESP8266传感器, P1.2和P1.3连接
MAX30102传感器, P3.4和P3.5引脚连接MPU6050陀螺仪,仿真时P1口连接心率血氧按键,P3.1连接虚拟终端。
图3.11 完整系统电路
4 系统软件设计
相对于硬件配置来说,软件可以控制整个监测系统运行方向,起着举足轻重的作用。人体健康监测系统的程序
是由主程序、温度检测程序、液晶显示程序、按键程序、心率血氧采集程序、角度检测程序、WiFi通讯程序组成
的。
4.1 主程序模块
主程序首先是设置蜂鸣器和按键对应的单片机引脚以及体温心率血氧的默认值。从主函数开始就建立调用各个
模块的初始化函数,然后编写发送和读取体温、心率、血氧、角度的指令,之后是按键程序,当识别到有键按下操
作时,立刻进行加或减处理,还可以进行按键切换,然后是调用LCD1602显示程序、报警程序以及WiFi通信程序。按
键的操作结果都可以在液晶显示屏上显示,当任何一种参数不在预设值范围内或者是跌倒时单片机会立即启动报警
电路,此时WiFi模块连接的手机APP上会显示导致报警的原因。直至生命体征恢复正常以及保持正常站立姿势时才停
止警报。如果在检测过程中关闭监测系统的开关重新开启时,各种参数就会回到最初的原始状态。
本设计的主要设计的流程图见图4.1。当按下电源键时,首先进行初始化,连接WiFi,加入网络之后,可以通过
按键来改变预设值,通过传感器进行各个参数的采集显示以及报警处理,如果未与手机配对成功,则重复连接。
4.2 液晶显示模块
液晶显示模块需要完成的内容十分简单,开启时第一行从左到右依次显示的是测量的体温、心率、血氧值,第
二行为各个参数所对应的预设值范围。
程序具体编写内容是根据单片机的指令,显示相应的内容。在主程序中编写调用液晶显示模块的函数,运行至
调用子函数位置时,调用相应的子程序。子程序内容包括定义RW、RS、EN,等待液晶准备,写入命令数据,设置显
示的起始地址,连续写入字符串数据以及LCD1602初始化程序。其中写指令、写数据这两部分程序对LCD1602液晶显
示具有重要的作用。本设计的液晶显示模块执行顺序的流程图,见图4.2。
图4.1 主要程序设计的流程图
图4.2 LCD1602显示模块的流程图
4.3 温度检测模块
使用DS18B20温度传感器首先要以初始化开始,初始化的时序图如图4.3所示。
图4.3 DS18B20初始化时序图
DS18B20传感器的信号一般都是由总线控制器控制的。初始化首先是单片机发送一个480μs-960μs的低脉冲,
表示复位,将总线释放,进入接收状态。通过电阻将其拉到一个高电平状态。当DS18B20检测到上升沿后,会等待
15-60μs,然后发出由60-240μs低电平信号组成的存在脉冲。
图4.4 DS18B20的写操作时序
对于DS18B20传感器来说写操作至关重要,它包括写1时序和写0时序。DS18B20的写操作时序图如图4.4所示。首
先是将数据线置低电平,延长一段时间,将发送数据的最低位放在数据总线上,延时一段时间后释放总线,连续重
复此操作直至全部发送完毕为止,最后再把数据线调至高电平[8]。
4.4 跌倒检测模块
MPU6050跌倒检测的流程图如图4.5所示。MPU6050传感器的通讯采用的是I2C接口,其中SCL和SDA两个引脚用来
控制MPU6050传感器的。I2C总线可以设置各种不同的信号。建立起始信号时,先将数据引脚SDA以及时钟引脚SCL拉
至高电平,延时一段时间后再给SDA一个低电平,形成一个跳变,即可开始传送。停止信号是将SCL赋成高电平,而
SDA设置成低电平,之后将其拉高。I2C总线的发送器发送字节传递数据,接收器就会反馈ACK信号,当ACK为低电平
时则表示可以正常工作。
4.5 WiFi通讯模块
配置好ESP8266模块的 RXD 和 TXD 引脚[9],设置各种变量,完成初始化,编写WiFi发送数据指令,ESP8266模
块有专门的AT指令集,通过此指令可以设置进行数据传输的波特率。单片机控制板通过ESP8266无线通信模块将采集
的人体基本指标发送到手机端上。手机界面上更新数据的时间间隔为
5 系统仿真及调试
为了验证系统的合理性和可行性,进行了多次的运行试验。最终实现人体健康监测系统采集实时的心率、血
氧、体温并显示相应的数据,通过WiFi无线通讯将检测到的数据发送到手机端,并且完成了跌倒检测,在跌倒时发
出报警。达到设计目标。
5.1 程序调试
本系统编写程序软件采用的是KEIL5,电路图的绘制在PROTEUS仿真软件中完成。将最终程序进行下载编译。此
时KEIL5左下角位置会得出整个程序的编译结果,根据得到的警告对程序进行具体的修改,直至调试到无错误为止。
具体情况见图5.1。
图5.1 人体健康监测系统程序
5.2 系统硬件仿真
5.2.1 显示功能调试
仔细检查电路图的各种细节,对该功能进行修改调试,通电后,显示模块初始化完成开始工作,在液晶屏界面
上显示检测出来的体温心率血氧参数以及预设值。如图5.2所示。
图5.2 显示界面
5.2.2 体温检测调试
在程序里对该功能进行修改调试,通电后,首先完成初始化,恢复到最初的状态,之后输出显示实时读取到的数
据。如图5.3所示。
图5.3 温度检测
当人体的体温发生变化时,DS18B20传感器检测到的温度也会随之发生改变。如图5.4所示
。
图5.4 温度检测
5.2.3 心率血氧以及跌倒检测调试
仿真电路通过按键来代替心率血氧传感器[10],由于仿真电路不能实际检测出心率血氧,无初始值,所以设置
了每次系统启动时初始显示为固定值,温度为30°C、心率80 BPM、血氧95。如图5.5所示。
图5.5 心率血氧检测
按键按下则表示采集到的测量值发生改变,通过显示屏显示出来具体的数值,当按到加键时,测量值加一;按
到减键时测量值减一。同时还可以通过切换键来改变下面一行的预设范围。如图5.6所示。
图5.6 心率血氧检测
跌倒模块也采用按键的形式来代替,当按键按下时则表示跌倒,此时系统就会发出报警。如图5.7所示。
图5.7 跌倒检测
5.2.4 通讯模块调试
仿真中的用户可以通过虚拟终端对串行接口的工作情况进行观察和调试。在虚拟终端界面上可以查看到WiFi无线通
讯的名称,端口号以及密码。还可以实时查看体温心率血氧参数。如图5.8所示。
图5.8 通讯检测
5.3 硬件电路的焊接
焊接实物前,要对人体健康监测系统用到的所有元器件的型号大小进行逐一了解,根据具体情况选择合适的PCB
电路板,尽量做到物尽其用不浪费。在PCB 电路板上对每个位置所放置的元器件进行一个合理的规划,用笔标记出
来,既可以方便后续硬件的焊接,又防止发生混乱。根据电路图进行焊接。各个元器件距离不要太近,先焊接单片
机最小系统,再焊接其余部分。焊接单片机时,注意电烙铁的温度,同时焊接一个引脚的时间不宜过长,时间太长
可能会导致PCB电路板上的黄铜被电烙铁烧化。焊接各类元器件时,注意元器件的正负极不要接反。焊接引脚时,引
脚位置不要弄错。在焊接过程中防止破坏各个传感器;焊接前应该将器件的位置进行详细的调整,平放后再焊接;
小心损坏器件;同时注意焊点光亮、圆润为宜,不要出现虚焊、漏焊等问题。在焊接过程中注意整体电路的布局以
及线路的走势,最终接线尽量做到清晰整齐。
5.4 硬件调试问题及解决方法
1、WiFi不能够正常连接问题
经过一系列对电路的通断、焊接情况的检查。最后综合分析发现可能是晶振频率设置的问题,将此晶振改成
11.0592MHZ的频率,更换之后WiFi即可正常连接。
2、温度检测功能分析
在温度较高的环境下,DS18B20传感器采集到的温度数据浮动比较大,解决方法是可通过程序的适当调整来减小
误差,同时尽量选择正常的适宜的环境下测量体温来保证准确度。
3、心率血氧检测功能分析
在测量心率血氧时,MAX30102传感器测量获取的数据较慢,经过检查分析,测量时,只需要将手指轻轻放在传
感器上即可,过分用力会阻碍传感器检测透光程度,进而影响结果。
5.5 实物调试
实物整体设计图如图5.9所示。由上到下器件分别是STC12C5A60S2单片机以及插入在上面的LCD液晶显示屏、蜂鸣
器、LED灯、独立按键、ESP8266无线WiFi传感器、MPU6050心率血氧传感器、最底端的是MAX30102传感器、DS18B20
温度传感器;其中三个按键的分别可进行转换设置、加、减操作;按下这些按键可改变预设的参数[11]。
图5.9实物图最终设计图
实物的初始状态及设置初始参数过程如图5.10所示。 刚上电时温度默认数值为25°C、心率和血氧值都是0。由
5.10图可观察到,温度上限值分别是37.5°C,正常心率的上下限为60-100 BPM,血氧浓度的下限为80。
图5.10 上电初始状态及参数设置
6 结论
本文主要设计并研究出了一款基于单片机的人体健康监测系统。具体地介绍了系统总体设计方案、硬件选择功
能调试过程、软件程序的编写、实物的调试等方面内容,通过多个不同的传感器组合共同解决了监测系统在使用过
程中如何测量身体基本参以及无线通讯等关键性问题。经过多次试验,得出人体监测系统拥有良好的信息采集能
力,可以被广泛地应用到实际的生活中。此系统最大亮点在于将跌倒检测与无线传输功能结合在一起,可以为我们
的身体健康提供了极大的保障,本次设计虽然各项功能都基本实现,但是仍有不足,缺陷之处是系统的监测效果不
够理想,系统总体的响应速度还是有待完善。经过本次设计,我发现自己在专业知识的掌握程度上还存在着短板,
以后会更加全面深入地学习。