目录
一、方案流程及技术规格书设计
二、系统硬件电路设计
三、系统软件设计
四、系统调试测试与分析
前言
伴随着越来越多的家用小轿车的出现,道路安全问题也越来越被人们重视,当今,红绿灯也被安装在各个路口,来规范人们的驾驶习惯,红灯停,绿灯行的规则根深蒂固的铭记在所有人心里。但是红绿灯技术的出现,一直追溯到19世纪。
1858年,随着第二次工业革命,在英国的大街上,有一种红蓝相间的机械扳手式信号灯,用燃气作光源,其主要功能就是指挥马车通过。十年之后的1868年,同样在英国伦敦,英国机械工程师纳伊特发明安装了世界上最早的旋转玻璃式的红绿灯,从那时候起,红灯停,绿灯行开始逐步走进人们的生活。但是因为光源的不稳定性,时常发声煤气灯爆炸伤人事件,英国当局决定停止使用煤气灯的红绿灯。后来美国有电力驱动的交通信号灯,它是一种用红色、绿色和黄色的环形光源构成的交通信号灯,1914开始在纽约市第五大道的一栋高楼上。红色代表“停止”,绿色显示“通行”。1918年,交通信号灯和红外交通信号灯也相继问世。一种是在地面安装一个气压检测器,当交通工具靠近时,它会变成绿色;另外一种方法是利用喇叭来发动交通信号灯,当驾驶员遇到红灯时,摁喇叭,就能把红灯变成绿色。红外交通信号灯是指在一个对交通压力有反应的道路上,一个人会通过。红外线可以使绿灯亮起一小会儿,使车辆延迟通行,避免车祸。交通信号的引入,使得交通流量得到了有效的控制,在交通流量、提高道路通行、降低交通意外方面起到了显著的作用。不同类型的信号灯在1968年被纳入了《道路交通和道路标志信号协定》。绿色是交通信号灯,除了其他交通信号灯不允许使用特定的交通工具外,面向绿色的交通工具可以直线行驶、左拐和右拐。左、右转机动车均应使正在通过交叉路口的机动车和通过人行横线的机动车先行。红色为禁止通行的交通标志,当遇到红色时,请在十字路口的停车标志后面停下。黄色灯光是一个警示标志,当面向黄色灯光的机动车不得通过停车线,但是已经非常靠近停车红线无法停车时,可以驶入十字路口。1918年,由于多种运输方式的发展,以及对交通的需求,真正意义上的三色灯(红、黄、绿三种颜色)应运而生。这是一个三种颜色的环形四边形投射机,位于纽约市五号街的一幢高楼上。中国人胡汝鼎,他满怀“科学救国”之心,赴美国进修,并在美国通用电气公司任职,当时他是伟大的发明家爱迪生的学生之一。有一次,他在一个熙熙攘攘的十字路口等着一个绿灯。惊出一身的冷汗。他在寝室里思索了许久,最后想到了在红灯和绿灯之间增加一个黄绿灯,以警示大家的安全。他的提议立刻获得了相关部门的支持。于是,红、黄、绿三种颜色的交通信号灯,就形成了一套完整的交通系统。
随着电子技术的迅速发展。其中,单片微处理器的发展尤为迅猛。由于其独特的构造方式,在特定的应用场合,可以实现一般的计算机所不能实现的功能。低价的微机。具有较高的集成性、较少的尺寸、较高的稳定性和较好的控制能力。因为它具备以上特性,所以它被广泛地用于人们的日常使用。
软件工具准备
软件:
电路设计:protel99 se(up主使用版本) 或者其他版本,或者其他电路设计软件;
单片机开发:Keil5;
调试测试:串口调试助手,逻辑分析仪等;
工具:
电路焊接:电烙铁,SMT(有条件的);
调试:
万用表、示波器(基础入门即可,可以白嫖学校或者公司)USB转串口工具、仿真器;
一、方案流程及技术规格书设计
方案流程设计
技术规格书设计
模拟现实生活中交通信号灯做出实物设计。
该项系统将设置在十字路口,有东西向和南北向,在任何时间只能单向行驶,而在另外一条路上禁止行驶。在行驶过程中持续一段时间,过了短暂过渡时间后,对换通行禁行方向。具体情况见下图。
图片说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始:直至状态4然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
东西两个方向的红光熄灭,两个方向的黄色灯光也会熄灭,红色的灯光也会随之出现。还有二十秒的时间。该状况下,东西方向不能进入,南北方向可进入。
东西两个方向的绿灯熄灭,黄色的灯光也会出现,南北方向的红色灯光也会变成红色,还有5秒的时间。这种情况下,所有的车辆都需要等待,除非是已经通过的车辆。
南北方向的红光熄灭,东方和东方的黄色灯光熄灭,红色的灯光也会熄灭。还有三十秒。该状况下,东西方向可供出入,南面不可。
南边和西边的灯都熄火了,黄色的灯光也亮了起来,还有五秒的时间。这种情况下,所有的车辆都需要等待,除非是已经通过的车辆。
下面我们可以用图表表示灯状态和行止状态的关系如下:
状态1 |
状态2 |
状态3 |
状态4 |
|
东西向 |
禁行 |
等待变换 |
通行 |
等待变换 |
南北向 |
通行 |
等待变换 |
禁行 |
等待变换 |
东西红灯 |
1 |
1 |
0 |
0 |
东西黄灯 |
0 |
0 |
0 |
1 |
东西绿灯 |
0 |
0 |
1 |
0 |
南北红灯 |
0 |
0 |
1 |
1 |
南北绿灯 |
1 |
0 |
0 |
0 |
南北黄灯 |
0 |
1 |
0 |
0 |
东西南北四个路口均有红绿黄3灯和数码显示管4个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2-1所示。说明:0表示灭,1表示亮。
该方案能够对交通的基础控制进行仿真,以红色、绿色、黄色灯光指示禁止、通过、等候、并可进行倒数显示。可以控制禁行、深夜模式、复位、东西通行、南北通行、时间加、时间减、切换等,红外感应装置可以根据交通量的变化,实现对通行时间的控制。四根二比特数字管用来表示四根二比特数字管,每根数字管的阴极连接在STC89C51的P1端口上,而阳端连接在74HC245的晶片上。74HC245晶闸管由P0端口进行驱动和放大。一共12只 LED,在四个十字路口,分别有红色(禁止)和黄色(警告) LED灯,P2端口连接四个十字路口,P3端口与钥匙连接。
二、系统硬件电路设计
2.1微处理控制电路
STC89C51具有4个8比特的 I/O端口,它们被称为P0,P1,P2,P3。每个端口具有锁存器、输出驱动器和输入缓冲。在实践中,他们已经被划为专门的注册,拥有一个字节地址和比特地址的能力。在存取芯片外延时,P0口分时传输低位8比特的位址及资料,P2端口传输高8比特的位址。在没有芯片外延式内存的情况下,4个接口都可以用作一个双向输入输出接口。
四个输入/输出端口均为8-位的单向端口,它们的构造与特征是一致的,但各自具有各自的特征。
STC89C51的时钟讯号一般由两种形式组成:一种是内置的,另一种是外部的。在微处理器中有一个振荡回路,在微处理器XTAL1和XTAL2管脚上连接一个晶振,即可形成一个自激式振荡器,并在该单元中生成一个时钟脉冲。C1、C2具有稳定的频率和迅速的振荡功能,其容量范围为5~30 pF,一般为30 pF。晶振 CYS具有从1.2到12 MHz之间的振荡频率,具有12 MHz和11.0592兆赫的代表性。
在STC89C51的 RST管针被导入高电平并维持2个机械周期后,在 MCU中进行重置(如果管针继续维持高电平,则循环重置)。
重置回路一般有两种方法:上电的自动重置和按键重置。在上电的自动重置回路中,最简易的上电的自动重置是由一个外接回的电容器进行的。在 Vcc升高的持续时间不大于1毫秒,即可完成上电复置。当时钟频率为6 MHZ, C为22 uF, R为1 K。除上电复置以外,还有一些必要的按钮手动重置。该方案采用了人工的按钮来实现。按键的人工重置有两种:电平重置和脉冲重置。在此,电平重置由 RST端部经由电阻器与 Vcc相连接而完成。如图所示就是单片机最小系统的原理图。
2.2 LED显示电路
LED英文字的简称,其意思是: LED是一种可以将电能转换成可视光的固体材料,可以将电能转换成光线;该这种技术改变了白炽灯钨丝及节能灯三基色粉体发光机理,并通过电场来实现。根据研究结果, LED具有长寿命、高光效、低辐射、低能耗等特性。LED是当今世界上最具潜力的新型光源之一,它亮度高,热量小,寿命长,无毒且可循环再用,被认为是二十一世纪最有发展前途的绿色光源之一。从1970年开始,国内 LED行业发展至今,历经四十多年的发展, LED产品在园林、普通灯具等方面得到了广泛的运用,已是世界最大灯具生产大国和世界第二大灯具出口国。近年来,由于对 LED的研究日益深化, LED制作技术的发展以及新型的氮化硅、磷光体等新的材料的研制与使用,使得多种色彩的 LED都获得了重大突破,其发光效能提升了1000多倍,在色彩上已经达到了可见光的全部色彩。特别是在 LED产品中,超清白色发光二极管的问世,使得 LED产品的使用范围达到了高效的发光光源。人们一度认为,自从爱迪生发明了白炽灯之后,高亮度 LED将成为最大的一项发明。信号灯使用 LED来表示各种颜色的信号灯。
2.3 数码管显示
数字管是一种以 LED为主要元件的半导体发光元件。数字管内按照分段数目可分成七段数字管与八段数字管,八段数字管的 LED元件多于七段数字管(多一位数字数字);根据“8”的数量,可以分为1位、2位、4位等等:根据 LED元件的连接形式分为:共负数字和共负数字。共阳数字管是把 LED的正极连接在一块,共同构成一个共同的阳极 COM (COM),在使用该数字管的时候,它应该把一个共同的 COM连接到+5 V。对应的域不会发光。共阴数字管是一种数字管,它把全部 LED的阴极连接在一块,从而构成一个共同的阴极 COM,在使用该数字管时,该数字管应该把一个共同的电极 COM与地线 GND连接,在一个特定的 LED的阳极很高的时候,对应的区域会被点亮。如果某个域的阳极很弱,对应的域就不会发光。因其廉价易用,在各种家用电器尤其是家用电器中得到了很大的应用。
2.4信号显示驱动电路
74HC245解码器可以接收3比特二值加权的寻址(A0、A1、A2),并且在启用时(Y0到Y7)时,可收到八个相互排斥的更小有效输出。74HC245具有3个启动的输入:2个无效(E1和E2)和一个高效率(E3)。74HC138将使全部的输出维持为高,直到E1和E2被设置为较小并且E3被设置为高。该混合功能使得4块74HC245和1台逆变器可以方便地进行并联,组成1-32 (5-32)解码机。如果将一个低效启动的输入端子用作一个数据输入端子,那么74HC245也可以起到8输出多路分配器的作用,其中,不用的启动输入端子一定要被固定在相应的高激活或者低激活的条件下。
74HC245工作在高性能存储解码或对传输延时有较小的需求的数据传送中起重要的作用,在高性能存储设备中,使用该解码器可以有效地改善解码系统的工作效率。在使用快速赋能回路的情况下,解码器的延时和存储的赋能时间一般比内存的一般访问要短,也就是说,肖特基钳位的体制解码器造成的有效的系统延时可以被忽视。HC138根据三个二元输入码和被赋予的输入状态,将其翻译成一个较小的输出。两个低级的高效赋能输入和一个高效率的赋能输入部可以降低扩容所需的外接门或逆变器,并且可以将其扩充为24行解码器而无需外部门电路;将其扩充为32行解码,仅需附加一个附加逆变器即可。该赋能的输入可以作为一个解调程序的数据的输入。
设计中将1脚接VCC,19脚接地,整个芯片是输入端输入高则输出端输出高,输入端输入低则输出端输出地,只是相当于驱动作用。
2.5 键盘输入电路
单片机的键盘分为两类:一是单独的,二是矩阵的,每个输入输出端口都有一个键,而键的一头连接着一个供电或者地(通常是在地面上),这样的连接过程相对来说更容易实现,也更可靠;而矩阵键接法则相对繁琐,但对 I/O的要求更低。按此方案的要求选择了独立的键接法。
采用单片输入输出端口的电平来判定按键的大小,从而确定按键的按键。把正常开关的一头接到地面,一头与 I/O端口相连,在编程一开始就把这个输入/输出端口设置为高电平,在正常情况下,在没有键的情况下,输入/输出端口可以起到高电平的作用。在有按键的情况下,这个输入/输出端口与接地的短路会导致输入/输出端口处于一个较低的水平。在松开按钮后,在微处理器中的上拉阻抗使得输入/输出端口始终处于高水平。我们需要的只是查找这个输入/输出端口的水平,看看我们有没有按钮操作。
在使用微处理器进行键盘的加工中,有一个非常关键的步骤:消除颤振。所谓的“震动”,就是指在键盘没有被按下的时候,出现的不稳定状态,这种情况是不能用鼠标来控制的。这个颤抖通常在10到200 ms,这个不稳定级别的颤抖时间对人类来说是很短的,但是对一个微秒的 MCU却很慢。硬件去抖就是用局部的线路加上一个环节,把颤抖的部分消除,不会把颤抖消除,只是避免了一部分的抖动,等到键盘的状态变得平稳后才能进行。因此在此采用了软件消除颤抖的方法,其实施方法是在有较小水平的情况下,找出一个合适的按钮来延迟10-200 ms来避免颤抖(典型的20 ms),然后在延迟完成之后再次读取 I/O端口的数值,此时的数值在小于10至200 ms的时候被认为是一个干扰。如果读取的数值为0时,就意味着有一个按钮被按下,对应的处理器被呼叫。在图中显示了该硬件线路:
2.6 车流量检测电路设计
使用红外汽车检测装置。红外汽车检测仪是指用被探测物阻挡或被反射的物体,由同步环来探测目标是否存在。不局限于金属,任何能够折射出光的东西都可以被探测到。光开关把输入的电流通过传送机转化成光的输出,然后由接收机依据所收到的光强度或存在与否来检测。如果在光扫射范围内,则会造成一部分或所有的光斑被遮蔽,以达到对车辆的全面探测。通常采用的是光电子转换技术,其特点是反应速度快、抗干扰能力好、不会受到天气状况和色彩等因素的干扰。并且容易的进行。
该方案利用E18-D50NK对射红外光转换器进行仿真测试。红外光转换器工作于5 VDC,工作电流10-15毫安,驱动电流100毫安,感应范围3-50 CM,工作环境-25~55摄氏度。在有汽车经过的时候,该器件的输出会发出一个转换的信号,然后由 MCU完成对应的运算。这样就可以实现车辆的交通数据的采集。
2.7 蜂鸣器驱动电路
该设备为集成式电子报警器,以 DC为电源,被用于电脑,打印机,复印机,报警器,电子玩具,汽车电子设备,电话机,定时器等电子设备。蜂鸣的种类有两种,一种是压电型的,一种是电磁的。在线路中,蜂鸣机用“H”和“HA”来代表(以前的标准是“FM”,“LB”,“JD”等等)。1.压电蜂鸣器的压电蜂鸣器,其主体包括:多个共振器,压电蜂鸣器,阻抗匹配器,共鸣箱,外壳等。有些压电型蜂音器还在其壳体上安装了 LED。
多个共振腔包括一个三极管或者一个集成电路。在接通供电(1.5~15 V DC)时,多个共振电路开始振动,并以1.5~2.5 kHZ的频率输出,而一个阻抗匹配器则使压电蜂窝板发出声音。压电式蜂窝板是用一种压电式的压电式陶瓷,或者用一种叫铌镁酸盐的方法制作而成。将两个金属表面涂覆一层银色的电极,然后进行极化及时效,然后用铜板或不锈钢板进行胶合。电磁蜂鸣器是一种电磁蜂鸣器,它包括振荡器,电磁线圈,磁铁,振动膜片和壳体。当电源打开时,振动器会发出声音讯号,经过电磁阀,从而形成一个电磁场。磁体与磁体之间的振膜蜂鸣器的驱动电路通常由三极管、蜂鸣器、电流限制器组成。该蜂音机是一个发声单元,通过将 DC电压(有源蜂窝)或方波(被动的蜂鸣机)的两端应用于其上,它的基本参数包括外形尺寸,声音方向,工作电压,工作频率,工作电流,驱动模式(DC/方波)等。可以按需求进行挑选。此方案使用了主动式的蜂鸣机。
三极管Q1作为一个切换功能,它的基极的低值使得三极管处于饱和状态并使得蜂鸣机发出声音;当高电平的时候,三极管就会被切断,而蜂鸣机就会不会发出声音。
三、系统软件设计
3.1 主程序设计
整个控制软件可以分成几个部分:按键设定、状态灯管、 LED显示屏、消除抖动延迟等。次状况判定和处置、紧急停止或违反判定、中止维护、交通统计等。交通信号灯的调节等。
整体的软体设计分为两大类:键盘处理器和50毫秒的扫描器。在图中显示了该流程。
3.2 子程序模块设计
键控采用呼叫中断方式进行操作,而采用单芯片输入输出端口的水平来判定键压。把正常开关的一头接到地面,一头与 I/O端口相连,在编程一开始就把这个输入/输出端口设置为高电平,在正常情况下,在没有键的情况下,输入/输出端口可以起到高电平的作用。这个输入/输出端口和接地在有按键的情况下会导致输入/输出端口处于低压状态。在松开按钮后,在微处理器中的上拉阻抗使得输入/输出端口始终处于高水平。我们需要的只是查找这个输入/输出端口的水平,看看我们有没有按钮操作。
该方案的关键在于计时中断子程式,一旦计时器起动,则会在初始数字上加上1。我们不把TH0和TL0设定为0,假定12 MHz,12个时钟循环是一个机械循环。这时,计算机的运行时间是1 us,如果将TH0和TL0全部记录下来,则要216到1个数字,如果有一个脉冲计数超过了这个数字,立刻请求 CPU的停止。所以一次溢出只需65536 us,也就是65.6毫秒,我们必须在TH0和TL0上安装一个初始数值,然后再加上50000个数字。计时器满了,每隔50毫秒就会出现一次,如果要计时1秒,那么在编写时,会出现20次50 ms的计时器中断,这就是1秒。这就可以准确地控制计时了,负责数字管的数据更新和各种状态的转换。该中断子程式包含数字管内的输出资料更新程式及每一位态处理器。这个中断的流程显示在这个图表上。
四、系统调试测试与分析
4.1 PCB版图
完成智能交通控制灯的硬件系统的设计和软件系统程序编写之后,先使用了仿真软件对整个系统的功能进行了仿真。仿真的结果和设计的需要一致。随后,使用PCB绘图软件将整个系统布线图进行了绘制,如图5-1所示就是整个智能交通控制灯系统的PCB图。完成了PCB图的绘制,下面就要对智能交通控制灯进行硬件的安装、焊接和软件的程序烧录。
4.2 硬件系统调试
最们就对整个交通控制灯进行测试,首先开机,开机之后的默认时间开始倒计时,开机时,默认是东西通行,也就是绿灯,时间是20秒,南北的倒计时是25秒,亮红灯,当东西方向通行时,东西方向的红外探头检测车流量,南北方向不允许车辆通行,如果检测到车辆就是闯红灯了,会报警。当东西通行时间是20秒时,那么在这20秒内通过的车辆达到10辆以上(也就是时间的一半以上或者说是达到2秒钟一辆)那么当到达下次东西通行时,通行时间会加5秒,也就是25秒。继续计时,当到达南北通行时间了,默认是30秒绿灯,同样,南北通行时,东西方向不允许车辆通行,也就是不检测车流量,只检测是否有车辆闯红灯。当南北通行时间30秒内的车辆达到15辆以上,那么下个南北通行时间就会加5秒,也就是35秒。如果东西通行时间20秒内东西方向的车流量小于10,那么在下一个东西方向通行的时间就会减5秒,也就是15秒(最低值)。同样,南北也是,当南北同时时间30秒内南北方向的车流量小于15,那么下一个南北方向通行的时间就会减5,也就是变成了25秒,如果下个周期车流量小于12辆(25/2),那么下下个周期就会再减5,变成20秒,最小值同样是15。东西和南北方向的时间互不影响。