基于单片机MSP430行驶车辆检测器的设计
0 引言
近年来,车辆检测器作为交通信息采集的重要前端部分,越来越受到业内人士的关注。鉴于公路交通现代化管理和城市交通现代化管理的发展需要, 对于行驶车辆的动态检测技术——车辆检测器的研制在国内外均已引起较大重视。车辆检测器以机动车辆为检测目标,检测车辆的通过或存在状况,其作用是为智能交通控制系统提供足够的信息以便进行最优的控制。目前,常用的行驶车辆检测器主要有磁感应式检测器,超声波式检测器,压力开关检测器,雷达检测器,光电检测器以及视频检测器等,而环形线圈电磁感应式车辆检测器具有性能稳定、结构简单、检测电路易于实现、成本低、维护量少、适应面广等优点,市场应用范围最广。目前我国实际用于高速公路和城市道路的车辆检测器几乎全部是从国外进口的, 国产车辆检测器存在着诸多问题, 如误检率高、灵敏度低、长时间工作稳定性差等。[1-2]
在大量现场实验基础上, 本文提出一种新的解决方案, 将稳定性、灵敏性、高速性融为一体,解决了以上所述的诸多问题。
1 工作原理
本系统采用MSP430F1121A单片机与环形线圈相结合的方法对行驶车辆进行检测,是一种基于电磁感应原理的检测器。传感器线圈为通过有一定电流的环形线圈,当被检测铁质物体通过线圈切割磁力线,引起线圈回路电感量的变化,检测器通过检测该电感变化量就可以检测出被测物体的存在。本文利用由环形线圈构成回路的耦合电路对其振荡频率进行检测。但线圈检测易受车辆、湿度、温度等外界环境的影响,基准频率会产生漂移,从而影响检测效果。同时,由于车型、车体、车速的不同,亦会影响检测的准确性。针对这些情况,本文提出了一种软件动态刷新检测基准的方法,以及抗干扰的软件数字滤波方法,充分利用MSP430系列单片机的片上资源对线圈频率进行检测,有效提高了检测的准确性与可靠性。
2 系统结构及硬件设计
2.1 系统结构
系统以MSP430F1121A单片机为核心,由环形线圈传感器模块、LC振荡电路、整形电路、频率选择模块、电源模块、电压监测模块、工作方式设置模块、信号输出模块及JTAG等组成。系统结构框图如1 所示。
2.2 各模块原理及硬件实现
环形线圈传感器是一只埋在路面下的矩形线圈,其两端引线接车辆检测器。环形线圈的作用相当于LC振荡回路中的电感L,当有金属物体靠近时,其电感量发生变化,从而引起振荡频率的改变。通过对频率的检测、比较,可以判断车辆的驶入或驶出。由它组成的LC振荡电路与整形电路一起构成了信号输入电路,如图2所示。
环行线圈与行驶车辆之间是通过电磁场进行耦合的。当车通过环形线圈并处在一定的位置时,在车体中引起的涡流是一定,而涡流对环形线圈的影响也是一定的,车辆与环形线圈之间存在着一定的互感。于是,我们把车辆看作具有电感L1和电阻R1的短路环,它通过互感M与环形线圈相交链。环形线圈供电电压为,由振荡电路提供,电感为L2,电阻为R2。则可推之等效电感为:
(1)
其中第一项L2的变化幅度与车辆的导磁率有关,第二项与电涡流效应有关。若工作频率选择适当,当有车辆通过环形线圈时,(1)式第一项的变化量将小于第二项,即等效电感减小。而LC振荡器的振荡频率为:
(2)
显然,当车辆通过环形线圈时,L变小,则f增大,通过单片机检测电路测得其频率的变化,从而可判断有无车辆通过。
电路中由三极管Q1和Q2组成共射极振荡器,电阻R3是两只三极管的公共射极电阻,并构成正反馈。Tl为磁罐变压器,起着阻抗变换和与外电路隔离的双重作用。其绕组Ll通过引线外接环形线圈,环形线圈的感抗通过Tl反射到绕组L2,形成等效电感L,L与并联的电容Cl形成振荡回路,LC值决定了振荡频率。开关Sl闭合时,电容C2与Cl并联,电容量增加,振荡频率降低,由此来设置高低两种振荡频率是考虑到现场的不同情况,以便取得较好的检测效果。LC振荡电路输出的是带毛刺的正弦波,不适合单片机做数字化处理,因此需要单向稳压二极管和单门限电压比较器将其转变为方波信号输出。
由于不同应用场合中,LC振荡电路的振荡频率不近相同,故输出的方波信号通过一计数器进行分频,再由频率选择接口送入单片机的P2.5口,从而避免了单片机的计数溢出,增强了单片机对信号处理的灵活性。
MSP430F1121A单片机为16位RISC指令结构;内置4kBFlash和256BRAM;一个l6位定时器Timer-A和看门狗定时器;一个具有3种内部参考电平和输出带RC滤波的比较器等。[3-4]
本文应用MSP430F1121A的P2.5口的外部管脚中断以及Timer-A定时中断相配合,定时采集数据得出当前频率, 并根据当前设定的灵敏度与工作方式要求, 再与基准频率比较, 从而判断是否有车辆到来, 最后根据设定的输出方式向外输出信号。
电源模块由AS1117芯片完成5V转3.3V。为单片机、LC振荡电路、信号输出模块、JTAG等模块供电。
电压监测模块用来监测5V电源电压。其原理是将5V电压分压后与MSP430 单片机的P2.2口比较器Comparator-A 输入脚相连。当电源电压低于设定电压时,将启动电源电压不足报警功能。
工作方式设置模块是通过拨码盘设置单片机代表灵敏度、工作方式、输出方式等相应管脚的输入电平,再由单片机进行键值查询,从而完成相应处理程序。
3 系统软件设计
3.1 软件程序设计
系统软件采用模块化结构程序设计方法设计,充分发挥了MSP430 单片机丰富的片内外围模块的特点,使仪器的硬件电路大大简化。全部程序采用C 语言编写,易于调试和维护,且具有运行速度快、执行效率高、便于移植。
系统软件由主程序,3个初始化子程序,10个功能子程序组成。3个初始化子程序分别是:单片机时钟初始化子程序、单片机I/O端口初始化子程序、定时器A 初始化子程序。10 个功能子程序分别是:初次测基频子程序、车辆检测子程序、电压不足报警子程序、判键子程序、查键子程序、延时子程序、动态刷新基频子程序、P2.5口中断子程序、定时中断处理子程序和信号输出子程序。主程序流程图如图3 所示。
主程序中设置了一个定时器,在无车通过的情况下,开机后定时时间到触发定时中断服务程序,多次读取当前P2.5端口中断计数值后取平均值,从而获取当前频率值。并将此频率值设置为基准频率,并将第一次测频标志置位,此标志只有在系统复位时才能被清零。此后,通过判键子程序、查键子程序确定此时系统工作的灵敏度值、工作方式和输出方式。
由于车型、车体、车速的不同,会对检测的准确性带来一定的影响。同时耦合电路的振荡频率随温度、湿度等外界素变化比较大,如果设置一个固定的基准值可能会造成误判而影响设计的可靠性和准确性。因此,本文在不影响检测速度的前提下,在判断车辆是否进入时,采用限幅滤波与均值滤波进行当前频率的采集,其程序流程图如图4所示。
限幅滤波可以克服输入中窜入尖脉冲干扰,其基本思想是将获得的多个当前频率值与当前基准频率值分别进行比较,根据经验设定允许的最大偏差,如果当前频率值和当前基准频率值的差值超过了允许的最大偏差,则认为本次采样值中窜入了干扰,则抛弃干扰值,再将余下的多个当前频率值取平均值。
将采集到的频率值与当前基准频率进行比较,其差值如果大于当前基准频率与灵敏度值的乘积,则认为有车辆进入,再进行相关信号的输出。如果判断无车辆进入,则将当前采集到的频率值与当前基准频率加权平均后作为下一次测量的基准频率,从而实现基准频率的刷新。
4 结束语
本车辆检测器具有电路简单、精度高、体积小、响应时间短、性能稳定等特点,已在浙江某公路卡口使用,效果良好。该检测器具有通用性,通过一定的功能扩展可用来测量诸如车流量,车队长度,占有率等一系列的智能交通控制系统中交通参数,具有很高的实用价值。
本文作者创新点:运用新型的高速低功耗MSP430单片机大大提高了对行驶车辆检测的速度,一次检测最快可在1.5ms内完成,应用软件动态刷新基准以及限幅滤波与均值滤波等抗干扰方法提高了检测的可靠性和准确性。
评论