ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:443.73KB ,
资源ID:23720399      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23720399.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机控制技术 课程设计交通灯控制.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机控制技术 课程设计交通灯控制.docx

1、计算机控制技术 课程设计 交通灯控制“计算机控制技术”课程设计作业西安市文景路与凤城七路交叉路口交通灯控制系统设计2011年12月19日西安市文景路与凤城七路交叉路口交通灯控制系统设计1、 概述1.1、 路口介绍: 文景路位于西安市经济技术开发区,是一条南北方向的双向八车道城市主干道。其最近一次整改是在2009年。凤城七路是经济技术开发区的一条东西方向双向四车道的主要道路。本次课程设计的路口是位于西安市经济技术开发区盐张村东的文景路与凤城七路十字交叉路口。下面对该路口的状况进行简单的介绍。文景路作为连接火车北客站与市中心的主要道路,随着火车北客站的投入运营,车流量也在逐渐增大。文景路两侧聚集了

2、许多住宅小区。作为一条进入市中心的主要道路,其北连包茂高速、西安市绕城高速,南接西安市北二环,其交通流中车型较混杂。随着西安市行政中心的北迁,也给文景路的交通状况提出了更加严峻的要求。文景路全段为双向八车道,最外侧机动车道为公交专用车道,另两侧各有约2.5m宽的非机动车道。机动车道与非机动车道用高0.7m的栅栏隔开。中央分隔带宽度为9m,无中央分隔带护栏。文景路全段为沥青材质路面。文景路全线限速60km/h,全线禁止长时间停车或临时停车,全线禁止鸣笛。部分路段禁止大货车通行。凤城七路是连接朱宏路与未央路的主要道路之一。新建西安咸阳国际机场高速的开通对凤城七路的交通量有部分影响。其道路两侧有3个

3、城中村,随着西安市对城中村的改造工作的开展,现在道路两侧居住人口较少,多为建筑工地。凤城七路与文景路也是货车进入包茂高速的主要通道之一。凤城七路全段为双向四车道,未设置公交专用车道,另两侧各有约4.5m宽的非机动车道。机动车道与非机动车道用宽1.5m的植物分隔带隔开。正常路段未设置中央风格带,用双黄线来分隔对象来车。凤城七路全段为沥青材质路面。全线限速50km/h,全线禁止长时间停车或零时停车,全线禁止鸣笛。文景路、凤城七路在交叉路口入口处均增加一个车道。凤城七路在距离路口105m处增设了中央风分隔带。中央分隔带的宽2m。道路在交叉路口的渐变加宽点至路口距离为北侧121m,南侧119m,东侧2

4、11m,西侧181m。此路口向北距离下一路口401m,向南距离下一路口为436m,向东距离下一路口为880m,向西距离下一路口为742m。各个进入交叉口的方向均设有指路标志。距离路口东向30m处路南有天然气加气站,加气站以东是600路公交车调度站。路口周围没有过街天桥或者地下通道。文景路、凤城七路在路口均允许机动车掉头行驶。此路口无交通警察执勤。在文景路方向共设有两个电子摄像头。路口处交通标志与交通标线基本完整。是一个标准的十字型道路交叉口。1.2、 交通灯设置: 路口共设置有4个车辆交通灯指示信号灯。设置8个行人通行指示信号灯。其中8个行人通行指示信号灯的形式相同。指示灯形式如右图所示。文景

5、路的交通灯共包括12个方向指示灯和一个两位的倒计时指示牌。其中直行、左转分别设置信号灯控制。倒计时指示牌指示直行车辆的红绿灯时刻。信号灯形式如下左图所示。凤城七路的交通灯共包括9个方向指示灯和一个两位的倒计时指示牌。其中直行、左转灯时相同设置信号控制。倒计时指示牌指示车辆的红绿灯时刻。信号灯形式如上图右图所示。各信号灯的灯时设置如下表所示:红灯灯时(s)黄灯灯时(s)绿灯灯时(s)合计(s)文景路直行67360130文景路左转111316130凤城七路82345130文景行人控制8248130凤城七路行人控制6763130各交通灯的灯时相位图如下图所示(单位:s):逐次循环。文景路直行6036

6、760367文景路左转63163111163111凤城七路8245382453文景行人控制82488248凤城七路行人控制63676367注:由灯时相位图可以看出车辆控制信号与行人控制信号由于车辆控制黄灯的存在,导致与对象行人控制信号相差3s中的时间间隔。在后续的软件设计中将不考虑行人控制信号的处理。而是将文景路直行信号与凤城七路行人控制信号在输出时共享,为了解除3s黄灯的影响,在文景路直行信号控制凤城七路行人控制信号时,在绿灯和黄灯的控制信号控制凤城七路行人控制信号之前加上一个逻辑“或”门,输出端来控制凤城七路行人控制信号,红灯控制则相同。凤城七路车辆控制信号与文景路行人控制信号的处理办法相

7、同。1.3、 设计目的通过计算机控制课程的学习,对实现上述路口红绿灯控制信号的电路、硬件系统、软件系统进行设计。从而实现信号的定时控制功能。并且加入了对于行人控制信号的控制方式及原理。2、 控制系统原理2.1、控制系统介绍:组成、原理及描述本路口在交通信号控制采取的是静态的交通信号控制。交通信号灯时相位不随交通状况的改变而改变。再设计中主要考虑的是启动信号控制系统时遇到的问题。控制系统采取计算机控制,为开环控制系统,系统不需要有来自控制现场的输入信号。输入信号只有系统总控开关,其他功能由计算机通过软件进行设置,从而达到控制信号灯灯时长短的目的。协调各个信号灯的有序开启与关闭。结合本路口的实际情

8、况和交通信号灯的控制策略。控制系统主要由以下几个部分组成。控制开关。它是系统的总控开关。接在总控制台,是交通管理者对于交通信号开启与关闭的总控开关。小功率开关量输入信号调理电路。开关开闭时会由于接点的机械抖动而产在电路中产生振荡信号,在总控开关与计算机之间添加调理电路,使系统输入信号没有太大的信号抖动。ACL-8112HG数字量输入。它的主要功能是将开关量的开闭转换为数据地址,输入控制计算机。控制计算机。它是系统的核心,负责数据的接受和程序的执行,产生控制输出数据,传给系统的下一部分。ACL-8112HG数字量输出。它的主要功能是将系统的控制输出数据进行整理,为控制驱动继电器电路的正常工作提供

9、数据支持。驱动继电器电路。它的功能是将计算机的输出数据转换为对应的继电器开闭信号。从而打开或关闭对应的继电器。大功率信号输出电路。交通信号灯由于其所处的环境,使用交流电源更加方便经济。在这里需要将继电器的微弱控制信号,转换为信号灯需要的大功率信号控制量。该交通信号灯的控制系统的控制原理如下:当系统检测到交通控制开关打开时,并检测各项控制数据是否满足,如果均满足,则自动开始第一次启动,根据系统的特点,以文景路直行为绿灯开始时为计时起点。如此循环进行控制,直至系统控制开关再次闭合或者其他控制条件不满足时停止循环。关闭系统。2.2、控制系统框图2.3、控制流程控制流程的执行顺序与控制框图的顺序相同,

10、如上图所示。定时交通灯控制系统较简单,没有过多的输入数据。3、 硬件电路设计3.1、交通灯控制继电器电路设计电路设计图如下图所示:3.2、开关量输入输出信号转换电路设计本控制系统的输入量只有总控开关一个。转换电路如下。3.3、使用ACL8112HG卡控制通道说明(1)采集卡基地址设置采集卡基地址设置为0x230.需要将右图中的A4、A5拨到下位,将A6、A7、A8拨到上位。(2)数字量输入接口。交通信号灯控制系统的输入只有一位总控开关输入,将其连接到开关量输入口低8位的第二位,即DI 1口。(3)继电器的连接位置由于本路口有左转控制信号和行人控制信号,因此共涉及13个继电器。通过实地观察发现,

11、行人控制信号与对向道路控制信号相似,中间相差一个黄灯的灯时,为了节省资源,对车辆控制信号在后期予以处理。同时控制车辆与行人信号。采取的办法是将直行绿灯信号与直行黄灯信号通过逻辑或门来共同控制对向行人绿灯灯时,红灯信号直接共享连接。综上,本系统共需要继电器9个,他们的端口位置及控制的路口设置如下表所示:8112HG输出端口位置ULN2803对应输入端口编号ULN2803对应输出端口编号对应信号灯位置继电器编号DO 1U11-1U11-18文景路直行绿灯1DO 3U11-2U11-17文景路直行黄灯2DO 5U11-3U11-16文景路直行红灯3DO 7U11-4U11-15文景路左转绿灯4DO

12、9U11-5U11-14文景路左转黄灯5DO 11U11-6U11-13文景路左转红灯6DO 13U11-7U11-12凤城七路绿灯7DO 15U11-8U11-11凤城七路黄灯8DO 0U12-1U11-18凤城七路红灯9注:由于试验中需要9个继电器,导致单个ULN2803对应输入和输出端口不能满足要求,因此多连接一个ULN2803,为了区分两个ULN2803,分别编号U11,U12。4、 控制程序设计4.1、控制程序流程说明在实际的控制过程中,对于信号灯的控制主要通过对变量的直接赋值来实现对继电器的控制,从而控制信号灯。根据信号灯的相位图,得出了如下控制参数。在程序的循环过程中将不断给变量

13、赋值,从而控制对应的继电器开闭。4.2、程序框图本系统控制程序由三部分组成。main函数、SwitchDI函数、SwitchDO函数。各部分的程序框图如下图所示:4.3、源程序: /*-此程序为控制文景路与凤城七路交叉口交通信号灯,采用九个继电器来控制该路口个信号灯。单循环时间为130s. 姓名:XXX, 学号:. 2011年12月28日-*/#include#include#include#define ACL8112 0x230 /* ACL8112卡基地址*/#define DOL ACL8112+13 /* DO低八位地址*/#define DOH ACL8112+14 /* DO高八

14、位地址*/#define DIL ACL8112+6 /* DI 低八位地址*/#define DIH ACL8112+7 /* DI 高八位地址*/unsigned int SwitchDI() /* 从ACL8112的十六位DI读取键值*/ unsigned y=0; y=inportb(DIH); /* 读高八位*/ y=y8; /* 存入键值变量的高位*/ y=y+inportb(DIL); /* 读低八位,并入键值变量*/ return y;void SwitchDO() /* 从ACL8112卡的16位DO输出,九只继电器依次接入第8位的第,1,2,4,6,8位,高八位的第,2,4

15、,6,8位*/ unsigned int i=0, T1=60, T2=3, T3=16, T4=45,Key=0xffff; unsigned int xL1=0x03, xL2=0x09, xL3=0xa1, xL4=0x21, xL5=0x20, xL6=0x20; unsigned int xH1=0x08, xH2=0x08, xH3=0x00, xH4=0x02, xH5=0x28, xH6=0x88; while (Key!=0xfffd) /* 按照控制信号逐次打开继电器*/ outportb(DOL,xL1); /* 开关第,1,6,9号继电器。并维持六十秒钟*/ outpo

16、rtb(DOH,xH1); printf(打开文景路直行绿灯,文景路左转红灯,凤城七路红灯,并持续60秒。n); sleep(T1); outportb(DOL,xL2); /* 开关第,2,6,9号继电器。并维持三秒钟*/ outportb(DOH,xH2); printf(打开文景路直行黄灯,文景路左转红灯,凤城七路红灯,并持续3秒。n); sleep(T2); outportb(DOL,xL3); /* 开关第,3,4,9号继电器。并维持十六秒钟*/ outportb(DOH,xH3); printf(打开文景路直行红灯,文景路左转绿灯,凤城七路红灯,并持续16秒。n); sleep(T

17、3); outportb(DOL,xL4); /* 开关第,3,5,9号继电器。并维持三秒钟*/ outportb(DOH,xH4); printf(打开文景路直行红灯,文景路左转黄灯,凤城七路红灯,并持续3秒。n); sleep(T2); outportb(DOL,xL5); /* 开关第,3,6,7号继电器。并维持四十五秒钟*/ outportb(DOH,xH5); printf(打开文景路直行红灯,文景路左转红灯,凤城七路绿灯,并持续45秒。n); sleep(T4); outportb(DOL,xL6); /* 开关第,3,6,8号继电器。并维持三秒钟*/ outportb(DOH,x

18、H6); printf(打开文景路直行红灯,文景路左转红灯,凤城七路黄灯,并持续3秒。如想推出循环程序,请此时长按总控开关,直至跳出程序。n); sleep(T2); Key=SwitchDI(); main() unsigned int Key=0xffff,x=0xff, i; /* Key键值变量,i公用变量*/ clrscr(); while (Key!=0xfffd) gotoxy(10,5); printf(等待打开控制开关!n); Key=SwitchDI(); Key=0xffff gotoxy(10,7); /* 开始信号灯并逐次开启循环*/ outportb(DOL,x);

19、 /* 打开全部继电器。并维持三秒钟*/ outportb(DOH,x); printf(打开全部继电器,并持续3秒,测试继电器的是否工作正常!n); sleep(3) printf(开始进行信号灯控制!n); SwitchDO(); gotoxy(10,9); printf(文景路与凤城七路交叉口信号灯控制结束。nn);5、 测试结论5.1、测试完成情况通过第一次的测试,对于程序的预定完成情况比较理想,在基本的运行方面没有发现问题。但是结合交通信号灯的具体情况来看,程序中还有一些可以改进的地方。主要对程序的人性化做了调整。主要表现在开始时对全部继电器进行测试,查看工作状态。在循环测试阶段,将开始设置的600次for循环改为了while循环,循环条件为总控按键是否按下,如果再次按下,将跳出循环,结束交通灯的控制。在第二次的测试中,程序能够按照预先设定的要求,准确控制各个继电器的开启与关闭,达到了预先设计的目的。5.2、改进建议通过这次课程设计,发现目前,西安市大部分的信号灯还处于全天候定时控制。不能按照实际车流量的大小来动态控制灯时,从而控制交通流。建议在今后的控制系统扩展中逐步加入更多的变量,例如实时监控数据,感应数据等信号输入,动态各方向灯时的变化,以满足需求。【附件】:交通控制系统电路图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1