1、“三轴加速度”原理测试说明1 程序设计目标及程序运行效果说明本案例是通过三轴加速度计 ADXL345 测得重力加速度在 x、y、z 方向的分加速度,通过分加速度计算出芯片在 x、y 方向的倾角,再由数码管显示出来(左边数码管显示 x 方向的倾角,右边显示 y 方向的倾角),其中按键 key1 实现校准功能。2 程序相关电路及工作原理说明ADXL345 通过 IIC_SCL 和 IIC_SDA 与单片机相连,单片机以 IIC 总线的方式对 ADXL345 进行读写。2.1 ADXL345 原理简述ADXL345 是一款完整的 3 轴加速度测量系统,既可以测量运动或冲击导致的动态加速度,也能测量静
2、止加速度,例如重力加速度,使得器件可作为倾斜传感器使用。初始化时,ADXL345 在启动序列期间工作在 100 Hz ODR,在 INT1 引脚上有 DATA_READY 中断。设置其它中断或使用 FIFO 时,建议所使用的寄存器在POWER_CTL 和 INT_ENABLE 寄存器之前进行设置。读取数据时,DATA_READY 中断信号表明数据寄存器中的三轴加速度数据已被更新。当新数据就绪时它会被置为高电平。(通过 DATA_FORMAT 寄存器,中断信号可设置为由低电平变为高电平)利用低-高跃迁来触发中断服务例程。可从DATAX0、DATAX1、DATAY0、DATAY1、DATAZ0 和
3、 DATAZ1 寄存器中读取数据。为了确保数据的一致性,推荐使用多字节读取从 ADXL345 获取数据。ADXL345 为 16 位数据格式。从数据寄存器中获取加速度数据后,用户必须对数据进行重建。DATAX0 是 X 轴加速度的低字节寄存器,DATAX1 是高字节寄存器。在 13位模式下高 4 位是符号位。注意,可通过 DATA_FORMAT 寄存器设置其它数据格式 POWER_CTL 和 INT_ENABLE 寄存器之前进行设置。同时 ADXL345 具有偏移寄存器,可进行偏移校准。偏移寄存器的数据格式是 8 位、二进制补码。偏移寄存器的分辨率为 15.6 mg/LSB。如果偏移校准的精度
4、必须高于 15.6 mg/LSB,需要在处理器中进行校准。偏移寄存器将写入到寄存器的值相加来测试加速度。例如,如果偏移为+156 mg,那么应该往偏移寄存器写入156 mg。2.2 I2C 总线介绍I2C(InterIntegrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C 总线硬件结构图如下:SCL 是时钟线,SDA 是数据线。I2C 总线信号包括有,启始信号,停止信号和应答信号,在程序用分别用函数 void start()、void stop()、void respons()表示。3 测试说明(1)按照下载指导书将当前目录的 Hex 文件下载到开发版上;(2)左边数码管显示 x 轴方向的夹角,右边数码管显示 y 轴方向的夹角;(3)将开发板放置水平位置(也可选任意角度为基准),按下 Key1,实现清零校准。然后将开发板朝 x 或者 y 方向慢慢的旋转任意角度,数码管显示相应的角度数值。