您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页智能路灯系统

智能路灯系统

来源:飒榕旅游知识分享网
智能路灯系统设计

摘要:我们组要做的是一个根据光线强度控制灯的亮灭、根据车流量控制路灯亮的盏数的智能路灯系统。该系统将采用AT89S52单片机作为控制芯片,利用光敏传感器来感知道路上的光强度,若达到了开灯的要求就将信息传给单片机,通过单片机控制电磁继电器来接通路灯的电路,灯亮;若达到了关灯的要求就将信息传给单片机,通过单片机控制电磁继电器来断开路灯的电路,灯灭。为了防止开、关灯引起的亮度的变化而又导致灯的开、关的循环,将在控制电路中加入施密特触发器。利用两对红外发射接收对管来感知左右车道上车经过的信息,利用单片机计数,若单位时间内车流量达到了预定值,灯全开,若小于此值,灯相间的打开,即只开一半。这样可以有效的利用路灯,并且能够省电。

关键字:路灯,智能,AT89S52,省电

一、 背景

现在的路灯都是采用定时控制系统,这将不能保证在环境改变和气候变迁的时候道路上有足够的光照,从而给行车带来很多的不便。同时在某些偏僻路段,在没有人通行的情况下,路灯如果也一直全部开着,那将是对资源的浪费。由此我们小组想到了制作这个智能路灯系统,我们希望我们的智能路灯系统能够根据车流量的多少控制某一路段的路灯打开的数量,从而使路面既可以在需要的时候得到充分的照明,而在不需要的时候可以节约能源。

而作为开发这个智能路灯系统的核心则是单片机的控制。单片机作为实时控制已经应用到各个领域,应用现代工具开发单片机应用系统是现代电子类专业人员必须掌握的技术。KeilC51 是目前世界上最好的MCS - 51单片机汇编和C语言的开发工具,支持汇编、C语言以及混合编程。可以完成编辑、编译、连接、调试、仿真等整个开发流程,同时具备功能强大的软件仿真和硬件仿真(用mon51协议)功能。

二、系统总体框图与系统总体介绍

系统由51单片机为主控制器,采用外部12MHz晶振。采用光敏二极管作为光敏传感器,

来感知道路上的光强度,若达到了开灯的要求就将信息传给单片机,通过单片机控制电磁继电器来接通路灯的电路,灯亮;若达到了关灯的要求就将信息传给单片机,通过单片机控制电磁继电器来断开路灯的电路,灯灭。利用两对红外发射接收对管来感知左右车道上车经过的信息,利用单片机计数,若单位时间内车流量达到了预定值,灯全开,若小于此值,灯相间的打开,即只开一半。我们系统采用若干个发光二极管来模拟路灯。

系统原理图如下: 光敏传感器 红外发射接收 对管

MCU AT89S52单片机 LED (模拟路灯)

本系统最主要的部分是光敏二极管和红外接收对管。光敏二极管的作用是把光信号通过施密特触发器转换为电平信号,然后发给单片机AT89S52来处理信号。红外接收对管主要是负责探测马路上车辆的数量,起到车辆计数作用。

三、硬件电路介绍

1、51单片机

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

引脚结构:

2、光敏二极管

光敏二极管又叫光电二极管。光电二极管是将光信号变成电信号的半导体器件。它的核心部分也是一个PN结,和普通二极管相比,在结构上不同的是,为了便于接受入射光照,PN结面积尽量做的大一些,电极面积尽量小些,而且PN结的结深很浅,一般小于1微米。光电二极管是在反向电压作用之下工作的。没有光照时,反向电流很小(一般小于0.1微安),称为暗电流。当有光照时,携带能量的光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子---空穴对,称为光生载流子。它们在反向电压作用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。这种特性称为“光电导”。光电二极管在一般照度的光线照射下,所产生的电流叫光电流。如果在外电路上接上负载,负载上就获得了电信号,而且这个电信号随着光的变化而相应变化。

3、红外发射接收对管

利用发射红外线和接受红外线,感知路面上的车辆,通过施密特触发器,将红外信号转换为点信号,输入单片机,让单片机计算车辆的数量,从而起到是否要关掉一半的路灯。

四、软件部分

硬件部分制作完成之后,关键是程序的编写。程序主要包括以下几部分:主程序,光敏传感器中断程序,红外发射接收中断程序等等。虽然本系统主要是硬件电路的设计,但是软件系统在本设计中也占有相当重要的部分,基本功能需要依靠软件才能来完成的,功能发挥部分同样需要软件的密切配合才能顺利实现。

软件部分主要是在Keil里面模拟,仿真出结果,然后再烧写到单片机中。

程序的具体流程图如下:

开始 初始化 白天 检测白天黑夜 单片机省电模式 天黑 打开一半路灯 没有超过预订数 检测车辆数 超过预订数 打开所有路灯

五、实现功能和特色

我们组要做的是一个根据光线强度控制灯的亮灭、根据车流量控制路灯亮的

盏数的智能路灯系统。该系统将采用AT89S52单片机作为控制芯片,利用光敏传感器来感知道路上的光强度,若达到了开灯的要求就将信息传给单片机,通过单片机控制电磁继电器来接通路灯的电路,灯亮:若达到了关灯的要求就将信息传给单片机,通过单片机控制电磁继电器来断开路灯的电路,灯灭。为了防止开、关灯引起的亮度的变化而又导致灯的开、关的循环,将在控制电路中加入施密特触发器。利用两对红外发射-接受对管来感知左右车道上车经过的信息,利用单片机计数,若单位时间内车流量达到了预定值,灯全开,若小于此值,灯相间的打开,即只开一半。这样可以有效的利用路灯,并且能够省电。

六、不足之处与改进方向

虽然我们顺利实现了我们预期的效果,但在调试过程之中我们还是发现了一些问题。同时我们也发现了一些可以改进的方向。我们的智能路灯系统毕竟只是用发光二极管来模拟路灯,并非实际情况,虽然模拟出的结果是可以接受的,但是在实际情况的时候可能需要对电路进行大幅度的改造。另外一个缺点就是光敏传感器对白天和天黑的判断问题,在天黑之后可能会因为路灯的光亮导致光敏传感器的错误判断影响效果。我们是希望通过将系统安置于一个受路灯光影响小的地方来解决这个问题。我们会通过更多的测试使其更为完善与可靠。

七、结束语

通过这个智能路灯系统的设计,我们小组成员学到了很多的东西。可能在调试过程中会出现一些不稳定的因素,但我们在积极地改进之中。我们要感谢老师的立项,使我们能够有这个机会来自己动手实践,同时也感谢老师在我们学习过程中的耐心指导。在这个学习过程中,我们还是收获颇丰的。希望以后有更多的机会能让我们锻炼自己,不断学习。

八、附录 源程序:

#include

#define uchar unsigned char #define uint unsigned int uint second,count; uchar temp=20; sbit volt=P0^6; bit flag=1; uint a=10000;

void int0() interrupt 0 { TH1=195; TL1=80; TCON=0x51; flag=0; }

void time1() interrupt 3 { TH1=195;

TL1=80; temp--; if(temp==0){ temp=20; second++; if(second==10){ second=0;

count=TH0*256+TL0; TH0=0;TL0=0; if(count>5)P1=0x00; else P1=0x55; if(volt==0)flag=1; } } }

void main() {TMOD=0x15; P1=0x55; TCON=0x00; IE=0x89;

for(a=10000;a>1;a--);

do{

if(flag){P1=0xff;TCON=0x01;PCON=0x01;} } while(1); }

附录二:

我们小组做的是一个根据光线强度控制灯的亮灭、根据车流量控制路灯亮的盏数的智能路灯系统。该系统将采用AT89S52单片机作为控制芯片,利用光敏传感器来感知道路上的光强度,若达到了开灯的要求就将信息传给单片机,通过单片机控制电磁继电器来接通路灯的电路,灯亮;若达到了关灯的要求就将信息传给单片机,通过单片机控制电磁继电器来断开路灯的电路,灯灭。为了防止开、关灯引起的亮度的变化而又导致灯的开、关的循环,将在控制电路中加入施密特触发器。利用两对红外发射接收对管来感知左右车道上车经过的信息,利用单片机计数,若单位时间内车流量达到了预定值,灯全开,若小于此值,灯相间的打开,即只开一半。这样可以有效的利用路灯,并且能够省电。 实物图如下:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务