基于LabVIEW的交通灯.doc
- 文档编号:154626
- 上传时间:2022-10-04
- 格式:DOC
- 页数:12
- 大小:699.77KB
基于LabVIEW的交通灯.doc
《基于LabVIEW的交通灯.doc》由会员分享,可在线阅读,更多相关《基于LabVIEW的交通灯.doc(12页珍藏版)》请在冰豆网上搜索。
南阳理工学院
虚拟仪器技术课程设计
题目名称:
基于LabVIEW的交通灯设计
专业:
班级:
学号:
学生姓名:
指导老师:
学年学期:
2013--2014学年第一学期
2013年12月25日
一、设计要求和条件
交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
中华人民共和国道路交通安全法实施条例
第四十条车道信号灯表示:
(一)绿色箭头灯亮时,准许本车道车辆按指示方向通行;
(二)红色叉形灯或者箭头灯亮时,禁止本车道车辆通行。
第四十一条方向指示信号灯的箭头方向向左、向上、向右分别表示左转、直行、右转。
第四十二条闪光警告信号灯为持续闪烁的黄灯,提示车辆、行人通行时注意瞭望,确认安全后通过。
二、设计目的
为了提高电子线路系统设计与实际的应用能力,开始为期二周的电子线路设计与测试。
本课程实验使学生更好理解和巩固课堂上所讲的理论知识,提高学生的动手能力,加强学生独立分析问题和解决问题的能力,为进一步学习专业课作好准备,并为今后从事专业方面的工作打下坚实基础。
通过实践环节使学生在巩固所学各门专业基础课与专业课知识,进一步把其与虚拟仪器系统移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对电子线路设计与测试系统的学习和理解,为以后工作的研究和开发打好基础。
三、设计方案论证
1、方案论证
交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
近年来,在快速城市化进程和经济发展的影响下,城市交通迅速增长,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题。
其中,十字路口则是造成交通堵塞的主要”瓶颈”。
世界发达国家都在积极探索如何最大限度地发挥道路通行能力,尽量减少交通堵塞造成的各种损失。
我们设计了基于labview的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。
该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
使用虚拟仪器用户可以通过操作显示屏上的“虚拟”按钮或面板,完成对被测量的采集、分析、判断、调节和存储等功能。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
与C和BASIC一样,LabVIEW也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储,等等。
LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
下面的框图反映了常见的虚拟仪器方案。
虚拟仪器的主要特点有:
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
目前LabVIEW的最新版本为LabVIEW2009,LabVIEW 2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。
使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEW Real-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件。
鉴于LabVIEW有诸多优点,这次我们将应用LabVIEW来完成一个十字路口交通灯系统的设计。
2、交通灯的总体设计
本次设计要完成一个十字交通信号灯的设计,这个交通信号灯系统能为行驶的车辆指示能否通行。
这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,每个循环的时间为26s,其中通行(绿灯)的时间为10s,等待通行(黄灯)的时间为3s,禁止通行(红灯)的时间为10s。
当停止键按下时,循环停止。
总体设计结构框图如图1所示。
图1总体结构框图
3、前面板的设计
前面板是VI的用户界面。
创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。
本设计中的前面板比较复杂,需要用到9盏灯和4个等待时间以及一个停止按键。
每盏灯灭时为黑色,亮时为红、绿或者黄色。
每盏灯都是布尔变量,只有亮和灭的状态。
在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小,改变其颜色,分别设置为红绿黄,将9个指示灯拖到前面板上,做出一个合适的指示灯,依同样的步骤可以做好另外8个,将9个灯均分为3组,每组都包含红、黄、绿三种颜色的灯,做成一个完整的交通灯。
在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器。
在前面板合适的位置放置一个开关按钮,控制循环的停止。
这样交通灯系统的前面板就做好了。
前面板设计如图2所示。
图2前面板的设计
4、程序框图的设计
4.1定时信号的产生
毫秒计时器在LabVIEW中的一个计时单元,它的图标与用途如图3和图4所示。
在函数选板的【编程】→【定时】子选板中选择时间计数器选定该单元。
毫秒计数器对时间信号计数,要产生一个一秒为单位的时间信号,所以还得用毫秒计数值除以1000,取商得到以秒为单位的时间信号。
图3时间计数器图4时间计数器接线图
4.2时间信号的分段
将得到的时间信号除以每个循环所用的时间30s,取余数。
得到的余数x的范围为0<=x<30,当0<=x<3时,条件满足,执行第一个条件结构里面的程序——即第一个状态。
当3<=x<10时,条件满足,执行第二个条件结构里面的程序——即第二个状态。
当10<=x<13时,条件满足,执行第三个条件结构里面的程序——即第三个状态。
当13<=x<20时,条件满足,执行第四个条件结构里面的程序——即第四个状态。
当20<=x<23时,条件满足,执行第五个条件结构里面的程序——即第五个状态。
当23<=x<30时,条件满足,执行第六个条件结构
图5
里面的程序——即第六个状态。
时间分段的程序结构如图5所示。
图6
这里用到了判定范围并强制转换控件,应用这个控件可以判定输入的数是否在上限和下限之间。
它的图标和作用如图6所示。
如果输出信号在范围之内,“?
”接口将产生一个信号,此信号恰可以输入到条件结构作为分支选择器信号。
4.3各组时间信号的动作
条件结构是LabVIEW最基本的结构之一,条件结构类似于文本编程语言中的switch语句或者if„then„else语句。
条件结构可以从【结构】子选板中创建,它的图标及功能如图7所示。
在条件结构中,选择端口相当于switch语句中的“表达式”,框图表示符相当于“表达式n”。
编程时,将外部控制条件连接至选择端口上,程序运行时选择端口会判断送来的控制条件,引导选择结构执行相应框架中的内容。
在本程序中的控制条件为从判定范围并强制转换“?
”端口输出地判断值。
图7
当各组条件满足时,将执行各条件结构里的程序。
每个条件结构里的程序基本相同。
用需要点亮的灯与布尔真常量连接,不需要点亮的与布尔假常量连接,而时间显示器则用一定的值减去输入的时间量,以实现倒计时的功能,各结构里的程序略有不同,具体程序如图8到图13所示。
4.4循环的设计
图8
LabVIEW中的循环结构主要通过while和for循环实现。
这两种循环的功能基本相同,但使用上有一些差别。
for循环必须确定循环次数,循环一定次数后自动退出循环;而while循环不用确定循环次数,只需要指定退出循环的条件。
本次课程设计中循环的次数不能确定,所以就用到了while循环。
LabVIEW中的while循环相当于C语言中的while循环和do„while循环。
While循环可以从程序框图中的【结构】子选板中创建,while循环包括两个端口:
条件端口和重复端口。
它的功能、图标及说明如图8所示。
在此课程设计中,用按键连接条件端口,当按键按下时,循环停止。
4.5程序框图总图
如图9和图10所示
图9程序框图总图1
图10程序框图总图2
四、设计结果与分析
4.5程序框图各个模块
图11图12
第一个状态:
程序框图如图11所示,运行时的效果——四个方向上的黄灯亮10秒,倒计时从3秒开始,计时至0秒时触发第二个状态;
第二个状态:
程序框图如图12所示,运行时的效果——南北方向的绿灯各亮10秒,东西方向的红灯各亮10秒,倒计时从13秒开始,计时至3秒时触发第三个状态;
第三个状态:
程序框图如图13所示,运行时的效果——四个方向上的黄灯亮3秒,倒计时从3秒开始,结束时触发第四个状态;
第四个状态:
程序框图如图14所示,运行时的效果——东西方向的绿灯各亮10秒,南北方向的红灯各亮10秒,倒计时从13秒开始,计时至3秒时触发第一个状态;
图13图14
五、设计体会
经过这次课程设计,不仅让我们的知识更
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 交通灯