摘 要
当前,人们越来越多地关注着城市智慧交通的发展,有关利用智能交通体系来解决城市道路拥堵问题的研究,
已经引起了越来越多的学者的关注。交通流量监测系统是ITS的重要组成部分,已被广泛地用于市政公路工程、国
道、隧道及桥梁建设、交通流量监测等方面。最近几年,随着我国城市人口的不断增加,城市交通压力不断增大,
车辆流量检测系统在整个系统中起着举足轻重的作用。
本文主要研究了一种基于STC系列单片机的车流量检测系统。其主要原理是将红外传感器测得的电平信号传输到
主控器中,由主控器判断处理、计数等功能实现车流量的检测。通过选择合适的车辆检测器,利用主控器实时对车
辆检测器的输出进行实时读出,并送显示或发出报警信号从而驱动相应的执行机构,进行信号灯显示时间的系统调
整。本设计不仅具有成本低、体积小、性能好等特点,且系统还能在早晚高峰时段自主调节倒计时秒数。为路口车
辆的流量提供了一种有效的监测手段,以便实现对路口的交通进行科学的管理,降低交通事故的发生。
关键词: 红外检测,智能交通,主控器,驱动
第1章 绪论
1.1 研究背景及研究意义
1.1.1 研究背景
中国新闻网报导:现如今,中国拥有的机动车数量达到了3.93亿辆(其中汽车突破3亿辆),拥有机动车驾照人
次多达4.79亿人;近几年每年新增机动车330万余台,新增驾驶员两千万人次,位居全球首位。随着社会及经济挤入
发展快车道,城市道路资源已经不能满足人民对交通的要求,发展智能交通已经迫在眉睫[1]。
智能汽车道路系统是智能化交通体系的先驱。资讯科技、信息技术、信息通信、传感技术、电子控制、微机技
术,使其在大范围,高精度,高效的一体化交通和管理系统中得到了广泛地应用。在智能运输体系中,交通监测是
其中的一个重要环节,其主要工作就是负责采集与交通流量的各种数据。
二十世纪七十年代以来,对交通环境进行了车流量监测的研究。在美国加州帕萨迪纳市有一家以喷气推进研究
著名的实验室,它在1978年的时候率先提出利用机器视觉技术来进行道路机动车监测的方法 ,并将其作为一种新的
汽车检测技术。美国的加州科技大学在1991年将多种影像监测技术应用在高速公路上进行相关实验研究,并于1994
年Mn/DOT和FHWA对该技术进行了更加细致和严谨地检测,确认了该系统的精确度和可靠性能够满足要求。在21世纪
初,由于汽车检测技术的不断进步,人们不再满足于单纯依靠图像来测量交通流量,于是开始采用线圈式探测技
术,并得到了越来越多的使用。尽管只有四十多年的历史,但是由于其具有监测范围广泛、精确较高、成本低廉、
性能好等特点,可以在十字路口、高速公路等交通监控系统中得到广泛的应用。
1.1.2 研究意义
3.7 按键模块 22
3.8 本章小结 22
第4章 软件流程设计 23
4.2 本章小结 24
第5章 系统仿真与调试 25
5.1 系统仿真 25
5.1.1 protues仿真软件 25
5.1.2 仿真原理图 26
5.1.3 Keil软件 27
5.1.4 程序编译 27
5.1.5 系统仿真 27
5.2 系统调试 29
5.3 本章小结 30
第6章 结论 31
6.1 工作总结 31
6.2 工作展望 32
参考文献 33
致谢 37
随着我国社会进程的加快,民众生活质量和出行工具的数量也在不断提高。
交通压力的增大,使得城市的交通系统更加健全,这是当今社会面临的重大问题[2]。如何利用智能交通技术来
解决城市道路拥堵问题,是当前城市道路交通管理领域中的一个热点话题。截至目前为止,国内已经形成了管道探
测、磁感应探测、波频探测、红外探测、影像探测等多种探测技术。车辆流量检测就是通过各种传感器检测道路上
的机动车车流量状况,获取相应的交通参数,实现对各个路段的车流量进行自动检测、监控和各路段的交通状况和
异常状况发出警报[3]。
针对当前市场上车辆流量检测技术的特点,从各方面的角度出发,本文提出了一种以低成本、高效率的红外探
测技术来实现车辆流量监测系统的设计。在城市的各个十字路口增加了车辆的容量,缓解了交通堵塞。
1.2 研究目的
本设计主要对以STC系列单片机为核心的车流量检测系统进行研究,通过将红外传感器测量的电平信号传送到主
控器中,由主控器进行判断处理、计数等功能,从而达到对车流量的实时检测,同时还可驱动相应的执行机构。
近年来,随着我国城市人口的不断增加,城市的交通压力日益增长,人们对城市智能交通系统的研究也日益深
入。在智慧交通系统中,车辆流量检测是非常重要的一部分[4]。交通流量监测作为现代城市交通管理体系中的一个
重要环节,它在一定程度上制约了城市社会的迅速发展。如何有效地改善交叉口的交通状况,是目前城市交通拥堵
的一个重要课题。传统的运输管理模式已不能满足现代运输的需要。因此,引入智慧交通系统(ITS)不失为一种行
之有效的途径。
1.3 本文的主要工作
本论文主要围绕以下几个方面展开:
1.基于微处理器的车流量检测系统的工作原理;
2.基于微处理器的车流量检测系统的硬件模块选型;
3.基于微处理器的车流量测量理论与硬件电路设计;
4.基于微处理器的车流量检测系统的仿真调试。
第2章 系统方案设计
2.1 传统车流量检测技术
目前,对道路口车流量监测有空气管道、感应线圈、地磁、波频、视频等多种检测手段。
2.1.1 空气管道检测和感应线圈技术
空气管道检测是一种利用接触式的方法,将一根塑料空心管固定在高速公路的主干道检测点,一端封闭,一端
连接一台计数器,当车辆经过塑料管道时,轮胎会受到压力的作用,然后启动计数仪,计算出车辆的流量。结果表
明,该方法只能获得一组车辆的数据,且计算过程繁琐,使用寿命短。
感应线圈检测器是一种由环形感应线圈构成的埋入式检测装置。当汽车驶入由环状感应线圈构成的磁场时,会
发生频率或相位的改变,由此得到一种被检测到的输出信号[5]。感应线圈探测器能够提供车辆出现、车辆通行、车
辆计数和道路利用率等相关交通参数。试验结果显示,采用2mx2m的标准感应线圈进行交通流量检测,其准确率在
98%~99%之间。一般在同一路段埋置两个电感线圈,通过对车辆在前、后两个线圈上的脉冲响应时间进行测量,得出
车辆的速度/时间[6]。感应线圈检测具有广泛的用途,适用于一般道路,主要用于收费站、立交前后、市政公路、
停车场等场所。在初期,感应线圈的探测设备投入不多。但是,维护和再次进行新施工较为困难,并且要进行封锁
公路,对道路的损害大和长期运营费用较高。
2.1.2 地磁检测和激光雷达技术
地磁探测仪是一种埋设在地面上的无源探测设备。该系统以高导磁材料为核心,套有多个环状线圈的磁棒,对
检测区域的磁场进行探测。地磁探测仪结构简单、可靠、经济、适合用于大范围磁通变化,但存在不能检测静止或
低速的车辆,仅适用于流量检测,适用面较窄,一般作为其他交通检测设备的辅助检测[7]。
磁体检测器和磁体检测器也被称作磁检测器。随着电子技术的发展和运用,磁场探测器的探测能力将大大提
高,从而改变其在汽车检测技术中的辅助功能。本系统能够在多条道路上进行车辆定位、跟踪和分类。
由于汽车自身具有铁磁性,能够干扰汽车周边的磁场,造成汽车周边磁场的畸变。当汽车在行进过程中,因为
汽车的运动,它对地磁场的作用也会随之发生变化。在车辆通过磁敏检测终端时,通过感应线圈的磁场信号,将其
反馈给放大器,通过放大器放大,再通过滤波和隔离回路将其提取出来,从而产生一个中断信号由微处理器接收,
用模数转换器对放大后的信号进行取样,并根据相应的算法进行数据采集[8]。
激光雷测法主要以激光测距、激光位移、激光测距和激光测距等为探测手段。这种算法精度高,抗干扰能力强,但是成本高,一般不采用。由于工程造价、技术等原因,所以本项目不予采纳此技术。
2.1.3 超声波检测和波频检测技术
超声波汽车检测器也是一种采用反射回波原理制造的无埋设探测器,它是通过接收超声波发生器发出的超声波
在汽车上反射回来的超声波回波来探测汽车的信息。超声波探头主要有两类:一种是传播时差法,另一种是多普勒
法[9]。探测装置悬挂在车道之上,发出超声波信号,在下面有车辆经过时,回波会从前方反射,使回声距离变得更
短,这样就可以探测出汽车,这就是所谓的“传播时差”法。此外,超声波检波器对行驶中的汽车发出超声波,其
反射波会产生多普勒效应,从而探测到汽车的位置,即多普勒法。这种方法不够精确,而且在探测器下面经过的非
车辆也会产生反射波,容易引起误检,而且抗干扰性能较差,容易受到外界的影响。
波频车辆探测技术是利用车辆的电磁信号来检测车辆的电磁信号的一种探测技术[10]。按辐射电磁波的大小,
可以划分为:雷达探测、超声波探测、红外探测。上述三种基于波频探测的方法,由于电磁波在传输时会随着距离
的变化而逐渐减弱,因此其回波信号很弱,基本被噪音所淹没,并且在实际应用中存在误判、遮挡、安装复杂、维
护不便、交通信息量小等问题。
2.1.4 视频图像检测技术
视频车辆检测技术是近年来发展迅速的一项将视频图像处理与图像识别技术相结合的新技术,是交通流检测技
术未来发展的新趋势[11]。该系统采用视频相机作为感应器,在视频区域内设定一个限定的检测区。当汽车驶入检
测区时,背景的灰度会发生改变,生成一个探测信号,再由软件进行分析,得出交通流量、平均车速、交通指标如
占有率、排队长度等[12]。汽车图像检测器在高速公路、城市道路上得到了广泛的应用,目前已被广泛用于高速公
路、城市道路等复杂路段,如高速公路立交、匝道、隧道、城市道路等。
目前,常用的基于视频图像机动车检测算法主要有:背景差法、灰度比较法、帧差法以及边缘检测法。该系统
利用数字图像进行交通数据信息采集,具有如下优势:
1.视频摄像机小巧便携,易于安装且经济实惠,目前在我国很多城市的公路上都有摄像机的监控。
2.该系统具有较高的影像资料,具有较大的信息量,能有效、准确、可靠地完成道路交通监控工作。
3.随着计算机视觉与数字图像处理技术的快速发展,系统的实时性和可靠性得到了很大的提高。
本系统具有不损坏路面、易于安装、维修等特点,可提供交通管理信息、单台摄像机、多车道监控等多种功
能。但是,由于其测量精度较低,容易受到环境、天气、照度、干扰等因素的干扰,使得快速行驶的交通工具难以
探测和捕捉。在实际生活中,这些缺陷同样不可忽略。
2.2 系统方案设计
本设计采用红外传感器检测技术,以STC系列单片机作为主控单元,采用模块化的方法设计了交通流量监控检测
系统。当有车辆经过本系统布控范围内时,它会将两个传感器和接收端的红外传感器之间的感应信号隔离,此时系
统根据布控区间车辆内的流动情况进行检测,从而达到监控整个系统设定区域的车流量。系统的总体模块设计图如
下图2-1所示。
图2-1 系统总体模块图
2.3 主控器模块方案选择
2.3.1 控制方案选择
方案一:
采用纯数字电路控制。由解码器、计数器、555定时器、七段数码管等构成。虽然易于实现,但由于采用了大量
的集成式数字芯片,电路结构复杂且不方便地进行车辆检测信号的输入,使得系统的设计工作变得非常困难。
方案二:
采用单片机作为主控制器,具有功耗小、效率高、成本低、程序设计简单等特点。相对于方案一其优势非常显
著,还有着对待外界环境变化有极强的抗干扰性,较低的环境要求,可靠性高等等,非常适用于本设计。故选用方
案二。
2.3.2 主控器选择
单片微处理器,即单片微处理器,其功能不在于实现某个特定的功能,而在于将电脑系统整合为一块晶片。目
前,微处理器的应用范围已经非常广泛,如智能仪表、实时工业控制、通讯设备、导航系统、家电等。
随着单片机微处理技术在各行各业的应用日益普及,世界各地的IC厂商纷纷推出了多种型号的微处理器[13]。
其中51系列产品性能优越,技术成熟,可靠性好,性价比高。在这里面,51系列微处理器具有价格低廉、 I/O端口
多、编程空间大等特点。因而,51系列微处理器在测控系统中的应用最为广泛。
51系列是8031中所有的指令系统中的一个通用名词。此系列微处理器最初由 Intel 8004开发,但目前最常用的8位
单片机是经由Flash Rom技术不断创新发展得来的。STC89系列产品已经在工业测控中得到了广泛的应用。很多公司
都已开发出适合51系列的机型,而且在今后的一段时间内将会占有很大的市场份额[14]。51微处理器是目前应用最
为广泛和基础的一种,但是51系列微处理器一般不具备自编的功能。
51系列的核心特点:8031 CPU、MCS-51、4个K位FLASH内存(使用寿命:1000写入/擦循环)、完全静止运行:
0Hz-24KHz、3级程序内存加密、128*8位 RAM、32条可编程输入/输出线、16位计时/计数器、6位中断电源、编程串
行信道、低功率闲置方式、晶片内部振荡器、时钟电路。
综合比较51系列各芯片特性,本设计选用的主控器为51系列的STC89C52。图2-2为STC89C52引脚图,它是台湾宏
晶公司研制的一款八位微处理器,采用CMOS工艺制作而成。由于其价格低廉、功耗低、性能好,在芯片上具有8K
Flash和2K EEPROM,因此在市场上得到了广泛的应用。STC89C52是一款增强51微处理器,它的汇编指令和插针与传
统51系列完全兼容[15]。由于51系列长久以来的历史地位,拥有大量的数据和资源,STC89C52继承了51的设计风格
和源远流长的历史,使STC89C52成为了一种主要的嵌入式低端产品控制系统,并以其高灵活、高效率、价格低廉的
方式实现了对低端产品的控制。
2.4 传感器模块方案选择
传感器是一种可以对被测量的信息进行检测的仪器,它可以根据特定的规律将所检测的信息转化为电子或其他
信息,以实现信息的传输、处理、存储、显示、记录和控制。传感器具有微型化,数字化,智能化,多功能,系统
化和网络化的特点,在实现自动化测试和自动化控制中,首先要解决的问题就是这一问题[16]。
本设计传感器的选择是一个非常关键的环节。市面上用于车辆感知的传感器比较多,比如常见的超声波传感
器,视频图像检测和红外线传感器。
方案一:超声波传感器
通过单片微处理器的定时器功能,实现了对汽车的准确测量。超声波探头的有效探测范围通常为10~150 cm,其测量范围较为精确[17]。超声波探头的测量距离较短,与本设计中的环境条件不符。
方案二:视频图像检测
通过在车道顶端安设的摄像头扑捉到车辆画面,通过电脑摄像头读取视频数据,并保存处理,采用混合高斯模
型算法进行背景建模,运用虚拟检测法进行统计得出过往车辆数量,处理数据准确、灵敏。但是由于摄像头成本较
高,且软件编程非常复杂,对于低功耗、低成本的设计来说,本方案不是最佳的选择。
方案三:红外传感器
它是一种通过对红外物理性质的测量来实现的传感器。红外线又称红外光,具有反射、折射、散射、干涉、吸
收等特性。在超过绝对零度或更高的温度时,都可以散射红外光。红外传感器由于不与物体直接接触所以不会产生
摩擦,且灵敏度高,反应速度快。
红外光敏元件包括光学系统、检测装置和转换装置。按照光学系统的结构,它可以分为两类:透射型和反射
型;根据工作原理,探测器件可以分为热探测器件和光电器件[18]。其中热敏电阻是目前应用最广泛的热敏元件,
热敏电阻器会在红外辐射下的温度上升,并且由于热敏电阻器可以分为正温热敏电阻器和负温感度热敏电阻器)。
因此电阻会改变(这个变化可以是大的,也可以是小的。光电探测器件中,一般采用硫化铅,硒化铅,砷化铅,砷
化锑,碲镉汞,锗和硅)。
红外传感器在医学、军事、航天、环境等方面有着广泛的应用。比如,通过红外感应器对人体的体温进行远程
监测,就能找到体温异常的地方,并对其进行及时的诊断和处理(参见热像仪);通过人造卫星上的红外感应器监
测地球的云层,从而达到大范围的预测;通过使用红外感应器,可以探测到飞机上的引擎是否发热等问题。
红外是一种介于微波和可见光之间的一种不可见光,其波长介于760nm-1mm之间,其长度大于红光。它具有反
射、折射、散射、干涉、吸收等特性。而且红外辐射不会被外界的可见光线所干扰,所以可以在白天和黑夜中进
行。所以红外感应器就是根据红外原理来制作的。红外传感器不直接接触被测对象,没有摩擦力,具有较高的灵敏
度和快速的反应能力。一般采用近红外区的红外光电传感器(760nm-2500 nm),而大部分的感光元件可划分为880nm
和930nm两种系列。红外光电检测元件由信号转换电路和放大电路组成[19]。从其工作原理上看,可分为热敏器件和
光电器件。光电探测器通常使用感光元件,通常使用一种能吸收光能并转换成电能的半导体材料,如砷化钾等。在
测量物体与传感器的距离存在差异时,由于光线的强弱会引起电子信号的改变,然后对电子信号进行放大和相关处
理,从而实现对目标的测量。通过将发射红外线发光二级管与感知红外线的接收端结合起来,就可以实现红外探测
功能。红外传感器包括三根导线:电源导线,接地导线和控制导线。红外感应器也有一个高频滤波器,可以将红外
线探测到的载波信号进行滤波,然后以载波信号的形式输出。该方法将载波信号输入到红外传感器的接收模块,并
在该模块的输出端采集到原始发送端的电子信号并进行相应的处理。红外线检测器侦测是否有物体经过,其基本原
理是由发射端的红外线讯号来侦测,以接收机能否收到红外线讯号,来判断是否有障碍物(本设计的障碍为汽
车)。
红外线传感器具有更宽的测量范围、更快速的反应和更便宜的价格。本文以红外传感器为主要器件,对测距技
术进行了研究。此外,与以上两种方式相比,红外线传感器的成本要低很多。该系统充分考虑了红外传感器的实际
应用,并与实际应用相结合。
本系统采用红外传感器作为采集信号,通过红外传感器接收到的信号,经由功率、滤波、放大等电路,再传输
至MCU进行处理,最后通过LED显示。如果是低电平,则会出现“0”,而高电平则会出现“1”。系统将根据交通车
流量的高低,对车辆进行计数。
2.5 显示模块方案选择
该系统要求实现各种显示,如数据显示,状态指示灯等。根据以上内容,本文提出了两种不同的显示方式:
方案一:
全部采用LCD液晶显示,该系统具有强大的性能,能方便地显示各类外文、汉字、图形等。但该方案的实施比较
繁杂,并且需要大量软件工作。
方案二:
全部选用数码管显示。数码管,又称发光管,是一种可以进行数字显示及其它资讯的电子装置。玻璃管内有一
根由一根金属丝构成的阳极,还有许多阴极。大多数数码管的阴极都是以数字形式存在。管子里充满了低压的气
体,其中大多数是氖或氩气。当对某个阴极进行充电时,数字管就会根据管子中的气体而发光,通常为橘黄色或绿
色。虽然它的外形与真空管很像,但是它的工作原理不是为了对阴极进行辐射。因此,这就是所谓的冷阴极管或者
是一种霓虹灯。在室温下,甚至在极端的室内环境中,它的温度也不会高于40℃。
最常用的数字管是10个阴极,其外形是0~9,有些数字管上也有一个或两个小数点。但是,还有其它种类的数字
管显示字母,标记和符号。就像“数码管”一样,它的阴部是一张带有数字图案的面具。俄罗斯的一些电子管,比
如IN-14,采用倒置的2表示5,这可能是出于技术和审美上的考虑,以节省生产费用。俄罗斯数字官员中的大多数数
字官员都是以2或5[20]。
在阴极与阳极之间施加5V的DC电压,每个阴极都会发出橘红色氖的光芒。不同种类的数字管因混合气体的不同
而呈现出不同的色彩。使用寿命更长的数字管用水银来降低溅射率,从而产生蓝或紫色调的光。有些时候,用红色
或者橘黄色的滤光膜来过滤这些色彩。
根据LED的连接方式,LED可以分为共阳数字管和共阴数字管两种。共阳极数字管是一种数字管,它把LED的正极
接在一起,在使用数字管时,需要把一个普通的COM和+5 V的电源线相连。共阴极数字管是一种由LED的负极构成的
数字管,它的接地线GND与普通COM连接在一起。当某个区域的LED正电极越高,对应的区域就会亮,而当某个区域的
负电极比较低时,对应的区域就会变得黯淡。
结构:LED数字管是由多个“8”形LED封装形成的器件,其导线已在内部相连,只需分别引出它们的笔画和公共
电极。普通的LED数码管的分段数目一般为7,一些是在小数点的基础上,仅需要将其各自的笔画和共用电极引出
来。LED数字管的常见段数通常是7段,有些是加上一个小数点,也有一些是3位“+1”。LED数字管按发光二极管的
连接方式分为共阴式和共阳式两种,这对于在进行程序设计之前,了解辉光管的这些特性是非常有必要的。
如图2-3为共阳极辉光管的内部电路,其发光原理是正确的,有红色、绿色、蓝色、黄等多种色彩。LED数字管
广泛应用于仪器、钟表、车站、电器等领域。选择时要考虑到产品的大小、功率、亮度、波长等。
图2-3 共阳数码管
驱动模式:为了使数码管能够正常的显示,需要用驱动电路驱动各个部分的数字,以实现所需的数字。
静态驱动是指每台数字管的每一段代码通过一台微处理器输入输出,或由 BCD编码二至十进制译码驱动。静态
驱动程序简单,显示亮度高,但是存在着许多I/O接口不足的问题。若驱动5台数字管,则需5*8=40个I/O口,而
ST89C52微处理器仅有32个输入/输出端口,如果要在实际应用中增加一个译码驱动器,会增加硬件电路的复杂性。
数字管的动态显示接口是当前最常用的单片机显示方式,该方法将数码管的八个端子连接起来,并在每个数码
管的公共电极COM上增加一个位选,由对应的 I/O线进行控制,当单片单元输出字形码时,所有的数字管都接收相同
的图形码。然而,究竟会出现哪个数码管,取决于单片机在COM端子上的控制。在此基础上,利用分时交替方式对各
数码管COM终端进行控制,实现了对各数码管的显示与控制,也就是所谓的动态驱动。在交替显示过程中,由于人的
视觉短暂停留以及LED的反射,各数码管的点亮时间为1~2 ms,因此尽管数码管不是同时点亮,但只要扫描速度足够
快,就会产生一组不闪不避的稳定数字影像,而且动态显示的效果与静态显示一模一样,节省了很多I/O接口,而且
能源消耗也更低。
由于本设计既要输入车辆流量和计时数,又要输出状态指示灯。另外,在实际应用中,采用点阵式LED数码管,以方
便观测。
2.6 报警电路模块方案选择
报警线路是用声音、灯光、气压等形式警告或警告我们应该采取某些措施,以防止或阻止事故的发生。随着科
学技术的发展,报警线路在系统故障、安全防范、交通运输、医疗救援、应急救援、感应检测等方面都得到了广泛
的应用。
方案一:声报警器
声报警器中最突出的就是蜂鸣器,它是一种以直流电压为动力的集成式电子信号,广泛用于各类生活用品。这
种报警方案虽能在本设计中提供相应的报警功能,但在现实应用过程中会被各种环境因素影响。
方案二:光报警
LED驱动电路通常用作电源指示器,显示上电状况,而LED的亮/闪作为警报电路。但是在本设计中由于光报警的
局限性,在实际运行过程中工作人员无法时刻紧盯系统来判断系统处于何时状态。
在本模块设计后期,考虑到前两种方案的局限性,考虑出将两种方案相结合,组合成声光警报器(亦称声光警
号),根据用户对报警响度及安装地点的特殊需要,同时发出声、光两种警报信号。
声光警报器利用三极管与变压器声效晶片驱动扬声器,由计时电路控制发光二极管发射闪光信号。当系统安装
现场发生超出系统设定的模式,声光报警模块则会利用蜂鸣器鸣响与二极管闪烁提示相关的工作人员系统实时状态
信息。
2.7 本章小结
本章第一小节介绍了传统车流量检测的各种技术,第二小节则是将课题系统进行了总体模块方案设计,如图2-1
所示,本章其余四个小节则是围绕着图中各个模块进行阐述分析,了解各个模块分别在系统中的作用及目的。在本
章中,各个模块会列举多种方案选择,同时会论述每种方案在相应的模块中可以实现的功能及满足的需求。最后将会
综合考虑各种因素,选择出既考虑实际情况又符合系统功能需求,还可以减少系统实现的复杂程度的最优方案。本
章内容与第三章内容是首尾呼应的关系,本章主要讲述的是各个模块方案选择的多元化,而第三章则是着重于在本
设计中各个模块的功能实现及工作原理。
第3章 硬件电路设计
3.1 系统电路图及工作原理
图3-1 整体电路结构框图
如果把电路的整体构造比作人体,那么硬件电路就相当于人的骨头,是身体最主要的支撑点。没有了硬件,身
体也就不复存在了。本系统是基于现实路况而设计的车流量检测系统,其硬件部分包括单片机、传感器、电源、显
示、按键、报警等模块。如图3-1所示,图中显示模块不仅可以显示实时车流量数还可以进行正常交通灯的工作模
式。通过操纵不同的按键电路可以显示不同的功能,当系统启动设置键时,加键第一次按下代表倒计时秒数增加,
第二次按下代表实时车流量数;同理,减键在第一次按下代表倒计时秒数减少,第二次按下代表退出查看实时车流
量数。东西,南北方向则各连接一个红外检测模块。当有车辆通过系统布控区域内时,红外检测模块进行信息采
集,经电源电路以及滤波电路进行放大处理再传至主控器进行处理。主控器则将最终处理结果由共阳数码管LED显示
车流量数。
3.2 微处理器模块
微型计算机启动时必须达到最低操作条件。其中,STC89C52的核心部件是由一个时钟和一个复位电路组成,
STC89C52单片机中的每一个功能组件都是按照时钟的指示来工作的。因此,MCU的时钟频率直接关系到MCU的运行速
度,同时,时钟电路的性能也会极大地影响MCU的稳定。目前常用的时钟电路有两种,一种是内置时钟,另一种是外
部时钟。内置有89C52单片机的时钟,其频率一般比较低。采用外部时钟,保证了其工作的稳定性和可靠性[22]。
图3-2 微处理器模块原理图
通过一个外部复位电路使STC89C52重置,使得RST被重新设定,并与触发器相连,以消除噪音。在STC89C52微处
理器中,通过触发器的输出电平,在此之前,需对电路取样进行重新设定。其中,单片机是整个控制系统的核心部
件。它的主要作用是对由红外传感器所探测到的信号进行处理,并将处理后的结果显示在显示屏上。原理图如图3-2
所示。
3.2.1复位电路
如图3-3所示,MCS-51的复位输入管脚 RST为MCS-51的初始化提供了一种方法,该方法可以用在MCS-51的时钟电
路工作之后,只要在 RST管脚上的高电平大于2个机械循环,就会发生重置操作[23]。MCS-51在 RST维持高电平时进
行循环重置,仅在 RET从高电平变为低电平时,从0000 H地址开始进行该程序。本系统采用按键复位方式的复位电
路。
图3-3 复位电路图
3.2.2 晶振电路
如图3-4所示,MCS-51的时钟有两种方法,一种是采用芯片内的振荡回路,另一种是从外部来实现。本设计根据
实际简单便捷的需求,采用一种内部振荡方方式。MCS-51内置有一个用于构成振荡器的高增益反相放大器,该放大
器由XTAL1和XTAL2管脚组成,该放大器与芯片外晶体或陶瓷谐振器共同构成了一个自激式振荡器。
尽管MCS-51有一个内置的振荡器,但是要构成一个时钟电路,就必需外接元件。所以实际组成的振荡时钟电路,外接晶振以及电容C1和C2组成了并联谐振电路,尽管不需要严格地计算对接电容的数值。但是,电容的大小对
振荡频率和稳定性有一定的影响[24]。具有快速起动和稳定的温度,可以选择1.2 MHZ到12 MHZ的晶体振荡频率。在
20 pf到100 pf之间选定电容C1、C2的代表性数值。由于本系统使用了定时器,因此为了方便计算使用了12 MHZ的晶
振,并且在电容选用了20 pf。
3.3 红外检测模块
本系统采用了E18-D80NK-N红外检测模块。它的工作电压是5 VDC,工作电流10~15mA,驱动电流100mA,感应范
围3~80cm。E18-D80NK-N是E18-D80NK的一个升级版本,它的主要功能是在E18-D80NK上进行了一些修改,包括了内部
电路和外部连接。传感器的外部配有杜邦插头,便于使用者的操作。E18-D80NK-N是一种将发射和接收结合在一起的
光电传感器,发射光被调制后发射出去,接收端则对反射的光进行解调和输出。该方法能很好地抑制可见光的干
扰。利用该镜头还能探测80公分范围内的问题(因为红外光的性质)。不同的颜色,可以探测到的最大范围,最大
的是白色,最远的是黑色。可以根据需要,利用尾端的电位器旋钮调整障碍物的探测距离。它的探测距离远、受可
见光干扰小、价格低廉、易于组装、使用方便,在机器人避障、流水线计件等诸多领域得到了广泛的应用。本系统
利用红外检测模块实现了车辆流量的实时统计,并将采集到的数据输入到微处理器中进行处理和分析。通过对目标
的阻挡,根据目标是否阻挡了目标,从而判定目标的存在。红外线感应器中的红外线对射管把输入的电流转化成光
信号,然后由接收机根据所收到的光是否存在来检测目标[25]。当一个物体通过红外传感
器的红外辐射到射管的中央时,红外线被阻隔一次,其输出的信号就会改变。三极管会把电信号输入到
STC89C52的端口,使单片机进行计数。原理图如图3-5所示。
图3-5 红外检测图
本设计将采用红外矩阵法。根据红外辐射和接收的强烈特性,在公路两侧设置了合适密度的红外接收线路构成
红外阵列。红外探测阵列包括两列埋设在道路旁的接收机,以及设置在它上面数公尺的发射机。每个接收机行包括
若干个相距0.2至0.9 m的接收机电路[26]。接收管在不被遮挡的情况下能够接收来自发射机的信号,接收电路产生
低电平。接收器在不受阻隔的条件下没有接收到发送器的信号,从而在接收电路中造成高电平。因此,通过对车辆
进入、通过检测区域,具体方向以及并行线的情况和各低阶复杂变化点的数目进行分析,最后确定在这一路段上,
经过的多辆汽车在此路段上的交通流量。
3.4 显示模块
如图3-6所示,本设计使用了共阳极LED数字管。该系统利用数码管的动态扫描技术,利用三极管进行了锁存。
三极管在输出/输入端口P20、P21处于低电平状态时(并且三极管很低)的情况下接通。VCC通三极管向数字管提供
电力,数字管就会被点亮,再加上数字管的余光和人类的视觉暂时性,使得数字管在同一时间点亮。
当电源开关启动时,此时显示屏红色数字与相关交通状态灯通电显示。当东西方向红色状态亮时,同时南北方向绿色状态亮;此时显示屏上也会同步显示实时倒计时数,当黄色状态灯闪烁时,四个显示屏则会同时进行倒计时5
秒记时,以便同步整个倒计时转换。
3.5 报警电路
如图3-7所示,本系统报警电路通过单片机的I/O口控制就可以实现报警电路的工作,报警电路与单片机的P3.5
引脚连接,P3.5引脚外内连接一个2K电阻和一个三极管,蜂鸣器一端与VCC和三极管连接,一端并联一个发光二级管
和2K电阻,当系统设定通过每个路口的车流量达到上限时,微处理器给一个低电平到三级管基极,三极管导通此时
警报器两端的电源,发出“滴”、“滴”、“滴”声音。提示相应的工作人员系统当前工作状态,并且可以根据道
路高峰期不同车流量数系统自主设置道路口红绿灯倒计时秒数,从而缓解道路交通压力。
图3-8为电源模块图。为获取输出稳定的DC电压,通过电源适配器输出源适配器输出的DC电压应采用合适的稳压
措施,以适应本系统的设计需求。本系统选用常见的以LM7805稳压芯片为主的稳压电流器。如图3-8所示,线性电源
经过整流,滤波,稳压等操作输出本系统所需+5v电压。
它具有一套稳定的输出电压,使用范围很广。每一种型号都有其自身的内部电流限制,并带有过热防护和安全
工作区域的保护。如果能够提供充足的散热片,它就可以提供超过1.5 A的输出电流。尽管设置的电压与电流都是固
定的,但只要有合适的外部设备,就可以得到不同的电压和电流。
3.7 按键模块
本系统共设置了六个按键模块,如图3-9所示依次为设置键、加键、减键、模式键、复位键以及电源键。本设计
按键型号采用的是贴片的6*6轻触按键。设置键顾名思义是可以自主设置倒计时秒数以及根据不同的指令进行相应的
操作;当系统启动,当设置键按动一次,加键(减键)按动则可以进行手动进行设置加(减)倒计时秒数;当系统
正常运转时,按动一次加键可以查看倒计时秒数,按动一次减键可以退出查看车流量数。而模式键则是为了结合实
际因素,通过现实出现的不同状况而调整的系统状态。复位键的设置是为了应对系统如若出现程序混乱的状况或其
他需迅速复位的状况设置的一种紧急按键。
3.8 本章小结
本章主要叙述了本设计主要模块的硬件电路设计,与第二章的后半部分章节相呼应,针对每个硬件模块系统工
作原理进行细致讲解。
第4章 软件流程设计
4.1 软件流程
在开发MCU的软件时,要注意合理地利用各种中断机制。从控制算法上来说,该系统具有实时性,包括中断、定
时、人机操作、动态编程等多种操作方式。特别是在人机交互中,需要大量的CPU处理时间,同时还需要传感器、单
片机和监视器之间的数据传输。所以,在编写程序时,必须使用信号与状态转换来统一处理,CPU服务程序会将对应
的实时信息添加到所处理的主机的报文队列中,以实现对中断服务的数据处理。在中断服务程序完成后,主机仅对
周期信息进行处理,并将其传递到所要处理的目标,而接收到的目标是报文响应功能。在收到主程序的处理信息
后,主程序会得到主程序的控制权利,然后将主程序的控制权利交还给主程序,主程序会进行信息的循环和判定。
在编程过程中,用户的输入和要求只会被添加到消息队列中[27]。主机程式也要求对讯息逐列进行查询。在此基础
上,通过调用对应的处理功能,对所需的信息进行处理。
针对以单片机为核心的车辆流量检测系统,其硬件设计相对简单、易于实现,具有很好的实用价值。整个系统
由传感器模块,显示模块,报警模块,主控器模块,以及按键模块组成。各个模块对于整个系统的设计都很关键。
其中,红外传感模块用于该检测系统的设计。红外传感模块完成信号的采集、处理、放大等功能,并将采集到的信号输出到微处理器进行计算。以STC89C52单片机为例,采用软件实现了对外界信息的采集、分析和决策。
系统软件设计流程图如图4-1所示。
图4-1 系统软件设计流程图
4.2 本章小结
本章主要对软件流程进行设计,介绍了软件操作的具体工作流程,并附着了具体的流程设计图。
第5章 系统仿真与调试
5.1 系统仿真
系统仿真是在对系统进行分析的基础上,对各系统的特性及其相互关系进行分析,从而构建出一种能反映系统
结构与行为的仿真模型。
仿真英文也译作模拟,通常是指在试验或培训的基础上,将已存在的或抽象的系统、事务或过程系统或功能性
系统,或用来模仿重要的特征。该模型是系统的一个组成部分,而模拟则是一个时间序列。
计算机实验是模拟建模的常用方法。为了加深了解,模拟还可应用于对自然界或人工系统进行科学模拟。模拟
可以显示操作在运行中的任意状况和最终的结果。模拟还可以用于现实系统中无法实现的场景及状况,因为其拥有
无法访问和其他对系统造成一定危害的后果,或设计出现无法实现或未实现状况。模拟的核心是为了获得相关选择
的重要特征以及行为的有效的信息源头,模拟时,将采用简单的逼近或假设,用来证实结果真实性和有效性。在学
术研究、改进、研究和开发仿真技术中,尤其是在计算机仿真方面,已然成为一个热点。
5.1.1 protues仿真软件
Proteus软件是英国 Lab中心电子公司研发的EDA工具。本系统具有其它 EDA软件的模拟功能,还具有微处理器
及外围设备的模拟技术。这是目前市面应用较为广泛的微处理器和外围设备的工具。虽然它在国内才刚刚起步,但
它已被广大的MCU爱好者、教学工作者以及从事MCU开发与应用的研究人员所钟爱[28]。
Proteus是英国著名的EDA开发工具,从整体布图到程序调试,到微处理器与外部电路的协作模拟,到PCB的一键
切换,从概念到产品的整体设计。在编译面,本系统也支持多种编译器。该软件与其他EDA软件一样,都具备相应的
功能。以下是。
1.基本原理布图
2.PCB的自动或手工配线
3.SPICE电路模拟
具有的特征为。
1.交互式线路模拟。
2.模拟处理器以及周边电路,同时还能实现显示、输出等功能[29]。集成了虚拟逻辑分析仪和示波器等设备,构成
了一个完整的电子产品设计和开发环境。
5.1.2 仿真原理图
Proteus软件具有模拟功能,在进行仿真时,需要绘制相应的图形。点击第三个图片标,开启“Proteus”,进
入绘图界面,点击按钮,在项目清单的顶端点击,在“pick device”中输入“keywords”,或者在类别中查找产品
的名称,点击按钮,选择的元件将会出现。如图5-1为系统仿真图。
图5-1 系统仿真图
再点击按钮,选择单位列表中的地线和电源。选定了元素,点击元素列表中的图标,把需要的元素放在编辑窗
口,调整元素的位置,把地线和电源输入到编辑窗口,再把它们连接起来。在T1端口上插入一个模拟光电转换的开
关,手动调整切换的脉冲数量,即模拟交通流。
5.1.3 Keil软件
本文以KeilC51为开发平台,撰写了该软件。KeilC51是美国知名公司推出的51系列 C语言的兼容性软件,该系
统具有丰富的库函数和超强的集成开发功能以及及齐全的调试工具,可以完整显示的Windows页面。而且,从编译后
的汇编程序来看,KeilC51编译后的代码是非常高效的,大多数的代码都是简单易懂的。在大型软件开发中,高级语
言的优点更加突出。
C语言具有如下特点。
1.语言简单明了、操作简便灵活。仅有32个关键词,9个控件,编程自由,以小写为主,所有多余的元素都被压缩。
2.语法限制要求宽松,编程具有很大的灵活性。
3.运算符较为丰富。C语言的运算符涵盖范围广泛,一共有34种运算符,这就使C的运算类型相较于其他软件具
有非常丰富的操作类型和多种多样的表达形式,并且通过灵活的操作来完成其它高级语言所不能完成的操作[30]。
4.系统具有较为全面的数据结构和多种通用语言可用于处理各种复杂的数据及结构。
5.可以生成质量较高的目标代码,程序执行效率较高。
6.C语言具有位操作能力,可以完成大多数汇编语言的功能且直接控制硬件。
7.C语言开发的软件易于移植,无需修改,适用于各种计算机和操作系统。C语言在操作系统、系统应用、硬件操作
等各方面它都优于其他高级语言。
5.1.4 程序编译
单击“Debug”菜单,在下拉菜单中单击“Go”(或者F5),在“Debug”菜单中,选择“停止运行”(或者使用
“Esc”):再按“View”菜单,然后在下拉菜单中单击“Serial Windows#1”,可以看到它的工作情况。单击
“Prject”,并在下拉菜单。在“Output”中单击“Create HEX File”选项中,可以生成HEX代码,并将其下载到
STC89C52中。
5.1.5 系统仿真
点击仿真界面的左下角的启动按钮,仿真便会启动,仿真的具体步骤如下。
1.未开始时硬件线路的初始状态。
2.当硬件电路启动时,未设置的初始电路其计数值显示为00,设置值最高值同上。
3.如图5-2所示,硬件电路设置要通过车辆的最高值,设置通过路口车辆此时最高值为20。
4.红外感应器在车辆经过光电门时输出低电平。当T0端口有低平信号时,
由MCU进行计数。在通过车辆没有达到设定的最大值时,警报系统将不会发出警报。此时经光电门的车辆数量为
19,其线路并无报警。
5.当车流量数超出设置的最大通行量时,警报电路会发出警报。假设此时通过车流量的数为28时,报警状态灯会亮
起,而且蜂鸣器还会不间断发出“滴”“滴”声音,来提示管理员。此时状态如上图5-3所示。相关工作人员得知车
流量超过系统设定最大通行量时,会实时进行监测系统自主调节车辆通行时间倒计时状态,以确保在高峰时车辆顺
利通行,从而减少交通的压力。
在实际运行中,发现了以下几个问题,并在不断的调试中得到了解决办法。
1.在系统模拟开始时,信号灯是正常的,但数字管的信号是混乱的。数字管使用共阳七段数字管,检查过程中的数
字管显示码外观并未发现任何破损问题。所以,首先要排除程序上的错误。当再次进行实验检测时,发现数字管的
信号问题还是存在。于是开始在系统中寻找程序问题,发现在程序中数字信号编写程序中出现了问题,及时在网络
中寻找相应的资料进行改写。当再次进行正式的实验测试模拟时,改变后的信号灯显示正常,数字管倒数时间正常
显示,并且会亮起来。之前的问题已迎刃而解。
2.实验过程中,无论是绿、红、绿,都要转换成黄色。这显然是不符合实际需要的。在实际的交通信号灯控制系统
中,不存在由绿灯向绿灯过渡的情况。从硬件开始很难,因此要从软件开始。当单片机从红灯变成绿灯时,在原
向保持红5 s,再进行变换,以配合其他方向的颜色从绿变红。
5.2 系统调试
1.当系统电路处于未启动状态时,主控器及红外传感器都未供电,其指示灯处于熄灭状态。如图5-4所示为系统
电路未供电状态。
图5-4 系统电路未供电启动状态图
2.当系统电路处于启动状态时。按下总开关,电源对主控器及红外传感器进行供电,其指示灯处于亮灯状态,计数
值以及设定值数值都为00。
3.当计数值状态为00,最大车流量数值状态为20。系统电路处于设定最大通行车流量状态时。
4.当系统电路处于计数状态时。在其计数值未达到设定的最大车流量和达到最大车流量状态。此时由于计数值未超
过设定的最大值,报警电路不会进行报警提示。
5.当系统电路处于计数状态时,通过红外传感器布控区的车流量数达到并且超过设定的最大车流量值。系统将根据
车流量数进行自主调节倒计时秒数,报警电路也将进行报警提示,提醒相关工作人员及时对系统调整进行监督检
查,来缓解道路交通压力。如图5-5所示为系统电路超过最大车流量值且报警状态图。
图5-5 系统电路超过最大车流量值且报警状态图
5.3 本章小结
本章针对系统的仿真跟调试进行逐步讲解,第一小节对系统模拟进行简单介绍,介绍了protues与keil软件的操
作流程与使用方法。赘述了本设计在protues软件上具体操作流程,与第二小节的系统调试形成首尾呼应关系。本次
设计在本章就已经完成了本次设计的全部流程。
第6章 结论
经过几个月的努力,毕业设计基本完成了,无论从系统方案的选择,还是利用仿真软件进行绘制原理图,都经
历了数次的实践论证,使我从中学到了许多专业电路设计知识。
6.1 工作总结
本系统利用红外线探测与单片机相结合的方法,可实现车辆流量的自动计数。首先,它具有结构简单、造价低
廉的特点。其次,它适合于中小城市进行智能交通控制,并在一定程度上实现了对中小城市交通的精确控制。此
外,该设计成品可直接安装于公路护栏、立柱,使用简便、维修方便。
本文介绍了以单片机为核心的车辆流量测量系统的设计。不管是采用电磁感应线圈、视频扫描、E18-D80NK-N红
外探测,均存在一些设计上的缺陷。虽然红外线探测距离可达8米,但无法精确侦测车流,当多部车辆平行于对射式
光电开关时,红外线光开关仅能识别一辆车,因而仅向MCU发送一次脉冲,因此单片机仅做让数+1,因此车辆流量统
计有很大的误差。另外,由于光电开关无法区分行人与汽车,因此也造成了计数的错误。
这次的毕业设计,让我对模拟、数字、单片机等专业有了更深刻的了解,同时也让我有了更好的学习和实践的
机会。
通过四年的相关专业知识的学习,使我对电子信息产业有了一个较为详细的认识,并且对电子线路的总体设计
和开发过程也有了一定的了解。通过参考许多相关参考文献,使我在系统设计方面得心应手在实践方面与理论学习
方面都得到了显著的提升,特别是在MCU编程方面的技能。以单片机为核心的车辆流量检测系统的设计与开发,将是
许多电子工程师的主要工作。
6.2 工作展望
回首自己完成毕业设计整个心路历程,心中隐隐觉得有一丝苦闷,但更多的是完成一个属于个人作品的兴奋感
与自豪感。从去年选题开始,要知道找到一个自己感兴趣并且自己有能力完成的题目是有一定难度的。当经过自己
斟酌考虑,毅然决然的选择了本次设计题目。由于自身单片机基础较为薄弱,确定了选题之后就已经着手准备查找
相关的参考文献,恶补之前的单片机知识,为后续论文撰写打好基础。接下来的外文翻译,开题报告,到后期的实
物设计,仿真调试。这其中也遇到许多困难,指导老师跟同学也帮助我不少,自己也积极从各个途径寻求帮助。当
一个一个问题被自己解决之后,之前不懂得地方瞬间茅塞顿开,自己处理问题的能力也在不断提升。特别是在系统
仿真调试时,刚开始总是会害怕出错导致出问题,先会一小段一小段反复进行调试修改。随着后期操作技术的熟
练,再加上之前的细致调试,该调试环节也顺利的完成了。本次毕业设计的顺利完成离不开指导老师屈老师的悉心
指导,还有之前任课教师给予的专业基础的铺垫和同学们的热心帮助。虽然这个设计还不是很完善,但我为自己努
力而高兴。这一次的毕业设计制作,使我在专业上有了很大的提升,同时也巩固了我之前的基础,深刻的体会到每
个技术工作人员的的艰辛。