3018|1

402

帖子

9

TA的资源

纯净的硅(初级)

楼主
 

基于GD32F350的交通灯系统 [复制链接]

本帖最后由 tobot 于 2018-10-19 19:31 编辑

GD32F350作品提交(伪)——基于GD32F350的交通灯系统
这次我本来是颇有信心来完成这套系统的,但很不幸的是一直在外出差,都没时间把设计转化为真正的作品,进行联调。
我的作品思想是来源于交通灯的管理,现在的交通对行车速度已经有非常精确的测量,但对于路况信息则往往以“拥堵”、“行车缓慢”、“有滞留现象”来形容。引发
交通阻塞的原因往往是交通信号引起的,比如下游路口距离比较近,上游路口与下游路口采用同样频率放行车辆,很容易造成拥堵;又如学校、工厂等在上下班时间段,门口过路的行人增多,这时如果按照平常的等待时间,人员出现滞留时间过长往往会冒险通过,有交通事故的风险。为解决这个问题,我希望能通过动态指挥交通,实现最大限度缓解交通压力。
现在的交通灯常见主要有两种控制方法:时序和人工。
现在的人工一般是用于人行道路和车行道路的交越情况,化简来说,就是交通警察或者行人自己打开红灯,阻塞车辆前行,允许人行横道通行。
在三岔或者十字路口的车行路线,现在已经很少是由安全岛内的交通警察来指挥了,而是采用一种时态的交通灯变化,对不同方向的交通流按照次序分别给予交通控制绿灯—黄灯—红灯信号。
在一个信号周期内每个相位的时段,一股或几股车流,在同一个时间获得完全相同的交通灯色指示,这个连续:“绿—黄—红”时间段称作一个信号相位。在每一个信号相位,灯色显示时序都是“绿—黄—红”的循环。一个信号周期可以分别对不同方向交通流分配不同的相位,根据交叉口的交通流状况,可以设计成2相位、3相位、4相位、6相位和8相位等。各个信号相位周期性交替获得绿灯显示,即通过交叉口的“通行权”。“通行权”的每一次转换就称为一个信号相位阶段。一个信号周期则由按照预先设置的所有相位时间段之各构成。
在本系统中,设计的是最常见的十字6相位方案。

在中国大陆,车辆是靠右行驶,因此右转交通通常是允许的,因此一般情况下右转不单独考虑相位(第一、四相位),但是当行人自行车等交通与右转交通流冲突严重时,才需要考虑设置单独的右转相位。
在相位转化时,除考虑车流量,还应该考虑到所谓的安全时间,也就是说允许行人横过马路(第二、五相位)。
对于允许通行时间,应当根据
交通灯时间T=(路长(米)/平均车速(米/秒))*车流量
人行时间T=路宽(米)/人行平均速度(米/秒)+安全保护时间t0
其中车流量是考虑单位时间内通行的车辆总数。一般来说,车流量大的地方,车速会相对较低,车流量较小的地方,车速会有所提升。
我设计交通灯系统,是根据路况信息,动态调整各相位时长,来缓解交通压力。以左行为例,如果左转车流较小(直接检测车道信息),可以与其它相位共用,而无需专门留出左转时序(第三、六相位)。
由于本设计不考虑到传感器(车速、车数、待通行行人),因此模拟数据均采用上位机(串口)输入,本设计只进行了点灯时序的各时长的计算和信号量的控制。
时序时长计算方法如下:当信号周期固定时,需根据不同相位流量需求占比考虑应给各相位的绿灯时间,以平衡各相位绿灯时间内的通行车流量。
流程图如下:

为了化简,我们把车道分为(左直行、直行、右转)三个车道组,分别在上位机上通过串口使用随机值进行输入。
以控制南方(车辆由南向北)左转作为输出为例,除考虑当前车道上车辆,还需要北方右行车道、东方左直行和直行,西方左直行(可能调头)的情况进行参考,参数值分别取0.85、0.1、0.08、0.02(这是使用matlab模拟各向流量基本均衡的情况直行:左转:右转:调头=0.5:0.2:0.2:0.1的最佳参数取值,实际使用肯定会有所调整)。
对于三色灯来说,绿色表示允许车辆通行,红色表示禁行,黄色仅在红色之前3s使用。
从手册上可以看到,GD32F350支持55个GPIO,但从上述分析来看,只需要9个作为输出(未来如扩充输入,涉及到12个车道信息+手工控制),本应用接口数量充足,考虑使用PA4~PA12即可。
算法已经做好了,用matlab模拟也通过了,在大交通压力下,的确比静态相位要优一些,代码刚刚写,编译是通过了,由于板子还是裸的,调测,实在不好意思上传。后续补足吧。——附:下雪了,很冷。

此帖出自GD32 MCU论坛
点赞 关注(1)
 

回复
举报

402

帖子

9

TA的资源

纯净的硅(初级)

沙发
 
我周末会尝试改改代码,就只用到板子的计算部分,用电脑做UI,上传一下图片。
此帖出自GD32 MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表