首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ADISl6209 IMU在倾角测量中的应用(1)

ADISl6209 IMU在倾角测量中的应用(1)

O 引言
倾角传感器是测量关于水平倾斜角的装置,倾角变化测量仪器是许多工业应用设备需要具备的一个 组成部分,包括测量设备、卫星天线稳定系统、工厂机床、运动安全监视器和汽车轮位对准装置等。准确地测量倾角的变化,有利于这些设备更加稳定的工作及避免 事故发生。现在采用的倾角测量仪大多数体积较大,信号采集比较慢,测量精度不高,误差较大,需要做大量的温度补偿和校准工作。这些缺点制约着工业设备性能 的提高,也加大了工程的工作量。
ADISl6209是ADI公司新推出的一款精密的微电子机械系统(MEMS)倾斜计,提供 小于O.1°线性倾斜误差的全补偿直接角度输出,它使用出厂时安装的校正系数动态地检测系统环境并且补偿直接数字角度输出以便解决电压、温度、角度和其他 参数变化引起的误差,减少了产品设计时间、减低成本和复杂性。
本文详细地介绍ADISl6209的功能特性和使用方法,并使用Luminary公司的LM3S8962 Cortex-M3微处理器与之组合设计一个倾角测量系统。最后对测量结果进行分析。
1 ADISl6209功能与使用方法
ADISl6209的是一种高精度、数字化倾角测量仪和双轴加速度测量仪,可以在单轴 (±180°),双轴(±90°)等两种模式下运作。标准电源电压 (3.3 V)和串行外设接口(SPI)设计最简单,集成方便。一个简单的内部寄存器结构处理所有的输出数据和配置功能。这包括访问以下输出数据:校准加速度、准确 倾斜角度、电源、内部温度、辅助模拟和数字输入信号、诊断错误标志和可编程报警条件。
ADISl6209采用9.2 mm×9.2 mm×3.9 mmLGA封装,可工作在-40~+125℃,能连接使用标准RoHS标准的回流焊工艺,广泛应用于医疗仪器、测量设备、工厂机床、机器人、惯性测量单元、导航控制等领域。
1.1 ADISl6209的功能
如图l所示,分别是ADISl6209的功能图、安装示意图与引脚图。由图1(a)可 知,ADISl6209主要由两轴MEMS加速度计、温度传感器、1 个模/数转换模块(ADC)、1个数/模转换模块(DAC)和报警模块(ALARMS)组成。传感器感知外界信号后,信号调理并转换,经过信号处理后,将 得到的数据结果存入输出寄存器。通过SPI总线,外部SPI主控器件向ADISl6209发送控制指令或者读取。ADISl6209内部设置有控制寄存 器,寄存器都有默认的值,通过对控制寄存器的修改写操作,可以改变采样频率,改变平均滤波参数等多个方面的控制效果。每个采样周期结束后,传感器测量结果 存放至输出寄存器,并且DIO1引脚向器件外产生一个脉冲,表示一组新的完整的测量数据已经采集准备好,可供外部SPI主控器件读取。

图1(b)是ADISl6209坐标朝向图,传感器测量的Ax与Ay两个方向上的加速度分量。第1,2,3,4引脚是传感器的SPI接口,第9引脚RST是传感器的复位引脚。
1.2 ADISl6209使用方法
1.2.1 ADISl6209硬件连接
ADISl63209的SPI接口与各种微处理器SPI主控制器件接线如图2所示。

SPI总线的时钟频率最高可以达到2.5 MHz。但ADISl6209的采样频率对SPI时钟一定的要求:当采样频率大于等于546 SPS时,SPI的时钟频率最高可以采用2.5 MHz。当采样频率小于546 SPS时,SPI的时钟频率应不大于1 MHz,建议采用1 MHz。
1.2.2 ADISl6209数据读写与数据处理
通过SPI总线,可以对ADISl6209进行读写操作。可以根据自己的要求设置控制寄存器的值达到控制效果,也可以使用寄存器的默认设置。控 制指令由1 位的读写控制位,1位空位,6位寄存器地址位和8位的数据位组成。向ADISl6209写控制指令时,要将指令的最高位置1,例如,要将采样频率设置为2 731 SPS,也就是采样频率寄存器的值设置为0x0001,那么写指令就应该如下:先写寄存器低地址0x36,数据为0x0l,再写高地址0x37,数据为 0x00,所以指令为0xB6018700。对其他的控制寄存器的修改也可按照这样的方式修改。
读取ADISl6209输出的数据与写控制指令稍有区别,读取每个寄存器的值要分为2个16位的时序。第1个16位时序向ADISl6209写 入读取命令和寄存器地址。第2个16位时序将对应寄存器内容发送至DOUT数据线上,微控制器才可以得到正确的数据。如要读取x轴加速度寄存器的值 (X_ACC),那么第1个16位时序DIN=0x0400,第2个时序XACCL_OUT(x轴加速度值)将被发送到DOUT数据线上,SPI主机此时 读到的数据才是上一个16位读指令发出的需要的指令。
从SPI总线上读取到的传感器数据是二进制数据或者二进制补码形式的数据。需要对其进行一 定的解读才可以得到实际输出的代表的值。传感器输出的各个值代表的意义可详见A13ISl6209的数据手册中的output Data Register Format表。其中SUPPLYOUT,AUX ADC和TEMP OUT的数据格式都为二进制数据,可以使用以下公式进行解算:
  
式中:VALUE代表实际的测量量的值;DATA_VAL_UE代表寄存器的值;Scale代表寄存器每个最小单位代表的实际值;n为对应寄存器的数据位数。
  XACC_OUT,YACC_OUT,XINCL_OUT和YINCL_OUT输出的数据格式均为14位2的补码,可以使用以下公式进行解算:
  
式中:DATA_VALUE为寄存器的输出数据;VALUE为转换后实际的测量量的值;Scale为寄存器值最小值代表的最小单位;n为对应寄存器的数据位数。
返回列表