基于三轴转台的ADXL335加速度传感器标定实验一、实验目的1、熟练使用SGT320E 型三轴多功能转台,掌握传感器测量和采集的方法2、掌握卡尔曼滤波课程的传感器三参数标定原理 二、实验器材1、实验室具备“SGT320E 型三轴多功能转台”实验设备2、实验室具备ADXL335加速度传感器3、安捷伦数据采集卡、笔记本电脑、MATLAB 软件等。
三、实验原理 1、三轴转台部分静态测试:此实验基础以“SGT320E 型三轴多功能转台”为平台,在三轴转台内框夹具上安装“ADXL335加速度传感器”进行测试,由三轴转台内框0°作为初始位置,内框旋转180°,每隔2°采集一次数据。
将90个数据按照最小二乘法滤波,在Matlab 中计算出标定传感器所需要的三个误差参数:Bias (零偏)、Scale Factor error (刻度系数误差)、g-sensitive drift (作用在转感器敏感轴上的加速度引起的g 相关零偏)。
2、加速度传感器三个误差参数标定原理部分在理想状态下,加速度计敏感轴被放置于垂直地面方向,则读数应为g ,当敏感轴与重力加速度方向存在一个夹角K θ时,读数应为K g θcos ⋅。
但事实上,加速度计是存在误差。
如果为了简化变量,忽略加速度计本身噪声,那加速度计的输出可以包括重力部分(K g θcos ⋅)、零偏值(Bias )、刻度因素误差(K g SF θcos ⋅⋅)、敏感轴偏移误差(2)cos (K g K θ⋅⋅),因此加速度传感器的输出表达式为:2)cos (cos cos _K K K g K g SF Bias g Output Acc θθθ⋅⋅+⋅⋅++⋅=那么误差表达式为:2)cos (cos cos _K K K g K g SF Bias g Output Acc Error θθθ⋅⋅+⋅⋅+=⋅-=因此,标定传感器就需要求出、、三个参数。
如果将Error 当作测量模型K y ,将K g θcos ⋅当作K x ,则测量方程表达式为:2*)(K K K x K x SF Bias y ⋅+⋅+=Bias SF K因为测量方程是二阶的,用最小二乘法滤波方法中的二阶多项式代替:2210ˆK K K x a x a a y++= 其中参数0a 、1a 、2a 分别对应误差测量方程中的Bias 、SF 、K ,数值由最小二乘法的二阶多项式参数矩阵确定,矩阵表示形式为:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡∑∑∑∑∑∑∑∑∑∑∑===-========n k k k n k kk n k k n k k n k kn k k nk k nk k n k k nk k nk ky x y x y x xx x xxx x n a a a 1*21*1*114131213121121210 通过计算这一矩阵,求得标定传感器所需的三个误差参数Bias 、SF 、K 。
如图1,为利用最小二乘法滤波,计算标定参数的程序流程图:3、ADXL335加速度传感器部分ADXL335是一款小尺寸、薄型、低功耗、完整的三轴加速度计,提供经过信号调理的电压输出,能以最小±3g 的满量程范围测量加速度。
它可以测量倾斜检测应用中的静态重力加速度,以及运动、冲击或振动导致的动态加速度。
ADXL335的输出为电平输出,需转化成加速度值和角度值。
由芯片手册可知,ADXL335的参考电压Vs 为3.3V ,满量程为±3g 可以得到,输出电压值V 与加速度值a 之间的关系式为:g VsVa 3⋅=所得加速度值为敏感轴方向上的加速度,在静止的条件下,该加速度方向与重力加速度夹角K θ如图2所示:由图可知夹角K θ与a 之间的关系为:K g a θcos ⋅=利用上述关系式,可得到输出电压值对应的夹角K θ。
四、实验步骤1、实验准备:三轴转台启动过程1)确定安装及连线,整体检查确定无误后通电;2)启动转台控制软件,选择负载范围0-10kg;3)三轴转台控制系统上电;4)三轴转台控制系统闭合;5)三轴转台内框归零;6)选择位置方式,在此方式下,转台内框转动的角加速度为0,符合静态实验原则。
设置位置参数为180°,设置速度参数为1°/s。
速度设置为1°/s,是为了保证第一个采样点(即转台输出2°时采样点)加速度接近0,保证数据符合静态实验原则。
7)转台运行;8)数据采样记录,记录下转台内框输出为0°、2°、4°……178°、180°时,加速θ值;度传感器输出电平值,利用实验原理3所述处理,得到各采样点对应K9)利用实验原理2所述,在matlab下进行计算,得出三个误差系数的值。
五、实验结果θ值与三轴转台理论θ之间的误差情况如图3所示:1、根据实验步骤8,求得的采样点K图3 测量误差情况分布图由图中可以看到前20个(即0-40°)和后20个(即140-180°)有较大误差,是由于在这两个范围内角度余弦值变化不大,加速度传感器输出电压变化小,使得测量结果产生较大误差。
2、根据步骤9,在matlab下进行计算,得出三个误差系数的值为下表Bias SF K初始值0.000308Ft/Sec 4.51*10^(-6) 4.082*10^(-8)计算结果0.000931Ft/Sec 0.121*10^(-5) 0.979*10^(-8)表1 三个误差系数表初始值为ADXL335芯片说明书中给出的加速度传感器三个系数的参考值。
对比发现有略微不同,其主要原因在于:1)实验时,加速度传感器安装在三轴转台内框上,传感器与内框存在一个间隙,造成采样误差。
2)采集时无法准确读取转台内框旋转特定角度所对应的电压值,而是在采样一个邻域区间内取平均值得出的采样数据。
3)实验本身为简化模型而忽略了加速度计本身存在的噪声误差,此部分误差没有被考虑在内。
六、总结经过本次实验设计与操作,熟练了对SGT320E型三轴多功能转台的使用,掌握了传感器ADXL335的测量方法,同时熟悉了课程所教授的通过最小二乘法滤波的计算步骤,掌握了滤波估计真值的原理,并实验验证加深理解。
基于三轴转台的ADXL335加速度计标定农业机械的自动导航控制与变量作业实施中,实时检测与获取农业机械的姿态角对农业机械精确导航及变量作业控制具有重要意义。
对物体姿态角的监测常用到电子罗盘、陀螺仪以及加速度计等惯性测量单元进行组合监测,采用多传感器融合技术来获取物体的偏航角、俯仰角及翻滚角信息。
惯性测量单元在使用前必须对其进行标定校准实验,补偿各种误差以提高检测精度。
惯性传感器的标定通常是在三轴转台上来完成的。
根据误差产生机制不同,三轴加速度计误差主要分为零位偏差、标度系数误差、安装误差及轴间非正交误差等。
对MEMS三轴加速度计传感器来说,零位误差和标度系数误差是影响其精度的主要因素,且随时间环境的变化而变化,安装误差及轴间非正交误差在长时间范围内不会产生较大的变化,并可以通过提高安装工艺及制造工艺来减小此类误差的影响。
轴间非正交误差造成影响和安装误差相似,可将其统一划归为安装误差。
因此,根据上述 MEMS三轴加速度计误差形成的特点,将传感器输 出误差数学模型[5-10]表示为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡B B B MMMS k k k S k k k S D D D z y x z y xzzyzx yz yyx xz xy x z y x 其中:Dx,Dy,Dz为加速度的真实值;Mx,My,Mz为传感器测量值;Bx,By,Bz为传感器的零偏,为传感器的比例因子,为传感器安装误差系数,加速度传感器的标定就是确定数学模型中的零 偏、比例因子、安装误差系数,该模型中共有12个未知参数。
随着安装工艺和制作工艺的提高,安装误差所带来的影响很小,相对于比例因子和零偏所造 成的误差来说是可以忽略的小量,因此现场简单标 定可以只对比例因子与零偏进行标定,则传感器的 误差数学模型简化为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡B B B M M M S SS D D D z y x z y x z yxz y x 000000为了检验现场标定的精度,将传感器模块安放 在北京航空精密机械研究所研制的 SGT320E 型三 轴多功能转台的内框上,MCU 采 用 Atmega16,串 口波特率设置为 110592,设置 转 台 工 作 于 “位 置 方式”,转台的“位率”采用默认值10.000(/s,“位加速度”采用默认值10.000(°)/s2在6种位置下分别采集 xyz3个敏感轴的原始 数据至少20组取平均值,且小数点后保留2位有效 数字,得到6位置下的原始数据如表3所示。
为便于求解传感器数学模型中的12个未知参 数,对传感器模型2进行等价变换[][]⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡∙=B BB S k k k S k k kS MMMD DDzyxz yz xz zy yxy zx yx xzyxzyx1 记为:D=M²K。
其中:D为已知的6个位置的重 力加速度;M 为加速度传感器的 6 个 位 置 原 始 输 出;K为待求标定系数矩阵,共12个未知参数。
在位置1下有D(1) = [256 0 0]M(1) = [277.58 3.97 8.79 1]同理,由表1加速度计理论输出值及表 3的实 际测量值可以得到 D(2),D(3),…,D(6)和 M(2),M(3), …,M(6)。
表 示 成 矩 阵 形 式 D6³3 = [D(1),D(2),D(3),D(4), D(5), D(6)]M6³4 = [M(1), M(2)M(3),M(4),M(5),M(6)]则式(5)可表示为:D6³3 = M6³4 ²K4³3,可得到 18个方程,需求解12个未知数,因此采用最小二乘法即可得到最优解。
鉴于篇幅,此处推导从略,给出 系数矩阵解的表达式如下[]D M M MK TT36461464634⨯⨯-⨯⨯⨯∙∙∙=在MATLAB 中求出标定系数矩阵为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=⨯50431774.710853448.98206087.1400746543.101053770.000346613.000588396.098044282.000042886.000421058.000018055.097697147.034K则标定补偿后的加速度传感器输出值可由下面 标定补偿解算矩阵得到⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡∙⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡50431774.710853448.498206087.1400746543.1005883396.000421058.001053770.098044282.000018055.000346613.000042886.097697147.0M M M D D D z y x z y x 标定系数如下⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡50431774.710853448.498206087.1400746543.198044282.097697174.0B B B S S S z yx z y x。