当前位置:自动化网>智慧工厂门户>应用案例>基于STM32单片机的穿戴式坐姿调整器的设计及其实现

基于STM32单片机的穿戴式坐姿调整器的设计及其实现

发布时间:2019-10-25 20:57   类型:解决方案   人浏览


1 引言

信息化时代,由于伏案坐姿引发的脊椎健康问题日渐突出。同时,随着经济进步,家庭愈发重视儿童的成长,而且,成年人的脊椎健康问题很多都是从儿童时期积累的,但由于儿童的脊椎柔韧性较好,一般很难发现症状,而到了中年,这些问题就会慢慢显现出来。加上我国青少年的学业压力日益增加,需要伏案学习的时间不断增加,而且大部分的中小学的座位的大部分面积都被学生的书包所占用,学生没办法靠坐在椅背上,这使得脊椎要承受的压力更大,不良坐姿对该人群的影响更甚于以往。


经过搜集人体坐姿的有关数据后,发现可以利用mpu6050陀螺仪对人体姿态进行实时的角度测量,并通过该陀螺仪所得到的原始数据,加上一定的算法,从而得知人体正处于何种坐姿状态,进而得知是否进行提醒。为了方便用户获取自己的坐姿信息,本文利用WIFI通信网络对该产品进行有关数据的采集以及相关操作。为了增加产品的实用性,本设计还添加了心率传感器模块,让用户时刻关注自己的身体健康。同时,为了不增加人体负担,该款坐姿矫正器以便携为初衷,不同于市面上已有的较大型的同类产品,本产品具有竞争性。再者,相较市场上的同类产品,本产品利用提醒器-网页端可视化窗口二者有机结合使得该产品既有效矫正不良坐姿又迎合时代潮流,实用性强,可玩性强。


2 硬件单元

2.1 纽扣式震动电机

 

纽扣式震动电机广泛应用于手机中,属于一种微型震动马达,归属于直流有刷电机。选用原因如下:噪音小、功耗低;震感强,可以有效地起到提醒警告效果;尺寸小、重量轻,不会增加人体负担;径向/周向旋转(扁平);结构简单,工作原理简单;响应时间短;可靠性强。


2.2 WIFI模块

 

Wi-Fi模块又名串口Wi-Fi模块,归属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通信标准的嵌入式模块。本产品使用ESP8266 WIFI模块。该模块芯片使用3.3V直流电源,体积小、功耗低、支持透传、丢包率低、价格低、性价比高,并具有断电记忆功能、插口开关状态查询功能、设备发现功能。WiFi模块可通过软件配置和串口配置。在串口配置中,利用串口通信,向WIFI模块发送一系列指令以完成WIFI模块的初始化,达到与onenet平台的连接,为获取数据而服务。


2.3 姿态传感器

 

使用市面上常见且广泛使用的MPU-6050模块。该模块很好地免除了组合陀螺仪与加速器时的轴间差的问题,可以在不同电压下工作,其中,该设计可在3.3V±5%的状态下正常工作,为模块调试及最终成品提供了便利。


2.4 心率传感器

心率传感器基于尺寸大小、性价比、电路结构是否简易等综合考虑,采用目前广泛应用于智能手环中的光学心率传感器。这种心率传感器利用PPG(即光电容积脉搏波描记法)来测量心率和其他生物计量指标,基于由于血脉搏率(即心率)或血容积(即心输出率)发生变化而引起的血流动力变化时,进入人体的光会发生可预见的散射的工作原理。设计思路为,利用PPG的利用血液反射红光、吸收绿光的特点,在心脏跳动的间隙(2-3秒),将绿光的被吸收量的变化转换为电信号,通过AD转换,转换成相应的数字信号,并通过一系列的计算,从而计算出每分钟的心跳次数,即心率。


3 系统实现

3.1 工作原理

利用MPU6050模块,初始化模块后获得一个初始值(x轴、y轴、z轴),并在相同间隔的时间内获取当前人体坐姿的坐标,进而与原始值进行判断人体是否处于正确坐姿状态中。若判断人体处于不正确坐姿中,即坐标偏差值达到程序中设定的报警值(程序中设定偏离),则产品会启动报警模式——振动电机震动。硬件电路原理参见下图所示:

 


3.2 WiFi模块ESP8266

随着通信业的发展,Wifi通信几乎遍及人们生活的每个角落。在综合考虑后,决定该作品的WiFi模块采用ESP8266,模块分别进行了软件配置以及串口配置两种方式。在软件配置中,分别加入了模块的模式初始化函数,发送命令函数,与onenet平台连接的报文函数,引脚初始化函数以及与串口有关的写,读,复位等相关子函数。


3.3 心率传感器

心率传感器则采用ADC模数转换,将采集到的数据进行处理,并利用串口1通过串口调试助手显示。心率传感器作为坐姿提醒的附加功能,用以测试佩戴者的脉搏。在查找相关资料的过程中,发现测量脉搏的传统方法有三种,分别是:一是从心电信号提取,在平常生活中医院较为常见;二是从测量血压时压力传感器所测得的波动经过计算处理而得的脉率,以及三是光电容积法,即本作品采用的方法。在决定采用这种方法时考虑到该作品是便于携带的可穿戴坐姿提醒器,而前两种方法会限制佩戴者的活动,与该作品的初衷不复合,便选择方法简单,佩戴方便的光电容积法采集所需要带的脉搏数据。在模块的初始化中,引脚分配方面该设计采用stm32中的PA1引脚作为信号采集,工作模式为单通道以及单次转换的模式,出发方式改为用定时器3的外部触发模式。光电容积法的基本原理是通过人体组织在血管波动时造成的透光率不同来进行脉搏测量的。定时器3配置为每隔2ms采集心率传感器所获得的数据。故在设计外形时采用将心率传感器的透光区留空,以便能够有效获得数据。


3.4 陀螺仪模块MPU6050

关于本作品的关键数据——角度采集,该作品采用的是MPU6050模块。该模块可以通过测量佩戴者的坐姿偏移角度判断是否处于正确坐姿。在实验的过程中,根据多次的实验数据以及生活经验,总结后,在算法中对每个轴设定一个临界角度,当用户在佩戴上该作品时,MPU6050建立三维坐标轴,而当人的身体发生倾斜的时候,形成一定的角度的偏移,此时该作品设定的算法中将根据各轴获得角度的大小以及设定的临界值判断身体是否处于不正确的姿势,若处于不正确的姿势,代码将驱动振动电机震动,提醒佩戴者注意坐姿,直至佩戴者的姿势纠正过后才停止震动。如果佩戴者调整过后的姿势没有超过设定的临界值,电机便一直处于待机状态,证明人处于正常姿势工作状态。


3.5 软件实现

软件部分分为AD采样,陀螺仪加速度计速度采集,数据与服务平台的上传,PWM输出控制电机震动频率以及串口,它们都通过C语言编程实功能。图3-1为软件设计总体流程:主程序主要实现各模块功能的初始化以外部接口相关的初始化。在每个模块及相关的事件初始化成功后,该作品将在电脑端通过串口1发送对应的初始化成功的语句。当所有的初始化都已成功实现后,该作品通过陀螺加速度计检测当前姿态所对应的角度,与设定值比较,得出差值,若差值超出一定角度则通过使能定时器4控制纽扣电机的PWM输出产生一定频率的震动,提醒佩戴者,当佩戴者对自身的姿势进行调整后,若MPU6050得到的值与设定值的相对值在设定范围内,则纽扣电机停止震动,否则将持续至佩戴者达到正确姿势。其次,定时器3时隔2ms便会触发心率采样模块对佩戴者的心率进行采集,并通过AD转换,转换成对应的数字数据。串口2将把以上采集的各种数据集合成一个数组,给予ONE NET 平台的数据包里,通过串口2,由WIFI模块联网,讲数据上传至ONE NET平台,以记录和呈现。                     

软件设计总体架构参见下图所示:

                         

5 性能测试

5.1心率传感器获取佩戴者脉搏

PPG利用血液反射红光、吸收绿光的特点,在心脏跳动的间隙,将绿光的被吸收量的变化转换为电信号,从而计算出每分钟的心跳次数,即心率。

 


5.2 陀螺仪获取佩戴者的pitch

该作品启动后,陀螺仪建立三维坐标轴,通过一系列算法,计算得出pitchroll以及yaw值。在综合考虑佩戴者佩戴的角度,决定采取比较pitch值来判断佩戴者的坐姿正确与否。


5.3 WiFi模块与onenet平台连接

WiFi模块通过串口配置,将该作品与设定的无线信号进行连接,将心率传感器及陀螺仪采取到的数值上传至onenet平台,并可在应用管理的页面查看持续上传的数据记录,参见下图所示:

 

 


6 结束语

本设计利用onenet平台,对坐姿调整器所采集的数据进行可视化记录,其中的WiFi模块课通过软件或串口配置,便于携带。在角度采集方面,可以瞬时得到数据并进行提醒,该作品意在提醒坐姿不准确的佩戴者,减少了不良坐姿给青少年带来的不良影响。


本文地址:http://www.ca800.com/apply/d_1o1aaubi1tit1_1.html

拷贝地址

版权声明:版权归中国自动化网所有,转载请注明出处!

留言反馈
  • 评价:

  • 关于:

  • 联系人:

  • 联系电话:

  • 联系邮箱:

  • 需求意向:

  • 验证码:

    看不清楚?

  • 在线咨询