最近研究了隧道磁阻式传感器(以下简称为TMR)在汽车检测领域的应用,它是一种根据磁性材料的磁阻效应制成的新型传感器,被广泛应用于汽车、电力电子、磁信息读写、工业自动控制等领域。TMR将车辆引起的地磁扰动准确地转换为电平的变动,从而输出可供处理器分析的信号。
本文根据隧道磁阻式传感器的原理及在交通监控中的具体应用,设计一款基于隧道磁电阻芯片MMLP57F和nRF无线单片机的车辆检测系统。本系统由信号检测、信号预处理、信号处理、数据传输和存储、数据执行五个模块组成,可有效而准确地监测路面流量、车速和车行方向等基本信息,具有安装方便、集成度高、接口简单、可靠性高等优点。
一、系统概述
基于TMR的车辆检测系统可分为以下几个模块,系统结构图如图1所示:
信号检测模块。本设计选用(TMR)隧道磁电阻传感器,检测车辆经过时引起的磁场物理量的变化,并将该变化转换为电平信号送入信号预处理模块。
信号预处理模块。对信号进行预处理,主要是抑制共模干扰,并对电平信号进行差分放大,之后进行A/D数据采集。本系统中nRF无线单片机内置最高14路ADC,无需外部模数转换器。
信号处理模块。nRF无线单片机对预处理后的信号进行进一步分析和处理,设计滤波算法降低信号干扰、提取特征值,为检测算法提供有效的数据。
数据执行模块。经过算法处理后得到的数据,由控制单元控制执行器做出相应的操作,例如设计状态机检测车辆有无、车辆行驶方向;多个传感器同时使用时,还可以做车速检测算法;除此以外,还可以配置单片机的串口发射端,将数据存入电脑进行数据分析等等。
数据传输和存储模块。本系统使用串口与PC机通信,使用串口助手的数据保存功能,最后用MATLAB进行波形恢复和简单的滤波,可得到传感器输出电压与车辆状态的关系。
图 1 车辆检测模块结构图
二、车辆监测系统的硬件实现
本系统的硬件结构主要分为两个部分:数据采集部分和数据处理部分;从各个模块的功能上可分为: 3.3V电源模块、信号采集模块、信息检测模块、基于单片机串口的数据传输模块及可视化软件模块。图2给出了磁阻传感器车辆检测系统的总体结构。
图2 磁阻传感器车辆检测系统结构
2.1 三轴地磁传感器模块Vehicle Detection Module
地球具有磁性,地球的周围分布着磁场,而磁性的物质在磁场中会引起磁场的扰动,使磁力线被扭曲。汽车主要由磁导能力好的金属构成,因此会对地磁场产生明显的扰动。地磁场在提供背景磁场的同时,也产生了磁偏,磁偏分量会影响检测的精度。在实际应用中必须先把磁偏分量消除,只获取因车辆而产生的磁场变化,将此变化量转化为变化的电平信息。
基于TMR地磁传感器的车辆检测模块能感应车辆对地磁的扰动,通过计算和判断获取车辆的磁场信息。下表是检测模块Vehicle Detection Module的基本描述:
Vehicle Detection Module三轴传感器模块,搭载MDT公司的MMLP57F隧道磁电阻芯片,和用作差分放大的放大器MCP6N11,输出模拟电平信号,电平的幅度随周围磁场的变化而变化。根据芯片的文档资料,在正确使用模块前需做以下操作:
安装模块,确保在使用过程中没有任何松动或变动;
在无车环境下设置背景磁场;预设灵敏度为20(100mG);
在有车/无车环境下读取模块状态进行测试,据此判断灵敏度的合适程度,如有需要可调整灵敏度后再测试直到合适为止;
最后保存设置。
2.1.1磁阻传感器MMLP57F与差分放大器MCP6N11
图3中给出了Y轴部分传感器的电路图,使用3.3V供电,其中C9、C10为电源旁路电容,滤除高频噪声。VNY和NPY为MMLP57F隧道磁电阻传感器的差分电压输出,与电容C12、C13、C14耦合输入MCP6N11差分放大器的VIM和VIP引脚进行放大,输出电平VOUT。
图3 磁阻传感器车辆检测系统结构
MMLP57F是由多维科技生产的隧道磁电阻传感器,封装为SOP-8封装(尺寸为6mm*5 mm*1.7mm),采用推挽式惠斯通全桥结构设计,当外加磁场沿平行于传感器的敏感方向变化时,惠斯通全桥提供差分电压输出。图4和图5分别给出了MMLP57F传感器输出随外加磁场强度变化(外加磁场分别为±200 Oe和±30 Oe,供电电源为1V)的典型曲线。
图4 外加磁场为±200 Oe的输出曲线
图5 外加磁场为±30 Oe的输出曲线
由于隧道磁电阻传感器的输出电流很小,负载能力差,需对输出信号进行差分放大,这里使用Microchip公司的MCP6N11差分放大器。MCP6N11可作为高端电流传感器、惠斯通电桥传感器、电源控制环路、带电平移位功能的差分放大器使用,其带宽为500kHz,工作时供电电流为800uA/通道。单电源输入时,共模抑制比为:115dB(典型值,增益为100倍),可有效减少失真。
2.1.2 5V转3.3V稳压电路
模块自带5V转3.3V稳压电路,如图6所示,也可直接使用外部3.3V供电。模块稳压电路选用Micropower的SP6201EM5-3.3作为电源控制芯片。该芯片使用纤巧的DFN封装(2mm*3mm),具有输出电压精度高、输出可调等优点,只需要接上少量的去耦电容即可实现输入5V输出3.3V的电压,工作误差在正负0.1V之内,最高可提供600mA的电流,是理想的电源稳压芯片。
图6 5V转3.3V稳压电路
2.1.3 模块状态设定
模块采用SPI接口与上位机通信。SPI接口具体说明如下:
图7给出了SPI控制模块功能,图8给出传感器模块的SPI接口时序图。程序设计者可以通过SPI接口可以对模块的所有功能进行配置。在配置模块的寄存器时需注意以下几点:
背景磁场数据设置保存以后将不会变化,数据的范围与实时磁场数据一致;
实时磁场数据会随有车/无车的变化而变化,无车情况下数据范围在x4000~0xC000;
灵敏度数据应与设置保存值相同。
图7 SPI控制模块功能
图8 SPI接口时序图
2.2 微处理器nRF24LE1
由于要兼顾功耗、性能与无线扩展等因素,系统采用2.4GHz无线SOC单片机作为微处理器,处理器型号为nRF24LE1。nRF24LE1是低成本、高性能的嵌入式微处理器智能射频收发器家族的成员。它集成了高性能微处理器、Flash存储器、低功耗振荡器、实时计数器、节能控制部件等并提供了一个理想的无线协议平台。nRF24LE1具有以下特性:
内嵌2.4GHz低功耗无线收发内核NRF24L01,250kbps,1Mbps,2Mbps空中速率
高性能51内核,16kbytes Flash,1Kbyte data RAM,1Kbyte NV RAM
具有丰富的外设资源,内置128bit AES硬件加密,32位硬件乘除处理器,6-12位ADC,两路PWM,I2C,UART,硬件随机数产生器件,WDT,RTC,模拟比较器
提供QFN24,QFN32,QFN48多种封装,提供灵活应用选择
灵活高效的开发手段,支持Keil C,ISP下载,是开发无线外设,RFID,消费产品,无线数传等有力工具及平台。
三、车辆监测系统的软件平台
3.1 软件开发平台Keil C
单片机的运用离不开开发软件的支持,Keil C软件是目前主流的、用于开发51系列单片机的软件[ ]。通过该软件,可以对C语言程序进行编译,对目标模块和库文件模块进行链接,生成十六位HEX文件从而对程序进行调试。另外,Keil还支持汇编语言编程。Keil软件主要由以下几部分组成:
C51编译器。Keil C51编译器支持标准的C语言,并增加一些支持8051系列单片机结构的新特性。同时编译器还保留了汇编代码高效、快速的特点。C51编译器的功能不断增强,使开发者可以更加贴近微处理器本身,使得开发过程更加高效。
A51汇编器。该汇编器支持8051系列的所有汇编指令集。
uVision IDE。uVision IDE包括一个源程序编辑器、一个工程管理器和一个程序调试器。使用uVision可创建源文件,并组成应用工程加以管理。uVision IDE能自动完成编译链接等操作。
LIB 51库管理器。LIB 51库管理器可以从由汇编器和编译器创建的目标文件建立目标库,这些库可被链接器所使用。
BL51链接器/定位器。BL51链接器使用由编译器、汇编器生成的可重定位目标文件和从库中提取出来的相关模块,创建一个绝对地址文件。
OH51目标文件生成器。OH51目标文件生成器用于将绝对地址模块转为可被烧写进单片机的程序存储器中的INTEL格式的HEX文件。
在Keil C V8.17及其以后的版本中,nRF24LE1无线单片机已经列入其兼容型号表。使用前,安装好Keil,再安装Nordic公司的nRFProbe在线仿真软件调试工具,则Keil里会增加对nRF调试支持的选项,即可在Keil的IDE综合环境里进行开发。
3.2 数据可视化与分析软件MATLAB
MATLAB,中文名为:矩阵实验室,是由美国mathworks公司发布的高性能数学类应用软件。它集成了算法开发、数值分析、矩阵运算、信号数据可视化等诸多功能于一身。为开发人员提供了一个提供了一个可视化的交互式开发环境。MATLAB附带丰富的工具箱(Toolbox),这使得它广泛地被运用在不同的领域。
本设计使用MATLAB软件实现可视化数据的二维和三维图形。通过调用可视化数据的二维和三维图形函数,将串口输出的十六位二进制数转化为直观的电平变化波形。此外,由于矩阵实验室擅长做线性代数、线性卷积、傅立叶分析等信号方面的处理,因此在实现可视化的电平波形前还可以对波形进行平滑滤波。
图11 滤波后的波形
4.2 基于铁块模型的算法验证
汽车的外壳由金属构成,在行驶的过程中会切割地球磁场使汽车附近的磁场重新分布。若以地球作为坐标系,可将运动中的车辆等效成一个铁块。在算法仿真阶段时,可使用铁块模拟车辆经过的场景。将传感器水平放置,在距离磁阻传感器的上方10-15CM处搭建一个平台,平台使用木质板材搭建,这是为了减少环境对检测的干扰。
测试时,设与传感器相垂直的垂线为坐标原点,让铁块在木质平台上(即xoy平面上)沿X轴作往返直线移动,单片机检测信号是否超出阈值,是否判断为有铁块进过,并通过串口输出数据至电脑,运用MATLAB的数字计算和画图工具分析磁阻传感器的X,Y,Z三轴输出电平变化与铁球位置的关系。
4.2.1 全局输出波形分析(检测有无车辆)
对图12进行波形分析可知,当系统开始工作时,地磁传感器先做初始化工作并检测背景磁场,得到检测环境的平均磁场。当铁球每次经过与传感器相垂直的垂线时X、Y、Z三轴产生波动,当波动达到一定的幅度时,判定为有车状态,状态信号置“1”;若在规定的时间内波形变化的值大于设定的阈值,则认为该时间段内汽车一直处于监测区域内;在设定的时间内波形变化的值小于设定的阈值且X、Y、X三轴的输出电平趋于环境磁场,则认为汽车已离开了监测区域。
图12 全局波形
4.2.2 铁块运动方向的波形分析
图13和图14分别给出了铁块沿X轴正反向行驶的波形。将铁块的运动方向与传感器的输出波形进行对比可知,沿着X轴方向往返运动的两种波形中,只有传感器的X轴波形出现明显变化,而两种情况下的Y、Z两个轴波形几乎不变。对X、Y、Z轴的波形分别进行分析:
(1)X轴波形对比
沿X轴正向行驶方向时系统的输出波形先下降到一个波谷,再上升到波峰,在铁块离开检测范围后波形逐渐恢复为背景磁场值;沿X轴反向行驶时X轴的输出波形正好相反,先上升到波峰,再平滑下降至一个波谷,最终逐渐恢复为背景磁场值。利用X轴的波形特点,我们可设计一个波峰波谷检测算法。该算法的实现原理是通过判断汽车驶过敏感轴时的波峰波谷分布情况,从而判定车辆的行驶方向。因此地磁传感器的X轴信号适合用作车辆行驶方向的判断。
(2)Y轴波形分析
从输出波形可知,铁块无论是沿X轴正向行驶还是反向行驶,其Y轴方向的输出电压测量值都会出现一个峰值。在X轴波形开始出现明显的波动时,Y轴的输出电压值明显增加,且该峰值与环境磁场的差值较大。当铁块开始远离检测区域、X轴波形开始趋于平缓时,Y轴的电压值也平缓降回到背景磁场的水平。可以看出,Y轴信号受汽车行驶方向影响较小,只要有车辆经过传感器,Y轴就会输出一个明显的波峰或者波谷。因此,比起X轴或Z轴,分析Y轴波形更适合判断路面有无车辆,且判断的准确度更高。
图13 沿X轴正向行驶的输出波形
图14 沿X轴反向行驶的输出波形
车辆检测系统是否能正常运作取决于能否合理利用地磁传感器的输出信号,因此需要设计一个算法,用来做信号处理与检测,以上是使用铁块模型模拟汽车行驶来观察TMR传感器的特性和输出波形,下一节将给出车辆检测器的具体设计流程。