列表
00:00
/
00:00
l
r
  中国测试  2019, Vol. 45 Issue (2): 94-98

文章信息

张海鹏, 李杰, 张波, 胡陈君
ZHANG Haipeng, LI Jie, ZHANG Bo, HU Chenjun
基于椭球拟合的MEMS倾角仪现场快速标定系统
On-site quick calibration system of MEMS inclinometer based on ellipsoid fitting
中国测试, 2019, 45(2): 94-98
CHINA MEASUREMENT & TEST, 2019, 45(2): 94-98
http://dx.doi.org/10.11857/j.issn.1674-5124.2018030048

文章历史

收稿日期: 2018-03-13
收到修改稿日期: 2018-04-20
基于椭球拟合的MEMS倾角仪现场快速标定系统
张海鹏1 , 李杰1 , 张波1 , 胡陈君2     
1. 仪器科学与动态测试教育部重点实验室,山西 太原 030051;
2. 苏州中盛纳米科技有限公司,江苏 苏州 215123
摘要:针对由倾角仪核心模块MEMS加速度计的偏值和标度因数会随时间推移而产生变化,造成倾角仪倾角测量误差变大、准确度降低、对精密标定设备依赖性强的问题,设计一种基于STM32结合椭球拟合算法的倾角仪现场快速标定系统。该系统以STM32单片机为核心处理单元,内嵌椭球拟合算法,修正MEMS加速度计的偏值和标度因数;配合自编程的上位机程序实现对倾角仪的现场快速标定,保证其测量准确度。试验结果表明:该倾角仪现场快速标定系统操作方便,标定后降低测量误差且使测量准确度提高一个量级,具有一定的工程应用价值。
关键词倾角仪    MEMS传感器    椭球拟合    现场快速标定    单片机    
On-site quick calibration system of MEMS inclinometer based on ellipsoid fitting
ZHANG Haipeng1 , LI Jie1 , ZHANG Bo1 , HU Chenjun2     
1. Key Laboratory of Instrumentation Science & Dynamic Measurement of Ministry of Education, Taiyuan 030051, China;
2. Suzhou Fashion Nano Technology Co., Ltd., Suzhou 215123, China
Abstract: Bias value and scale factor of the accelerometer in the inclinometer core module MEMS will change with time, resulting in increasing errors in the tilt angle measurement, decreasing accuracy and strong dependence of the precision calibration equipment. For this reason, an on-site rapid calibration system of inclinometer based on STM32 combined with ellipsoid fitting algorithm is designed. This system uses STM32 single-chip microcomputer as the core processing unit and embeds with ellipsoid fitting algorithm, so that bias value and scale factor of MEMS accelerometer are revised. Together with the self-programming upper computer, the on-site rapid calibration of the inclinometer is realized, guaranteeing its measurement accuracy. Experimental results show that the on-site rapid calibration system of the inclinometer is easy to operate, measurement errors are reduced after calibrating, and the measurement accuracy is improved by one magnitude, which has certain engineering application value.
Key words: inclinometer     MEMS sensors     ellipsoid fitting     on-site quick calibration     microcontroller    
0 引 言

随着倾角传感器的不断发展,倾角测量仪的研制也在不断进步。国外倾角仪的研制大多为测量范围小、精度较低的仪器,如VTI公司生产的“SCA3100”型三轴数字倾角传感器,全温度范围内零点误差为±1.72°;瑞士TESA公司的Clinobevel1电子倾斜仪,该仪器的测量范围为±45°,测量误差为±0.01°。国内包括清华大学、天津大学等高校以及上海直川、西安精准测控等倾角仪厂家也积极开展倾角仪的研究[1],但国内在宽角度、宽温度范围、现场快速标定、倾角测量系统准确度的提高等方面的研究和应用较少[2-3],所设计的倾角测量仪目前普遍以加速度计为核心器件。但由于传感器器件本身的特性,其偏值和标度因数会随时间的推移和温度的变化而发生变化,所以需要定期利用高精密标定设备进行标定,否则会产生较大的计算和测量误差,严重影响测量结果[4-5]。传统具有现场快速标定功能的倾角仪一般采用180°翻转法,但是对倾角仪工装的上下表面平行度要求极高,无法满足实际应用需求。针对上述问题,本文设计一种倾角仪自标定系统,修正MEMS加速度计的偏值和标度因数。该倾角仪可在使用前进行现场快速标定,对精密标定设备依赖性低,对结构工装加工工艺要求低,简单易操作,可有效提高测量准确度,实用性高。

1 倾角仪在线标定原理 1.1 倾角测量原理

在倾角仪的组装过程中,MEMS加速度计会存在一定的安装误差角,所以在标定时需引入轴间交叉耦合系数,即三轴MEMS加速度计的静态输出模型[6-7]

$ \left[ {\begin{array}{*{20}{c}} {{u_x}}\\ {{u_y}}\\ {{u_z}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{k_{xx}}}&{{k_{yx}}}&{{k_{zx}}}\\ {{k_{xy}}}&{{k_{yy}}}&{{k_{zy}}}\\ {{k_{xz}}}&{{k_{yz}}}&{{k_{zz}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{a_x}}\\ {{a_y}}\\ {{a_z}} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {{u_{x0}}}\\ {{u_{y0}}}\\ {{u_{z0}}} \end{array}} \right] $ (1)

式中: $ i$ $ j$ ——xyz

$ {u_i}$ —— $ i$ 轴加速度计的输出电压,V;

$ {k_{ij}}$ —— $ i$ 轴方向有加速度输入时影响 $ j$ 轴加速度计输出的比例系数,V/g

$ {a_i}$ —— $ i$ 轴方向实际输入加速度的大小,g

$ {u_{i0}}$ —— $ i$ 轴加速度计在0 g状态时的电压输出,V。

当物体倾角发生变化时,相当于物体绕其坐标轴 $ {O_{{X_0}{Y_0}{Z_0}}}$ 旋转3次得到 $ {O_{XYZ}}$ ,如图1所示。

图 1 坐标变换

首先绕 $ {Y_0}$ 轴旋转 $ \varphi $ 角到坐标系 $ {O_{{X_1}{Y_0}{Z_1}}}$ ,再绕 $ {Z_1}$ 轴旋转 $\theta $ 角到坐标系 $ {O_{X{Y_1}{Z_1}}}$ ,再绕 $ X$ 轴旋转 $ \gamma $ 角到坐标系 $ {O_{XYZ}}$ ,用方向余弦矩阵[8]表示为

$\begin{aligned} {{C}}_{\rm n}^{\rm b} = \left[ {\begin{array}{*{20}{c}} {\cos\varphi \cos\theta }&{\sin\theta }\\ { - \cos\varphi \sin\theta \cos\gamma + \sin\varphi \sin\gamma }&{\cos\theta \cos\gamma }\\ {\cos\varphi \sin\theta \sin\gamma + \sin\varphi \cos\gamma }&{ - \cos\theta \sin\gamma } \end{array}} \right. \left. \begin{array}{*{20}{c}} { - \sin\varphi \cos\theta }\\ {\sin\varphi \sin\theta \cos\gamma + \cos\varphi \sin\gamma }\\ { - \sin\varphi \sin\theta \sin\gamma + \cos\varphi \cos\gamma } \end{array} \right] \end{aligned} $ (2)

设载体坐标系下的三轴加速度为: $ {\left[ {\begin{array}{*{20}{c}} {a_x^{\rm{b}}}&{a_y^{\rm{b}}}&{a_z^{\rm{b}}} \end{array}} \right]^{\rm{T}}}$ ;地理坐标系下的三轴加速度为: $ {\left[ {\begin{array}{*{20}{c}} {a_x^{\rm{n}}}&{a_y^{\rm{n}}}&{a_z^{\rm{n}}} \end{array}} \right]^{\rm{T}}}$ 。则它们之间的关系为

$ {\left[ {\begin{array}{*{20}{c}} {a_x^{\rm{b}}}&{a_y^{\rm{b}}}&{a_z^{\rm{b}}} \end{array}} \right]^{\rm{T}}} = {{C}}_{\rm{n}}^{\rm{b}}{\left[ {\begin{array}{*{20}{c}} {a_x^{\rm{n}}}&{a_y^{\rm{n}}}&{a_z^{\rm{n}}} \end{array}} \right]^{\rm{T}}} $ (3)

当被测物体静止时,由式(2)、式(3)可得地理坐标系下的加速度为

$ \left[ {\begin{array}{*{20}{c}} {a_x^{\rm{b}}}\\ {a_y^{\rm{b}}}\\ {a_z^{\rm{b}}} \end{array}} \right] = {{C}}_{\rm{n}}^{\rm{b}}\left[ {\begin{array}{*{20}{c}} 0\\ 1\\ 0 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\sin\theta }\\ {\cos\theta \cdot \cos\gamma }\\ { - \cos\theta \cdot \sin\gamma } \end{array}} \right] $ (4)

当被测物体绕 $ Z$ 轴转动时得到俯仰角 $ \theta $ ,绕 $ X$ 轴转动时为滚转角 $ \gamma $ 。由式(4)可得:

俯仰角:

$ \theta = {\rm{arctan}}\left(\frac{{a_x^{\rm{b}}}}{{\sqrt {{{\left( {a_y^{\rm{b}}} \right)}^2} + {{\left( {a_z^{\rm{b}}} \right)}^2}} }}\right) $ (5)

滚转角:

$ \gamma = {\rm{arctan}}\left(\frac{{a_z^{\rm{b}}}}{{a_y^{\rm{b}}}}\right) $ (6)
1.2 椭球拟合原理

理想状态下,倾角仪内的MEMS加速度计是正交的,静止放置时其加速度计测量所得的模值为定值,所以在三轴正交坐标系中可构成一个球体面[9],即:

$ {{{a}}^{\rm{T}}}{{a}} = {\left[ {{{{K}}^{ - 1}}\left( {{{u}} - {{{u}}_0}} \right)} \right]^{\rm{T}}}\left[ {{{{K}}^{ - 1}}\left( {{{u}} - {{{u}}_0}} \right)} \right] = {g^2} $ (7)

其中 $ {{a}} = {\left( {{a_x},{a_y},{a_z}} \right)^{\rm{T}}}$ $ {{u}} = {({{u}_x},{{u}_y},{{u}_z})^{\rm{T}}}$ $ {{{u}}_0} = {({u_x}_0,{u_y}_0,{u_{z0}})^{\rm{T}}}$ $ {{K}} = \left[ {\begin{array}{*{20}{c}} {{k_{xx}}}&{{k_{yx}}}&{{k_{zx}}}\\ {{k_{xy}}}&{{k_{yy}}}&{{k_{zy}}}\\ {{k_{xz}}}&{{k_{yz}}}&{{k_{zz}}} \end{array}} \right]$

但是在实际的应用中,由于安装误差和不同传感器性能参数的差异,使标准的球体面变化为椭球面[10]。椭球的曲面是一种特殊的二次曲面,假设曲面方程为

$ F\left( {{{\xi }},{{\eta }}} \right) = {{{\xi }}^{\rm{T}}}{{\eta }} = 0 $ (8)

其中: $ {{{\xi }}^{\rm{T}}} = \left[ {a\;b\;c\;d\;e\;f\;p\;q\;r\;l} \right]$ 为待求参数, $ {{\eta }} = $ ${\left[ {{x^2}\;{y^2}\;{z^2}\;2xy\;2xz\;2yz\;2x\;2y\;2z\;1} \right]^{\rm{T}}}$ 为三轴加速度计所测量数据的组合向量。

采用最小二乘法对测量数据样本进行椭球拟合,并添加约束条件对样本中的杂质点进行剔除,拟合得到椭球方程的矢量式[11]

$ {({{X}} - {{{X}}_0})^{\rm{T}}}{{S}}({{X}} - {{{X}}_0}) = 1 $ (9)

其中 $ {{S}} = \left[ {\begin{array}{*{20}{c}} a&d&e\\ d&b&f\\ e&f&c \end{array}} \right]$ ,为与椭球半径及旋转角度有关的参数矩阵; $ {{{X}}_0} = - {{{S}}^{ - 1}}{\left[ {\begin{array}{*{20}{c}} p&q&r \end{array}} \right]^{\rm{T}}}$ ,为理想椭球曲面中心坐标。由式(7)与式(9)展开可得:

$ \left\{ {\begin{array}{*{20}{l}} {{{u}}^{\rm{T}}} ({{{K}}^{ - 1}})^{\rm{T}} {{{K}}^{ - 1}}{{u}} - 2{{{u}}^{\rm{T}}} ({{{K}}^{ - 1}})^{\rm{T}} {{{K}}^{ - 1}} {{{u}}_0} +\\\quad {{u}}_0^{\rm{T}}({{{K}}^{ - 1}})^{\rm{T}}{{{K}}^{ - 1}} {{{u}}_0} = {g^2}\\ {{{{X}}^{\rm{T}}}{{SX}} - 2{{X}}_0^{\rm{T}}{{SX}} + {{X}}_0^{\rm{T}}{{S}}{{{X}}_0} = 1} \end{array}} \right. $ (10)
$ {\text{解得}}\left\{ {\begin{array}{*{20}{l}} {{k_{xx}} = \sqrt {{{a'} / {{g^2}}}} }\\ {{k_{yy}} = \sqrt {{{b'} / {{g^2}}}} }\\ {{k_{zz}} = \sqrt {{{c'} / {{g^2}}}} }\\ {{{{u}}_0} = - \left[ {\begin{array}{*{20}{c}} {a'}&{d'}&{e'}\\ {d'}&{b'}&{f'}\\ {e'}&{f'}&{c'} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} p\\ q\\ r \end{array}} \right]} \end{array}} \right. $

由式(10)解得的 $ {k_{xx}}$ $ {k_{yy}}$ $ {k_{zz}}$ $ {{{u}}_0}$ ,配合最近一次精密标定设备标定的 $ {k_{ij}}$ ,即通过修正MEMS加速度计的偏值和标度因数完成对倾角仪的现场快速标定。

2 系统实现 2.1 硬件平台设计

系统结构框图如图2所示,主控芯片采用ST公司Cortex-M4内核32位单片机STM32F405RG,其内部采用DSP指令集,168 MHz的高速主频,能满足该系统数据处理和椭球拟合算法的实现;信号调理模块采用德州仪器公司的轨至轨运算放大器OPA4340,增强模拟信号的驱动能力;模数转换芯片采用亚德诺半导体公司的AD7192;微机电加速度计采用SDI公司±2g的SDI1521;存储芯片采用三星公司生产的1Gbyte NAND型FLASH[12]。AD7192采用SPI总线协议与主控芯片进行通信,时钟线SCL、数据线MISO和MOSI分别与STM32的PB3,PB4,PB5 3个I/O口连接,数据转换完毕后,数据线MISO被拉低,STM32通过写入数据寄存器地址读取数据。

图 2 系统总体框架图

2.2 软件设计

软件部分由下位机程序和上位机软件两个部分组成。

下位机程序流程框图如图3所示。正常工作时,通过SPI接口控制AD7192对三轴加速度计输出电压进行采样、量化,将模拟信号转化为数字信号传入STM32进行解算[13],对解算结果进行编帧后一部分通过串口将数据传输到上位机进行实时显示,另一部分存储于FLASH中作为备份,传输帧格式如表1所示。

表 1 编帧格式
帧头 帧计数 俯仰角 滚转角 帧尾
EB EB 3字节 4字节 4字节 AA

图 3 下位机程序流程框图

当上位机通过串口传输标定命令给下位机时,系统随即从虚线框进程中产生标定中断并进入标定程序,分别绕 $ X$ $ Y$ $ Z$ 轴旋转6个位置,利用上位机发送标定结束命令在中断开始处进行中断返回,系统进行数据处理,标定结果存入STM32单片机的内部FLASH中,再次计算角度时系统自动读取最近一次标定的结果并代入进行解算以保证系统处于计算误差最小的状态。

上位机软件采用LabVIEW软件编写,通过串口控件向下位机发送标定命令和对下位机传输的数据进行读取,通过判帧和浮点数转换进行数据解析并存储解析数据,通过波形显示和3D控件对角度进行实时显示;需要标定时,可通过按钮控件发送相关命令。如图4所示。

图 4 上位机软件

3 系统验证

系统主要是能够修正MEMS加速度计的偏值和标度因数以实现倾角仪的现场快速标定功能。由三轴MEMS加速度计静态模型式(1)、式(5)、式(6)可得俯仰角 $ \theta $ 与滚转角 $ \gamma $ ,分别为

$ \begin{aligned} \theta =& {\rm{arctan}}\left[ {\displaystyle\frac{{{{\left( {\displaystyle\frac{{{u_x} - {u_{x0}}}}{{{k_{xx}}}}} \right)}^{{\rm b}}}}}{{\sqrt {{{\left[ {{{\left( {\displaystyle\frac{{{u_y} - {u_{y0}}}}{{{k_{yy}}}}} \right)}^{{\rm b}}}} \right]}^2} + {{\left[ {{{\left( {\displaystyle\frac{{{u_z} - {u_{z0}}}}{{{k_{zz}}}}} \right)}^{{\rm b}}}} \right]}^2}} }}} \right]\\ \gamma =& \arctan \left[ {\frac{{{{\left( {\displaystyle\frac{{{u_z} - {u_{z0}}}}{{{k_{zz}}}}} \right)}^{{\rm b}}}}}{{{{\left( {\displaystyle\frac{{{u_y} - {u_{y0}}}}{{{k_{yy}}}}} \right)}^{{\rm b}}}}}} \right] \end{aligned} $

通过现场快速标定,将MEMS加速度计偏值 $ {{ u}_0}$ 与标度因数 $ { K}$ 与倾角仪俯仰角 $ \theta $ 、滚转角 $ \gamma $ 联系起来,从而将MEMS加速度计偏值 $ {{ u}_0}$ 与标度因数 $ { K}$ 值的修正与准确度的提高在倾角仪实时显示的角度值中表现出来。

在0°~90°间以15°为间隔均匀选取0°、15°、30°、45°、60°、75°、90°角度位置,用于在高精度转台标准角度位置下对倾角仪输出角度进行对比、验证与分析。

验证步骤如下:

1)如图5所示,将长期未标定的倾角仪安装到高精度转台,设置转台中框转动90°,使系统 $ X$ 轴朝上, $ Y$ 轴朝里, $ Z$ 轴朝右,在位置模式下,使中框(绕 $ Z$ 轴)以选取角度位置依次转动,每个位置停留20 s,以通过配套上位机对倾角仪输出角度进行显示、存储与记录。

图 5 转台试验

2)将步骤1)使用后的倾角仪配合上位机软件进行现场快速标定后,安装到高精度转台上,重复步骤1)角度位置转动过程,通过配套上位机显示、记录并存储现场快速标定后倾角仪输出角度。

3)将步骤2)使用后的倾角仪用高精度转台标定后,安装到转台上重复步骤1)角度位置转动过程,通过配套上位机显示、记录并存储高精度转台标定后倾角仪输出角度。

4)将高精度转台标准角度、长期未标定倾角仪输出角度、快速标定后倾角仪输出角度、高精度转台标定后倾角仪输出角度做对比如表2所示。

表 2 输出角度对比表
转台位置
角度/(°)
长期未标定输
出角度/(°)
快速标定后输
出角度/(°)
转台标定后输
出角度/(°)
0 1.094 3 0.031 3 0.010 6
15 16.395 3 14.984 1 15.020 1
30 31.255 2 30.003 6 30.001 2
45 46.397 5 45.037 9 45.021 3
60 61.477 1 60.046 6 60.014 2
75 76.530 6 74.988 7 75.001 4
90 91.715 5 89.995 4 90.001 1

5)将长期未标定倾角仪输出角度、快速标定后倾角仪输出角度、高精度转台标定后倾角仪输出角度对比转台标准位置角度做角度误差,利用Matlab画图对比如图6所示。

图 6 标定效果对比图

由图、表可知,随时间的推移,长期未标定倾角仪内部MEMS加速度计的偏值和标度因数都发生了一定的变化,倾角仪角度测量有明显误差;具有修正MEMS加速度计偏值和标度因数功能的倾角仪可以在每次使用前进行快速标定,可使测量误差降低一个量级,减小了倾角仪随时间的推移而产生的测量误差。

实际应用中,组成倾角仪的MEMS器件其偏值和标度因数会随时间的变化而产生较大的误差,而安装误差几乎不变,故具有现场快速标定功能的倾角仪只标定MEMS器件的偏值和标度因数。且由表2可知,以转台转动的实际角度为参考,具有现场快速标定功能的倾角仪在使用前进行快速标定,使所测角度值较接近转台显示角度值,明显提高倾角仪角度测量的准确性和精确性。

4 结束语

本文以STM32结合椭球拟合算法配合自编程上位机程序实现对倾角仪核心器件MEMS加速度计偏值和标度因数的现场快速修正,解决了倾角仪随时间推移而导致测量准确度降低的问题,该方法对精密的标定设备依赖性低,操作方法简单。标定后测量准确度与转台精确标定准确度相当,适合在没有高精度标定设备的情况下进行现场快速标定,具有一定的工程应用价值。

参考文献
[1]
刘伟. 基于微惯性传感器的倾角测量系统研究[D]. 太原: 中北大学, 2017
[2]
沙承贤, 李杰, 翟成瑞, 等. 基于MEMS加速度传感器的数字倾角仪设计[J]. 传感器与微系统, 2010, 29(6): 134-136. DOI:10.3969/j.issn.1000-9787.2010.06.042
[3]
谭志斌, 赵祚喜, 张霖, 等. MEMS惯性传感器的三轴转台实验研究[J]. 电子测量技术, 2012, 35(4): 110-115. DOI:10.3969/j.issn.1002-7300.2012.04.029
[4]
刘俊, 石云波, 李杰. 微惯性技术[M]. 北京: 电子工业出版社, 2005: 159-163.
[5]
李哲. 基于MEMS传感器技术的数字式倾角仪的研究[D]. 天津: 天津大学, 2008.
[6]
李杰, 田晓春, 范玉宝, 等. 基于椭球拟合的弹载MIMU现场快速标定技术[J]. 弹箭与制导学报, 2013, 33(1): 10-12. DOI:10.3969/j.issn.1673-9728.2013.01.003
[7]
李荣冰, 刘建业, 孙永荣. MEMS-IMU构型设计及惯性器件安装误差标定方法[J]. 中国惯性技术学报, 2007(5): 526-529. DOI:10.3969/j.issn.1005-6734.2007.05.005
[8]
马洪连, 郑保重, 王伟. 基于MEMS技术倾角测量系统的设计与实现[J]. 仪器仪表学报, 2005, 26(8): 185-187.
[9]
范玉宝, 李杰, 张晓明, 等. 基于椭球拟合的微惯性测量组合现场快速标定方法[J]. 传感技术学报, 2011, 24(11): 1547-1550. DOI:10.3969/j.issn.1004-1699.2011.11.007
[10]
张海鹰, 何波贤, 郑铁山, 等. 基于椭球拟合的三轴加速度计误差补偿方法[J]. 传感器世界, 2015, 21(6): 7-10. DOI:10.3969/j.issn.1006-883X.2015.06.001
[11]
朱建良, 王兴全, 吴盘龙, 等. 基于椭球曲面拟合的三维磁罗盘误差补偿算法[J]. 中国惯性技术学报, 2012, 20(5): 562-566. DOI:10.3969/j.issn.1005-6734.2012.05.012
[12]
张勇, 董浩斌. 基于STM32和LabVIEW的地震数据采集卡的设计[J]. 电子技术应用, 2012, 38(10): 72-74. DOI:10.3969/j.issn.0258-7998.2012.10.023
[13]
王晨辉, 吴悦, 杨凯. 基于STM32的多通道数据采集系统设计[J/OL]. 电子技术应用, 2016, 42(1): 51-53.