基于单片机交通灯控制系统设计.docx
《基于单片机交通灯控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机交通灯控制系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
基于单片机交通灯控制系统设计
基于单片机的交通灯控制系统设计
前言
交通是经济和社会发展的基础性产业,是社会经济活动中人流、物流、资金流和信息流的主要载体。
在现代社会中,没有高效运转的交通运输体系,就不可能有经济的持续发展。
然而,随着社会经济的发展,机动车辆迅速增如,人们在赚取由机动车辆所带来的巨额利润以及充分享受汽车巨大便利的同时,也越来越受到交通拥堵、交通事故频发、环境污染加剧和燃油损耗上升所带来的诸多问题的困扰。
在国外,特别是一些发达国家,由于经济发展较快,早在上个世纪60年代,交通问题就同渐突出;而我国,由于经济发展相对较晚,机动车辆拥有量相对较少,在改革开放前及初期,这一问题并不严重,但是近20多年来,随着我国经济的飞速发展,城市化、汽车化进程加快,机动车辆保有量迅猛增加,我国的交通状况日渐恶化,交通拥挤以及能源、环境问题日益严重,特别是一些大城市,交通拥挤已成为制约城市经济发展的瓶颈。
目前国内已有一些自主开发的城市交通控制与管理系统,但整体性能与国外同类系统相比较仍有较大差距,只在一些中小城市得到部分应用。
国内城市尤其是大城市引进的交通控制系统大部分为进口的SCOOT和SCATS系统。
由于我国交通流是混合交通流,和国外的交通流大不相同,国外的交通控制系统在国内的使用效果不尽人意。
所以迫切需要开发适合我国国情的、具有我国自主知识产权的能达到国际先进水平的智能交通系统。
交通系统是一个非线性随机性都很强的开放的复杂大系统,系统维数太高,加上人的参与,对其进行有效的控制是一个非常复杂的问题。
这也是现有不管是基于方案选择式的SCATS还是基于方案生成式的SCOOT系统都难于取得很好效果的原因。
所以,必须采用先进的智能控制理论来解决复杂的交通系统的控制问题。
本论文的研究目的就是针对城市交通问题的现状,从方法上对交通信号的优化与控制问题进行研究和探讨,以期为解决实际的城市交通问题提供有益的方法和途径。
本文给出了硬件电路的设计以及系统软件架构的搭建,并阐述了一种简单合理的设计方法。
为保证系统在复杂环境下工作的可靠性,增强系统的抗干扰能力是必须要解决的问题。
结合实际情况,本文从硬件、软件两方面对系统进行可靠性设计并取得了满意的效果。
1基于单片机的多路口交通灯系统方案设计
1.1总体方案设计概述
随着生活水平的提高,家庭汽车拥有量越来越多,城市交通堵塞问题越来越严重,解决城市的交通拥挤问题越来越紧迫。
交通灯在这个交通环境中起着一个重要的角色,是交通管理部门管理交通的重要工具。
国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车。
而目前绝大多数交通灯的时间都是设定好的,还存在以下缺点:
1)两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。
2)没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车或急救车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
这些缺点的存在,决定了传统交通灯不能适应当前城市交通的要求,不能使城市车流的调节达到最优。
针对道路交通拥挤,交叉路口经常出现拥堵的情况,提出使用智能交通灯的要求。
与传统交通灯比较,智能交通灯作以下两点的改进措施:
1)根据各道路路口车流量的大小自动调节通行时间。
2)考虑特殊车辆通行情况,设计紧急切换开关。
智能的交通灯能有效地缓解城市的交通压力,减少交通事故;为人民节省大量出行时间,创造出更多的社会价值。
1.1.1智能交通灯的设计要求
A设计一个具有主干道的三路口的交通灯控制系统,要求主干道和其他支干道道路交叉路口的车辆交替运行。
车辆通行主要以主干道为主,在检测主干道车流量后,才会检测支干道车流量。
根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短。
B在交通灯显示方面,经过红-黄-绿-黄-红的这种逻辑状态。
C东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。
D考虑到特殊车辆情况,设置紧急转换开关。
对整个系统的设计控制图如下:
图1.1.1-1系统的设计控制图
1.1.2智能交通灯的方案论证
目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的设计。
有应用单片机实现对交通信号灯设计的方法。
本文采用AVR单片机作为控制器,通行倒记时显示采用LED数码管,通行指示灯采用发光二极管,LED显示采用译码器控制,以节省端口数。
特殊紧急车辆通行采用实时中断完成,车流量大小采用地感线圈检测电路完成。
按以上系统构架设计,由于ATmega128单片机自单带有3计数器,多个中断源,端口很好的满足要求。
该系统具有电路简单,设计方便,耗电较少,可靠性高等特点。
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。
由于ATmega128具有较多的I/O口,便于对多路口交通灯以及显示控制有一定优势,所以本文中我们采用较为先进的AVR单片机中Atmega128单片机,
考虑到车辆检测器,采用地感线圈传感技术,则主干大和其他道路都得有2个地感线圈传感器,主干道有4个地感线圈传感器,其他三路口道路共需要6个地感线圈传感器,共16个地感线圈。
地感线圈传感器通过接收端检测到的电流变化,通过转换电路和放大电路,将信号转换成可识别的信号并传输给单片机进行时时处理。
在显示方面,则采用数码管显示器与AVR单片机ATmega128相结合实现终端设备显示控制的一种方法。
1.2三路口道路通行控制方案设计
三路口道路通行控制的基本设计思路是:
首先对多路口控制方案的研究要有层次,先从单路口控制开始,然后将三路口控制整合起来,作为一个系统去考虑,这是一个明智的选择。
所以如果把三路口道路干线上所有路口看作一个系统,在相邻路口的绿灯起始时刻建立一种时间关系,从而使车辆每到达一个路口时,正好遇到绿灯。
这样,在干线上行驶的车辆就可以获得连续的通行权,那么,车辆的停车次数、排队长度以及延误时间就会大大减少。
控制流程分析:
★从循环图分析可知:
东西方向和南北方向信号灯控制是中心对称的,即无论是主十道还是支干道两侧系统对同方向的信号灯控制是同步的。
★从循环图分析可知:
人行道无论哪个方向,系统对两侧4个信号灯的控制也是同步的,且人行道的红绿灯变化和行车道的红绿灯变化应该是一致的。
★实现三个路口的协调工作模式,经过对三路口车辆的检测,并且对各交通灯进行协调做出适当的控制。
图1.2.1-1三个路口图
通过对以上整体思路的分析,以用地感线圈传感器检测车辆、单片机进行控制、锁存芯片和显示译码芯片的配合来实现控制LED灯和数码管。
通过锁存芯片实现单片机口的分时复用,简单易行,且编程简单,能实现数据的快速交换以及单片机的资源的充分利用。
看图:
图1.2.1-1单片机资源分布图
通过AVR单片机实现对智能交通的控制。
1.3车流量检测方案
1.3.1地感线圈
地感线圈是本智能交通自控系统中的最主要的检测元件,主要由埋设在地表面下的线圈和信号提取与输出装置构成。
地感线圈的技术规格由车道的大小和埋设的深度决定,地感线圈主要由内径,外径,线径和匝数四大因素组成,一旦这四大因素确定,线圈的规格型号即可确定。
地感线圈工作在最佳状态下,线圈的电感量应保持在100uH--300uH之间,在线圈电感不变的情况下,线圈的匝数与周长有关系,周长越小、匝数就越多,线圈匝数参考表1.3.1-1。
表1.3.1-1线圈匝数参考表
线圈周长
线圈匝数
<300cm,电感lOOuH-3OOuH
5-6匝
300—6OOcm
4-5匝
600-1000cm
4-5匝
1000—2500cm
3匝
25OOcm以上
2匝
由于道路下可能埋设有各种电缆管线、钢筋、下水道盖等金属物质,这些都会对线圈的实际电感值产生很大影响,在实际施工时应使用电感测试仪实际测试地感线圈的电感值来确定施工的实际匝数,只要保证线圈的最终电感值在合理的工作范围之内(如在100uH--300uH之间),否则,应对线圈的匝数进行调整。
在理想状况下(不考虑一切环境因素的影响),地感线圈只考虑面积的大小(或周长)和匝数,可以不考虑导线的材质。
但在实际工程中,必须考虑导线的机械强度和高低温抗老化问题,在某些环境恶劣的地方还必须考虑耐酸碱腐蚀问题。
在实际的工程中,建议采用0.1cm以上铁氟龙高温多股软导线。
以一个60X6ocrn的模拟十字路口交通模型为例,根据实际十字路口的尺寸按比例缩放,得到的车道大小约为3cm。
设计时选择的线圈内径为1.8*2.3cm、外径为2.0*2.5cm、线径为0.05cm、匝数为180n。
1.3.2信号转换装置
地感线圈的工作原理基于振荡电路原理,信号转换装置是由一种基于电磁感应原理的信号转换线路构成,该转换电路主要由两只三极管组成共射极振荡器和地感线圈(电感元件)、电阻、电容等元件组成的耦合振荡电路组成,信号转换装置的电路原理如图1.3.2-1所示。
图1.3.2-1信号转换装置的电路原理图
Ul和U2组成共射极振荡器,电阻R3是两只三极管的公共射极电阻,并构成正反馈,地感线圈T作为检测器谐振电路中的一个电感元件,与振荡回路一起形成LC谐振。
当有大的金属物(汽车)通过时,由于空间介质发生变化引起了振荡频率的变化(有金属物体时振荡频率升高),将会使线圈中单位电流产生的磁通量增加,从而导致线圈电感值发生微小变化,进而改变LC谐振的频率,这个频率的变化就作为有汽车经过地感线圈的路面时的输入信号,再将此信号通过由R7和C3组成的LC滤波电路,输出稳定的直流电压,此电压即可输入到ATmega128控制系统。
1.3.3地感线圈的埋设方法
以十字路口中—个方向的道路为例,考虑到右行通道车辆可以直接通过,只在直行通道和左行通道上埋设地感线圈。
在每个通道上均埋设了两个地感线圈,具体埋设位置参考图1.3.1-1。
前一个紧挨停车线,检测驶离该车道的车量数;后一个埋设在距停车线5-lOcm处,一般考虑埋设在预计可正常停车数量所占位置的l-2倍处,检测驶入该车道的车量数;二者之差,既是该车道还存在的车辆数,也是等待通行的车辆数,此数据也是控制该路口交通灯状态的依据。
图1.3.3-1地感线圈埋设平面位置图
地感线圈埋设首先要用切路机在路面上切出槽来,在四个角上进行45角处理,防止尖角破坏线圈电缆;切槽宽度一般为0.4-0.8cm,深度3-5cm,同时还要为线圈引线切一条通到路边的槽,将双绞好的输出引线通过引出线槽引出。
地感线圈埋设是在车道路面铺设完成后或铺设路面的同时进行的,在线圈埋好以后,了加强保护,用沥青或软性树脂将切槽封上。
线圈安装时,应该尽量避免焊接点,万不得已则必须良好接触井敞好绝缘;为避免电磁干扰,馈线使用屏蔽电缆,屏蔽电缆的屏蔽线在信号转换器端良好接地;使用双绞线,防止两个相邻线圈的馈线或与电源220v之间的相互干扰。
2.1ATmega128简介
主控制器采用ATmega128,是美国ATMEL公司生产的低功耗,高性能的8位单片机,片内含128k字节的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位ATmega128单片机可为我们提供许多高性价比的应用场合,可灵活应用于各种控制领域
对Atmega128产品特点:
•高性能、低功耗的AVR®8位微处理器
•先进的RISC结构
–133条指令–大多数可以在一个时钟周期内完成
–32x8通用工作寄存器+外设控制寄存器
–全静态工作
–工作于16MHz时性能高达16MIPS
–只需两个时钟周期的硬件乘法器
•非易失性的程序和数据存储器
–128K字节的系统内可编程Flash寿命:
10,000次写/擦除周期
–具有独立锁定位、可选择的启动代码区通过片内的启动程序实现系统内编程真正的读-修改-写操作
–4K字节的EEPROM寿命:
100,000次写/擦除周期
–4K字节的内部SRAM
–多达64K字节的优化的外部存储器空间
–可以对锁定位进行编程以实现软件加密
–可以通过SPI实现系统内编程
•JTAG接口(与IEEE1149.1标准兼容)
–遵循JTAG标准的边界扫描功能
–支持扩展的片内调试
–通过JTAG接口实现对Flash,EEPROM,熔丝位和锁定位的编程
•外设特点
–两个具有独立的预分频器和比较器功能的8位定时器/计数器
–两个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
–具有独立预分频器的实时时钟计数器
–两路8位PWM
–6路分辨率可编程(2到16位)的PWM
–输出比较调制器
–8路10位ADC
8个单端通道
7个差分通道
2个具有可编程增益(1x,10x,或200x)的差分通道
–面向字节的两线接口
–两个可编程的串行USART
–可工作于主机/从机模式的SPI串行接口
–具有独立片内振荡器的可编程看门狗定时器
–片内模拟比较器
•特殊的处理器特点
–上电复位以及可编程的掉电检测
–片内经过标定的RC振荡器
–片内/片外中断源
–6种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式、Standby模式以及扩展的Standby模式
–可以通过软件进行选择的时钟频率
–通过熔丝位可以选择ATmega103兼容模式
–全局上拉禁止功能
•I/O和封装
–53个可编程I/O口线
–64引脚TQFP与64引脚MLF封装
•工作电压
–2.7-5.5VATmega128L
–4.5-5.5VATmega128
•速度等级
–0-8MHzATmega128L
–0-16MHzATmega128
图2.1-1引脚配置图
。
2.2主控制系统
2.2.1主控电路
单片机的PA0-7口通过CD4511与LED显示器连接,作为数据输入接口,PB0-5作为片选信号连接74LS138译码器,译码器控制是否选中CD4511,从而对现实进行控制。
PD0-2与译码器连接,控制译码,对交通灯进行控制,PC0和PC1作为主干道方向和支干道方向车流量检测输入口并记录车流数量。
INT0和INT1用于主干道方向和其他方向紧急转换控制。
2.2.2车辆检测电路
如何判断两路口车辆的状况呢?
我们要设计一套科学检测车流量而自动调整绿灯放行时间(需设定上、下限)的控制系统,这样无疑会大大提高车辆通过率,有效缓解交通压力。
我们在每车道车辆等待线的前方和后方都安装一个地感线圈,根据检测到的电磁感应引起的电流变化,通过电路转换和放大电路的处理,最终实时显示有无车辆通过,并可以累计某段时间内车辆流量大小.
2.2.3信号灯电路
信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态。
每个路口的信号的的转换顺序为:
绿--黄--红。
绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。
红灯表示禁止通行。
绿灯的最短时间为20秒,最长时间为40秒,红灯最短时间为25秒,最长时间为45秒,黄灯时间为5秒。
由于南往北,北往南时间显示相同,所以只要一个方向多车,下次时间就要加长。
东往西,西往东也一样,显示时间选择如表2.3.3-1。
表2.2.3-1显示时间选择
车辆情况
本次该方向通行时间
下次该方向通行时间
本次该方向通行时间
本次该方向通行时间
南往北少车,北往南少车
20秒
20秒
40秒
20秒
南往北少车,北往南多车
20秒
40秒
40秒
20秒
南往北多车,北往南少车
20秒
40秒
40秒
40秒
南往北多车,北往南多车
20秒
40秒
40秒
40秒
东往西少车,西往东少车
20秒
20秒
40秒
40秒
东往西少车,西往东多车
20秒
40秒
40秒
40秒
东往西多车,西往东少车
20秒
40秒
40秒
40秒
东往西多车,西往东多车
20秒
40秒
40秒
40秒
2.2.4时间显示电路
在交通信号灯的正上方安装一个可以显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路是一种很好的方法。
由于东往西方向和西往东方向显示的时间相同,南往北方向和北往南方向显示的时间也相同,所以只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以显示的时间为0-99秒完全可以满足系统的要求。
一般情况下交通灯按照车流量大小合理分配通行时间,按一定规律变化,但考虑紧急车通行车况,设计紧急通行开关。
即如果南北方向有特殊车辆要求通过,南北方向转换为绿灯,东西方向为红灯;如果东西方向有特殊车辆要求通过,东西方向转换为绿灯,南北方向为红灯。
为了节省ATmega128输出点数,并且达到精确控制倒计时的目的,本设计选用CD4511显示译码器控制LED倒计时显示管的工作,这样ATmega128需要4个接口连接74LS138译码器作为片选信号输入,选中某片后将信号直接输出即可由CD4511显示译码器译码送LED显示倒计时数字值。
ACD4511概述
★CD4511的特点
CD4511是一个用于驱动共阴极LED(数码管)显示器的BCD码—七段码译码器,它的特点是具有BCD转换功能;可以实现消隐和锁存控制;可直接驱动LED显示器等。
★CD4511管脚及功能
CD4511具有锁存、译码、消隐功能,通常以反相器作输出级,通常用以驱动LED。
其引脚图如图2.3.4-1所示。
图2.2.4-1CD4511引脚图
CD4511的管脚及功能如下:
BI:
4脚是消隐输入控制端,当BI=0时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:
3脚是测试输入端,当BI=1,LT=0时,译码输出全为1,不管输入DCBA状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损。
LE:
5脚锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4:
1,2,6,7脚为8421BCD码输入端。
a、b、c、d、e、f、g:
13,12,11,10,9,15,14脚为译码输出端,输出为高电平1有效。
GND、Vcc:
分别为8、16脚,表示的是接地引脚和电源引脚。
CD4511的内部有上拉电阻,在输入端与数码管端接上限流电阻就可工作。
BLED数码管的结构以及显示原理
★LED显示器结构
通过发光二极管芯片的适当连接(包括串联和并联)和适当的光学结构。
可构成发光显示器的发光段或发光点。
由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管、电平显示器管等等。
通常把数码管、符号管、米字管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。
基本的半导体数码管是由七个条状发光二极管芯片按图2.3.4-2排列而成的。
可实现0~9的显示。
图2.2.4-2半导体数码管
★LED显示器分类
a按字高分:
笔画显示器字高最小有1mm(单片集成式多位数码管字高一般在2~3mm)。
其他类型笔画显示器最高可达12.7mm(0.5英寸)甚至达数百毫米。
b按发光管发光颜色分,可分成红色、橙色、绿色(又细分黄绿、标准绿和纯绿)、蓝光等。
另外,有的发光二极管中包含二种或三种颜色的芯片。
由于发光二极管的颜色、尺寸、形状、发光强度及透明情况等不同,所以使用发光二极管时应根据实际需要进行恰当选择。
c按结构分,有反射罩式、单条七段式及单片集成式。
d从各发光段电极连接方式分有共阳极和共阴极两种。
所谓共阳方式是指笔画显示器各段发光管的阳极(即P区)是公共的,而阴极互相隔离;所谓共阴方式是笔画显示器各段发光管的阴极(即N区)是公共的,而阳极是互相隔离的。
本设计研究的是一个交通灯控制系统,为了避免使司机将其误认为绿灯,进而造成不必要的交通混乱,不采用绿色发光二极管而是应选择红色发光二极管作为倒计时显示器的发光材料。
同时由于选用的CD4511配接共阴极数码显示管,因此选用红色、共阴极LED。
共阴极的驱动级应为射极输出或源极输出电路,如图2.2.4-3所示。
图2.2.4-3共阴极数码显示器输出电路
共阴极结构的数码显示器阴极共地,当某个发光二极管阳极为高电平时,将其燃亮,这种结构适用于CD4511类译码器的电路。
选用共阴极数码管TLG342与CD4511的基本连接方式如图2.3.4-4所示。
图2.2.4-4共阴极数码管与CD4511的基本连接方式
C数码管显示电路
本设计是三路口联合控制,每个十字路口需要4个双显示数码管,所以三路口需要12个双线数码管。
数码管由AVR单片机I/O统一控制。
ATmega128的PA0---PA7为数字信号输出口,PB0---PB5为片选输入口,PB0---PB5与74LS138产生出译码,当74LS138译码器的输出信号为低电平时,说明选中相应的CD4511,选中后CD4511接受并译码送TLG342数码显示管显示。
图2.3.4-5是以1位显示为例用CD4511实现LED与可编程控制器ATmega128的并行接口连接电路。
图2.2.4-5显示电路设计
3程序设计
3.1系统主要程序的设计
道路交通灯控制系统控制程序主要分为以下几个模块:
初始化程序、主程序、定时中断程序、紧急车辆通行实时响应程序。
初始化程序主要完成的规划、定时器工作模式的设定、中断方式等的设定。
要想完成系统程序设计,一个很好的流程图是必要的,主流程图代表着一个系统的工作流程,所以我们先要设计出主流程图,下面是本系统的主流程图3.1-1。
图3.1-1主程序流程图
下面是显示状态程序流程图:
图3.1-1状态图
图3.1-2显示状态程序流程图
4程序调试
4.1PROTEUS仿真软件简介
PROTEUS嵌入式系统仿真与开发平台是由英国公司开发(授权风向标科技公司为中国大陆总代理)的EDA工具软件,是目前世界上最先进最完整的嵌入式系统设计和仿真平台。
Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,