您好, 访客   登录/注册

智能人体计步器的设计

来源:用户上传      作者:

  摘 要:随着人们日益注重科学锻炼,计步器成为最受大众欢迎的科技产品之一。为了提高计步器的实用性,便携式的智能人体计步器随之出现。该系统以AT89C52单片机为主控,由复位、振荡、液晶显示和按键等模块构成,液晶显示模块显示单次步数、总步数和估计消耗卡路里,具有体积小、质量轻、操作简单等优势。
  关键词:智能人体;计步器;AT89C52单片机;液晶显示;倾角传感器;低通滤波器
  中图分类号:TP216 文献标识码:A 文章编号:2095-1302(2020)02-00-03
  0 引 言
  最初的计步器是带有机械开关的计数器,打开开关,通常由一个滚动的金属球或者金属摆来完成计数。现代的电子计步器通常由振动传感器[1]以及电子计数器组成。人体适合挂载计步器的部位包括手臂、腰部以及大腿外侧,而由于人体在行进过程中,腰部重心的移动最为频繁,所以计步器置于腰部最合理。在电子计步器中振动传感器检测运动的开始与停止,单片机负责统计运算,最终由显示屏显示运动情况。
  本设计主要是以AT89C52单片机为核心控制器,P1口接LCD1602液晶显示模块。LCD1602液晶显示作为输出设备,设置显示记录单次步数、记录总步数和记录卡路里的消耗等三种工作方式。通过按键可以开始记录步数,根据算法计算消耗的卡路里的数值。
  1 系统方案设计
  本系统由AT89C52单片机、ADXL345倾角传感器[2]、LCD1602液晶显示及低通滤波器等部分组成,总体设计框图如图1所示。利用AT89C52单片机进行数/模拟信号转换,采用倾角传感器判断人体的运动状态,应用低通滤波器处理采集到的数据信号,并传输至液晶显示模块显示对应的结果。其中三轴加速度传感器[3]输出三个加速度方向:前向、纵向和侧向,同时单片机将这三个方向的数字量转换为模拟量,处理后的信息在液晶显示模块输出,并存储。
  2 系统的整体原理
  本系统由主控、感应、按键、电源和液晶显示等模块组成。该系统采用ADXL345传感器判断用户是否处于运动状态,并将用户的运动状态传输给微处理器。微处理器通过用户的运动状态计算用户在单位时间内行走的步数及消耗的卡路里。本系统总原理图如图2所示。
  3 系统的软件设计
  3.1 计步设计流程
  本系统的计步設计流程如图3所示。该系统完成计步功能需要新数据移位处理寄存器和旧数据移位处理寄存器
  两个量化模块。新数据移位处理寄存器负责正确处理变量加速度和动态精度的关系,当动态精度大于或等于加速度的变化值时,寄存器内的数据保持不变;当动态精度小于加速度的变化值时,此时的运动数据便会保存到新数据移位处理寄存器;而旧数据移位处理寄存器负责时实将变换的数据更新。
  考虑到时间的变化和用户的运动状态存在的差异,以及为避免因时间变化造成的计数错误,系统设置平均走完50步后便重新采样,计数数据刷新。当忘记按结束键时,则通过比对之前两次运动的数据并判断出在某个时段内的有效值,利用这个方法可以在保证高效率的前提下减小因计数错误产生的误差。为达到对行进里程的计算,通过输入步长数据并在行进终止时判断来完成。
  3.2 计步器算法的实现
  在本设计中,“加速度”[4]与速度参数直接相关,是分析人体行进状态的相关参数。人体在行进过程中会产生前向、侧向和纵向三个方向的加速度分量[5],可用X轴、Y轴和Z轴来表示这三个分量。X轴、Y轴和Z轴的加速度分量由ADXL345传感器检测。由于行进方向并不清楚,加速度测量轴并不完全准确[6],测量精度不应完全依赖。
  要完成对步数的检测首先要对人体行进时的动作进行一定了解。人体在行进时,身体的每一个部位几乎都处于运动状态,并会在某个动作的某个时间点产生加速度的最大值。其中,通过检测腰部的行进状态来检测步数,同时兼顾了计步器的便携性和行进姿态的舒适性。
  由MEMS惯性传感器[7]模拟出代表行进中人体前向、侧向和纵向加速度分量的X轴、Y轴和Z轴三轴加速度如图4所示。当人体处于行进状态时,身体纵向加速度分量的周期变化相比其他两个分量更加明显,所以加速度[8]三个方向分量的算法对于检测人体行进里程或运动周期有着极为重要的意义。
  随着人体运动的进行,加速度的最高值和最低值[9]由系统不停地输出并保持着输出50次更新1次的频率,其中取最高值和最低值的平均,并用此平均值判断下一个50次输出时人体的行进状态,这就是动态阈值。当系统输出行进数据时,动态精度则进一步滤波。这两个因素保证了系统输出的适应性和高效性。
  人体迈出的一步能否被证明有效,需要通过动态阈值和线性移位寄存器判断。判断步伐的线性移位寄存器由新采样数据寄存器和旧采样数据寄存器两部分组成,其中包含的数据分别成为新采样数据和旧采样数据。新采样数据无法在采样时被移入旧采样数据寄存器,当加速度的变化值超出了定义精度值,则将最后一次采样数据的结果移入新采样数据寄存器。通过这种方法,系统工作时便不再受到高频噪声的干扰,进一步保障了测量的精确性。
  判断步伐是否有效:动态阈值大于当前加速度参数,旧采样数据大于新采样数据时,加速度曲线为负斜率。
  加速度的峰值:步数计算取决于X轴、Y轴和Z轴加速度峰值最大的轴,同时计步系统会忽略掉最小的加速度峰值。
  设置消除无效振动的临界点。设置0.2 s/步为最快行进速度,2 s/步为最慢行进速度,并设置一个由最低0.2 s至最高2 s的临界范围,系统将删去在该临界范围之外的任何步伐。
  用户可以凭借ADXL345倾角传感器选择有利于达到行进速度临界范围的输出数据速率。表1列出了在室温下(25 ℃),VS=2.5 V,I/O VDD=1.8 V时的可配置数据速率和输出功耗。   当输出频率为50 Hz时,本算法成立并将步伐的更新次数计入寄存器中。当步伐的间隔、带宽的间隔大于10且不超过100时,表示步伐的间隔在临界范围之内;反之则在临界范围之外且算作无效步伐。
  确定行进步伐的节奏需要设置步伐的记录规则。当步伐计数器开始运行时,搜索模式开启。当步伐计数器[10]检测到有效步伐时,发现当前处于某一种规则下,则当前的显示数据会被刷新,切换至另一种“确认规则”的状态。本设计将步伐计数器的有效步伐检测值定为连续的5个。处于“确认规则”状态下,步伐计数器的数据更新进度随着有效步伐的累计而改变。当步伐计数器检测到无效步伐时,当前的累计会被打断并重新检测有效步伐,工作状态回到搜索模式。
  步伐迈出的速度与用户的身高决定着用户每一步的跨度。当用户处于短跑状态或者用户的个子较高,用户的步长跨度也相对更大。考虑到时间和步数对步长跨度的影响,本设计采用每2 s测得的步数来计算用户的步长跨度。
  通过位移与时间的比值得到速度,每2 s的速度同样利用以上算法求得,由此得出速度计算公式:
  通过式(1)的算法,步伐计数器能够在大多数情况下稳定的运行,但是当计步器被用户来回摇动而非处于行进状态时,步伐计数器会将这种摇动同样判断成步伐并更新数据。为了避免步伐计数器过于敏感,并且排除正常行进状态之外的振动,可以通过设置临界点,输入新的计步规则来解决。用户每2 s步长跨度的数据如表2所示。
  4 系统调试
  将电源与系统连接,按下左下角开关按键,LCD1602显示计数,传感器亮起紅灯,系统启动如图5(a)所示,初始状态的LCD显示屏上第一行显示“BS:0 Z:0”表示步数为0步,总步数为0;LCD显示屏第二行显示“000.00K 000.0m”表示消耗的卡路里为0 kJ,路程值为0 m。
  5 结 语
  本文主要介绍AT89C51微处理器控制的智能人体计步器。该计步器系统由ADXL345倾角传感器、微处理器、LCD1602液晶显示屏、时钟芯片等模块组成。以单片机作为主控制器,通过ADXL345倾角传感器判断人体运动状态。ADXL345是一款出色的加速度计,非常适合设计计步器应用。本系统以数字形式显示单位时间内对其输入的脉冲数目,具有可靠性高、成本低、操作简单及携带方便等优势。但是该设计功能仍需进一步完善,若用户想要了解自己的运动轨迹,可在计步器上加装定位系统。
  参 考 文 献
  [1]汪嘉洋,刘刚,华杰,等.振动传感器的原理选择[J].传感器世界,2016(10):19-23.
  [2]金思达,徐艺铭.浅谈基于单片机的计步器设计[J].电子制作,2018(8):8-9.
  [3]李京慧,迟宗涛,李钟晓.基于阈值分析法的人体跌倒检测系统[J].传感器与微系统,2019(8):80-82.
  [4]王民.基于加速度传感器的计步器设计[J].电脑迷,2016(5):61-62.
  [5]张婷.基于单片机的三轴加速度计步器设计[J].山西电子技术,2016(6):32-33.
  [6]朱东.基于加速度传感器的计步器设计[J].数字通信世界,2017(9):79.
  [7]孙伟,丁伟,闫慧芳.MEMS惯性传感器误差简易标定方法[J].导航定位学报,2018(4):7-13.
  [8]张欣恺,刘文泉,史俊,等.基于加速度计的振动形态监测系统的设计[J].工业仪表与自动化装置,2014(1):32-35.
  [9]凌海波,杨静,周先存.基于手机加速度传感器的波峰波谷计步算法研究[J].四川理工学院学报(自然科学版),2017(3):21-25.
  [10]朱艳.鞋底步伐计数器的设计[J].数字技术与应用,2015(9):178.
转载注明来源:https://www.xzbu.com/8/view-15153415.htm