漆 颢,胡 敏,龚晚林
(1.湖北中医药大学,湖北 武汉 430065;2.武汉大学,湖北 武汉 430072)
随着经济的飞速发展,人们的生活水平日益提高,私家车也成为了家庭的必备品,但汽车数量的爆发式增长,所带来的交通拥堵问题也日益突显出来[1],特别是一些城市道路,不同时段不同方向的车流量是处于变化的,而路口交通信号灯通行时长都是预先设置好的,不论这个路口车流量多少,都是按照同一个数值运行。这就必然会导致路口的通行效率很低,特别是在早晚高峰时段,可能会引发连锁反应,最终影响整个城市的交通网络。因此,提高交叉路口的通行效率就显得尤为重要[2]。国内外已有关于智能交通控制系统的设计,在统计车流量时大都是采用红外技术模块对路过该测量点的车辆进行统计,然后传入单片机控制系统中。由于测量点与停止线有一段距离,因此,这种统计车流量方法不能实时地得到真正处于等待的小车数目[3-5]。
本次设计的智能交通系统可依据路口等待红灯的车辆数目对路口通行时长进行实时控制,优点是结合多个红外传感器,利用黄灯闪烁时刻反馈的参数对交通灯进行调节,实现十字路口的实时动态控制,最终提高十字路口的通行效率,缓解城市交通拥堵的问题。
本文系统是基于51单片机进行设计的,主要包括车流量统计模块、交通灯控制模块、时间显示模块[6-8],如图1所示。车流量统计模块将等待红灯车道上的小车数量传送到单片机中,利用内部算法程序将等候车辆数目转换为即将亮起的绿灯通行时长,同时在时间显示模块中利用数码管显示倒计时时间,以此循环。另外,读取车辆数目的时机选在由绿灯变为黄灯时,也就是倒计时还剩3 s时,这样可以保证该车道上车辆的即时数据。
图1 智能交通系统功能模块
车流量统计模块的主要功能是统计等待红灯的车的数量,其原理是红外障碍探测技术[9-10],将红外对管安装在道路中央,其内部如图2右边所示。红外对管发出红外光,当道路上停有汽车时,会反射信号并被接收,以此判断是否有等待汽车[11]。图2左边是某个方向的行车道,红色小球代表红外对管安装位置,相邻两个红外对管的距离保持一个车距,保证一辆小车被一个红外对管探测到,东南西北驶入路口方向的4条道路都按此方法安装红外设备。该模块的工作流程如图3所示。假设目前十字路口南北方向为红灯,东西方向绿灯,南北方向道路上的红外对管实时探测等待红灯车辆的数目,当东西方向绿灯变成黄灯时,读取并比较东西方向车辆数目,取2条车道中车辆数目最大的传入单片机中,经过内部算法处理转换为下个时段南北方向绿灯的时长,倒计时结束,这时十字路口状态就变成东西方向红灯,南北方向绿灯。以此循环,实现路口通行时长随等待红灯车辆数目的动态变化[12]。
MCS-51单片机正常工作需要三个必要条件:电源、时钟电路、复位电路[13]。如图4所示,利用Proteus软件画出单片机最小应用系统,单片机的40管脚VCC和20管脚VSS分别接电源和接地,在此图中省略。作为单片机的核心部分的时钟电路,其作用是为单片机内部提供一个高稳定性的时钟脉冲信号,即为单片机的指令提供基准脉冲信号,该电路由18管脚XTAL2和19管脚XTAL1引出与外接的晶振和电容构成,选取晶振频率为12 MHz。复位电路作用是使单片机从程序的第一条指令开始运行,也就是使单片机内部各个寄存器的值变为初始状态,防止单片机在运行中出现混乱情况,其电路由9管脚引出与电容、电源、按钮和电阻构成,可实现上电复位和手动复位。
图2 车道红外对管布局图
图3 智能交通系统功能模块
图4 单片机最小应用系统
交通灯控制模块主要由LED灯和电源组成[14],东南西北每个方向分别放置一组红黄绿来模拟十字路口的信号灯,如图5所示,水平方向为东西向车道,EW-R代表东西向红灯引脚标签,EW-Y代表东西向黄灯引脚标签,EW-G代表东西向绿灯引脚标签,同理SN-R,SN-Y和SN-G则表示南北方向引脚标签,这两组标签对应单片机P1口的6个引脚,可实现通过改变单片机P1的数值对LED灯进行实时控制。
图5 交通灯电路设计
在交通信号灯系统中,倒计时时间的显示也是十分必要的,其电路如图6所示,利用数码管、排阻、数字芯片74LS245构成倒计时显示电路[15],两个数码管分别模拟东西向和南北向信号灯的倒计时显示屏,数码管的段控端由系统总线连接,对应的标签值从a~h,然后通过排阻引脚连接到单片机的P0口,而数码管的位选端则是通过芯片74LS245的引脚与单片机的P2口连接,从而实现单片机对数码管的段控和位控。
图6 倒计时显示电路
首先对于各个元器件进行初始化,然后编写程序,其主程序流程如图7所示。交通信号灯初始状态位南北向红灯,东西向绿灯,4个方向倒计时均显示20 s,当倒计时进入3 s时,南北向红灯不变,东西向绿灯转换为黄灯闪烁,提示车辆减速,即将进入红灯状态,与此同时单片机读取南北向等待红灯的车辆数目,取其最大值N,并与参考值进行比较,当N<6时,T=20 s;当 6≤N<10时,T=20+2(N-6) s;当N≥10时,T=30 s。其中,T表示信号灯下一个状态即南北向绿灯,东西向红灯时倒计时的数值,当倒计时T=3时,则立即读取东西方向两车道上车辆的最大值,并计算出下一个状态的T值,以此循环。
图7 主程序流程
利用Proteus软件绘制仿真电路图[16-17],并用Keil软件编写程序导入到单片机中进行仿真调试。仿真电路图如图8所示,其中等候红灯的车辆数目用随机函数rand()进行模拟。通过实际调试,系统可以实现将随机函数产生的车辆数目实时转换为路口的通行时长,并运行正常。调试参数对比见表1所列。
图8 交通灯系统仿真电路
实物制作利用开发板模拟交通信号灯,如图9所示。取6个流水灯分别表示南北方向和东西方向的红绿灯,此时流水灯LED1表示南北方向红灯,LED7表示东西向绿灯,数码管模拟倒计时模块。
表1 调试参数对比
图9 交通灯系统开发板模型
本文介绍一种以单片机为核心的智能交通灯的设计方法。采用红外对管传感器采集等待红灯车辆数目,传送至单片机中转换为下一状态通行时长,并导入到交通灯控制模块中。通过实践表明,该系统可以实现以当前路口的车流量来自动调整信号灯的通行时间的功能。