采集ADXL345中点火角度的变化规律变化的数,分别在LED数码管上显示X轴,Y轴和Z轴的点火角度的变化规律

嵌入式学习交流、资源共享
树莓派平台的ADXL345三轴加速度传感器编程
树莓派平台的ADXL345三轴加速度传感器编程
ADXL345是ADI公司于2008年推出的采用MEMS技术具有SPI和I2C接口的三轴加速度计,具有小巧轻薄、超低功耗、可变量程、高分辨率等特点。ADXL345提供一些特殊的运动侦测功能,可侦测出物体是否处于运动状态,并能敏感地感应出某一轴的加速度是否超过了用户设定的门限,可侦测物体是否正在跌落。此外,还集成了一个32级的FIFO缓冲器,用来缓存数据,以减轻处理器的负担。ADXL345可在倾斜敏感应用中测量静态重力加速度,也可在运动甚至震动环境中测动态加速度,非常适用于移动设备,在手机、导航等设备中已经得到了广泛的应用。
本次,我们通过ADXL345传感器模块的I2C总线连接树莓派,以读写数据。
连线方式如下:
Raspberry Pi
ADXL345 Module
GND --------------------- GND
---------------------
---------------------
---------------------
---------------------
---------------------
I2C总线扫描:
I2C设备查询:
0x53就是我们的I2C设备(ADXL345)的地址。
寄存器内容导出:
命令中的0x53代表I2C设备地址。
树莓派的I2C驱动程序内核已经实现了,我们操作I2C接口的外设时,只需写应用程序即可。以下是我写的通过I2C接口读写ADXL345的C程序:
#include &wiringPiI2C.h&
#include &stdio.h&
#include &stdlib.h&
#include &errno.h&
//device address
struct acc_dat{
void adxl345_init(int fd)
wiringPiI2CWriteReg8(fd, 0x31, 0x0b);
wiringPiI2CWriteReg8(fd, 0x2d, 0x08);
// wiringPiI2CWriteReg8(fd, 0x2e, 0x00);
wiringPiI2CWriteReg8(fd, 0x1e, 0x00);
wiringPiI2CWriteReg8(fd, 0x1f, 0x00);
wiringPiI2CWriteReg8(fd, 0x20, 0x00);
wiringPiI2CWriteReg8(fd, 0x21, 0x00);
wiringPiI2CWriteReg8(fd, 0x22, 0x00);
wiringPiI2CWriteReg8(fd, 0x23, 0x00);
wiringPiI2CWriteReg8(fd, 0x24, 0x01);
wiringPiI2CWriteReg8(fd, 0x25, 0x0f);
wiringPiI2CWriteReg8(fd, 0x26, 0x2b);
wiringPiI2CWriteReg8(fd, 0x27, 0x00);
wiringPiI2CWriteReg8(fd, 0x28, 0x09);
wiringPiI2CWriteReg8(fd, 0x29, 0xff);
wiringPiI2CWriteReg8(fd, 0x2a, 0x80);
wiringPiI2CWriteReg8(fd, 0x2c, 0x0a);
wiringPiI2CWriteReg8(fd, 0x2f, 0x00);
wiringPiI2CWriteReg8(fd, 0x38, 0x9f);
struct acc_dat adxl345_read_xyz(int fd)
char x0, y0, z0, x1, y1, z1;
struct acc_dat acc_
x0 = 0xff - wiringPiI2CReadReg8(fd, 0x32);
x1 = 0xff - wiringPiI2CReadReg8(fd, 0x33);
y0 = 0xff - wiringPiI2CReadReg8(fd, 0x34);
y1 = 0xff - wiringPiI2CReadReg8(fd, 0x35);
z0 = 0xff - wiringPiI2CReadReg8(fd, 0x36);
z1 = 0xff - wiringPiI2CReadReg8(fd, 0x37);
acc_xyz.x = (int)(x1 && 8) + (int)x0;
acc_xyz.y = (int)(y1 && 8) + (int)y0;
acc_xyz.z = (int)(z1 && 8) + (int)z0;
return acc_
int main(void)
struct acc_dat acc_
fd = wiringPiI2CSetup(DevAddr);
if(-1 == fd){
perror("I2C device setup error");
adxl345_init(fd);
acc_xyz = adxl345_read_xyz(fd);
printf("x: %05d
z: %05d\n", acc_xyz.x, acc_xyz.y, acc_xyz.z);
delay(1000);
gcc adxl345.c -o adxl345 -lwiringPi
实测发现,代码可能还有很多问题。本小伙不才,还希望大神们拍砖、指点!
关于的用法,详情请参考以下链接:
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
毕业设计(论文)-基于加速度传感器ADXL345的计步器设计.doc 32页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
基于加速度传感器ADXL345的计步器设计
摘要:计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。计步器功能可以根据计算人的运动情况来分析人体的健康状况。而人的运动情况可以通过很多特性来进行分析。与传统的机械式传感器不同,ADXL345是电容式三轴传感器,由它捕获人体运动时加速度信号,更加准确。信号通过低通滤波器滤波,由单片机内置A/D转换器对信号进行采样、A/D转换。软件采用自适应算法实现计步功能,减少误计数,更加精确。单片机STC89C52控制液晶显示计步状态。整机工作电流只有1-1.5mA,实现超低功耗。
关键词:计步器;加速度传感器;ADXL345;低功耗
随着社会的发展,人们的物质生活水平日渐提高,人们也越来越关注自己的健康。计步器作为一种测量仪器,可以计算行走的步数和消耗的能量,所以人们可以定量的制定运动方案来健身,并根据运行情况来分析人体的健康状况,因而越发流行。手持式的电子计步器是适应市场需求的设计,使用起来简单方便。
计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。电子计步器主要组成部分是振动传感器和电子计数器。步行的时候人的重心会上下移动。以腰部的上下位移最为明显,所以记步器挂在腰带上最为适宜。所谓的振动传感器其实就是一个平衡锤在上下振动时平衡被破坏使一个触点能出现通/断动作,由电子计数器完成了主要的记录与显示功能,其他的属于热量消耗,路程换算均由电路完成。计步器中一般采用一种加速度计来感受外界的震动。常用的加速度计原理如下:在一段塑料管中密封着一小块磁铁,管外缠绕着线圈,当塑料管运动时,磁铁由于惯性在管中反向运动,切割线圈,由于电磁感应,线圈中产生电流,人体运动时,上下起伏的加速度近似为正弦过程,线圈的输出电流也是正弦波,测量正弦波的频率就可以得出运动的步数,再计算的出速度,距离,和消耗卡路里。
总体方案设计
1.1 设计要求
(1)掌握加速度传感器ADXL345的工作原理。
(2)掌握LCD1602的工作原理及编程方法。
(3)该系统能够有效的检测人体步行动作。
(4) 能够显示并且记录单位时间内的步数,一段时间内总步数,行走的距离以及消耗的热量。
(5) 使用单片机技术处理数据。
1.2 单片机芯片的选择方案和论证
采用AT89S51芯片作为硬件核心,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,所以在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
采用STC89C52芯片,STC89C52是一种低功耗、高性能8位CMOS微控制器,具有8K可编程Flash存储器。.3 显示模块选择方案和论证
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。
采用LCD1602液晶显示屏;它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。1602LCD显示的内容为16X2,即可以显示两行.4 传感器的选择方案和论证
方案一:选择机械式振动传感器机械式振动传感器内部有一个平衡锤,当传感器振动时,平衡被破坏,如此会造成上下触点的通断。佩戴者在跑步过程中,身体起伏重心高低产生变化,计步器内部的振动传感器就会将这一变化转换为数字量送至控制单元,从而获得佩戴者的运动信息。机械式振动传感器原理简单、精度和成本低,适用于振幅较大的场合。选择加速度传感器
三轴加速度传感器分为压阻式,压电式和电容式。加速度的变化能够改变电阻、电压或者电容的变化,从而获得空间位置三个垂直方向的加速度分量。佩戴者在跑步过程中,身体上下起伏,计步器内部的微控制器读取三轴加速度传感器的三组模拟量,通过计步算法分析,获取运动信息。三轴加速度传感器具有精度高、反应速度快、通讯协议简单可靠等特点,广泛使用于汽车、数码产品、航天设备等领域。选择压力传感器为选择一款最适合本课题的计步传感器5mA 30mA --
工作精度 0.
正在加载中,请稍后...不知道大家在医院就医的时候是否有这样的体验:做个CT价……
AI芯片之于人工智能的意义,则可以理解为发动机之于汽车……
又是一年六一儿童节,虽然,早就超了过这个节日的年纪,……
2017年底的美国NIPS大会上,特斯拉宣布了正在研制AI芯片……
&一部手机内部大约需要安装12~15块柔性电路板,……
演讲人:曾伟权时间: 10:00:00
演讲人:黄科涛时间: 10:00:00
演讲人:Tracy Ma时间: 10:00:00
预算:¥预算:¥520000
广东省广东省
采用3轴加速度计ADXL345的全功能计步器方案设计
[导读]简介
计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者
计步器是一种颇受欢迎的日常锻炼进度监控器,可以激励人们挑战自己,增强体质,帮助瘦身。早期设计利用加重的机械开关检测步伐,并带有一个简单的计数器。晃动这些装置时,可以听到有一个金属球来回滑动,或者一个摆锤左右摆动敲击挡块。本文引用地址:
如今,先进的计步器利用MEMS(微机电系统)惯性传感器和复杂的软件来精确检测真实的步伐。MEMS惯性传感器可以更准确地检测步伐,误检率更低。MEMS惯性传感器具有低成本、小尺寸和低功耗的特点,因此越来越多的便携式消费电子设备开始集成计步器功能,如音乐播放器和手机等。ADI公司的3轴加速度计ADXL335, ADXL345和 ADXL346小巧纤薄,功耗极低,非常适合这种应用。
本文以对步伐特征的研究为基础,描述一个采用3轴
图1. 各轴的定义
让我们考虑步行的特性。图2描绘了一个步伐,我们将其定义为单位步行周期,图中显示了步行周期各阶段与竖向和前向加速度变化之间的关系。
图2. 步行阶段与加速度模式
图3显示了与一名跑步者的竖向、前向和侧向加速度相对应的x、y和z轴测量结果的典型图样。无论如何穿戴计步器,总有至少一个轴具有相对较大的周期性加速度变化,因此峰值检测和针对所有三个轴上的加速度的动态阈值决策算法对于检测单位步行或跑步周期至关重要。
图3. 从一名跑步者测得的x、y和z轴加速度的典型图样
数字滤波器:首先,为使图3所示的信号波形变得平滑,需要一个数字滤波器。可以使用四个寄存器和一个求和单元,如图4所示。当然,可以使用更多寄存器以使加速度数据更加平滑,但响应时间会变慢。
图4. 数字滤波器
图5显示了来自一名步行者所戴计步器的最活跃轴的滤波数据。对于跑步者,峰峰值会更高。
图5. 最活跃轴的滤波数据
动态阈值和动态精度:系统持续更新3轴加速度的最大值和最小值,每采样50次更新一次。平均值(Max + Min)/2称为&动态阈值&。接下来的50次采样利用此阈值判断个体是否迈出步伐。由于此阈值每50次采样更新一次,因此它是动态的。这种选择具有自适应性,并且足够快。除动态阈值外,还利用动态精度来执行进一步滤波,如图6所示。
图6. 动态阈值和动态精度
利用一个线性移位寄存器和动态阈值判断个体是否有效地迈出一步。该线性移位寄存器含有2个寄存器:sample_new寄存器和sample_old寄存器。这些寄存器中的数据分别称为sample_new和sample_old。当新采样数据到来时,sample_new无条件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取决于下述条件:如果加速度变化大于预定义精度,则最新的采样结果sample_result移入sample_new寄存器,否则sample_new寄存器保持不变。因此,移位寄存器组可以消除高频噪声,从而保证结果更加精确。
步伐迈出的条件定义为:当加速度曲线跨过动态阈值下方时,加速度曲线的斜率为负值(sample_new & sample_old)。 .
峰值检测:步伐计数器根据x、y、z三轴中加速度变化最大的一个轴计算步数。如果加速度变化太小,步伐计数器将忽略。
步伐计数器利用此算法可以很好地工作,但有时显得太敏感。当计步器因为步行或跑步之外的原因而非常迅速或非常缓慢地振动时,步伐计数器也会认为它是步伐。为了找到真正的有节奏的步伐,必须排除这种无效振动。利用&时间窗口&和&计数规则&可以解决这个问题。
&时间窗口&用于排除无效振动。假设人们最快的跑步速度为每秒5步,最慢的步行速度为每2秒1步。这样,两个有效步伐的时间间隔在时间窗口[0.2 s - 2.0 s]之内,时间间隔超出该时间窗口的所有步伐都应被排除。
ADXL345的用户可选输出数据速率特性有助于实现时间窗口。表1列出了TA = 25&C, VS = 2.5 V, and VDD I/O = 1.8 V时的可配置数据速率(以及功耗)。
表1. 数据速率和功耗
输出数据 速率 (Hz)
此算法使用50 Hz数据速率(20 ms)。采用interval的寄存器记录两步之间的数据更新次数。如果间隔值在10与100之间,则说明两步之间的时间在有效窗口之内;否则,时间间隔在时间窗口之外,步伐无效。
&计数规则& 用于确定步伐是否是一个节奏模式的一部分。步伐计数器有两个工作状态:搜索规则和确认规则。步伐计数器以搜索规则模式开始工作。假设经过四个连续有效步伐之后,发现存在某种规则(in regulation),那么步伐计数器就会刷新和显示结果,并进入&确认规则&工作模式。在这种模式下工作时,每经过一个有效步伐,步伐计数器就会更新一次。但是,如果发现哪怕一个无效步伐,步伐计数器就会返回搜索规则模式,重新搜索四个连续有效步伐。
图7显示了步伐参数的算法流程图。
图7. 步伐参数算法流程图
根据上述算法计算步伐参数之后,我们可以使用公式1获得距离参数。
距离 = 步数 & 每步距离
每步距离取决于用户的速度和身高。如果用户身材较高或以较快速度跑步,步长就会较长。参考设计每2秒更新一次距离、速度和卡路里参数。因此,我们使用每2秒计数到的步数判断当前跨步长度。表2显示了用于判断当前跨步长度的实验数据。
表2. 跨步长度与速度(每2秒步数)和身高的关系
2秒的时间间隔可以利用采样数精确算出。以50 Hz数据速率为例,处理器可以每100次采样发送一次相应的指令。处理器利用一个名为m_nLastPedometer的变量记录每个2秒间隔开始时的步数,并利用一个名为m_nPedometerValue的变量记录每个2秒间隔结束时的步数。这样,每2秒步数等于m_nPedometerValue与m_nLastPedometer之差。
虽然数据速率为50 Hz,但ADXL345的片内FIFO使得处理器无需每20 ms读取一次数据,极大地减轻了主处理器的负担。该缓冲器支持四种工作模式:旁路、FIFO、流和触发。在FIFO模式下,x、y、z轴的测量数据存储在FIFO中。当FIFO中的采样数与FIFO_CTL寄存器采样数位规定的数量相等时,水印中断置1。如前所述,人们的跑步速度最快可达每秒5步,因此每0.2秒刷新一次结果即可保证实时显示,从而处理器只需每0.2秒通过水印中断唤醒一次并从ADXL345读取数据。FIFO的其它功能也都非常有用。利用触发模式,FIFO可以告诉我们中断之前发生了什么。由于所述解决方案没有使用FIFO的其它功能,因此笔者将不展开讨论。 本文来自电子发烧友网(http://www.elecfans.com)
速度 = 距离/时间,而每2秒步数和跨步长度均可根据上述算法计算,因此可以使用公式2获得速度参数。
速度 = 每2秒步数 & 跨步/2 s
卡路里参数
我们无法精确计算卡路里的消耗速率。决定其消耗速率的一些因素包括体重、健身强度、运动水平和新陈代谢。不过,我们可以使用常规近似法进行估计。表3显示了卡路里消耗与跑步速度的典型关系。
表3. 卡路里消耗与跑步速度的关系
跑步速度 (km/h)
卡路里消耗(C/kg/h)
由表3可以得到公式(3)。
卡路里(C/kg/h) = 1.25 & 跑步速度(km/h)
以上所用的速度参数单位为m/s,将km/h转换为m/s可得公式4。
卡路里(C/kg/h) = 1.25 & 速度(m/s) &
卡路里参数随同距离和速度参数每2秒更新一次。为了考虑运动者的体重,我们可以将公式4转换为公式5。体重(kg)为用户输入量,一个小时等于1800个2秒间隔。
卡路里(C/2 s) = 4.5 & 速度 & 体重/1800
如果用户在步行或跑步之后休息,则步数和距离将不变化,速度应为0,此时的卡路里消耗可以利用公式6计算(休息时的卡路里消耗约为1 C/kg/h)。
卡路里(C/2 s) = 1 & 体重/1800
最后,我们可以将所有2秒间隔的卡路里相加,获得总卡路里消耗量。
ADXL345易于连接到任何使用I2C&或SPI数字通信协议的处理器。图8给出了演示设备的原理示意图,它采用3V电池供电。ADXL345的/CS引脚连接到板上的VS,以选择I2C模式。利用一个低成本精密模拟微控制器ADuC7024从ADXL345读取数据,执行算法,并通过UART将结果发送至PC。SDA和SCL分别为I2C总线的数据和时钟引脚,从ADXL345连接到ADuC7024的对应引脚。ADXL345的两个中断引脚连接到ADuC7024的IRQ输入,以产生各种中断信号并唤醒处理器。
图8. 硬件系统的原理示意图
用户界面显示测试数据,并对操作员的指令做出响应。用户界面(UI)运行之后,串行端口应打开,通信链路应启动,随后演示程序将持续运行。图9显示了用户佩戴计步器步行或跑步时的测试情况。用户可以输入其体重和身高数据,距离、速度和卡路里参数将根据这些数据进行计算。
图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。
Analog Devices,宣布由Withings开发的脉搏活动跟踪器集成了ADXL362 MEMS加速度计,Withings公司致力于开发智能产品和应用程序,帮助人们轻松呵护健康和幸福。这款脉搏活动跟踪器是袖珍工具,旨在帮助用户实现其个......关键字:
大四时,因为学校医院的医疗水平有限,一次普通的感冒让我患上了链球菌感染综合征,即俗称的肾小球肾炎。工作后的前几年,跑医院和打点滴成为家常便饭。......关键字:
死而复生”是影视剧中的一个惯用桥段,但在现实生活中这种离奇事件也在上演。俄新社1月9日援引西班牙媒体消息称,西班牙一囚犯已被医生确认死亡,在解剖前却突然“活了过来”。......关键字:
核弹的工作原理是用质量损失放出大量的热瞬间加热周边空气形成冲击波加上聚、裂变材料的放射性,对周围目标进行杀伤。太空中没空气,没空气就不导热,也不能形成冲击波,所以就剩下辐射影响了。......关键字:
我们或多或少都有过灵感枯竭的经历,在写作、绘画或作曲时呆坐在那里,完全没有思路。最糟糕的是,我们越是努力的思考,就离灵感越远。现在,神经学家也许找到了线索,可以解释为何灵感之光的闪现如此艰难。......关键字:
巨人网络董事长史玉柱向来不吝啬对研发团队的激励,此前,他曾在内部公开承诺:“谁研发出精品,公司就给该项目负责人发奖金、发股票,让你身价过亿。如果公司奖励没过亿,我个人给你补齐。”......关键字:
我 要 评 论
热门关键词【图文】单片机数码管显示_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
单片机数码管显示
阅读已结束,下载本文到电脑
想免费下载本文?
登录百度文库,专享文档复制特权,积分每天免费拿!
你可能喜欢北邮数电实验-数码管扫描显示控制器设计与实现_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
北邮数电实验-数码管扫描显示控制器设计与实现
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩13页未读,
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 换个角度看成交量变化 的文章

 

随机推荐