labview交通灯.docx
《labview交通灯.docx》由会员分享,可在线阅读,更多相关《labview交通灯.docx(16页珍藏版)》请在冰豆网上搜索。
labview交通灯
虚拟仪器的交通灯设计
课程设计:
电子线路设计与测试
专业名称:
电子信息工程
学号:
xxxxxxxxxxxx
学生姓名:
坏水
同组人员:
xxxxxxxxxxxxxxxxx
指导教师:
黄x艾x
2012年5月25日
课程设计任务书
2011~2012学年第2学期
学生姓名:
坏水专业班级:
09电信本x
指导教师:
黄x、艾x工作部门:
电信教研室
一、课程设计题目
电子线路设计与测试
二、课程设计目的
为了提高电子线路系统设计与实际的应用能力,开始为期二周的电子线路设计与测试。
本课程实验使学生更好理解和巩固课堂上所讲的理论知识,提高学生的动手能力,加强学生独立分析问题和解决问题的能力,为进一步学习专业课作好准备,并为今后从事专业方面的工作打下坚实基础。
通过实践环节使学生在巩固所学各门专业基础课与专业课知识,进一步把其与虚拟仪器系统移植结合起来,增强学生对所学知识的实际应用能力和以及与当前专业的前沿知识结合,达到对电子线路设计与测试系统的学习和理解,为以后工作的研究和开发打好基础。
三、课程设计内容
(1)数字逻辑分析仪设计
1.学会使用NIELVISII提供的数字DIO的仪器Digitalwriter(DigOut),Digitalreader(DigIn)。
2.回顾信号发生器FGEN使用方式,本次实验主要使用FGEN产生TTL信号。
3.回顾示波器Scope的使用方式。
4.利用NI提供的软硬件平台,学习数字时钟,数字计数器,逻辑状态分析。
5.熟悉555芯片的使用方式及其工作原理。
(2)LED交通灯设计
1.学会使用二线电流电压分析仪。
2.回顾DMM以及DigWriter的使用方式。
3.了解二极管特性及其测试方式。
4.巩固ELVISII的软硬件使用方法,使用LabVIEW编程实现交通灯功能。
(3)自由空间光通信
1.学会使用三线电流电压分析仪。
2.回顾二线电流电压分析仪、FGEN、示波器、DigWriter的使用。
3.了解发光二极管和光敏二极管的特性,了解三极管特性。
(4)学生自选设计题目
1.要求难度适中,与应用和工程实际相关,与LABVIEW上位机相结合。
四、进度安排
序号
设计内容
所用时间
1
布置任务,学习ELVISII实验平台
3天
2
进行电子线路硬件的设计
2天
3
制作上位机采集软件
2天
4
软硬件集成和调试
1天
5
答辩、撰写设计报告书
2天
合计
10天
五、基本要求
1、设计基于51单片机的输入和输出电路。
2、用4×4的键盘作为输入设备。
3、用LED或LCD进行显示。
4、开发μC/OS-II操作系统的移植代码。
5、对系统的进行综合和调试,通过硬件指示移植成功的标志。
6、在此嵌入式系统上,除过能完成最基本的输入和显示以外,每个同学根据自己的特长开发出应用系统。
7、编写课程设计的总结
六、设计报告
课程设计报告的基本内容至少包括封面、正文、附录三部分。
课程设计报告要求统一格式,字体工整规范。
1、封面
封面包括“《电子线路设计与测试》课程设计报告”、班级、姓名、学号以及完成日期等。
2、正文
正文是实践设计报告的主体,具体由以下几部分组成:
1不少于3000字,封面、课程设计任务书
2方案选择,方案论证
3系统功能及原理。
(系统组成框图、电路原理图)
4各模块的功能,原理,器件选择
5结果分析
6设计小结
3、附录---参考文献统一复印封面并用A4纸写出报告
目录
引言1
一、虚拟仪器LabVIEW和交通灯简介1
1.1LabVIEW简介1
1.2交通灯介绍2
二、交通灯的总体设计2
2.1实现功能2
2.2总体设计思路2
三、前面板设计3
四、程序设计4
部分模块介绍5
五、调试及结果6
六、总结心得8
七、参考文献8
引言
实现十字路口信号灯控制系统的方法有很多,可以通过可编程控制器PLC、单片机、标准逻辑器件等方案实现。
但是这些控制方法的功能修改及调试都需要硬件的支持在一定程度上增加了设计难度,提高了设计成本。
随着计算机技的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到广泛应用促进并推动测试系统和测量控制的设计方法与实现技术发生了深刻的变化。
“软件就是仪器”己经成为测试与测量技术发展的重要标志。
于是基于LabVIEW的智能交通灯控制系统就出现了,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。
该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。
虚拟仪器(virtualinstrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
虚拟仪器的主要特点有:
(1)尽可能采用了通用的硬件,各种仪器的差异主要是软件。
(2)可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
(3)用户可以根据自己的需要定义和制造各种仪器。
(4)虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
一、虚拟仪器LabVIEW和交通灯简介
1.1LabVIEW简介
LabVIEW是一种程序开发环境,由NI公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
相对于传统的标准仪器来说,LabVIEW由于是基于软件的,所以提供了更大的灵活性。
通过LabVIEW开发的虚拟仪器是由用户而不是仪器生产商定义仪器功能的。
一台计算机、数采板卡和LabVIEW的结合就能够变成一个可配置的虚拟仪器来完成用户设定的任务。
通过LabVIEW就可以用传统仪器几分之一的价格创建一个用户所需要的虚拟仪器。
当需要改变这个虚拟仪器的时候,只几分钟的时间通过LabVIEW修改就可以了。
为了便于使用,LabVIEW还集成了大量的函数库以及子程序来帮助完成绝大多数的编程任务。
在使用这些子函数的时候,可以忘掉传统编程语言中的令人头痛的指针操作、内存分配等编程问题。
除此之外,LabVIEW还包含了针对应用的数据采集(DAQ)、GPIB、串口、数据分析、数据显示、数据存储以及Internet网络通信的函数库。
1.2交通灯介绍
交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
近年来,在快速城市化进程和经济发展的影响下,城市交通迅速增长,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题。
其中,十字路口则是造成交通堵塞的主要”瓶颈”。
世界发达国家都在积极探索如何最大限度地发挥道路通行能力,尽量减少交通堵塞造成的各种损失。
我们设计了基于labview的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,通过信息提示指挥车辆和行人安全通行,并能实时监测交通灯工作状态。
该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益。
二、交通灯的总体设计
2.1实现功能
本次课程设计要完成一个十字交通信号灯的设计,这个交通信号灯系统能为向北和向东两个方向行驶的车辆指示能否通行。
这个交通路口每一个方向上的红绿黄灯按绿—黄—红的顺序循环,通行(绿灯)的时间为5s,等待通行(黄灯)的时间为1s,禁止通行(红灯)的时间为5s。
当停止键按下时,循环停止。
2.2总体设计思路
设计可以用六盏灯来指示路口的红绿灯状况,它们分别是下文中的东红、东黄、东绿、北红、北黄、北绿。
信号灯按一定规律循环点亮,每盏红灯亮5秒,每盏黄灯亮1秒,每盏绿灯亮5秒。
每个循环包括四个阶段。
第一阶段:
北黄和东红灯点亮,时间为1秒。
第二阶段:
北红和东绿灯点亮,时间为5秒。
第三阶段:
东黄和北红灯点亮,时间为1秒。
第四阶段:
北绿和东红灯点亮,时间为5秒。
每个循环用时50秒。
东、北两个方向分别放置一个时间显示器来显示离下一个信号到来的时间。
总体流程如图2-1所示:
图2-1总体流程图
三、前面板设计
前面板是VI的用户界面。
创建VI时,通常应先设计前面板,然后在前面板上创建输入/输出任务。
本课程设计中前面板比较简单,只需要用六盏灯、4个LED逻辑和等待时间、一个停止按键即可。
其中的六盏灯,红、黄、绿各两盏,在控件选板中选择指示灯,将它放在前面板合适的位置,单击鼠标右键,更改指示灯的属性,改变指示灯的大小,改变其颜色,分别设置为红绿黄,将六个指示灯拖到前面板上,做出一个合适的指示灯,依同样的步骤可以做好另外五个,将六个灯均分为两组,每组都包含红黄绿三种颜色的灯,再用框将每组灯框起来,做成一个交通灯。
在每组交通灯合适的位置放置一个数值显示控件作为交通灯的计时器。
在前面板合适的位置放置一个开关按钮,控制循环的停止。
这样交通灯系统的前面板就做好了。
面板设计如图3-1所示。
图3-1交通灯前面板示意图
四、程序设计
对同一路口灯亮顺序的控制:
红绿黄灯的亮灯顺序是固定的,即假设初始状态为绿灯,接下来是黄灯,红灯。
在labview环境下,由于顺序框架的使用比较灵活,在编辑状态时可以很容易的改变层叠式顺序结构各框架的顺序。
鉴于以上因素,该模块主要通过顺序结构实现信号灯的交替点亮。
而对于两个交叉路口则需要采用两个顺序结构,而每个顺序结构则需要三个帧,每个帧顺序完成绿黄红信号灯的亮与灭。
程序框图如下图4-1
图4-1程序设计图
4.1部分模块介绍
(1)右侧的while循环中包括一个for循环,两个常量数组(一个用来控制灯的逻辑,一个用来控制灯的等待时间),一个数值至布尔数组转换控件,一个等待时间控件,一个布尔的控件作为停止按钮,一个NIELVISmxDigitalWriter作为软件与面包板的连接。
图4-2通道选择
数值至布尔数组转换控件使整数或定点数转换为布尔数组。
如连线整数至数字接线端,依据整数位数的不同,布尔数组可返回含有8个、16个、32个或64个元素的布尔数组。
如连线定点数至数字接线端,则布尔数组返回数组的大小等于该定点数的字长。
数组第0个元素对应于整数二进制表示的补数的最低有效位。
其控件图如下所示:
图4-3数值至布尔数组转换控件
(2)定时信号的产生
毫秒计时器在LabVIEW中的一个计时单元,它的图标与用途如下图所示。
在函数选板的【编程】→【定时】子选板中选择时间计数器选定该单元。
毫秒计数器对时间信号计数,要产生一个一秒为单位的时间信号,所以还得用毫秒计数值除以1000,取商得到以秒为单位的时间信号。
图4-4时间计数器图4-5时间计数器连线图
(3)选择(函数),位于express子选板中的算术与比较,依据s的值,返回连线至t输入或f输入的值。
s为TRUE时,函数返回连线至t的值。
s为FALSE时,函数返回连线至f的值。
连线板可显示该多态函数的默认数据类型。
图4-6选择(函数)
五、调试及结果
由于本设计中存在多层循环的嵌套问题,致使在运行时总是提示隧道未赋值,或条件分支没有选择器值,此时可以双击运行图标以显示错误的具体位置,及相应的错误类型,然后可作出相应的纠正。
在编写底层代码时,对于有些不常见控件的使用会有一些麻烦,如公式(ExpressVI),需先给它接入输入的变量,然后再计算器界面上输入相应的公式,不过在初次使用该控件时很难注意到这一点,所以,熟悉一款软件还是要通过不断的摸索的。
调试完成后的结果图如下,通过硬件通道配置可实现软件与硬件的结合,通过等待时间的控件,可实现交通灯各种状态之间转换所需的时间,本设计中绿灯到黄灯和黄灯到绿灯均为1000ms,北红到东绿和东红到北绿均为5000ms,即黄灯亮1s,红、绿灯亮5s。
以下分析一个双向十字路口交通信号灯是如何工作的。
方向
南北方向
东西方向
指示灯颜色
红/黄/绿
红/黄/绿
指示位
012
456
8位代码
十进制数值
5秒
001
100
00010100
20
1秒
010
100
00100100
36
5秒
100
001
01000001
65
1秒
100
010
01000010
66
状态一:
状态二:
状态三:
状态四:
图5-1交通灯的四种工作状态
六、总结心得
此次课程设计圆满结束了,对于大家经过努力所得的结果,我们感到非常满意。
此次设计以分组的方式进行,每组有一个题目。
我做的是十字路口交通灯系统。
由于平时大家都是学理论,没有过实际开发设计的经验,虽然上课的时候讲过很多关于LabVIEW的应用,但课后也从没真正地应用过这个软件,对它一点都不熟悉,拿到的时候都不知道怎么做。
但通过对LabVIEW进行了几天的摸索学习,我们终于把课程设计做好了,并发现LabVIEW很实用。
通过这次课程设计我基本学会了虚拟仪器设计的步聚和基本方法,提高了动手能力,增强了理论联系实际的能力,分组工作的方式给了我与同学合作的机会,提高了与人合作的意识与能力,同时也培养和发展了同学之间的感情,对此感到非常欣慰。
总之,在这次课程设计中我受益匪浅。
在这个课程设计中,我真正的感受到了虚拟仪器的优越性,“软件即仪器”,仅仅在Labview上写入一些图形程序,就可以实现相应的仪器的功能,只需要借助一台计算机,一个LabVIEW软件,就可以实现很多仪器的功能,真的很方便!
课程设计的过程中,我们组遇到了不少的问题,但最终我终究还是战胜困难,取得了成功,当然其中很大一部分功劳都要归功于指导老师黄老师和同学们,要不是没有指导老师的指导和与同学们的相互交流学习,我的课程设计肯定不会如此轻松。
七、参考文献
1、林正盛.虚拟仪器技术及其应用.电子技术应用.1997.3.
2、方恺晴,石琳,林亚平.虚拟电子实验台在实验教学中的应用.实验室研究与探索.2000.1.
3、唐东炜,傅贵武,王宇华.开发虚拟仪器系统,改革测试实验教学.佛山科学技术学院学报(自然科学版).1999.6.
4、秦树人.虚拟仪器,中国计量出版社.2004.1.
5、孙续.软件是VXI系统的灵魂.VXI世界,1996.2.
6、林正盛.谈谈虚拟仪器技术的演化与发展.微计算机信息,1997.3.
7、黄义雄,戚丽丽.虚拟仪器下的电力参数测试.自动化与仪表,1998.1.
8、朱守云,王春皓.虚拟技术及其在电气上的应用.电世界,1997.8.
电子线路设计与测试课程设计期末成绩评定表
姓名
坏水
学号
xxxxxxxxxxxx
专业班级
09级电子信息工程(x)班
报告题目:
虚拟仪器的交通灯设计
报告答辩记录:
1.交通灯有哪几种状态?
答:
交通灯有四种状态:
北红东绿、北黄东红、北绿东红、北红东黄。
2.如何利用while循环实现交通灯的各状态的切换?
答:
可在while循环中添加多个移位寄存器。
如循环中的多个操作都需使用之上一次循环的值,可以通过多个移位寄存器保存结构中不同操作的数据值。
利用移位寄存器,使循环按0,1,2,3,4,5,6,0的循环顺序进行,进而实现交通灯的状态的切换:
从6个灯全灭,北绿东红的灯亮,东绿灭,东黄北红亮,东红北绿亮,北绿灭,北黄东红亮。
3.实现交通灯功能的途径有哪些?
答:
可以通过可编程控制器PLC、单片机、标准逻辑器件和基于LABVIEW的虚拟仪器等方案实现。
成绩类别
考勤成绩(20%)
答辩成绩(10%)
报告成绩(50%)
实物成绩
(20%)
总分(百分制)
成绩
评语:
指导教师签字:
年月日