关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于3轴加速度计ADXL345的全功能计步器设计

基于3轴加速度计ADXL345的全功能计步器设计

作者:时间:2010-11-01来源:网络收藏

距离参数
根据上述算法计算步伐参数之后,我们可以使用公式1获得距离参数。

距离 = 步数 × 每步距离(1)

每步距离取决于用户的速度和身高。如果用户身材较高或以较快速度跑步,步长就会较长。参考每2秒更新一次距离、速度和卡路里参数。因此,我们使用每2秒计数到的步数判断当前跨步长度。表2显示了用于判断当前跨步长度的实验数据。

表2. 跨步长度与速度(每2秒步数)和身高的关系

每2秒步数跨步(m/s)
0~2身高/5
2~3身高/4
3~4身高/3
4~5身高/2
5~6身高/1.2
6~8身高
>=81.2 ×身高

2秒的时间间隔可以利用采样数精确算出。以50 Hz数据速率为例,处理器可以每100次采样发送一次相应的指令。处理器利用一个名为m_nLastPedometer的变量记录每个2秒间隔开始时的步数,并利用一个名为m_nPedometerValue的变量记录每个2秒间隔结束时的步数。这样,每2秒步数等于m_nPedometerValue与m_nLastPedometer之差。

虽然数据速率为50 Hz,但的片内FIFO使得处理器无需每20 ms读取一次数据,极大地减轻了主处理器的负担。该缓冲器支持四种工作模式:旁路、FIFO、流和触发。在FIFO模式下,x、y、z轴的测量数据存储在FIFO中。当FIFO中的采样数与FIFO_CTL寄存器采样数位规定的数量相等时,水印中断置1。如前所述,人们的跑步速度最快可达每秒5步,因此每0.2秒刷新一次结果即可保证实时显示,从而处理器只需每0.2秒通过水印中断唤醒一次并从读取数据。FIFO的其它也都非常有用。利用触发模式,FIFO可以告诉我们中断之前发生了什么。由于所述解决方案没有使用FIFO的其它,因此笔者将不展开讨论。 本文来自电子发烧友网(http://www.elecfans.com)

速度参数
速度 = 距离/时间,而每2秒步数和跨步长度均可根据上述算法计算,因此可以使用公式2获得速度参数。

速度 = 每2秒步数 × 跨步/2 s(2)

卡路里参数
我们无法精确计算卡路里的消耗速率。决定其消耗速率的一些因素包括体重、健身强度、运动水平和新陈代谢。不过,我们可以使用常规近似法进行估计。表3显示了卡路里消耗与跑步速度的典型关系。

表3. 卡路里消耗与跑步速度的关系

跑步速度 (km/h)卡路里消耗(C/kg/h)
810
1215
1620
2025

由表3可以得到公式(3)。

卡路里(C/kg/h) = 1.25 × 跑步速度(km/h)(3)

以上所用的速度参数单位为m/s,将km/h转换为m/s可得公式4。

卡路里(C/kg/h) = 1.25 × 速度(m/s) × 3600/1000(4)

卡路里参数随同距离和速度参数每2秒更新一次。为了考虑运动者的体重,我们可以将公式4转换为公式5。体重(kg)为用户输入量,一个小时等于1800个2秒间隔。

卡路里(C/2 s) = 4.5 × 速度 × 体重/1800(5)

如果用户在步行或跑步之后休息,则步数和距离将不变化,速度应为0,此时的卡路里消耗可以利用公式6计算(休息时的卡路里消耗约为1 C/kg/h)。

卡路里(C/2 s) = 1 × 体重/1800(6)

最后,我们可以将所有2秒间隔的卡路里相加,获得总卡路里消耗量。

硬件连接
易于连接到任何使用I2C®或SPI数字通信协议的处理器。图8给出了演示设备的原理示意图,它采用3V电池供电。ADXL345的/CS引脚连接到板上的VS,以选择I2C模式。利用一个低成本精密模拟微控制器ADuC7024从ADXL345读取数据,执行算法,并通过UART将结果发送至PC。SDA和SCL分别为I2C总线的数据和时钟引脚,从ADXL345连接到ADuC7024的对应引脚。ADXL345的两个中断引脚连接到ADuC7024的IRQ输入,以产生各种中断信号并唤醒处理器。

硬件系统的原理示意图 www.elecfans.com

图8. 硬件系统的原理示意图

用户界面
用户界面显示测试数据,并对操作员的指令做出响应。用户界面(UI)运行之后,串行端口应打开,通信链路应启动,随后演示程序将持续运行。图9显示了用户佩戴步行或跑步时的测试情况。用户可以输入其体重和身高数据,距离、速度和卡路里参数将根据这些数据进行计算。

用户佩戴计步器步行或跑步时的测试情况 www.elecfans.com

图9. 用户佩戴步行或跑步时的测试情况

结论
ADXL345是一款出色的,非常适合应用。它具有小巧纤薄的特点,采用3 mm × 5 mm × 0.95 mm塑封封装,利用它开发的计步器已经出现在医疗仪器和高档消费电子设备中。它在测量模式下的功耗仅40 µA,待机模式下为0.1 µA,堪称电池供电产品的理想之选。嵌入式FIFO极大地减轻了主处理器的负荷,使功耗显著降低。此外,可以利用可选的输出数据速率进行定时,从而取代处理器中的定时器。13位分辨率可以检测非常小的峰峰值变化,为开发高精度计步器创造了条件。最后,它具有三轴输出,结合上述算法,用户可以将计步器戴在身上几乎任何部位。

几点建议:如果应用对成本极其敏感,或者模拟输出更适合,建议使用ADXL335,它是一款完整的小尺寸、薄型、低功耗、三轴,提供经过信号调理的电压输出。如果PCB尺寸至关重要,建议使用ADXL346,这款低功耗器件的内置功能甚至比ADXL345还多,采用小巧纤薄的3 mm × 3 mm × 0.95 mm塑封封装,电源电压范围为1.7 V至2.75 V。

加速度计相关文章:加速度计原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭