基于磁阻传感器的电子罗盘设计
2023-03-10龙振弘周凯
龙振弘,周凯
(1.三明教育学院,福建三明 365000;2.西安航空制动科技有限公司,陕西西安 710075)
电子罗盘是利用地磁测量原理测定方向的设备。三轴电子罗盘可实时提供载体的航向角和姿态角,并在罗盘倾斜时进行倾斜补偿,确保航向数据的准确。随着传感器和半导体技术的发展,电子罗盘已实现微型化、低功耗,已广泛应用在航空、航海、陆上交通、野外勘探等领域,是现代定向导航系统不可缺少的组成部分[1-4]。电子罗盘的精度由测量地磁场的磁敏感元件决定,根据所用磁传感器工作原理的不同,常用的电子罗盘主要有霍尔效应式电子罗盘、磁感式电子罗盘、磁通门式电子罗盘[5]、磁阻式电子罗盘[4,6]。磁阻式传感器与上述几种传感器相比较,其优点是体积小、功耗低、测量精度高,缺点是稳定性较差,需要采取相应的补偿方法进行处理,消除外部磁场的影响和温度漂移,最终满足设计要求[7-9]。
文中所设计的电子罗盘采用HMC1043 磁阻传感器测量地磁场矢量值,利用加速度计ADXL330 测量载体的重力加速度值,通过罗差补偿算法提高姿态角的精度,具有精度高、抗干扰、实时性强的特点,可以满足导航领域对电子罗盘的性能要求。
1 姿态角解算和误差补偿
1.1 三轴电子罗盘姿态角解算
电子罗盘姿态角的定义如图1 所示,磁传感器测量的三个轴向的磁场强度是在载体坐标系OXbYbZb下测得的,其在导航坐标系(地理系)下的投影为。N-S表示地球南北极轴线,N′-S′表示地磁南北极轴线,夹角β称为磁偏角。ϕ为前进方向在地理坐标系的投影与当地磁子午线的夹角。俯仰角θ为载体坐标系Y轴与其在导航坐标系上投影的夹角,横滚角γ为载体坐标系X轴与其在导航坐标系上投影的夹角。在文中,俯仰角θ和横滚角γ根据加速度计的输出计算得到。电子罗盘是根据测得的、θ、γ求得航向角φ。
图1 电子罗盘姿态角的定义
航向角定义为载体坐标系与导航坐标系的夹角,要在导航坐标系求解航向角,首先要通过地磁场坐标变换将磁传感器在载体坐标系下的测量值变换到导航坐标系。设导航坐标系与载体坐标系初始时完全一致,导航坐标系跟随载体坐标系运动,若载体运动使导航坐标系绕载体坐标系的Yb轴旋转角度θ至,然后绕轴横滚角度γ,载体坐标系和导航坐标系之间的坐标变换关系可用式(1)表示[10-12]:
式中,θ和γ由加速度计的输出求得,由于加速度计测得的为载体相对于惯性空间的加速度在载体坐标系OXbYbZb中的投影,其测量值为重力加速度g在载体坐标系Xb、Yb、Zb轴的分量。设加速度计三个轴的测量值为,根据式(1)的坐标转换过程,可以解算出:
由上式可推出俯仰角θ为:
横滚角γ为:
求得电子罗盘的航向角为:
1.2 误差补偿
电子罗盘利用磁敏感元件测量地磁场来确定方向,电源和地线的噪声、磁感元件的制造误差、装配误差都会影响测量精度。可通过硬件滤波、电路优化布线、降低电源噪声、软件数据处理等措施抑制外界环境对电子罗盘的干扰,减小测量误差[14]。磁传感器附近的铁磁材料、电器设备等环境磁场与地球磁场叠加,会导致磁传感器难以正确感应地球磁场产生罗差,引起较大的航向误差。罗差是影响磁罗盘精度最主要的因素,因此需要对罗差进行修正。
硬磁材料和软磁材料都会引起罗差,综合考虑硬磁罗差和软磁罗差,可得到罗差计算公式如下[15-16]:
φ为罗差补偿前的航向角,Δφ为总罗差,φc补偿罗差后的真实航向角。A、B、C、D、E为罗差补偿系数,用最小二乘36 位置法求解出罗差补偿系数。罗差补偿系数计算方程为:
其中:
在进行误差补偿时把电子罗盘固定在无磁载体上旋转360°,每隔10°采集原始航向值,将实测数据代入式(11)中可解算出罗差的补偿系数X。在电子罗盘工作时,将补偿系数带入罗差计算公式(9)和(10),即可获得补偿后的电子罗盘的航向角,结合当地磁偏角,可以进一步推算出在地理坐标系中的地理航向角。在不失一般性的前提下,文中为了表述方便不考虑磁偏角,把电子罗盘解算结果作为航向角进行分析。
2 硬件设计
电子罗盘采用磁阻传感器芯片HMC1043 测出地球磁场在传感器X、Y、Z轴上的三个分量,采用加速度传感器ADXL330 测量重力加速度在X和Y轴上的分量,经STM32F103 解算和罗差补偿后,通过串口输出航向角。具体解算方法见第1 节叙述。系统的方案框图如图2 所示。
图2 系统方案框图
2.1 磁阻传感器电路设计
磁阻传感器型号为HMC1043,电路如图3 所示,图中芯片供电端增加磁珠L5和电容C33,以降低噪声干扰,减小误差。HMC1043 输出X、Y、Z轴的磁场强度,因信号较小,需要经过信号调理电路放大信号,再传输到STM32F103 进行解算。
图3 磁阻传感器电路
因STM32F103 中ADC 的参考电平为3.3 V,为了提高灵敏度,充分利用ADC 的分辨率,要对磁阻传感器的输出做电平调节。图4 所示为X轴信号调理电路,Y轴、Z轴信号调理电路同X轴。
图4 信号调理电路
2.2 加速度传感器电路设计
使用的三轴加速度传感器型号为ADXL330,该传感器体积小、功耗低,量程为±2 g。其电路如图5所示。
图5 加速度传感器电路
2.3 微处理器电路设计
微处理器采取ST 公司的32 位ARM 处理器STM32F103,该芯片采取Cortex-M3 内核,最大频率为72 MHz,该微处理器具有丰富的外设资源,可以满足电子罗盘的设计需求,此处不再赘述。
3 软件设计
软件系统使用Keil MDK5 开发环境,采用C 语言进行开发。电子罗盘开机后首先进行初始化,包括零偏补偿、串口波特率设置、AD 转换配置等。初始化结束后,ARM 处理器读取加速度信息,计算俯仰角和横滚角。读取三轴磁阻传感器信息,结合俯仰角和横滚角信息进行解算和罗差补偿后,将航向角打包成帧通过串口输出。软件流程如图6 所示。
图6 软件流程
4 实验验证
将电子罗盘固定在三轴转台上,在0°~360°之间每隔10°等间隔共36 个点进行试验,并按照文中给出的罗差补偿方法对航向角进行补偿,罗差补偿前后航向角误差对比如图7 所示。
图7 罗差补偿前后航向角误差对比
从图7 可看出,在经罗差补偿修正后,在0°~360°测量范围内,电子罗盘航向角的最大误差由4°降至0.5°,测量精度接近±0.5°,可见基于最小二乘的36 位置罗差补偿法效果较好,是一种简单实用的方法。
5 结论
文中介绍了一种基于HMC1043 磁阻传感器和ADXL330 加速度传感器的三轴电子罗盘的设计方案。对三轴电子罗盘姿态角解算和误差补偿进行了研究,对电子罗盘的软硬件设计进行了叙述,并对实验样机进行了测试,测试结果表明,设计电子罗盘航向角在0°~360°范围内的精度为±0.5°,满足导航领域对电子罗盘的使用要求,研究结果对提高电子罗盘的测量精度具有一定的参考价值。