现在普遍使用的检测车辆超重的技术主要有:静态称重技术和动态称重技术,这两种技术都是通过在公路的特定位置设定关卡,安装地磅使用压力传感器、电阻应变式传感器等等来检测车辆是否超重,测量结果比较精确,但这两种技术有一些共同的缺点:传感器易受损,而且在特定位置设定关卡,会存在很多监管不到的地方。
基于上述考虑,本文提出一种车载超重监控报警系统,该系统使用超声波传感器测量车辆在受载时车梁与车轴的相对位移,通过传感器标定,来间接测量车辆是否超重,一旦车辆超重,系统的GPS模块定位车辆,并通过GSM网络将超重信息以及定位信息发送至监控中心,监控中心对信息进行解析、记录及保存。这样,传感器不仅不易受损,而且实现了车载,同时实现了对超载车辆的远程实时监控。
1 系统构成及工作原理
系统主要包括车载检测子系统和监控中心两个部分。系统框图如1所示。
主要工作原理是:车辆运行过程中,车载检测子系统检测车辆是否超重,若车辆超重,即产生报警信息,并通过GSM模块将报警信息发送给监控中心,监控中心对信息进行分析处理后,将重要数据记录保存,并对超载车辆作出处理。
2 车载检测子系统
2.1 硬件构成
车载检测子系统的构成如图2所示,包括测重模块与主控单元两大部分。其中测重模块包括单片机、超声波传感器、温度传感器、无线传输模块四个部分;主控单元包括单片机、GPS模块、GSM模块以及无线传输模块四个部分。另外,本系统使用三个测重模块,呈三角形分布在车轴的三个位置,这样做的目的是防止车辆载荷分布不均,局部受重,导致误报。
工作原理是:车辆在行驶过程中,三个测重模块分别使用超声波传感器,检测车辆在受载时所处位置的车轴与车梁的相对位移,经过数字滤波和温度补偿后,将得到的数据通过无线传输模块发送给主控单元,主控单元对数据进行整合处理,得到车载重量,再将其与该车辆的额定载荷进行比较,来判断车辆是否超重。若车辆超重,主控单元即产生报警信息,将该车辆的车牌号、额定载荷、超重数据以及GPS定位信息通过GSM模块发送给监控中心。
2.2 超声波测距原理
本系统使用的超声波测距方法是超声脉冲反射法,它的原理是:超声波发射器发出单个或一组超声波脉冲,在发射时刻计时器开始计时,超声波在空气中传播,途中遇到被测目标,经过反射到达超声波接收端,此时计时器停止计时,得到的时间t就是超声波在发射器和被测目标之间来回传播的时间。
测距的公式表示为:
s=C·△t/2 (1)
式中,s为测量的距离;C为超声波在空气中的传播速度;△t为超声波发送与接收时间差。
根据上述超声波测距公式,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。时间误差可通过单片机的精确定时来减小,速度误差与空气密度有关,而空气密度又与温度有关,可通过温度传感器测量当下温度进行温度补偿。超声波在空气中的传播速度C与环境温度的关系如式(2):
C=331.4+0.61×T (2)
温度补偿方法为每次先按照式(2)计算当时声速C,然后再按照式(1)计算距离s。
2.3 GPS定位原理
由于卫星的位置精确可知,在GPS观测中,我们可得到卫星到接收机的距离,利用三维坐标中的距离公式,在GPS定位中,3颗卫星,就可以列出3个位置方程,从而解出观测点的位置(X,Y,Z)。考虑到卫星的时钟与接收机时钟之间的误差,增加了第四个未知数,即钟差,因而引入第4颗卫星,列出了第四个方程式,对这个方程组进行求解,就得到观测点的经纬度和高程。事实上,接收机往往可以锁住4颗以上的卫星,这时,接收机可按卫星的星座分布分成若干组,每组4颗,然后通过算法挑选出误差最小的一组用作定位,从而提高了定位精度。
2.4 GSM模块的使用
GSM短信模块是专门用于短信接收发送的模块,具有RS-232通信口,可与单片机、计算机直接相连。单片机与计算机通过RS232串口给GSM模块发送AT指令来控制GSM模块收发短信、设置短信中心号、短信格式等等。常用的AT指令如表1所示:
2.5 各个功能模块的具体实现
1)主控单元与测重模块的单片机均选用STC89C52,该单片机功耗低、性能高、价格便宜,而且用于此系统,不会造成资源浪费。
2)超声波传感器选用由清新机电实业有限公司生产的KS101B,该传感器的探测范围1 cm~550 cm,探测频率可达500 Hz,支持多量程探测,1 ms快速光强探测,精度可达1 mm,盲区1 cm。
3)温度传感器使用美国Dallas半导体公司生产的数字化温度传感器DS18B20,完成对超声波检测的温度补偿。
4)无线传输模块使用由NORDIC生产的工作在2.4 GHz~2.5 GHz的ISM频段的单片无线收发器芯片NRF24L01,该芯片具有4线SPI通讯端口,通讯速率最高可达8 Mbps,适合与各种MCU连接,编程简单。
5)GSM模块选用SIM300。GSM与单片机的硬件接口使用RS232通信标准。将GSM的RXD接单片机的TXD、GND接GND与单片机进行串口通信,单片机通过发送AT指令实现对GSM的控制,它们之间的具体实现电路如图3所示。
6)GPS模块选用REB3571。GPS与单片机的硬件接口使用RS232通信标准。将GPS的TXD接单片机的RXD、GND接GND与单片机进行串口通信。系统上电,GPS定位成功后,通过TXD不断输出定位信息,系统在串行中断函数中,不断接收定位信息放到缓存数组中,通过对GPRMC信息的解析,提取出经纬度。GPS与单片机的连接电路如图4所示。
7)系统供电电源总共包括以下几部分:NRF24L01需要3.3 V供电,GSM模块需要12 V供电,其余器件均需要5 V供电,而汽车电瓶为12 V,所以将12 V通过5 V稳压芯片LM7805得到5 V电源,再将5 V电源通过3.3 V稳压芯片LM1117得到3.3 V电源。电源转换电路如图5所示。
2.6 软件设计与实现
本系统的软件设计采用模块化编程,将各部分的功能模块化,易于程序的修改与移植。
本系统的软件设计主要包括两个模块:测重模块和主控模块。测重模块的流程图如6所示。
测重模块工作时,先完成对超声波传感器,温度传感器以及NRF24L01的初始化,之后超声波传感器开始测距,根据温度传感器采集到的温度对测得的数据进行温度补偿,再将数据通过NRF24L01无线发射到主控模块,若发送成功,等待一段时间再循环测距,若发送失败,重新发送。
主控模块的流程图如图7所示。模块上电后完成对GPS模块、GSM模块的初始化,NRF24L01接收测重模块发送的数据,对三个模块的数据综合处理后,与额定载荷相对比,判断车辆是否超重,若超重,即将GPS的定位信息以及车牌号发送给监控中心,否则,重新接收数据。
3 监控中心
监控中心是基于Microsoft Visual C++6.0平台实现的,主要功能是通过GSM模块接收车载检测子系统发送的报警信息,对信息进行分析处理,保存到数据库中。
监控中心的实现主要包括三个部分:用MSComm控件实现GSM模块与计算机的串行通信;在VC平台上使用ADO访问Access数据库完成对报警信息的保存、查看等操作;使用WebBrowser控件调用谷歌地图,根据经纬度信息,查看车辆具体的地理位置。
3. 1 MSComm控件
GSM模块与计算机的串行通信使用RS232通信标准,硬件连接直接使用USB转串口线将GSM的串口与计算机的USB口相连。软件实现是通过在VC平台上添加MSComm控件,使用MSComm控件完成对通信串口的设置、发送AT指令给GSM模块并接收GSM模块的报警信息。
3.2 使用ADO访问Access数据库
本系统使用数据库是为了实现对报警信息的保存、查看的操作,处理数据量不大,而且对数据库的操作比较简单,所以选择使用Access数据库,并选择使用ADO数据库访问技术访问Access数据库。ADO(ActiveX Data Objects)是一个便于使用的应用程序层接口,主要的优点是易于使用、速度快、内存开销小,它使用最少的网络流量,并且在前端和数据源之间使用最少的层数,它是一个轻量、高性能的接口。
4 结束语
本文介绍了一种基于超声波传感器的车载超重监控报警系统,介绍了本系统的创新点,以及该系统的各个部分的工作原理、设计与实现。经实践证明,本系统很好地达到预期效果,安装方便,性能稳定,效果良好。但是,因为超声波传感器是通过测量车轴与车梁间的相对位移来间接检测车辆是否超重,所以,需要定期对因车载重量引起的车辆的车轴与车梁间的相对位移进行标定,并更新数据库中车辆的额定载荷的数据。