全功能计步器设计.doc

上传人:鲁** 文档编号:542624538 上传时间:2022-12-20 格式:DOC 页数:8 大小:527KB
返回 下载 相关 举报
全功能计步器设计.doc_第1页
第1页 / 共8页
全功能计步器设计.doc_第2页
第2页 / 共8页
全功能计步器设计.doc_第3页
第3页 / 共8页
全功能计步器设计.doc_第4页
第4页 / 共8页
全功能计步器设计.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《全功能计步器设计.doc》由会员分享,可在线阅读,更多相关《全功能计步器设计.doc(8页珍藏版)》请在金锄头文库上搜索。

1、全功能计步器设计简介计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。如今,先进的计步器利用MEMS(微机电系统)惯性传感器和复杂的软件来精确检测真实的步伐。MEMS惯性传感器可以更准确地检测步伐,误检率更低。MEMS惯性传感器具有低成本、小尺寸和低功耗的特点,因此越来越多的便携式消费电子设备开始集成计步器功能,如音乐播放器和手机等。ADI公司的3轴加速度计ADXL335, ADXL345和 ADXL346小巧纤薄,功耗极低,

2、非常适合这种应用。本文以对步伐特征的研究为基础,描述一个采用3轴图1. 各轴的定义让我们考虑步行的特性。图2描绘了一个步伐,我们将其定义为单位步行周期,图中显示了步行周期各阶段与竖向和前向加速度变化之间的关系。图2. 步行阶段与加速度模式图3显示了与一名跑步者的竖向、前向和侧向加速度相对应的x、y和z轴测量结果的典型图样。无论如何穿戴计步器,总有至少一个轴具有相对较大的周期性加速度变化,因此峰值检测和针对所有三个轴上的加速度的动态阈值决策算法对于检测单位步行或跑步周期至关重要。图3. 从一名跑步者测得的x、y和z轴加速度的典型图样算法步伐参数数字滤波器:首先,为使图3所示的信号波形变得平滑,需

3、要一个数字滤波器。可以使用四个寄存器和一个求和单元,如图4所示。当然,可以使用更多寄存器以使加速度数据更加平滑,但响应时间会变慢。图4. 数字滤波器图5显示了来自一名步行者所戴计步器的最活跃轴的滤波数据。对于跑步者,峰峰值会更高。图5. 最活跃轴的滤波数据动态阈值和动态精度:系统持续更新3轴加速度的最大值和最小值,每采样50次更新一次。平均值(Max + Min)/2称为“动态阈值”。接下来的50次采样利用此阈值判断个体是否迈出步伐。由于此阈值每50次采样更新一次,因此它是动态的。这种选择具有自适应性,并且足够快。除动态阈值外,还利用动态精度来执行进一步滤波,如图6所示。图6. 动态阈值和动态

4、精度利用一个线性移位寄存器和动态阈值判断个体是否有效地迈出一步。该线性移位寄存器含有2个寄存器:sample_new寄存器和sample_old寄存器。这些寄存器中的数据分别称为sample_new和sample_old。当新采样数据到来时,sample_new无条件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取决于下述条件:如果加速度变化大于预定义精度,则最新的采样结果sample_result移入sample_new寄存器,否则sample_new寄存器保持不变。因此,移位寄存器组可以消除高频噪声,从而保证结果更加精确。步伐迈出的条件定

5、义为:当加速度曲线跨过动态阈值下方时,加速度曲线的斜率为负值(sample_new =81.2 身高2秒的时间间隔可以利用采样数精确算出。以50 Hz数据速率为例,处理器可以每100次采样发送一次相应的指令。处理器利用一个名为m_nLastPedometer的变量记录每个2秒间隔开始时的步数,并利用一个名为m_nPedometerValue的变量记录每个2秒间隔结束时的步数。这样,每2秒步数等于m_nPedometerValue与m_nLastPedometer之差。虽然数据速率为50 Hz,但ADXL345的片内FIFO使得处理器无需每20 ms读取一次数据,极大地减轻了主处理器的负担。该缓

6、冲器支持四种工作模式:旁路、FIFO、流和触发。在FIFO模式下,x、y、z轴的测量数据存储在FIFO中。当FIFO中的采样数与FIFO_CTL寄存器采样数位规定的数量相等时,水印中断置1。如前所述,人们的跑步速度最快可达每秒5步,因此每0.2秒刷新一次结果即可保证实时显示,从而处理器只需每0.2秒通过水印中断唤醒一次并从ADXL345读取数据。FIFO的其它功能也都非常有用。利用触发模式,FIFO可以告诉我们中断之前发生了什么。由于所述解决方案没有使用FIFO的其它功能,因此笔者将不展开讨论。 本文来自电子发烧友网(http:/)速度参数速度 = 距离/时间,而每2秒步数和跨步长度均可根据上

7、述算法计算,因此可以使用公式2获得速度参数。速度 = 每2秒步数 跨步/2 s(2)卡路里参数 我们无法精确计算卡路里的消耗速率。决定其消耗速率的一些因素包括体重、健身强度、运动水平和新陈代谢。不过,我们可以使用常规近似法进行估计。表3显示了卡路里消耗与跑步速度的典型关系。表3. 卡路里消耗与跑步速度的关系跑步速度 (km/h)卡路里消耗(C/kg/h)810121516202025由表3可以得到公式(3)。卡路里(C/kg/h) = 1.25 跑步速度(km/h)(3)以上所用的速度参数单位为m/s,将km/h转换为m/s可得公式4。卡路里(C/kg/h) = 1.25 速度(m/s) 36

8、00/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秒间隔的卡路里相加,获得总卡路里消耗量。硬件连接 ADXL345易于连接到任何使用I2C或SPI数字通信协议的处理器。图8给出了演示设备的原理示意图,它

9、采用3V电池供电。ADXL345的/CS引脚连接到板上的VS,以选择I2C模式。利用一个低成本精密模拟微控制器ADuC7024从ADXL345读取数据,执行算法,并通过UART将结果发送至PC。SDA和SCL分别为I2C总线的数据和时钟引脚,从ADXL345连接到ADuC7024的对应引脚。ADXL345的两个中断引脚连接到ADuC7024的IRQ输入,以产生各种中断信号并唤醒处理器。图8. 硬件系统的原理示意图用户界面用户界面显示测试数据,并对操作员的指令做出响应。用户界面(UI)运行之后,串行端口应打开,通信链路应启动,随后演示程序将持续运行。图9显示了用户佩戴计步器步行或跑步时的测试情况

10、。用户可以输入其体重和身高数据,距离、速度和卡路里参数将根据这些数据进行计算。图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。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号