学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 基于STM32单片机的智能健康腕表设计论文

基于STM32单片机的智能健康腕表设计论文

128

2023-07-11 11:15:04    来源:    作者:xiaodi

摘要:提出和设计了一种基于STM32微控制器为主控芯片集环境温湿度检测、心率血氧检测、步数统计、闹钟、照明、娱乐及液晶显示等多功能的智能手表。阐述了智能手表设计的一套初步方案,包括硬件和软件部分的设计和验证,整个系统以STM32微控制器作为核心处理器,通过读取分析处理各传感器在外界获取到的数据,转换成人体健康指标,显示到可视化液晶屏幕上。相比传统的手表,所设计的手表可以检测人体各项健康指标给用户进行参考,多次运行和测试的结果证明该手表具有测试数据准确、操作简易、运行稳定、续航持久等优点,适用于日常生活佩戴。

  摘要:提出和设计了一种基于STM32微控制器为主控芯片集环境温湿度检测、心率血氧检测、步数统计、闹钟、照明、娱乐及液晶显示等多功能的智能手表。阐述了智能手表设计的一套初步方案,包括硬件和软件部分的设计和验证,整个系统以STM32微控制器作为核心处理器,通过读取分析处理各传感器在外界获取到的数据,转换成人体健康指标,显示到可视化液晶屏幕上。相比传统的手表,所设计的手表可以检测人体各项健康指标给用户进行参考,多次运行和测试的结果证明该手表具有测试数据准确、操作简易、运行稳定、续航持久等优点,适用于日常生活佩戴。

  关键词:智能手表;温湿度;心率血氧;STM32

  0引言

  智能化已成为社会发展中的一个重要焦点。智能可穿戴设备于20世纪60年代出现。到20世纪80年代,智能穿戴设备才开始逐渐普及[1]。IBM在2000年推出首款Lunix Watch智能手表,运行Linux操作系统[2]。截至2017年6月,近9%的美国成年人拥有智能手表,9%的拥有率对于市场来说是一个非常健康的开始[3]。

  智能手表除了显示时间和日期,通过数字化电子化,可以实现更多的功能。随着人工智能的发展,智能手表将成为日常使用的人工智能产品。

1ea0b163a51d8426c7ba82f755471122.jpeg

  智能手表设计涉及嵌入式系统。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统及对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统[4]。其中智能手表的主要功能是为人们提供运动监测和人体健康指标检测和人体状态检测;检测到的数据通常能给人们起一个提醒、引导或者参考的作用;生理参数监测类主要用于医疗健康研究,监测用户的血糖、血氧饱和度、心率和血压等具有医疗价值的生理参数[5]。高端的智能手表甚至可以和手机进行互联,通话、收发信息,导航、付款码支付,给人们生活带来一定的便利性的同时也提供了娱乐功能,也有很多人把智能可穿戴设备看作是一种时尚单品,给人们带来智能化生活之余也具有十分广阔的市场前景。

  本文以单片机STM32F411作为主控制器开发了一套可穿戴设备设计方案,通过微处理器配合环境感知类、运动感知类和生理参数监测类等多种传感器[6]实现多种功能。

  1系统总体设计

  本文以STM32F411单片机控制整个系统,根据智能手表所需实现的目标功能,搭建单片机的控制电路与各个外设模块的基本电路,其中硬件电路主要由两大部分组成,分别为电源电路、主电路。

  电源电路主要控制锂电池的充放电和为主电路输出+3.3 V电压,主电路则是通过单片机控制各传感器正常工作并与用户交互于可视化液晶显示屏上。通过传感器,分别对环境温湿度、用户心率血氧,用户步数进行数据采集,单片机收到外部采集到的数据以后,进行分析和一定的算法计算处理,转换为人体检测健康指标并实时将其显示在可视化液晶显示屏上。系统设计如图1所示。

image.png

  2系统硬件电路设计

  本次硬件电路设计以STM32F411CEU6为主控芯片,并按设计需求设计电源输入电路,搭建传感器和显示屏的外围电路。

  2.1电源电路设计

  图2所示为降压电路图。供电电源输入采用3.7 V的锂电池,因主电路需3.3 V供电,故接入降压稳压芯片TPS709进行一个降压稳压处理后输出+3.3 V电压,以满足主电路部分供电需求,保证工作稳定性;在3.7 V电压输入端和3.3 V输出端各接入一个10µF滤波电容。

image.png

  充电设计为通过USB Tape-C接口输入+5 V电压,+5 V电压经过TP4054可为锂电池充电,中间经过一个LED灯,起充电提示的作用,即充电时LED灯会亮起,为保证稳定工作,在5 V电源输入端接入一个10µF滤波电容。图3所示为锂电池充电电路。

image.png

  2.2温湿度传感器电路设计

  图4所示为温湿度检测电路。供电部分接入+3.3 V电源,采用I2C通讯协议的方式和单片机进行实时数据交互,为提高驱动能力,给I2C通讯口接了两个10 kΩ欧的电阻进行上拉。其中时钟引脚口与单片机的PB10相连,数据信号口与单片机的PB3相连;为了减小干扰,在电源输入线附近接了一个100 nF的滤波电容,用于高频滤波。

image.png

  SI7020传感器采用低K电介质聚合物检测温湿度的专利设计,具有低漂移和迟滞及卓越的长期稳定性[7]。

  2.3心率血氧传感器电路设计

  图5所示为基于MAX30102的心率血氧检测模块电路图。为了节省资源,心率血氧传感器和温湿度传感器的通讯共用一个I2C总线,同时,中断脚需接入单片机。模块内部应该已有抗干扰的电路,但保险起见,在电源输入附近再接上一个高频滤波电容,减小干扰。

image.png

  2.4陀螺仪电路设计

  图6所示为基于MPU6050的陀螺仪模块电路图。同样用I2C的通讯模式进行数据的交互,其中时钟引脚口与主控芯片STM32F411CEU6的PB6相连,数据信号口与主控芯片STM32F411CEU6的PB3相连,中断引脚接于单片机的PB5,并对I2C总线和中断引脚进行了上拉,提高驱动能力。

image.png

  MPU6050陀螺仪性能优越,可以利用加速度传感器,测量人体运动参数并计算相应的运动消耗[8]。

  2.5液晶屏幕电路设计

  图7所示为屏幕电路控制电路。本设计用1.14寸TFT LCD屏幕作为可视化交互设备。由于非触摸屏,此SPI通讯只需发送数据液晶显示屏的信息交互,SPI时钟线SCL和SPI数据线SDA分别与单片机的PA5和PA7相连,数据命令控制线DC和复位线RES分别与单片机PB0和PA2相连,对于片选线CS,由于从设备只有一个,可接可不接。背光控制线LEDK默认不接,但是为了运行稳定,另外设计了一个背光电路,这里用到一个mos管,并可使用PWM脉宽调制调节屏幕背光亮度。

image.png

  3系统软件设计

  软件设计关乎用户体验的好坏,用户体验设计的核心思想是从用户出发,基于人机工程学和可用性原理,综合视觉、布局、交互和动作设计[9]。软件设计部分有前期工作、业务逻辑的编写及主逻辑的编写。

  3.1前期工作

  软件设计中第一个环节为前期工作。首先是搭建自己的开发环境,然后是单片机的初始化配置(单片机程序运行前需初始化),最后是外设驱动的移植。程序设计前期工作的思维导图如图8所示。

image.png

  3.2业务逻辑

  前期工作及模块化准备工作完毕,架构搭建完成以后,需要设计业务逻辑来实现其功能。主要分3个部分,分别为底层驱动文件编写、App程序文件编写、显示文件编写。驱动文件用于存放设计中需要用到自己编写或移植好的驱动函数,App程序文件用于存放App运行逻辑,显示文件主要用于人机的交互。业务逻辑分模块编写,降低程序的耦合性。程序设计思维导图如图9所示。

image.png

  3.3主函数

  编写完了各部分代码,接下来就是整合,把一套逻辑串起来,即在主函数中调用各部分代码。图10所示为完整程序运行的程序流程。

image.png

  4系统测试及结果分析

  4.1系统硬件测试

  分别焊接好每个模块的元器件,然后通过万用表对电路的3.7 V电源电压、3.3 V电压网络、5 V电压网络进行测试,判断是否存在短路或者各线路是否完全被接通。全部线路的连接状态正常方可上电进行测试。接通电源,上电测试,先进行外部观察,外观上没有烧毁迹象,元器件没有剧烈升温,基本情况正常,初始上电电压正常,一切正常,硬件系统成型。

  4.2系统软件测试

  硬件测试完成以后,就要开始软件测试,首先通过编写驱动程序,或者利用器件的官方例程,烧录进单片机,观察其现象,元器件工作正常,即单片机通讯正常。确认单片机通讯正常,即可将编写好的程序烧录进单片机测试运行效果,操作逻辑如图11所示。对照设计中画好的程序流程,按键K1、K2分别为“上”、“下”键,K3为“确定”键。显示界面运行正常,开始主要传感器的测试。

image.png

  4.2.1温湿度检测测试

  首先是温湿度检测,开机进入主界面后可以看到温湿度检测是实时进行的,如图12所示,旁边是市面上的温湿度计,数据与其进行对比,测试结果正常。

  4.2.2心率血氧检测测试

  通过按键,进入心率血氧检测App之后,把手指放于血氧传感器之上,可以正常检测心率和血氧值,红色LED灯随检测到的脉搏跳动而闪烁,心率血氧检测测试正常。如图13所示。

image.png

  4.2.3陀螺仪计步测试

  人行走的过程分析:脚蹬地离开地面是一步的开始,此时由于地面的反作用力,垂直加速度开始增大,身体重心上移,当脚要达到最高位置时垂直加速度达到最大,然后脚向下运动,垂直加速度开始减小,直至脚着地,加速度减小至最小值,接着下一次迈步发生。利用腰部的垂直加速度来检测步数是可行的,通过对加速度的峰值检测可以得到行走的步数[10-12]。实时获取加速度值并通过MPU6050内部算法,即可实现其计步的功能,并实时显示在屏幕上,并且在计步功能界面下,用户可以查看当天的累计步数,了解自身运动量[13]。从实物的运行结果上来看,计步程序在循环运行并实时更新,计步功能正常,如图14所示。

  4.3测试结果分析

  本文设计的基于单片机的智能手表系统测试步骤分为6个,第一个环节为系统上电测试,首先是对外部的模块进行贴片焊接,焊接完成以后,需要用到万用表对线路进行打表测通路,确保没有短路的情况下,才可以上电测试。上电后测试工作电压是否正常,测试的结果达到预期的要求;第二个环节是软件测试中的通讯测试,分别测试单片机的芯片识别和串口通讯是否正常,测试的结果为通讯正常;第三个环节是单片机通讯测试,分别测试单片机的芯片识别和串口通讯是否正常,测试的结果为通讯正常;第四个环节是单片机于硬件之间的通讯,测试的结果均为通讯正常。第五个环节是项目程序烧录测试,运行系统,验证所编写的App和各逻辑和数据传递有没有出错、传感器检测数值是否准确,分别对每个功能进行了多次的测试,并且在长时间持续运行,多次进行数据对比,从温湿度测试、心率血氧检测测试和陀螺仪计步测试的结果上看,数据准确且稳定运行,上述的测试结果可表明本文设计的基于STM32的智能手表在功能指标上可以达到设计预期的要求。

  5结束语

  本文提出和设计了一种基于STM32单片机的智能手表,以STM32单片机微处理器作为核心控制器,分别搭建了高性能的温湿度传感器,六轴陀螺仪、心率血氧传感器模块、蜂鸣器、按键控制电路、电池管理芯片模块、可视化工具(即LCD显示屏)等,系统通过控制各传感器采集外部收集到的数据,显示到可视化液晶上进行观察,是一个集时间查看、运动检测、健康检测、提醒功能、娱乐功能于一身的智能手表,具有方便携带、工作稳定、响应速度快、续航持久、实用性较强等优点。从整体上来看,本次设计硬件选型合理,硬件设计和软件设计是一套完全可行的应用方案;从最后的成品测试结果上看,本设计检测数据准确,运行稳定,续航持久,可靠性强,对可穿戴设备的设计具有一定的参考价值。

  参考文献:

  [1]闫龙雨,汤洁.智能穿戴设备未来发展趋势及应用对策研究[J].西部皮革,2021,43(22):125-126.

  [2]刘禹.可穿戴设备发展现状及设计趋势[J].创意设计源,2015(5):59-63.

  [3]赵均辉,杨丽,钟飞,等.浅析智能手表的发展[J].科技与创新,2017(22):7-9.

  [4]张宇.基于ARM7和µCLinux的嵌入式系统SD卡接入研究[D].昆明:昆明理工大学,2009.

  [5]Saravanakumar Balasubramaniam,Soyoon Shin,Kim Sang-Jae.Self-powered pH sensor based on a flexible organic-inorganic hybrid composite nanogenerator[J].ACS applied materials&in⁃terfaces,2014,6(16):13716-13723.

  [6]谢凌钦,石萍,蔡文杰.可穿戴式智能设备关键技术及发展趋势[J].生物医学工程与临床,2015,19(6):635-640.

  [7]曾宪来.多功能等离子空气净化器,广东:CN207422455U[P].2018-05-29.

  [8]王宪忠.穿戴式多生理参数健康监测系统的研制[D].长春:吉林大学,2017.

  [9]Kuniavsky M.Observing the user experience:a practitioner sguide to user research[M].SanFrancisco:Morgan Kaufmann Pub⁃lishers,2003.

  [10]侯向锋,刘蓉,周兆丰.加速度传感器MMA7260在步态特征提取中的应用[J].传感技术学报,2007(3):507-511.

  [11]陈泓竹.一种基于物联网的计步器设计[J].现代计算机(专业版),2012(8):71-76.

  [12]郝立果,胡山,朱雁锋.基于加速度传感器ADXL330的运动信息采集平台设计[J].天津工程师范学院学报,2008(1):30-32.

  [13]黄凤英.基于STM32F103C8T6单片机的多功能智能手表设计[J].物联网技术,2019,9(3):49-51.