一种基于ARM与九轴传感器的人运动姿态检测器
文献发布时间:2023-06-19 11:17:41
技术领域
本发明属于医疗电子领域,特别涉及一种基于ARM与九轴传感器的人运动姿态检测器及方法。
背景技术
随着人们物质水平的发展,人们对自身健康的需求日益提高。在电子设备流行发展的今天,医疗电子设备进入了人们的视野,并以其精度高、检测快、使用方便等特点备受青睐。人们对自身实时健康状态的获取的需求也越来越高。基于ARM芯片与九轴传感器的人运动姿态检测器可以实时获取到佩戴者的腰椎、颈椎弯曲程度,并将角度信息实时记录在flash中或上抛至手机。还具备计步功能,可记录佩戴者的运动步数信息,并且根据用户设置的身高、体重等信息计算得到消耗卡路里等。
发明内容
本发明所要解决的技术问题在于提供一种基于ARM与九轴传感器的人运动姿态检测器。
实现本发明目的的技术解决方案为:基于ARM与九轴传感器的人运动姿态检测器,包括手机端APP软件、电源模块、按键模块、传感器模块、主控模块、时钟模块、角度解算模块、计步与热量计算模块;
所述手机端APP软件,用于设置使用者身体参数信息、向设备发送指令、接收设备获取到的人体运动信息;
所述电源模块,用于给设备供电,并且具备蓄电功能;
所述按键模块,用于实现与用户的交互,通过不同的按键方式键入不同指令;
所述传感器模块,用于姿态的采集,并且将采集到的原始数据传输给主控模块;
所述主控模块,进行功能的整合,实现检测器全部功能。
所述时钟模块,用于产生不同频率的时钟信号,设置不同频率的定时器,控制不同任务的时序与执行周期;
所述角度解算模块,用于实现角度的校准、偏转轨迹的设定与实时角度的测量,设计算法将三轴加速度计数据、三轴陀螺仪数据、三轴磁力计数据融合,并设计角度解算算法测得实时角度数据;
所述计步与热量计算模块,用于通过传感器模块采集的三轴加速度计数据解算得到走路步数信息,并通过步数信息,结合用户输入的个人身体参数计算消耗的卡路里。
基于ARM与九轴传感器的人运动姿态检测器的实现方法,包括以下步骤:
步骤1、将设备唤醒,通过手机端APP实现与设备的蓝牙连接,计步与热量计算功能自动开启;
步骤2、通过按键模块或者手机APP发送指令,实现角度的校准,开始实时记录、传输角度信息;
步骤3、通过手机端APP选择开启/关闭角度警报;
步骤4、佩戴设备并使用,如若断开连接,则自动进入flash存储模式,存储角度信息,并在再次连接时上传给手机;
步骤5、通过手机端控制固件版本的更新;
步骤6、使用完毕关闭设备,进入低功耗模式。
本发明与现有技术相比,其显著优点为:1)本发明可以在角度校准时设置任意角度信息,偏转方向为任意方向,给用户提供更多选择;2)本发明具备计步功能与卡路里解算功能,可以辅助检测佩戴者的运动量;3)本发明让用户能够自主记录腰椎/进驻过偏疼痛时的角度信息,能更有力于辅助佩戴者康复治疗。
下面结合附图对本发明作进一步详细的说明。
附图说明
图1为本发明基于ARM与九轴传感器的人运动姿态检测器的结构框图。
图2为本发明中LED模块、电机模块、按键模块的结构框图。
图3为本发明中主控模块结构图。
图4为本发明中角度功能设计方案图。
图5为本发明中计步功能设计方案图。
图6为本发明中手机APP软件界面图。
具体实施方式
结合图1,本发明的一种基于ARM与九轴传感器的人运动姿态检测器,包括手机端APP软件、电源模块、按键模块、传感器模块、主控模块、时钟模块、角度解算模块、计步与热量计算模块;
手机端APP软件,用于设置使用者身体参数信息、向设备发送指令、接收设备获取到的人体运动信息;
电源模块,用于给设备供电,并且具备蓄电功能;
按键模块,用于实现与用户的交互,通过不同的按键方式键入不同指令;
传感器模块,用于姿态的采集,并且将采集到的原始数据传输给主控模块;
主控模块,进行功能的整合,实现检测器全部功能;
时钟模块,用于产生不同频率的时钟信号,设置不同频率的定时器,控制不同任务的时序与执行周期;
角度解算模块,用于实现角度的校准、偏转轨迹的设定与实时角度的测量,设计算法将三轴加速度计数据、三轴陀螺仪数据、三轴磁力计数据融合,并设计角度解算算法测得实时角度数据;
计步与热量计算模块,用于通过传感器模块采集的三轴加速度计数据解算得到走路步数信息,并通过步数信息,结合用户输入的个人身体参数计算消耗的卡路里。进一步地,作为一种具体示例,ARM芯片的型号为nRF52832,九轴传感器的型号为ICM20948,通过I2C总线实现两个芯片间的数据传输;
进一步地,作为一种具体示例,电源模块包括一块XC6233H1819R-G稳压器,用于稳定电压,以及一块电源管理芯片BQ24040_DSQ_10,用于实现电量的存储与供电。
作为一种具体事例,电源模块的工作方式为:
在充电模式下,外接一个5V的稳压直流电源,同时给蓄电池充电、给系统供电;在外接直流电源移开的情况下,启用蓄电池为系统供电。
进一步地,电机使用Motor Servo伺服电机。
进一步地,LED模块使用三枚不同颜色的发光二极管。当连接LED的GPIO 口输出为高电平时,LED将被熄灭,当该GPIO口输出为低电平时,LED将被点亮。
进一步地,作为一种具体示例,按键使用贴片开关,按键按下时GPIO口输入为低电平,按键弹起时GPIO口输入为高电平。
进一步地,传感器模块使用的是一块ICM20948九轴传感器。其中包扩三轴的加速度计、三轴的陀螺仪、三轴的磁力计。当ICM20948的绝对位置(角度) 发生改变时,九轴的输出书记也会发生相应的改变,从而表达出芯片位置(角度) 的变化。
进一步地,主控模块使用一块nrf52832蓝牙芯片实现功能的整合,其中包含主控模块与传感器模块之间的数据传输、系统与手机之间的蓝牙连接与数据互传、系统电量的显示、时钟模块、设备的低功耗实现、flash数据存取、与LED模块电机模块的交互、空中升级DFU、角度解算功能、计步功能、卡路里功能,如图3所示。
主控模块与传感器模块之间的数据传输,使用I2C总线协议实现ICM20948 与nrf52832之间的通信,并且将九轴传感器采集到的原始姿态数据传输给主控模块,支持后续功能的实现。
系统与手机之间的蓝牙连接与数据互传,使用nrf52832的蓝牙传输协议,与手机端进行通信,可由手机APP模块发送指令给主控模块,由主控模块处理分析,转发到对应的模块,如LED模块、电机模块等,使系统进行反馈,也可返回所需要的数据结果到手机APP模块。
系统电量的显示,由主控模块获取电源模块中电池传输到系统的电压值,解算得到电池剩余电量的百分比,通过蓝牙传输将数据传输给手机APP模块显示。进一步地,时钟模块由nrf52832芯片内置的32768晶振实现。
进一步地,设备的低功耗实现,在主控模块接收到进入低功耗的指令后,将所有与其连接的模块功能关闭,包括时钟模块、使用到EasyDMA的模块、GPIO 口等,最后调用系统API进入低功耗模式。
进一步地,flash存储依赖于nrf52832蓝牙芯片内置的512kbflash,由主控模块设定存储/读取的触发条件,并设置存储数据的结构与时间逻辑。
进一步地,空中升级DFU功能支持手机APP模块直接对主控模块的程序逻辑进行更新。
进一步地,角度解算功能通过主控模块获取到的九轴传感器的初始姿态数据,通过算法实现实时角度的解算,如图4所示,主要有三轴的加速度计数据计算得到角度信息。并且通过时钟模块设定计算的时间间隔,结果由主控模块传输给手机APP模块或者flash存储模块。
计步功能,通过nrf52832读取到的ICM20948传输来的三轴加速度计数据,设定合适的算法将三轴数据整合,设置合适的时间间隔与阈值,得到系统佩戴者的实时步数信息,如图5所示。步数结果由主控模块传输给手机APP模块或者 flash存储模块。
卡路里解算基于计步功能得到的结果,并且由手机端APP模块键入佩戴者的身体信息,比如身高、体重、步长等,并且由主控模块转发到卡路里解算模块,通过整合所需数据,设计算法得到结果。结果由主控模块传输给手机APP模块或者flash存储模块。
进一步地,手机端APP模块用于用户对系统的控制与交互,系统界面如图6 所示。
基于ARM与九轴传感器的人运动姿态检测器的实现方法,包括以下步骤:
步骤1、将设备唤醒,通过手机端APP实现与设备的蓝牙连接,计步与热量计算功能自动开启;
步骤2、通过按键模块或者手机APP发送指令,实现角度的校准,开始实时记录、传输角度信息;
步骤3、通过手机端APP选择开启/关闭角度警报;
步骤4、佩戴设备并使用,如若断开连接,则自动进入flash存储模式,存储角度信息,并在再次连接时上传给手机;
步骤5、通过手机端控制固件版本的更新;
步骤6、使用完毕关闭设备,进入低功耗模式。
本发明的人运动姿态检测器具有体积小、成本低、操作方便和运行稳定的特点,实现人体姿态信息的实时获取与显示。
- 一种基于ARM与九轴传感器的人运动姿态检测器
- 一种基于拟牛顿法的九轴运动传感器姿态测量方法