基于LSM303DLH的磁罗经传感器设计

2012-10-22 06:19楼然苗胡佳文
关键词:罗经磁场程序

楼然苗,胡佳文

(浙江海洋学院公共实验中心、网络中心,浙江舟山 316004)

目前船用罗经主要有电罗经和磁罗经,电罗经价格在10万元左右,精度较高但启动时间长。而机械平衡式指针磁罗经价格一般在2 000元左右,精度一般。机械平衡式指针磁罗经作为低价而性能稳定的船用设备得到了许多小型货船及渔船的配置应用,由于磁罗经通常安装在固定的地方,航行时船长使用查看较为不便。使用LSM303DLH制作的磁罗经传感器是通过读取磁罗经上磁针的磁场与两个互相垂直轴传感器输出的数据,从而计算出航船的航行磁北偏角信息,从串口传送到数字显示设备上,以方便船长查看,提高了航行的安全系数[1-10]。

1 硬件电路设计

图1为硬件电路原理框图。电路主要由微处理器、地磁传感器、RS485接口电路、七段发光二极管显示器及电源变换器组成。

1.1 微处理器电路

微处理器采用宏晶公司的STC12LE5608AD单片机,选择32脚的方形贴片封装(LQFP-32),运算速度为每秒10 万次;电源电压为 2.2~3.6 V,时钟频率为 0~35 MHz,速度相当于普通51系列单片机的0~420 MHz;内部数据存储器为768字节,程序存储器为8 K字节;内带8路10位ADC(Analog-to-Digital Converter)转换器。宏晶高速单片机无需专用编程器,可通过串口直接下载用户程序,在开发阶段尤为方便。主要资源使用情况为:P1口用于LED显示器的段码输出;串行口用于航行角的数字输出;P2口的三个端口用于与LSM303DLH传感器的I2C(Inter-Integrated Circuit)通信;P3.4口接一个按键小开关,用于初始化校正;P0.0口用于RS485芯片的使能控制。

图1 硬件电路原理框图Fig.1 Circuit block diagram

1.2 地磁传感器

LSM303DLH地磁传感器是意法半导体公司最新推出的具有三轴磁力计和三轴加速计集成的二合一传感器模块。采用I2C数字总线与处理器通信;磁力传感器的测量范围从1.3高斯到8.1高斯共分7档,重力传感器的测量范围为2个重力加速度到8个重力加速度,可用程序设置选择;其磁力传感器在20高斯以内的磁场环境下都能够保持一致的测量效果和相同的敏感度,它的分辨率可以达到8毫高斯,并且内部采用12位ADC,以保证对磁场强度的精确测量;加速计同样采用12位ADC,可以达到千分之一重力加速度的测量精度,加速计可运行于低功耗模式,并有睡眠/唤醒功能,可大大降低功耗。与采用霍尔效应原理的地磁传感器相比,LSM303DLH的功耗低,精度高,线性度好,并且不需要温度补偿。在磁力计数据更新频率为7.5 Hz、加速计数据更新频率为50 Hz时,消耗电流典型值为0.83 mA,在待机模式时,消耗电流小于3 μA。图2为LSM303DLH地磁传感器的应用电路图,加速度传感器与地磁传感器输出数据线采用并接办法,通过读不同的地址获取相应的数据。

图2 地磁传感器应用电路图Fig.2 Geomagnetism sensor application circuit diagram

1.3 RS485 接口电路

接口电路采用SP3485EN芯片,应用电路如图3。当发送数据时,输出使能端TE置1,TE为0时处于接收状态。

1.4 显示电路

显示电路采用三位共阳七段LED显示器,由于单片机的输入电流足以驱动LED发光,所以省却了驱动电路,发光电流用电阻加以限定,电路设计中电阻为1 K。采用定时器逐位扫描的方法进行航行角的显示,显示度数为三位整数(0~360°)。而从串口传送的数据为四位,其中小数位一位。

图3 RS485电平转换电路Fig.3 RS485 electrical level convert circuit

1.5 电源电路

电源电路用两片LM1117MP芯片,输入电压范围为直流5~15 V,采用级连完成两组稳压输出,输出电压分别为3.3 V和1.8 V。

2 程序设计

LSM303DLH地磁传感器内部有重力加速度和磁场强度的三轴输出功能,在磁罗经转换器中由于机械磁罗经处于水平状态,Mz近似为零忽略不计,所以仅使用了磁场输出数据中的水平方向数据MX、MY。根据图4地球磁场在磁传感器平面X、Y方向的分量大小,可求出航行方向与磁北方向的夹角θ。传感器安装时应将平面方向两轴的某轴与船首方向保持一致。

磁罗经传感器控制程序主要有:初始化程序、地磁场数据读出程序、磁北角计算程序、格式输出控制程序、显示程序及校正程序等。

图4 航向角与磁传感器输出量的关系Fig.4 Relationship of course angle and magnetic sensor output quantity

2.1 初始化程序

控制程序的初始化工作主要是对一些变量单元进行初值设定、I2C通信总线初始化、设定LSM303DLH地磁传感器的寄存器工作参数以及串行口波特率设定等。

2.2 地磁场数据读出程序

地磁场数据读出程序为主动式连续读取模式,LSM303DLH地磁传感器工作于最快的转换速度状态,微处理器不断读取实时的磁场数据,通过计算求得磁北航偏角,在微处理器使用12 MHz晶振时,读取一次并计算出角度的时间约为1 ms。

2.3 磁北角计算程序

磁北角的计算采用多次数据求平均值的方法,以提高精确度并减少干扰数据的影响。在程序中对连续的10个读出数据求得的磁北角进行平均值的计算,对个别相差特别大的数据进行丢弃,以保证读取数据的有效性。由于航船在行驶中转向缓慢,因此每秒4次以上的刷新率已足够保证使用的要求。

2.4 格式输出控制程序

磁罗经传感器输出的语句格式为IEC-61162-1标准(International Electro technical Commission,简称IEC)。语句标准格式为共17个ASCⅡ码,如“$HCHDM,108.1,M*21”。其中“$HCHDM”为格式标志符,后面俩逗号之间的为信息数据,表示航向角为偏北108.1°,“M”为标识符,“*”后面为前面所有ASCⅡ码的异或校验和。信息输出采用RS485电平,波特率一般为4 800 Baud。

2.5 显示程序

显示程序采用定时器自动扫描,三位共阳LED发光管显示器显示航偏角的整数部分,显示器的亮度四档可调。

2.6 校正程序

当地磁场附近有铁质或固定外磁场时,会对地磁场大小与方向产生磁干扰,从而改变地磁场的方向及大小。另外每路传感器的放大量不一致也会对输出数据产生误差,因此需对每路的最大值及中心点位置进行校正,方法是在首次安装完磁罗经传感器后,使船在原地慢慢地开2圈以上,或使磁罗经传感器绕磁罗盘中心点慢转2圈以上,内部程序将会对每路的磁强度最大值和最小值4个数据存放在内部存储器中,这样在以后每次计算磁北角时可对每路的实际测量值进行修正,这样就能消除硬铁干扰及放大量不一致造成的测量误差了。

3 测试与性能分析

经测试,用LSM303DLH设计的磁罗经传感器的读数误差优于1°,主要误差较大的地方在90°、180°、270°、360°附近,分析原因是在求反正切函数时分母数字接近为零,水平方向与垂直方向磁场量数据的比值较大。

4 结论

利用LSM303DLH三轴数字传感器制作的磁罗经传感器,具有灵敏度高、稳定性好等特点,该技术已应用于工厂化批量生产。

[1]RIPKA P.Advances in fluxgate sensors[J].Sensors and Actuators A:Physical,2003,106(1/3):8-14.

[2]RIPKA P.New directions in fluxgate sensors[J].Journal of Magnetism and Magnetic Materials,2000,215-216;735-739.

[3]GARCIA A,MORN C,MORA M.Theoretical calculation for a two-axis magnetometer based on magnetization rotation[J].Sensors and Actuators A:Physical,2000,81(1/3):204-207.

[4]LEDERMAN S J,MARTIN A,KLATZKY C T R L.Relative performance using haptic and/or touch produced aud itory cues in a remote absolute texture identification task[A]//Proceedings o f the 11th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems.IEEE Computer Society,2003:151-158.

[5]KRON A,SCHMIDT G.Multi-fingered tactile feedback from virtual and remote environm-ents[A]//Proceedings of the 11th Symposium on Haptic Inter faces for Virtual Environment and Teleoperator Systems.IEEE Computer Society,2003:16-23.

[6]郝振海,黄圣国.基于差分磁罗盘的组合航向系统[J].北京航空航天大学学报,2008,34(4):377-380.

[7]冯桂兰,田维坚,葛 伟,等.数字磁罗经系统的设计[J].测控技术,2006,25(8):86-88.

[8]张 琦,周冉辉,刘 睿,等.基于泊松方程的磁罗盘磁域自差修正[J].舰船电子工程,2011,31(9):51-53.

[9]文 方,黄钱飞.HMR3000在机器人姿态自控系统上的应用[J].自动化技术与应用,2010,29(6):27-28.

[10]李希胜,刘洪毅,郭晓霞,等.车用磁电子罗盘的研制[J].微计算机信息,2006,22(10-1):308-310.

猜你喜欢
罗经磁场程序
西安的“磁场”
为什么地球有磁场呢
磁罗经北极高纬海区航向误差分析与补偿
船上磁罗经自差表相关要求
给Windows添加程序快速切换栏
试论我国未决羁押程序的立法完善
“程序猿”的生活什么样
随机游走对罗经方位对准的精度影响分析
粒子群算法优化的捷联罗经初始对准方法
英国与欧盟正式启动“离婚”程序程序