基于LSM303DLH的电子罗盘设计
2021-09-05樊依林刘耀波范涛汲方林
樊依林,刘耀波,范涛,汲方林
(中煤科工集团西安研究院有限公司,陕西 西安 710077)
近年来,在矿山、武器、车辆、航空航天等领域都可以看到导航系统的广泛存在和应用。而利用地球磁场和地球重力场空间分布来实现被测物体姿态测量的电子罗盘已经成为导航系统不可或缺的组成部分。地磁场由于不受外界信号干扰、获取方便、成本较低,得到了广泛的应用[1-3]。目前,电子罗盘大多通过重力场信息和地球磁场信息配合来获得载体姿态角,这样带来的结果往往是系统设计比较复杂、成本上升、罗盘体积得不到较好控制、测量精度低。因此,设计集成度较高、体积小、可靠性较高的电子罗盘十分必要。
1 测量原理
通常而言,电子罗盘一般需要提供物体或者载体的俯仰程度、翻滚程度和在平面上的转向程度。这三者用角度量化,分别是倾角、工具面向角和方位角。而这3个参数一般是通过安装三轴磁传感器和三轴加速度传感器感知各个方向上的地磁场分量和重力场分量解算得到的。通常而言,所述电子罗盘的姿态角是在仪器坐标系下讨论的,可以根据欧拉定理通过在不同方向上的转动对应不同的角度[4-5],可以推导出3个角度的计算方法。式(1)给出了从其他坐标系到仪器坐标系的变换关系,即变换矩阵:
按照重力场坐标系的旋转,如式(2)所示:
式中,GX、GY、GZ分别表示地球重力场三分量传感器的输出值,相对于仪器坐标系而言,G0是在地理坐标下Z轴的值。倾角和工具面向角的表达式分别如式(3)和式(4)所示:
式中,θ为倾角,φ为工具面向角。按照地球磁场坐标系的旋转,如式(5)所示:
式中,BX、BY、BZ分别是仪器坐标系下地磁场三分量传感器的输出值。B0是在地理坐标下当地的地磁场总值。从而可得方位角的表达式:
式中,ψ为方位角。
2 硬件设计
设计的系统硬件框图如图1所示。系统主要分为3个部分:以LSM303DLH为核心的地磁场信息和加速度信息采集部分、以STM32为核心的数据提取控制和角度解算部分、485接口及电源电路部分。LSM303DLH芯片作为感知地磁场信息和加速度信息的集成器件,负责三分量重力场和地磁场的信息采集。由于重力加速度和地磁场都是模拟量,因此,为了减少外围器件的使用,内部集成A/D转换单元进行数模转换。LSM303DLH将采集到的加速度分量和磁场分量通过I2C通信总线传递给STM32F103微控制器,微控制器在读取到三分量加速度信息和磁场信息之后,按照文中所述计算方式计算姿态角。485接口及电源电路部分用于给系统供电及与上位机通信。
图1 硬件结构框图
2.1 LSM303DLH电路设计
LSM303DLH芯片是电子罗盘数据采集的核心部件,它是意法半导体公司推出的具有六轴模拟式分量输出的集成器件,包括三轴加速度分量和三轴磁分量,其中加速度传感器量程范围从±2 g到±16 g,并且可通过配置其内部寄存器选择量程,其内部磁传感器测量范围宽泛,最高可以达8 Gs,用户可以根据不同的需求,配置其内部寄存器以选择量程。相比较分立元器件测量磁场和重力场的方式而言,LSM303DLH在功耗、线性度、设计简便性方面具有很大优势。该芯片消耗电流典型值为0.83 mA,嵌入了具有增益放大、信号滤波、A/D采集、逻辑控制、I2C通信、温度补偿及时钟等多个电路单元,尺寸为3 mm×5 mm×1 mm[6-9]。LSM303DLH电路连接图如图2所示。
图2 LSM303DLH电路连接图
2.2 微控制器电路设计
微控制器选择意法半导体公司推出的32位微处理器STM32F103C8Cortex-M3,该芯片具有72 MHz的主频和高达1 MB的闪存,供电范围宽泛,包含丰富的外围设备,包括3个通用计时器和一个高级控制计时器,同时包括两个SPI、两个I2C、3个USART、一个USB和一个CAN接口。用STM32F103C8作为系统控制核心,用于从LSM303DLH内部读取地磁信息和加速度计信息,完成角度的计算和误差的修正。
3 软件设计
软件设计部分采用C语言编写,主要分为时序控制部分和数据处理两大部分。时序控制部分的主要功能是设置波特率,配置传感器采集模式、传输频率、采集三轴加速度信息和磁传感器信息。数据处理部分的主要功能是对原始数据进行中值滤波、根据角度计算3个姿态角并对误差进行修正,修正后与上位机通信输出角度信息。系统软件主要功能和时序流程图如图3所示。
图3 软件流程图
4 误差修正
测量误差的存在使得电子罗盘测量精度较低、灵敏度下降,所测量的姿态角不能满足测量需求。为了使电子罗盘测量更加准确,需要减小或者消除系统的误差。引起电子罗盘测量不准确的误差因素包括芯片制造误差、测量轴与坐标轴不重合误差等。芯片制造误差是LSM303DLH本身制造原因产生的误差,主要对传感器灵敏度和零位造成影响。测量轴与坐标轴不重合主要表现为3个轴与电子罗盘的坐标轴不正交、不重合[10-16]。
为了对设计的电子罗盘误差进行修正和补偿,采用最小二乘法求解超定方程来计算误差系数。首先搭建传感器误差修正方程,如式(7)和式(8)所示:
式(7)中,ax、ay、az为加速度传感器实际输出值,单位为g;b1、b2、b3表示加速度传感器的零位偏差,单位为g;axi、ayi、azi为加速度传感器的理论值;k12、k21、k31、k13、k23、k32、k11、k22、k33为影响传感器相关的正交和灵敏度误差因素。式(8)中,Hx0、Hy0、Hz0为磁性传感器的实际测量值,单位为Gs;t1、t2、t3为磁性传感器的零偏与硬磁材料引起的误差,单位为Gs;由M11、M12…M33构成的矩阵为综合误差矩阵。式(7)和式(8)共有24个待定系数,分别修正了系统存在的零位误差、正交误差、灵敏度误差和安装误差。假设给定多个确定位置,即传感器的实际测量值和理论值已知,从而可获得包含24个未知参数的线性方程组,根据最小二乘法求解线性方程组,计算出误差系数,从而修正系统的误差。
5 测试结果
为了测试设计的电子罗盘姿态角的测量精度,使用精密无磁姿态转台TX-3S作为测试平台。该测试平台姿态角采用数显的方式,测量精度为±0.001°,两两轴正交度≤0.1°,三轴相交度≤1°,满足系统测试要求。
图4为设计的电子罗盘在常温工作时(20℃)倾角在-90°~90°范围内的测量误差,每隔10°测量一个点。可以得出,倾角的测量绝对误差为±0.17°。
图4 倾角测量误差
图5为设计的电子罗盘在常温工作时(20℃)工具面向角在0°~360°范围内的测量误差,每隔30°测量一个点。显然,采用LSM303DLH芯片的电子罗盘工具面向角最大测量误差为±0.19°,完全能够满足当前市场对电子罗盘的测量要求。
图5 工具面向角测量误差
图6为设计的电子罗盘在常温工作时(20℃)方位角在0°~360°范围内的测量误差,每隔30°测量一个点。显然,采用LSM303DLH芯片的电子罗盘方位角最大测量误差为±1.4°,完全能够满足当前市场对电子罗盘的测量要求。
图6 方位角测量误差
6 结论
文中设计了基于LSM303DLH集成芯片的电子罗盘,对电子罗盘测量载体姿态角的原理和软硬件设计进行了详细论述,并对系统误差进行了修正。在实验室无磁转台上的测试结果表明,设计的电子罗盘在全空间范围内倾角和工具面向角测量绝对误差小于0.2°,方位角绝对误差小于1.4°,满足当前市场对电子罗盘的测量要求。