计步器设计总结--计步器算法

本文详细介绍了ADXL345三轴加速度传感器在计步器中的应用,包括传感器配置、运动阈值设定及迈步判断算法。通过分析加速度变化,实现动态阈值调整,提高计步精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

花了一段时间研究的计步器,又荒废了一段时间,现在再次研究一下,顺便总结。

  • 第一:传感器介绍(ADXL345)

          本次研究的计步器的传感器采用ADXL345加速度计,三轴数字输出加速度传感器。具有最高13位分辨率,±16g可变测量范围,低功耗。其具体功能分不再具体介绍,使用任何芯片,第一步是看懂芯片手册;下面针对芯片手册内容,简单的介绍一下简单的使用配置。

  1. ADXL345支持SPI和IIC两种通信方式,根据个人控制芯片选着通信方式。
  2. 主要配置寄存器:
寄存器映射地址配置功能简述(相关配置查看对应寄存器)
0X31 0X2B低电平中断输出,13位全分辨率,输出数据右对齐,16g量程
0X2C0X0A数据输出速度100hz
0X2D0X28链接使能,测量模式
0X2E0X00不使用中断

0x32,

0x33,

0x34,

...

0x37

只读

X轴数据0,

X轴数据1,

Y轴数据0,

...

Z轴数据1

注:对应配置相关功能,芯片手册有详细介绍,上述为简单的配置使用。

  1. ADXL345初始化:

         本人使用的是IIC通信方式,通过读取0x00即芯片的ID,与之比较相等则通信成功,进行下一步,写以上寄存器的配置。此外提高准确度,可以写入XYZ的偏移量。计算最接近偏移量寄存器的LSB:  *xoffset=-round(offx/4);  *yoffset=-round(offy/4);  *zoffset=-round(offz-256/4); 写入0X1E X轴偏移,自动校准一下,其他轴同理。

完成初始化即可读取0x32开始连续6个地址的数据。然后把两个地址的数据合成。参照数据手册的时序图编写通信方式读取数据。(为了提高精确度可以添加滤波程序。)传感器介绍完毕。

  • 第二:计步器算法思想

1、运动阀值

        一般运动轨迹如上图模拟所示。运动加速度一般呈现正弦变化,上图中下半部分就是呈现运动阀值的重要性。当运动速度提升,最大值与最小值抬高时候,平均值也应当跟着轨迹变化。因此,所谓的运动阀值是一个动态值,具有自适应性,并且足够快。 加速度计不断的更新三轴数据,采集滤波,判断最大值与最小值。我们以采样50次为一组更新一次阀值。平均值(max+min)/2做为“运动阀值”。动态精度由自己划分,把运动变化量划分等级,随着运动阀值大小判定当前精度值。

2、迈步判断

  1. 步伐迈出的条件定义:当加速度曲线跨过动态阀值上方时或者当加速度曲线跨过动态阀值下方时加速度的变化为正值或者为负值。
  2. 利用线性位移寄存器和动态阀值和动态精度一起判断个体是否迈出有效的一步。建立两个寄存,new寄存器和old寄存器;当前数据采集到后判断是否移入new寄存器,满足移入条件:加速度变化量大于当前的动态精度。就把当前采集的数据移入new寄存器,否则new保持不变。每当新数据到来时候,new寄存器的值无条件移入old寄存器。这样,就能够避免高频噪声的影响,提高判断精度。
  3. 三轴加速度同时检测,可以但是只要一个轴的加速度变化最大,可以利用该轴当为运动方向,其他轴忽略不计。

第三:程序

额~   好多。。。主要是计步器算法思想,有空再详细介绍。(待续...)

附官网有的一些有用资料

https://www.analog.com/cn/products/adxl345.html#product-documentation

https://www.analog.com/cn/analog-dialogue/articles/pedometer-design-3-axis-digital-acceler.html

 

基于3轴加速度计ADXL345的全功能计步器设计 摘 要 计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质, 帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这 些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。 计步器功能可以根据计算人的运动情况来分析人体的健康状况。而人的运动情况可以 通过很多特性来进行分析。比如人在运动时会产生加速度。本文介绍了利用人运动时产 生加速度变化来检测步数的计步器实现方案,利用具有体积小,功耗低,三轴高精度加 速度传感器ADXL345,芯片内部即可把数据采集来的数据处理为数字数据,采集到加速度 数据以后加以适当的算法就可以实现计步功能。本文设计了一款基于加速度传感器ADXL 345计步器。详细介绍了计步器的软件算法的实同时芯片中还集成了SPI和I²C接口,可 以方便地将数据传输到主控芯片。该系统设计简单,实现方便。该芯片也可以扩展到其 它需要测量加速度的应用场合,具有非常广阔的应用前景。 关键字:计步器 加速度传感器 ADXL345 低功耗 Based on three accelerometer ADXL345 company-wide functional pedometer design Abstract Pedometer is a popular daily exercise, can inspire people progress monitors challenge yourself, enhanced physique, help thin body. Early design of mechanical switch detection using aggravated with a simple steps, and the counter. When shaking these devices, can hear a metal ball slide back and forth, or a pendulum swings around percussion block pieces. Pedometer function can according to the calculated a people's movement situation to analyze a healthy condition of body. But the person's movements can pass a lot of properties for analysis. Such as people in motion produces acceleration. This paper describes the use of people move to detect changes generated when the acceleration of steps, utilization of implementation scheme pedometer, small size, low power consumption, high ADXL345 three axis acceleration sensor, chip can put the data acquisition to internal data processing for the digital data acquisition to acceleration data, after appropriate algorithm can achieve plan step function. This paper introduces the design of a paragraph of the pedometer ADXL345 based on acceleration sensor. Introduces the software algorithm real pedometer while the SPI has integrated chip I²C interface, and I can be conveniently data transmission to the main control chip. The system is simple in design, realization convenient. The chip can also extend to other need to measure the applications, the acceleration is very broad appli
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值