姜德军 李映
摘 要:随着移动智能设备的发展,MEMS磁力计的应用也日渐非常广泛。从手机到无人机,从虚拟现实设备(VR/AR)到多自由度遥控器皆可见磁力计的身影。但是磁力计由于自身的一些特点如个体差异性比较大、容易受工程设计和应用环境的影响等,磁力计校准系统必不可少。而常见的磁力计校准算法对内存、CPU等资源的要求比较高,不适用于一些嵌入式的微型设备。本项目通过基于低功耗蓝牙(BLE)通信设计了一套自动化的在线校准系统,可以应用于工厂生产环境或者实际用户环境的磁力计校准。
关键词:磁力计;低功耗蓝牙(BLE);校准
中图分类号:TP212.9 文献标识码:A 文章编号:1671-2064(2019)08-0039-02
磁力计在测量、能源、医疗监控、管道监控、自然灾害、工业、国防和航空以及消费电子产品中有着广泛的应用,2017年全球磁力计市场收入为86.6亿美元。依据美国透明市场研究(Transparent Market Research)公司的预测,预计磁力计市场还将在至2025年的预测期内保持8.7%的复合年增长率,到2025年将达到136.6亿美元。磁力计在使用过程中,会受到周围环境中的电磁干扰,局部电磁环境叠到加地磁环境中从而导致测量数据存在一定的误差,使用前一般需要先对磁力计进行校准,并在使用时使用校准数据对磁力计进行数据修正。本文针对微型系统设计了一套校准系统,具有速度快精度高的特点。
1 磁力计校准技术概述
MEMS磁力计设计采用各向异性磁致电阻(Anisotropic Magneto-Resistance,简称AMR)材料来检测磁场空间分布情况。AMR是一种具有晶体结构的合金材料,外界磁场的强弱变化会导致AMR自身电阻值发生变化,磁力计内嵌微处理器根据电阻变化计算出磁场强度和方向。
磁力计主要目的是检测地磁数据,但是通常地磁和局部干扰磁场叠加在一起。局部磁场的产生因素较多,例如磁力计附近有大块含铁镍钴等的金属部件,如螺丝、外壳、散热片和屏蔽罩等。根据安培定律电流通过的导线也会产生磁场,所以磁力计附近的走线也会引入局部干扰磁场。
优秀的硬件版图设计会尽量减少这种影响,例如避免磁力计附近有大块金属,避免布局在电源线附近和主芯片板附近。这些措施只可以降低而不能消除局部干扰磁场。
一般可以认为,局部干扰磁场γ在磁力计所在点可以视为一个恒定的矢量。 校准这些局部磁场干扰其本质就是通过计算将γ求出。常见算法有最小二乘法做椭球曲线拟合,基于迭代极大似然估计的几何方法进行椭球拟合等。这些校准算法在个人电脑(PC)或者类似手机这种有较多CPU和内存资源的系统上实现并不复杂,可以直接内嵌到设备内部。但是对于遥控器、无人机这种基于微处理方案的设备来说就很困难,例如其可能本身内存只有几十KB无法放下校准算法,这就需要一套独立的系统设计来做校准。
2 在线校准系统设计
2.1 系统架构
如图1所示,整体校准系统分为两个部分,一部分为设备端也就是被校准设备,另外一部分为主机端。两个部分以低功耗蓝牙进行通信。
设备端主要工作是对磁力计进行数据采样,将原始数据通过BLE芯片发送给主机系统。同时在主机完成校准时,将主机回写到设备的校准矩阵保存至内部闪存(Flash),这样在設备掉电或者重启后依然有准确的校准数据可以应用。
主机端通过外接蓝牙模块接受设备端数据,转换成串口(COM)数据输出至个人计算机(PC),PC端主要运行校准程序,做椭球拟合,做完拟合的数据将自动发送回设备端。
2.2 通讯协议
考虑到磁力计数据流不属于低功耗蓝牙的标准配置文件,为了实现磁力计数据和校验回写数据的传输,我们在低功耗蓝牙协议基础上定义了一个Calibration Service,制定了设备端和主机端之间的数据传输方式。Calibration Service基于BLE属性应用规范(Generic Attribute Profile,简称GATT),GATT指定了数据交互的结构,这个结构体定义了一些基本元素,如Service、Characteristic,这些元素存在于Attribute中。CALIBRATION_SERVICE为主服务,其他为辅助服务。主要服务及特征见表1和表2。
3 设备端设计
以磁力计LIS3MDL为例如图2所示,LIS3MDL通过I2C连接到Nordic 52822 I2C1端口,同时也需要将DRDY和INT管脚连接到Nordic 52822的两个GPIO上用于中断响应和数据状态监测。其中I2C的SCL、SDA需要外接4.7k欧姆的上拉电阻。
软件设计上,校准服务并不是默认打开的,而是设计为用户通过组合按键打开或者关闭校准服务,这样的设计有利于降低设备实际使用功耗。当用户按下组合键打开校准服务时,软件发送区别于正常工作模式的广播包(ADV),其中必须包含前面定义的校准服务(Calibration Service) 的UUID。主机端程序只有在发现该UUID情况下才会连接被测试设备。
当主机连接上校准服务后,设备端开始对磁力计进行采样,磁力计在完成一次数据采样后会通过中断通知蓝牙芯片数据有效可以读取。由于磁力计普遍采样率不高,一般为80Hz,相同的我们可以选择BLE以相同的连接间隔(Connection Interval)交互数据,提升交互效率。同时注册回调函数,当接受到主机端回写数据时,将回写的校准矩阵保存至内部Flash。再关闭校准服务,断开蓝牙连接。
4 主机端设计
如图1所示主机端硬件无需特别设计,直接使用Nordic 52832开发板作为低功耗蓝牙收发设备,其通过USB连接到Windows平台的PC上即可。
主机端软件包含两个部分,运行在Nordic 52832开发板上的固件和运行在PC上的校准程序。
固件设计为程序开始自动进入设备扫描状态,监听周围设备的广播包,当发现有设备广播包含有校准服务的UUID时就连接该设备。当多个设备都具有该UUID时,对所有设备的信号强度(RSSI)进行排序,选择RSSI最大的一个进行连接。为了避免工厂环境中过多的设备影响自动连接,需要预先定义一个阈值,典型的低功耗蓝牙1米距离RSSI为-40dBm, 我们只对大于-40dBm的设备进行比较排序。这样实际校准时只要将被校准设备移动至主机1米内,校准过程自动开始。
低功耗蓝牙连接建立后,固件自动从设备端开始读取磁力计原始数据,并格式化输出数据至串口。PC端程序从串口读取数据,进行数据拟合,拟合过程可以通过动画方式实时输出至显示器。校准完成时发送校准矩阵至串口,低功耗蓝牙收发设备将串口数据打包为蓝牙数据,发送至设备端,从而完成校准流程。当设备端断开连接时,主机端重新进入扫描模式,为校准下一个设备做准备。
5 结语
基于本设计的在线校准系统通过低功耗蓝牙传输磁力计数据,保持了设备端的轻量级,同时充分利用PC强大的数据处理能力,使得校准数据精度更高。该系统使用方便快捷,基于无线连接可以方便手持设备在空中画8字。被校准设备只要放置在主机附近,主机会自动扫描附近的设备,建立蓝牙连接并读取磁力计数据,数据拟合度满足条件时回写校准数据至设备端。配合PC端的软件还可以实时监控拟合结果,可以满足工厂生产环境下高频次的校准需求。
参考文献
[1] 赵红宇.低成本MEMS磁力计校正方法研究[J].大连理工大学学报,2018,58(1):105-107.
[2] 龙礼,张合.三轴地磁传感器误差的自适应校正方法[J].仪器仪表学报,2013,34(1):161-165.
[3] 徐加伟.基于低功耗蓝牙无线通讯技术的交通数据检测方法研究[D].哈尔滨工业大学,2013:16.