浅谈CRSl0陀螺仪及其在角速率与转角测量中的应用

时间:2011-08-29

  微机电传感器(MEMS)惯性传感器在近几年来高速发展并得到了广泛的应用。微惯性传感器作为一种重要的MEMS,由微型陀螺仪、微型加速度计、专用集成电路(ASIC)、嵌入式微处理器及相应的软件组成,输出可以包含角速度、加速度、姿态等多种信息,并且其体积小、集成度高、使用方便,在军民等领域都得到广泛应用。

  CRSl0是Silicon SENSING公司的一款高的MEMS单轴陀螺仪,它是数字式输出,输出传感器运动过程的角速度和传感器工作的环境温度。

  在转角测量方面,传统的方法是使用角度传感器,测量起始时间的角度值,然后相比较得到转过的角度。在此,根据运动学原理,应用CRSl0陀螺仪,设计了一个角速度和转角测量系统,系统配置有数据输出接口和液晶显示界面。

  1 CRS10功能介绍及使用

  CRSl0是一款高的数字角速率陀螺仪,集成度高,较宽的工作温度(-40~80℃),高带宽和宽泛的频率范围,极低的角速率随机漂移,标准5 V电压供电,SPI数据输出和模拟端口输出2种输出方式满足各种应用不同需求。在CRSl0的默认配置是为75 Hz带宽,±375(°)/s角速率测量访问。用户可根据需要,设置其角速率测量范围和带宽。例如可设置±75(°)/s的测量范围,也可设置带宽5、10、25、40、50、60和100 Hz。

  CRSl0采用23 mmxl7 mmxl0 mm封装。无论是垂直或可用水平支架可表面安装在PCB上。其体积小,集成度高,易于安装。可广泛应用于汽车偏航率测定、制导和控制、平台稳定、图像稳定、惯性测量装置、机器人和导航等领域。

  对于不熟悉这类产品的人来说,陀螺仪传感器是一个简单易用的基于自由空间移动和手势的定位和控制系统。在假象的平面上挥动鼠标,屏幕上的光标就会跟着移动,并可以绕着链接画圈和点击按键。当你正在演讲或离开桌子时,这些操作都能够很方便地实现。

  该传感器是一个经过蚀刻的金属片,它由受驱动的中心点形成一个针对手指的复杂网络。初看起来,它极像与45rpm黑胶唱片一起使用的旧固套,能够在标准的LP轴上旋转(我知道我有点过时了)。这个金属片被耦合到形成基本振荡的驱动线圈,而独立轮辐似乎是用于另一种更复杂的振荡模式的监测点。我就像可怜的大学新生一样对此一知半解,但是我能给出的解释是,轮幅的第二种振荡模式在金属片的初振荡形成搜寻加速时就会受到影响。

  也许实际工作原理与上述描述有些出入(衷心希望有读者来为我指正),但这种机械结构在结合某些信号处理时实际上是一个双轴加速的向量源。如此看来,Cadence为Gyration设计的这款定制IC同时控制了GYRC10433中的运放和ADC。Cadence的器件读取检测信号来获得加速数据,然后将它转换成模块可读的串行数字格式以进行运动控制。256B的EEPROM存储着用于模块的校准常数,可用来补偿任何制造性差异。

  虽然该产品专为使用PowerPoint的演讲人而设计,基于手势的控制概念已经扩展到了许多其他领域,包括基于PC的电视遥控器。事实上,如果能令你花约100美元去购买兼容WindowsMedia的GY3101A型通用遥控器,Gyration公司会非常高兴。这个面向消费类应用的小玩意采用了基本的Gyrotransport技术。

  1.1 CRSl0功能介绍

  图1(a)和图l(b)分别是CRSl0的实物图和功能框图。由图l(b)可知,在CRSl0中,MEMS陀螺仪先感知外界信号,并将信号输出给数据采集专用集成电路,数据采集电路将处理后的信号输出给微控制器。微控制器将得到的数据结果存入输出寄存器。通过SPI总线,外部SPI主控器

  件向CRSl0发送控制指令或者读取。CRSl0内部设置有控制寄存器,寄存器都有默认的值,通过对控制寄存器的修改写操作,可以改变角速率测量范围频率和输出带宽等方面的控制效果。

4z.jpg

  CRSl0测量的是平行于PCB平面的角速率。CLK_N,SPI_IN,SPI_OUT和引脚是传感器的SPI接口,引脚是传感器的复位引脚。A-NL_OUT是角速率的模拟输出端口。

  CRSl0的数字输出部分还包含其工作环境的温度值。假如在无偿条件下,陀螺仪性能不佳,那么可通过使用这个温度进行建模和补偿。

  1.2 CRS10使用方法

  1.2.1 CRS1O硬件建接

  CRSl0的SPI接口与各种微处理器SPI主控制器件接线如图2所示。SPI总线的时钟频率可达到2.5 MHz,建议采用1 MHz。

b.JPG

  1.2.2 CRSl0数据读写与数据处理

  通过SPI总线,可以对CRSl0进行读写操作。可以根据设计要求设置控制寄存器的值达到控制效果,也可以使用寄存器的默认设置。控制指令由1个字节状态位,4个字节的数据位和1个字节的校验位共6个字节组成。向CRSl0写控制指令时,只要将指令串通过SPI总线发送给CRSl0即可。

  读取CRSl0输出的数据时,从总线上读取到的是6个字节的数据,依次是:1个字节的状态位,2个字节的角速率数据位,2个字节的温度数据位和1个字节的校验位。

  角速率值(RATE_OUT)和温度值(TEMP_OUT)输出的数据格式均为16位二进制的补码,可以使用式(1)进行解算:

c.JPG

  式中,DATA_VALUE为寄存器的输出数据,VALUE为转换后实际的测量量的值,Scale为寄存器值值代表的单位,n为对应寄存器的数据位数。

  在这里有一个小技巧,由于数据是16位二进制补码类型,可以使用数据类型为整型(int)存储数据,这样亦可以省略其中的数据处理过程。

  2 角速率和转角测量系统设计

  这里给出了基于LMS8962与CRSl0的倾角测量系统的原理与设计。

  2.1 转角测量原理

  CRSl0是测量其所在PCB平面的角速率。根据运动学原理,角度等于角速率在时间上的积分,因此,可以得到转角与角速率的关系:

d.JPG

  式中,θ是当前角度,θo是运动初始时的初始转角,ω为角速率,to为初始时刻,t为当前时刻。

  在数字系统中,采用其离散型方程:

e.JPG

  式中,θ、θo、ω的含义与式(2)相同,△t表示采样数据的时间间隔。

  根据上述原理,利用CRSl0设计测量转角系统。只要保证采样频率够快,转角平台稳定,噪声较小即可。

  2.2 硬件电路设计

  使用LMS8962与CRSl0搭建成倾角测量系统,LMS8962是一款高性能的32位Cortex-M3内核微处理器。它有丰富的片内外设,如模数转换(ADC),PWM,CAN和串行总线(SSI)等,功能强大,易于集成。

  LMS8962与CRSl0组成的角速率和转角测量系统硬件设计框图如图3所示。LMS8962通过SSI总线与CRSIO进行通信。将采集到的数据存储到SD卡中,将解算得到的结果实时在液晶显示模块上显示。SD卡的数据存储为将来的数据分析提供一个很好的数据采集平台。SSI是串行通信总线,它兼容SPI总线。

f.JPG

  2.3 软件设计

  图4是系统的软件设计流程。程序启动进入系统初始化,接下来向CRSl0写控制指令,以设置CRSl0工作在需求的模式下,然后读取返回的数据并进行解算,通过存储数据到SD卡中并在液晶模块中显示。

g.JPG

  3 试验结果

  为了验证系统测量角速率和转角的效果,采用姿态与航向参考系统(attitude and heading reference system)AHRS500GA-226传感器作为参考进行测试。AHRS500GA-226是Crossbow Technology公司的一款高的IMU。将两系统固定安装在同一平台上,使CRSl0测量的角速率平面与AHRS的YAW平面(航向角速率和航向角测量平面)相一致。比较两个系统输出的角速率和角度数据,得到如图5所示的结果。

h.JPG

  由图中5可看出,CRSl0所测量的角速率与AHRS测量得到的角速率运动的趋势一致,AHRS的结果比较平滑。CRSl0有噪声,局部陡峭。在静止和小角速率运动时两者测量结果基本重合,误差在0.1(°)/s左右。在大角度运动和急速转动时,两者的重合效果不佳,误差较大,有达到7(°)/s。这是由于AHRS得到的数据是经过滤波和数据融合处理的。角度测量的趋势一致,在局部重合的比较好。但角度测量的误差比较大。原因在于本文使用的角度计算方法:1)使用的是原始的角速率数据,角速率没有经过滤波处理,噪声较大,积分叠加到角度上得到的偏差亦较大;2)使用的是简单的积分求角度,没有补偿,没有平滑。综上可知,角速率测量效果比较好,角度测量可行,但算法有待提高。

  4 结论

  基于LMS8962 ARM微处理器与CRSl0陀螺仪的角速率与转角测量系统角速率测量误差平均为0.550(°)/s,达到7(°)/s,在小角速率测量时效果比较好。转角测量误差平均误差为2.5°,测量有待进一步提高。造成角度测量误差的原因主要是没有对得到的角速率进行滤波和数据的融合。滤波算法和融合算法的使用和完善是该系统今后要完善的主要工作。从测量的结果来看,只要做好滤波和融合的处理,提高系统的性是可行的。


  
上一篇:浅谈如何运用嵌入式仪表DCS系统
下一篇:简述板级备件通用测试系统设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料