基于多单片机的智能控制交通信号灯设计
2015-05-30吴文亮张靓
吴文亮 张靓
摘 要: 采用主单片机采集检测部分的数据,并对数据进行分析进而控制交通灯的状态;采用单片机对汽车的速度进行采集,并传送到主单片机进行分析。对传统的地磁线圈检测方法进行了改进,增加了速度的检测,从而为交通灯的时间调节提供了依据。
关键词: 多单片机; 传感器; 交通灯
中图分类号: TP 391.9 文献标志码: A 文章编号: 1671-2153(2015)05-0087-04
0 引 言
随着科学技术的发展,我国对于交通建设方面也更加重视,不仅进行了设备的更新[1],而且还投入了大量的人力物力,并且传统的交通灯存在问题,如在十字路口时东西方向的车辆少,而南北方向的车辆多,不论南北方向的车有多少,东西方向还是正常的定时,这就使通行更加拥堵,所以有时就会出现交通指挥人员来缓解交通拥堵的情况,这就使交通行业显得比较被动[2-3]。该项目国内也有很多学者进行研究,并且做出了一定的产品,但是这些产品还带有一定的滞后性,不能根据交通流实时的调整时间[4]。
智能化城市交通系统是高新技术在城市交通领域的综合体现,智能化交通充分利用了信息传输和处理的技术,在提高现有交通设施的利用率方面发挥着极为重要的作用[5-6]。随着社会信息化时代的到来,无论是城市发展的模式,还是城市交通发展的观念和技术,都将受到猛烈的冲击。智能化交通系统的基础是交通数据的采集、处理和反馈,使交通有进一步的进步和扩展。
本研究主要是针对交通堵塞时的一些问题进行智能处理,利用传感器技术进行检测,单片机为控制核心,对于车流量的多少进行检测,从而做出判断,控制红绿灯时间的长短。利用另一块单片机来模仿一个传感器所测得的车辆速度,在该设计中暂时先模拟三个传感器来测量车速度及车流量来判别车辆是否拥挤,并且还增加了高速、中速、低速的测试,这样就很方便进行多次试验,取值更准确。
1 智能控制交通信号灯总体设计
在十字路口中如果东西方向的车辆通行时,南北方向的车辆禁止。根据这一规定,系统总体设计结构如下图1所示。
本设计主要由多单片机组成,根据功能可以分为主控制CPU,负责对检测数据进行分析;检测模块CPU,对地磁线圈的信号进行处理,转换成速度信号,传输至主CPU;显示模块CPU,根据主CPU的结果控制红绿灯和时间的显示。
2 硬件设计
2.1 主模块设计
主控制模块的核心器件是单片机8051,它主要包括信号判优接口,主CPU模块,显示接口,如图2所示。
信号判优接口主要接收检测矩阵传来的数据,根据矩阵数据判断该道路车流情况,主要由74LS148优先编码器来进行优先级判别,主CPU模块主要对所有路口的车流情况进行综合考虑,决定路口等待时间或者通行时间的合理分配,最终通过显示接口传输至显示模块。
2.2 显示模块设计
显示模块主要由8051单片机、LED发光二极管、数码显示器组成,如图3所示。
显示模块中的CPU主要作用是根据主控制模块传输的信号,调出预先设定的倒计时时间,从而控制数码显示器的显示,同时控制红、绿、黄几种灯的交替点亮。正常情况下绿灯时间为30 s,黄灯时间为3 s,红灯时间为35 s;拥堵时段可以把绿灯适当提高至50 s;而当车辆稀少的时候可以把时间适当减少至20 s。
时间显示主要采用倒计时功能,倒计时显示功能是为了使驾驶员能清楚的了解自己所处的车道是否允许通行;在倒计时快结束时启动车子,减少因不了解信号灯变换时间而增加的起动延误时间,提高绿灯的利用率;稳定驾驶员在等待红灯时的情绪,减少违章闯红灯的现象;在某个信号灯出现故障时能替代显示信号灯指挥交通,保证交通的正常运行。
2.3 检测模块设计
检测模块主要由地磁线圈和单片机组成,且每个检测点由一对地磁线圈和一个单片机组成,如图4所示。
图4中,当汽车车轮通过地磁线圈时,根据霍尔效应会产生一个脉冲波,当单片机检测到第一个脉冲波的时候开启定时器,等到第二个脉冲波到来的时候结束定时,此时的时间差即为某车轮通过的时间。假设埋地磁线圈正确,两个线圈之间的距离为1m,根据公式(1)可以估算出此时车辆的即时速度,即
V=L/t, (1)
式中:V为车辆的即时速度;L为地磁线圈距离1m;t为两个脉冲之间的间隔时间。
由于单片机不能进行复杂的数学运算,而且该系统也不需要获得精确的速度,所以对速度的精度要求不高,只需计算出大概的速度,并将其映射到对应的速度区间即可,最后主CPU模块根据速度区间的情况调整通行和等待时间。
该检测器结构简单,造价也便宜,所以可以根据需求进行埋放。本研究主要考查每条道路上埋放三个的情况,如图5所示。
由图5可以看出,在道路上放置三个监测点(可以根据实际情况调整三个检测点的距离),在检测的时候分为当前道路是红灯和绿灯两种情况。检测三个点车辆的即时速度,通过三点速度的组合情况可以判断出该道路汽车车流的情况。
在红灯情况下,如果V1<5 km/h,说明路口已有车辆在等待,此时如果V2<5 km/h,说明排队车辆已经到了2点的位置,如果此时V3<5 km/h,说明在3点处也有车辆的等待,综合考虑认为车辆排队的时间较长,这时应当在下一个绿灯时增加绿灯的时间;如果V1<5 km/h,但是V2和V3的速度较快,一般V2
在绿灯情况下,一般V1>10 km/h,说明此时路口车辆能正常通行,如果V2>10 km/h,说明该处车辆不会出现积压现象;如果V2<5 km/h,说明该处车辆已经出现积压现象;同理V3可以得到相似的结论。此时结合垂直道路红灯等待的情况,适当调节下次红灯等待的时间。
3 软件设计
由于该系统采用多CPU模式,所以应该对不同的CPU根据其功能编制不同的程序。主要分为主控制程序,检测模块程序,显示模块程序。
3.1 主CPU程序设计
主CPU程序如图6所示:通过对检测模块数据的采集,根据车流的判断,决定红绿灯时间的增减,最终将时间数据输出至显示模块。
3.2 检测模块程序设计
检测模块如图7所示:当汽车轮胎通过第一个地磁线圈的时候,启动单片机的定时器,当轮胎通过第二个地磁线圈的时候,关闭定时器,根据此时的时间可以计算出汽车的即时速度。
4 仿真实验
本文仿真实验采用Protues软件平台进行。 Protues是一款功能强大的EDA工具软件,可以直接在原理图中进行单片机和外部连接电路的仿真,与Keil连接,动态的模拟器件的动态,是目前比较常用的单片机仿真软件。
本实验主要通过对道路分成三种情况进行模拟实验:拥堵、正常、通畅。通过实验表明,该设计能实时根据道路车辆情况对交通灯进行合理的调节,从而达到基本的设计目的,图8为某一时刻的道路交通灯状态。
5 结束语
智能交通信号灯控制器的发展与研究对交通运输行业的有着举足轻重的作用。本设计主要研究了十字路口交通灯控制和模拟仿真,主要确定了检测车流量的方案,单片机硬件电路设计,C语言程序设计和Protues仿真调试等。利用Protues仿真,调试硬件和软件显示最终结果。
该电路的仿真只是实现了信号灯控制的一部分,其余的具体数据还有待实验,本设计是以单片机为核心,并且通过单片机模拟车流量,和控制中高速的三个速度来进行实验。测量的方法如果用到现实中可能会存在很多的干扰问题,会导致测量不准确,因此还需要改进,电路的复杂度还有待于提高,这也是后续研究的方向。
参考文献:
[1] 程红举,黄行波,XIONG Naixue. 不可靠通信环境下无线传感器网络最小能耗广播算法[J]. 软件学报,2014,25(5):1101-1112.
[2] 郭文忠,余朝龙,陈国龙. 无线传感器网络中带粒子群优化的分簇节点睡眠调度算法[J]. 模式识别与人工智能,2013,26(10):985-992.
[3] 孙玉霞,HARROLD Mary Jean,张成志,等. 一种面向传感器网络应用程序的有效测试方法[J]. 计算机学报,2013,36(12):2371-2389.
[4] 杨欣. 51单片机应用从零开始[M]. 北京:清华大学出版社,2008.
[5] 杨庚,李森,陈正宇,等. 传感器网络中面向隐私保护的高精确度数据融合算法[J]. 计算机学报,2013,36(1):189-200.
[6] 张希伟,戴海鹏,徐力杰,等. 无线传感器网络中移动协助的数据收集策略[J]. 软件学报,2013,24(2):198-121