图8中,测试方向为y轴方向,加速度传感器如图8(a)样式放置时,x轴输出为Voutx-A,y轴输出为Vouty-A;加速度传感器如图8(b)样式放置时,x轴输出为Voutx-B,y轴输出为Vouty-B,测试方向y轴传感量为:
x横轴传感量为:
所以当倾斜角传感器倾斜为某一角度时,x横轴数据经y轴进行传感补偿后的值为:
式中:xoutComp为补偿后的x轴数据;Vouty-axis为x轴测量数据;Vouty-axis为y轴测量数据;Voffsety为y轴数据偏移值。同样,z轴数据对x轴数据进行补偿后得到x轴数据的校准值。
4.3 数据融合
SCA3000工作在测量模式下时,传感器输出数据速率为260 Hz,0.37 s就可以产生一次输出缓冲存储器半满中断。所以在倾斜角度变化不是很剧烈的情况下,可以对每一输出缓冲存储器中数据进行加权平均求得倾斜角度。
5 软件设计
程序主要分三部分,主程序main,倾斜角计算子程序tlitcalculate和校准子程序calibrate,在对SCA3000进行操作时,还要调用SPI读写程序,在对ZLG7290进行操作时调用I2C读写子程序。
如图9所示,在倾斜角传感器第一次使用前必须对其进行校准,包括测量各轴的零点偏移,各轴的横轴传感量,当PO.1置高时进入校准状态。在校准中,PO.9&PO.10&PO.11=000时,将SCA3000按z轴垂直向上放置;PO.9&P0.10&P0.11=001时,将SCA3000按z轴垂直向下放置;PO.9&P0.10&P0.11=OlO时,将SCA3000按x轴垂直向上放置;P0.9&PO.10&PO.11=01l时,将SCA3000按x轴垂直向下放置;P0.9&PO.10&P0.11=100时,将SCA3000按y轴垂直向上放置;P0.9&P0.10&P0.11=101时,将SCA3000按y轴垂直向下放置。综合各个状态时的数据完成零点偏移和横轴传感量计算。实际运用中,SCA3000安装在平台上时不可能保持xy轴与平台完全平行,z轴完全垂直平台。所以在进行测量前必须取得平台水平放置时SCA3000的输出值,将其设为初始值保存于FLASH中。
在倾斜角计算中。首先读数据进行零点偏移补偿和横轴传感补偿,接着对严重污染的数据丢弃,进行数据融合,再判断倾斜角度大小。当角度较小时,利用两轴数据进行计算,当角度过大时运用三轴数据进行计算。
主程序中,采用定时器中断和SCA3000缓存器中断两个中断对SCA3000数据进行读写。保证数据的实时性。
6 结语
本文基于三轴加速度计SCA3000和ARM处理器芯片LPC2210设计了一种三轴倾斜角智能传感器,它具有全方位和全摆幅的特点。本文对两轴、三轴加速度计测量倾斜角的原理进行了分析,采用两轴、三轴数据的合理运用,实现精度高、抗噪性能强的倾斜角传感器的研究。
对传感器数据采用零点偏移补偿,横轴传感量补偿,进一步提高了数据的精度。采用SPI接口实现传感器与微控制器间的通信,采用定时器中断和SCA3000缓存器中断两个中断唤起对传感器数据的读/写,实现对传感器数据读速度可控。