hmc 磁阻传感器 单片机实例分享,基于HMC5883L的电子罗盘
单片机实例分享,基于HMC5883L的电子罗盘
罗盘是自动控制、测试及测量领域中用来获取方向信息的装置。目前应用较广泛的是磁阻式电子罗盘,这种电子罗盘具有较好的抗振性,对干扰有电子补偿,因此测向精度较高。但现有电子罗盘电路结构复杂、体积较大,不便于携带和使用,难以集成到现有嵌入式设备中。针对这些问题,本文提出了以霍尼韦尔(HoneyWell)公司三轴磁阻传感器HMC5883L为敏感元件,使用低功耗控制器AVR单片机为传感器数据处理单元的小型低功耗电子罗盘。该罗盘支持串口输出,可以方便集成到各种应用中。
电子罗盘测向原理
地球的磁感应强度为50~60μT,相当于沿着地球中心的一个磁棒,磁棒的两极相对于地理的两极有大约11.5°的夹角。无论何地,地球磁场的水平分量永远指向磁北极,这一原理是所有罗盘的制作基础。所有罗盘都是测量地球磁场的北方向,其他方向即可推算出来。地球磁场的北方向和实际的北方向有差别,而这种差别的大小在地球上的不同地点也是不同的,所以必须知道罗盘所在的大致位置,才能计算出如何补偿地磁和真实北方向的差别,以显示出真实的北方向。
磁北的方向就是地磁场在水平面上分量的方向。假设电子罗盘处于水平面上,要确定其相对于磁北的航向角α。由磁阻传感器可以直接得出地磁场的水平分量Hx、Hy,因此相对于磁北的航向角为:
正切函数的周期为180°,为保证数据有效性,船体航向角α转换到相对磁北0°~360°的范围内。可将上式分解,得到相对于磁北极的360°范围内(顺时针方向)的航向角,加上当地的磁偏角就可以算出与真北的航向角。
由于地磁南北极与地理南北极存在磁偏角,要得到准确的南北极方向,必须用计算结果加上或减去所在地区磁偏角,得出前进方向与地理北极的夹角,即真北方位角A。当所在地区磁偏角φ已知时,真北方位角为:A=α+φ。
硬件设计
电子罗盘的硬件系统如图21.1所示,主要由传感器、控制器、电源及串口输出4部分组成。控制器通过串口与PC通信,用于实现对电子罗盘的设置、校正以及测量数据输出。
图21.1 硬件系统设计图
1. 控制器模块图21.2 ATmega16 最小系统原理图
控制器采用ATmega16,这是一款基于增强的AVR RISC结构的高性能、低功耗8位MCU,工作电压为2.7~5.5V,在1MHz时钟下,工作电流为1.1mA。大多数指令可以单时钟周期执行,具有统一的中断管理,片上外围模块丰富,片内有16KB的Flash、1KB的RAM、512字节的EEPROM、8路的10位A/D转换器以及一路USART通信端口等资源。在本设计中,控制器串口与PC连接,可以对电子罗盘进行配置及校正,也可以将最终计算得到的方向及角度通过串口输出,供其他测量系统使用。控制器模块在ATmega16的基础上,做了最小系统的扩展,如图21.2所示。按照模块化设计思想,本文将最小系统制作成单独模块,其最终实物如图21.3所示。
图21.3 ATmega16最小系统实物图
图21.4 HMC5883L模块
图21.5 串口模块
图21.6 底板原理图
2. HMC5883L 模块HMC5883L是一种基于表面贴装的高集成、自带数字接口的弱磁传感器,应用于低成本罗盘和磁场检测领域。HMC5883L包括最先进的高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路,包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在1°~2°的12位模数转换器以及简易的I2C总线接口。
HMC5883L采用霍尼韦尔各向异性磁阻(AMR)技术,具有轴向高灵敏度和线性高精度的特点,能用于测量地球磁场的方向和大小。
HMC5883L模块的外围电路非常简单,本文采用的是成品模块,如图21.4所示。该模块外接引脚包括VCC、GND、SCL、SDA、DRDY、3V3。其中VCC为5V输入,模块自带降压功能,可以输出3.3V电压供其他模块使用。SCL与SDA为标准I2C接口,DRDY用于指示HMC5883L数据是否准备好,用于中断方式读取测量数据。
3. 串口模块
与PC通信的串口模块采用的是USB转串口方式,同样采用成品模块,如图21.5所示。该模块使用PL2303HX芯片实现USB转串口功能,具有电路简单、传输速度快等特点。模块引出的功能引脚包括TXD、RXD、GND、3V3、5V。其中5V为USB总线输出电压,本文将该电压作为下位机的供电电压。TXD与RXD为串口接口,与单片机直接连接,无需做电平转换。模块内部同时集成了降压模块,可以输出3.3V电压,但由于已经使用了HMC5883L模块的降压功能,本系统中该输出引脚悬空。
4. 底板模块
各模块之间需要通过底板进行连接,其原理图如图21.6所示。其中与HMC5883L模块的I2C接口使用的是ATmega16的硬件接口,因此需要连接PC0与PC1端口,DRDY则与PD7端口连接。串口模块与单片机的硬件串口端口PD0、PD1连接,总体连接相对简单。将各个模块通过插座、插针以及连接线连接,设备最终的样子如图21.7所示。
软件设计
电子罗盘的软件分为两部分:单片机上的软件以及PC端的控制软件。平时工作时,只需运行单片机上的程序,PC端软件仅显示当前数据。当需要配置或者校正时,要配合PC端软件使用。
单片机的软件流程如图21.8所示。参数保存在单片机的EEPROM中,掉电后仍然可以保存。
图21.7 总体设备实物图
图21.8 单片机软件流程图
PC机与单片机进行串口连接,平时工作时,单片机工作在正常模式,PC端软件通过串口查询当前方位角并显示在界面上。当需要配置电子罗盘时,可以通过PC端软件设置磁偏角,参数都会保存在单片机的EEPROM中,罗盘重启后还按之前的设置参数运行。当需要对罗盘进行校正时,通过PC端软件启动校正流程。用户需要在水平面上缓慢旋转罗盘360°,然后通过PC端软件告知罗盘结束校正,此时罗盘会自动计算出X、Y轴的偏移值并保存,同时PC端软件上会显示这些偏移值。
PC 端软件采用 Visual C++ 2005 编写,基于 MFC 框架开发,软件流程如图21.9所示。软件框架采用的是查询方式,由PC控制软件作为主动方,发送串口命令到单片机,单片机则作为被动方,将结果返回给PC控制软件。
通过界面上的按钮,用户可以设置电子罗盘、进行校正,并看到当前方位角的显示,界面如图21.10所示。使用时,先将单片机与PC串口连接,然后打开对应的串口号,此时即可以看到当前方位角显示在偏角栏里。如果需要设置磁偏角,只需将数值写入对话框,并单击“设置”按钮即可。校正功能相对比较复杂,在单击“开始校正”后,需要手动旋转电子罗盘360°,然后再单击“结束校正”,最大、最小偏移值即会显示在界面上。
罗盘误差及补偿
图21.9 PC端软件流程图
图21.10 PC 端软件界面
图21.11 有无干扰时的罗盘输出
造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。为了校准传感器放大电路,HMC5883 内部集成了自测试电路,可以驱动偏置电流带产生一定大小的测试磁场,以校准传感器各轴灵敏度。自测试还可以校准温度变化产生的漂移。当磁阻传感器处于较强干扰磁场中时,传感器灵敏度会下降甚至失效。为了消除这种影响,需要复位/置位电路施加脉冲宽度为2μs、电流强度为3~4A的电流,使传感器特性恢复。在目前应用较为广泛的HMC1022及HMC1022 模拟输出磁阻传感器中,复位/置位电路需要额外设计并由控制器控制,而HMC5883 芯片内部集成了生成复位/置位脉冲所需的驱动电路,且由片上ASIC 电路自动控制,在每次测量前自动进行复位/置位操作,不仅保证了传感器精度,也使传感器应用电路大为简化。
除了传感器本身的误差,磁阻传感器应用环境中的磁介质引起的磁场变化也会使电子罗盘精度降低。磁场干扰分硬磁干扰和软干扰两类。硬磁干扰是传感器附近的永磁体或被磁化的金属造成的,它对磁阻传感器输出的影响是固定的,使输出曲线图圆心偏移,如图21.11(b)所示。而软磁干扰则是地球磁场和传感器附近磁性材料的相互作用造成的,其干扰具有方向性,如图21.11(c)所示。
为了校正X、Y轴方向的硬磁干扰,需要在校准模式中绕Z轴缓缓旋转罗盘一周,在旋转过程中,罗盘不断采集X、Y轴的磁场强度数据,最终找出数据的最大值Xmax、Ymax和最小值Xmin、Ymin。对于Z轴的校准,需要绕X轴或Y轴旋转一周,找出Z轴数据的最大值Zmax、最小值Zmin。校准偏移量为:
将偏移量保存到控制器的EEPROM存储器中,在以后的每次测量中,将每轴的磁场强度减去对应的偏移量,即可校准硬磁干扰。消除软磁干扰的补偿算法较为复杂,在低成本的控制器上不易实现且效果有限,因此在本设计中选用了优化磁阻传感器安装位置的方法,以降低其他磁性材料对地磁场的干扰,保证罗盘精度。
总结
本文依据磁罗盘测向原理,设计了具有倾斜补偿功能的小体积、低功耗数字罗盘。该罗盘采用数字磁阻传感器HMC5883L及超低功耗处理器ATmega16L,具有电路结构简单、集成度高、抗干扰能力强等优点。实验证明,经算法补偿后,该电子罗盘精度可以达到±1°。由于硬件成本低、功耗小,它也适用于便携导航、小型飞行器控制,以及用于其他需要测量倾角和方位角的场合。
基于AMR磁阻传感器的无线车位检测设计
庞家成1,徐新民2
(1.杭州科技职业技术学院 信息工程学院,浙江 杭州 311402;2.浙江大学 信息与电子工程学院,浙江 杭州 310058)
:设计了以AMR磁阻传感器采集车位节点信号,通过ZigBee无线传感组网,以STM32F10X微控制器为协调器收集并分析处理信号的装置来检测车位的占用情况,最终将检测结果通过串口传输到上位机进行显示。在设计过程中充分考虑了器件的低功耗模式。通过对地下车库车位的实地测试验证,有效检测率在96%以上。
:磁阻传感器; ZigBee ;车位检测;多状态机算法
如今,探索车辆的有效检测技术及有效调度利用城市有限的停车位资源是研究的热点之一。在大型场所车辆有线检测诸存在多不便,而构建无线传感通信网络便于安装调试[1]。现有的超声波检测技术,其多次回波使得传感器的误差较大;红外探测技术受环境光源、热源变化的影响,误判率高;而地感线圈检测较为可靠,但其安装对路面造成破坏,施工麻烦,且线圈本身容易被锐器或硬物损坏,降低寿命,维护成本高[2]。而磁阻传感器体积小,对弱磁场反应灵敏,不易变形损坏,安装简单,受环境影响小,故本设计车辆检测传感器采用Honeywell公司的两轴磁阻传感器HMC1022进行车辆信号采集。
1AMR磁阻传感器原理及应用
物质在磁场中电阻发生变化的现象称为磁电阻效应,对于强磁性金属,当外加磁场平行于磁体内部磁化方向时,电阻几乎不随外加磁场而变;当外加磁场偏离金属的内磁化方向时,金属的电阻减小,这就是各向异性磁电阻效应,如图1所示。
从图1可以看出,磁阻效应与磁化强度M和电流I方向的夹角有关,如式(1)所示:
R(θ)=R⊥sin2θ+R‖cos2θ(1)
在图1中,磁场与电流相互平行时阻值变化最敏感,而夹角为45°左右时,阻值的变化接近线性[3]。
1.1AMR磁阻传感器原理
HMC1022由4个镍铁合金薄膜电阻构成的惠斯通电桥组成[4],电桥4个臂阻值随外加磁场与内部磁化方向的夹角而变化。电桥输出差分电压如公式(2)所示:
Vout=(ΔR/R)×Vb(2)
由公式(2)可见,在磁场为正负6 G时变化大致为线性关系。
1.2AMR磁阻传感器置位与复位
在强磁场的作用下,HMC1022内部磁筹将被磁化,测量精度下降,须使用置位复位电路进行消磁。在传感器的置位复位端加一个0.5 A的电流脉冲即可消磁[56]。
2车辆对地磁扰动的数学模型
在一定范围内地磁场的磁场强度为0.5 G~0.6 G[7]。车辆会扰动磁通线弯曲,改变磁感应强度。其数学模型可以简化为一个双极性磁铁,磁矩m在汽车中心并且平行于地磁场。m产生的磁分量为Bx、By、Bz [8],如式(3)、(4)、(5)所示。
由式(3)、(4)、(5),推导出此情况下磁感应强度表达式为[9]:
由以上公式看到,汽车产生的磁场扰动与其大小、形状以及与传感器之间的距离等具有较强的相关性。
3车辆检测节点硬件设计
3.1系统设计结构图
HMC1022采集车位节点信号,通过CC2530芯片进行ADC转换,数据处理后由ZigBee无线传感组网,发送数据信号给STM32F10X微控制器,并分析处理信号来检测车位的占用情况,检测结果在上位机上显示。原理框图如图2所示。
3.2HMC1022接口电路
HMC1022接口电路设计如图3所示。
在图3中,HMC1022输出信号分别为OUTA和OUTB,两路信号分别通过AD622进行小信号放大。AD622的增益选择满足式(7):
其中,RG即所选择阻值,G为期望增益。参考端对输出引入精密补偿,从而获得最佳的共模抑制。
3.3AMR传感器置位/复位电路
HMC1022磁阻传感器所能测量磁场强度为±6 G,设计置位复位电路进行消磁,电路如图4所示。
在图4中,考虑低功耗因素,由AMR_RST引脚产生周期为50 ms、宽度为4 μs的脉冲,并通过IRF7105放大为0.5 A。
4车辆检测软件设计
采集的信号经过ADC转换及处理后得到电压的变化量ΔV,然后进行滤波处理,通过阈值处理及多状态机检测算图5车辆检测软件流程法确定车辆有无信息。软件设计流程如图5所示。
4.1信号平滑滤波处理
由于背景噪声的存在,测量数据有干扰毛刺,为有效判定数据,需要对信号进行滑动均值滤波处理[10]。
滑动均值滤波是指对连续采样的m次数据进行平均值计算。如公式(8)所示,其中a(n)为m次数据平均值,g(n)为实时采样值数据。
每采样一次数据就能计算出一次均值,保证了实时性。
4.2多状态机的车位检测算法
多中间状态的状态机如图6所示 [11]。其中包括5个状态:nocar、car、count1、count0和count00,输入为u(k),其中间状态为count0、count00,输出为 car、nocar。
此算法不仅能判断车辆何时进入检测区,还可检测车辆离开检测器的中间状态,能够更好地从时间序列中提取车辆信息[12]。
4.3AMR终端节点组网
CC2530带有ZSTACK协议栈,节点作为路由器和终端,由STM32F10X构成协调器,组建ZigBee树形网络拓扑结构,允许其他节点加入网络。协调器组网流程如图7所示。
组网成功后,协调器可以搜索是否有新节点加入,并为新节点分配网络地址,之后每隔一段时间采集一次数据,并主动直接或通过路由器向协调器发送采集的数据。协调器将数据分析后传输给PC。
5车辆检测实验数据分析
实验样机在地下车库进行了相关的数据测试,车辆沿X敏感轴以20 km/h的速度驶过节点,共测试了40组数据,采集到的原始电压变化量ΔV(单位为V)如图8所示。
通过对原始数据进行滑动均值滤波后得到如图9所示数据图。
由图9可以看出,车辆的两个轮毂及发动机引起两次电压显著变化,通过多状态机算法即可判定车辆是否存在。与人工测量数据进行比较,分析误差结果,检测有效率在96%以上,其中误检测主要因为相邻车位消防栓、铁闸门等干扰所致。
6结论
本设计最终实现了车位占用情况的检测,在硬件选型、软件设计中均充分考虑了器件的低功耗模式。本设计依然存在不足,在节点的绿色能源充电方面也有待深入考虑。
参考文献
[1] 赵中琦,陈永锐,易卫东.基于磁阻传感器的无线车辆检测器[J].电子测量技术,2013,36(1):12.
[2] 彭春华,刘建业,刘岳峰.车辆检测传感器综述[J].传感器与微系统,2007,26(6):48.
[3] MICHAEL J C, BRATLAND T, SMITH C H, et al. A new perspective on magnetic field sensing[J].Sensors Magazine,1998(12):3436.
[4] CARUSO M J, WITHAMWASAM L S. Vehicle detection and compass applications using AMR magnetic sensors[EB/OL]. (20090605)[20160222].http://www.ssec.honeywell.com.2014.7.
[5] Honeywell. Implementing a setreset pulse circuit. Honey well Application Note[OL].[20160222]HTTP://www.ssec.honeywell.com.
[6] HGoneywell. Set/reset function for magnetic sensors. Honey well Application Note[OL].[20160222]http://www.ssec.honeywell.com
[7] 李胜希,于广华.各向异性磁阻传感器在车辆探测中的应用[J].北京科技大学学报,2006,28( 6):577590.
[8] SIFUENTES E, CASAS O PALLAS A R. Wireless magnetic sensor node for vehicle detection with optical wakeup[J].IEEE Sensors Journal,2011,11(8):16691676.
[9] KANG M H,CHOI B W,KOH K C, et al. Experimental study of a vehicle detector with an AMR sensor[J]. Sensors & Actuators A Physical,2005,118(2):278284.
相关问答
为何各向异性磁电阻 传感器 遇到较强磁场时,其灵敏度会降低?用...[最佳回答]物质在磁场中电阻率发生变化的现象称为磁阻效应.对于铁、钴、镍及其合金等磁性金属,当外加磁场平行于磁体内部磁化方向时,电阻几乎不随外加磁场变化...
什么是巨磁电阻?4.角度传感器。GMR是平面磁场方向,所以可以在平面内形成两轴,xy分别检测正交方向磁场,结算角度。5.金融磁头类。宜昌市瑞磁科技有限公司是一家电流传...
麻烦在座的老表还有谁知道 无锡采购钼铁,钼铁买哪个牌子好??[回答]如果你的面前有阴影,那是因为你的背后有阳光。感谢合作商那个东西是铁粉或铁氧体,你说的热水袋是靠电磁产生的热能的产生电磁的东西是封闭起来的是...