1、1光电测试课程设计基于光电传感器的路灯控制系统姓 名: 陈杨林,陈志文,梁明峰,徐木海班 级: 06 电科 1 班 学 号: 200630570102 200630570103 200630570113 200630570127 指导老师: 代秋芳、刘江、罗霞 日期: 2009.12.152009.12.25 论文提交日期 2009 年 12 月 25 日 论文答辩日期 2009 年 12 月 25 日 华南农业大学工程学院2摘 要随着城市市政建设的发展,传统的路灯控制与维护手段已远远不能适应城市现代化发展的速度。城市市政建设日新月异,宽阔的街道,各种各样的路灯给城市带来了光明的同时也增添了城
2、市的夜间魅力。但是由于道路,路灯众多,传统的人工管理模式已经和快速,现代化的城市建设不相适应。现代计算机集控技术的发展的城市市政管理带来了福音。城市路灯控制系统是现代计算机技术运用于城市市政建设中有效且必然的产物,实现了城市路灯系统的计算机集中控制、监测与管理。本文将介绍用小器件模拟现实物品,如用 LED 模拟路灯,设计个简单的基于光电传感器的路灯控制系统,阐述系统控制思想,介绍各单元模块设计思想。关键词:光控 路灯控制 单片机 3目 录1 系统方案选择 41.1 方案论证与比较 41.1.1 光控电路 41.1.2 单片机控制电路 51.1.3 其他因素 51.2 系统总体电路图 62 电路
3、分析 62.1 光控电路 62.2 主控电路 72.3 路灯电路 72.4 显示电路 82.5 工作流程图 83 讨论及进一步研究建议 94 课程设计心得 9参考文献 10Abstract11附录 源程序 1241 系统方案论证设计任务是设计制作一个有一个光控装置,一个终端控制和路灯组成的基于光电传感的路灯控制系统,其中能够实现根据时间和光强信息实现路灯的智能控制。根据题目要求系统主要光控电路,单片机,显示电路,和路灯驱动电路组成。系统方案如图所示。图 1 方案一系统结构图图 2 方案二系统结构图1.1 方案论证与比较1.1.1光控电路方案一,其电路原理如图所示。主 控 制 器光 控 电 路
4、路 灯显示电路5图3 方案一光控电路该电路使用光敏电阻RG和电阻R组成一个分压电路,74ls04整形放大,输出极性相反的信号。 方案二,其电路原理如图所示。VC10K光esAdjP.4图4 方案二光控电路该电路使用光敏电阻和R组成一个分压电路,没有经过整形输出信号至p0.41.1.2单片机控制电路方案一,单片机采用了ATmega8 。ATmega8是AVR高档单片机成员之一,片内带有8K字节的Flash存储器,功耗小,其中完成路灯工作状念的判断、路灯点亮时间的定时和控制继电器工作。方案二,单片机采用了c8051f300.c8051f300是非常高端的一种51单片机,运算速度快,通用性高,其中完
5、成路灯点亮时间的定时、根据光强控制输出.1.1.3 其他因素方案一,具有主机控制和路灯状态检测功能,并可进一步实现多级网络控6制。方案二,采用了液晶显示,并且编程简便,还有可实现多级光强判断。综合上述,考虑到电路结构的简便性,设计的可行性,产品的综合性价比和进一步扩展性等因素,我们决定选择方案二。2.2 系统总体电路图图 5 系统总体电路原理图2 电路分析2.1 光控电路VC10KR光esAdjP.4图 6 光控电路图该模块电路主要完成对环境光线的检测.通过光敏电阻将光照强度转化成电7压。白天光线强时,光敏电阻阻值远小于 R,此时输入 P0.4 为低电平。当晚上光线弱时,则光敏电阻阻值远大于
6、R,此时输入 P0.4 为高电平,单片机接受到高电平,就能够控制灯点亮。2.2 主控电路图 7 主控电路图主控制器,即单片机 C8051F300 根据 P0.4 的输入经芯片内置 AD 转换,获得光照强度,编程 PWM 控制 P0.0 的输出,以控制 LED 灯的亮灭并实现灯的亮度可调,当 P0.4 输入低电平,P0.0 输出高电平,当 P0.4 输入高电平,P0.0 输出低电平。另外,定时程序也控制 P0.0 的输出,当到达某时刻,P0.0 输出低电平或高电平以控制 LED 的亮灭。2.3 路灯电路 VC1Kes234LEDP0.图 8 路灯电路图路灯部分,当单片机 P0.0 输出高电平,L
7、ED 灯灭,当 P0.0 输出低电平时,LED 灯亮。因 P0.0 输出的低电平为 PWM 控制,电压可变,以至 LED 灯亮度可调82.4 显示电路 12345图 9 显示电路图LCD12864 用以显示有光和无光。光控路灯亮度情况,定时情况。2.5 工作流程图图 10 程序工作流程图主 程 序晚 上 白 天无光?灯 亮定时是 否 有 光?灯 亮 灯灭是开关是否按下否是 无光 有光93 讨论及进一步研究建议本控制系统研究的只是利用单片机根据光强和时间控制灯的开关,且定时是预先编写程序时就设置好的,要想改动设的时间就得修改程序重新烧录进单片机,因此可用外界键盘加以改进,使之能够用键盘输入,免去
8、重新烧写。另外还可加设噪声传感器路实时检测路面交通噪声信号大小,并将其转变成模拟电信号,经 A/D 转换后送入 CPU,通过模糊控制算法实时处理人车流量信息,动态调节灯光强弱,实现节能控制。为了更好更准确地更有效控制路灯,可加设灯电路状态检测电路,检测路灯状况,监测路灯工作状态及好坏,通过 LCD 显示。这样的一个系统比较好地实现了人机交互,方便管理和维护路灯。大体结构图如下:图 11 进一步研究的系统框图4 课程设计心得本次课程设计要实现基本要求还是比较地简单的,但要实现一些外扩展功能,如检测灯的好坏,还是挺困难,挺耗费成本,在课程设计限制的时间内,我们略显力不从心,因此,外扩展功能就没怎么
9、去实现。我们明白,课程设计10的目的并不在于设计一个真正的完善的路灯控制系统,而是通过设计与实现系统,学习和学会一个系统的设计流程与方法。参 考 文 献1李铁楠.城市道路照明设计.光源与照明. 2006(2):116-1172杨本文,郑旭东.城市路灯照明节能方案及运行管理.湖北电力,2006(8):61-623秦荣茂.浅谈城市路灯的控制技术.电气知识,2004(3):2611AbstractWith the city municipal building, the traditional means of control and maintenance of street lights hav
10、e not adapt to the speed of development of urban modernization. City municipal building with each passing day, the wide streets, a variety of lights to the city to bring a bright and also added to the citys night-time charm. However, due to roads, street number, the traditional manual management mod
11、e has been, and fast, incompatible with modern urban construction. Set of modern computer control technology development has brought the gospel of urban administration. City street light control system is used in modern computer technology effectively in urban municipal construction and inevitable b
12、y-product to achieve the citys streetlight system, centralized control of a computer, monitoring and management. This article describes a small device simulation with the real items, such as street lamps with LED simulation, design a simple street-based photoelectric sensor control system, described
13、 the system of thought control, introducing each unit module design.Key words:light-operated road lighting control MCU12附 录 源程序 #include “main.h“#include “delay.h“#include “lcd.h“extern void Init_Device(void);sbit led0 = P03;sbit bb=P02; /晚上控制int l=1;void pwm(unsigned char i)if(i=150)PCA0CPM0 = 0x42
14、;if(i=150PutStr(1,0,“光强:1 档“);13void main()unsigned char i;Init_Device();delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);delay(1000);LcmInit();delay(1000);TL0 = (65536-50000)/256;TH0 = (65536-50000)%256; / PCA0CPH0=255;loop2: while(1) /白天控制PutStr(0,0,“
15、此时时间:白天“);AD0BUSY = 1;while(!AD0INT);AD0INT=0;i=ADC0H;pwm(i);if(bb=0) /晚上控制LcmClearTXT();PutStr(0,0,“此时时间:晚上“);while(1)AD0BUSY = 1;while(!AD0INT);AD0INT=0;i=ADC0H;if(i200) PCA0CPM0 = 0x42;PCA0CPH0 = 0;PutStr(1,0,“晚上无光,开灯!“);PutStr(2,0,“定时开关: 8 秒“);TR0 = 1;l=1;while(l);goto loop2; void time0() interr
16、upt 1static unsigned int a;TL0 = (65536-50000)/256;TH0 = (65536-50000)%256;a+;if(a=50)PutStr(2,0,“定时开关: 7 秒“);if(a=100)PutStr(2,0,“定时开关: 6 秒“);if(a=150)PutStr(2,0,“定时开关: 5 秒“);if(a=200)PutStr(2,0,“定时开关: 4 秒“);if(a=250)PutStr(2,0,“定时开关: 3 秒“);if(a=300)15PutStr(2,0,“定时开关: 2 秒“);if(a=350)PutStr(2,0,“定时
17、开关: 1 秒“);if(a=400)PutStr(2,0,“定时开关: 0 秒“);if(a=400)a = 0;TR0=0;led0=1;l=0;PutStr(3,0,“同志们!天亮了“);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);LcmClearTXT();