项目实训报告
课程名称: 虚拟仪器应用
项目名称: 交通灯控制系统
班 级:
姓 名:
学 号:
指导教师:
日 期:
项目信息表
交通灯控制系统项目报告
第1章 概述
1.1 引言
实现路口信号灯控制系统的方法很多,可以用可编程控制器PLC、单片机、标准逻辑器件等实现。但其功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度。提出基于labview的智能交通灯控制系统,可实现3种颜色灯的交替点亮、各种信息提示、实时监测交通灯工作状态等功能。不仅编程简单、灵活、可靠性高,而且成本低、具有良好的经济效益。为实现交通系统智能控制提供了一条新途径。
1.2 设计思路
近年来,在快速城市化进程和经济发展的影响下,城市交通迅速增长,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题。其中,十字路口则是造成交通堵塞的主要”瓶颈”。世界发达国家都在积极探索如何最大限度地发挥道路通行能力,尽量减少交通堵塞造成的各种损失。实现十字路口信号灯控制系统的方法有很多,可以通过可编程控制器PLC、单片机、标准逻辑器件等方案实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了设计难度,提高了设计成本。随着计算机技术的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到广泛应用,促进并推动测试系统和测量控制的设计方法与实现技术发生了深刻的变化。”软件就是仪器”已经成为测试与测量技术发展的重要标志。 我们设计了基于labview的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。
1.3 基本功能
1.东向红灯亮,北向绿灯亮,时长6s;
2.东向红灯亮,北向黄灯亮,时长3s;
3.东向绿灯亮,北向红灯亮,时长6s;
4.东向黄灯亮,北向红灯亮,时长3s;
第2章 系统前面板设计
2.1 交通灯制作
1.控件自定义
在Labview中,在控件编辑窗口可以重新定义控件的很多属性,如颜色、名称、图片修饰、文本内容等。最常用的控件格式为自定义类型。
制作自定义控件步骤如下:
(1)在前面板中选择一个圆形布尔控件,右击属性。将图像为真时的颜色改为绿色,为假时显示白色同时将标签改为不显示。按同样的方法分别做出黄灯控件绿灯控件。
(2)将做好的三个控件排列好,讲控件全部选中按图示方法所以将三个控件组合起来,以便在拖动时不乱。
2.2 控件组合为簇
(1)在前面板,放置簇的外框,控件选板—新式—数组矩阵与簇—簇。将做好的一组控件拖到簇中,为了美观可以选中簇右击选择自动调整大小。
(2)需要注意的是,簇元素的逻辑顺序与其在簇内的位置无关。右击簇外框,从快捷菜单选择‘重新排序簇中控件’,查看菜单下方所显示的数值,需要将哪一个簇元素设置为当前的数值顺序,就用鼠标点击那个簇元素,就可将其设定为所指定的逻辑顺序。完成后点击确定,若不需要则点击取消。包含两个方向的簇中元素的顺序,最好与外部硬件资源所对应的交通灯相一致:将元素按照顺时针方向定义顺序,如下图。
2.3 表格
使用表格控件来存放显示每个方向交通灯的逻辑列表及时长信息。选择控件选板—系统—列表表格和树—系统表格,放置表格控件于前面板中。修改标签为‘逻辑序列’。右击表格控件,显示项中勾选‘列首’。 在表格的列首中,填写每一列所代表的信号灯,如ER,EY等。逻辑信息”1“表示真即灯亮, ”0“表示假即灯灭。时长(s)表示没种状态所保持的时间。
表格中存放的数据类型为字符串型的二维数组,故其在程序框图中的接线端子的颜色为枚红色。作为列首的提示信息,不会直接出现在接线端子所传递的数据中,若想在程序框图中引用表格列首信息,需要使用属性节点来调用。
第3章 系统功能实现
3.1 数组操作
字符串不方便做数值运算,故需要将表格的字符型数组转化数值类型的数组。在Labview中很多函数都可以做多种类型的运算,如加减乘除,可以针对标量也可以针对数组、簇、波形等数据。同样的,数值类型的转换函数,既可以针对单个标量,也可以作用于整个数组。
函数”十进制数字符串至树枝转换“可以完成字符串的转换。转换后得到的整形数组中,包含两组信息,一组为交通灯的逻辑信息,一组为延时信息。故需要将两组信息分离。使用函数”删除数组元素“。将二维数组连接至函数的‘N维数组’连线端口,列的索引设定为6,含义为将数组中的第七列数值删除(即时长信息删除)函数输出的两个数组,上册为逻辑列二维数组,下侧为时长信息一维数组。时长信息给定等待函数,控制每次循环执行的时长,即保持每个状态的时长。
3.2 For循环
Labview中的for循环和文本语言中的for循环功能一致的,for循环执行N次数,当i=N-1时,循环结束。For循环需要有确定的循环执行次数。故必须连接for循环的总数接线端子N,或者将启用索引数组连接至for循环外边框。For循环和while循环一样,也可以使用条件接线端,右击for循环外框,选择’条件接线端’即可使用停止按钮控制for循环的运行。
3.3 自动索引
or循环的自动索引功能是默认打开的,while循环也有自动索引功能,需要用户自己打开。如将数组连接至for循环,可启用自动索引读取和处理数组中的每个元素。将数组从外部节点连接到循环边框上的输入隧道,启用输入隧道的自动索引后,从第一个元素开始诶次均有一个数组元素进入循环。
一个使用细节,如果有多个隧道启用自动索引,或总数N接线已连接数值,实际的循环次数将取其中较小的值。
3.4 数据I/O(DO)
图 2-6 数字信号输出(DO)
交通灯模块中使用的LED灯,可使用DO通道输出的TTL信号来控制其亮灭。故本实验中需要了解数字信号输出DO的编程方式。
本实验系统中,使用的数字通道,产生高低电平,控制LED灯的亮灭,完成对交通灯的逻辑控制。如上图所示,为LabVIEW中数据采集中关于数字信号的生成。数据采集的编程流程:配置资源 – 时钟设定 - 开始采集 - 读/写操作 - 关闭资源。本实验流程:创建数字通道,数字通道写操作,暂停操作,清除资源,简单错误处理。其中数字通道写操作的VI放置在for循环中。
数字信号(例如,晶体管—晶体管逻辑(TTL)兼容信号)有两个离散电平—高电平和低电平。TTL兼容信号具有下列特性:
0 V至0.8 V = 逻辑低
2 V至5 V = 逻辑高
最大上升/下降时间 = 50 ns
3.5 交通灯控制逻辑实现
按照交通灯控制逻辑序列,编写VI程序框图如下所示,将字表格中字符串形式的逻辑序列表格转换为数组形式,再将数组转换为布尔数组,提取出时间信息,用于设置等待时长,取出数组中的逻辑序列,控制各个灯的点亮和熄灭。
第4章 调试测试
4.1 操作步骤:
1. 将所需传感器模块安置在对应的nextboard平台槽位上(数字信号槽位);
2. 使用nextpad检测模块是否正常使用;
3. nextwire_20模块的LED灯是否工作正常;
4. 完成配置硬件资源 通道号、硬件搭接;
4.2 运行调试,实验运行结果如下:
状态1 状态2
状态3 状态4
第5章 总结
交通灯是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。本次试验就是实现常见十字路交通灯功能。之前用单片机C语言完成过此项功能,这次用这学期刚接触的labview来编程序实现,该控制系统设计简单、性能稳定、实时性强。系统目前仍存在不完善之处:不能根据十字路口不同方向车流情况及停车拥堵情况实现自动控制车辆左、右转弯以缓解交通负荷的功能。但是,随着系统设计及程序的进一步扩展,将会逐步完善,从而真正实现路口信号灯智能化、人性化控制。
通过这次的试验,更深入的了解了labview软件的使用,掌握了硬件电路的设计方法,在老师和同学的帮助下成功的完成了此次试验。
第二篇:单片机交通灯设计与制作实训报告
第一天:我们来到实训器材放置好的实验室里,老师安排好各个组员,发下实训报告、元件还有简易交通灯电路图来,然后告诉我们利用单片机设计一个基本交通灯控制系统,能够控制东西南北两个方向的交通,红绿灯用红、黄、绿三种颜色的12个发光二极管代替。我们根据原理图在板上布局好,12个发光二极管需要分散点,这样焊点较容易焊好
第二天:在布局好的8.7*6.2万能板上我们要把各个元件都焊好,将焊接好的万能板与下载线一端连接,另一端口连接到计算机的并口,接通电源,检测已焊接好的电路是否接通。纯硬件测试调试。焊接时是在覆铜一面进行焊接,没有覆铜一面用来放置元件。了解了焊接的原理,焊锡借助于助焊剂的作用,经过加热熔化成液态,进入被焊金属的缝隙,在焊接物的表面,形成金属合金使两种金属体牢固地连接在一起
第三天:主控芯片是采用AT89S52单片机,电路完成后检查,确定电路无虚焊、无短路、集成元件是否安装正确,开始调试。我们来到机房,老师讲解采用AT89S52单片机来设计一个基本交通灯控制,编译源程序,运用AEDK51软件编辑,生成HEX文件,烧写成实验板,接着我们跟着老师步骤学会自己编译源程序,汇编语言程序设计,要做好四个状态
第四天:运用AEDK51软件根据程序流程图编辑,编译源程序,汇编语言程序设计,做好四个状态之后,生成HEX文件,烧写成实验板,利用progisp软件调试,慢慢的改正错误,一次次的调试之后加上在同学帮助下终于完成了控制两个方向的单片机交通灯
第五天:成功完成单片机交通灯后,回顾这一周来的实训过程,总结实训中所学到的,认识了单片机的硬件结构,工作原理,汇编语言程序设计以及接口应用
实训结果:根据设计要求,将焊接好的万能板与下载线一端连接,另一端口连接到计算机的并口,运用AEDK51软件编辑,生成HEX文件,烧写成实验板,完成了利用单片机控制12个发光二极管的交替点亮和熄灭
实训心得体会:短短的一周经过老师的精心指导下,花费的时间与精力终于效果渐渐地出现了,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识.,也让我们对单片机有了更深一步的了解。我们注意到,应该在万能板上把12个发光二极管分散点布局,焊接时是在覆铜一面进行焊接,没有覆铜一面用来放置元件,细心的放好芯片再调试,打开AEDK51软件要细心编辑,根据程序流程一步一步认真的完成汇编语言程序设计,保存的文件名称只能是英文,充分利用了AT89S52芯片实现了能根据实际车流量通过单片机芯片的P1口控制红、黄、绿灯的燃亮与熄灭
实训步骤:1.焊接,了解了焊接的原理,无虚焊、无短路2.硬件调试3.软件调试4软件编程,汇编语言程序设计5利用单片机控制12个发光二极管的交替点亮和熄灭