路灯控制器的设计与实现.docx
- 文档编号:24171329
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:26
- 大小:30.97KB
路灯控制器的设计与实现.docx
《路灯控制器的设计与实现.docx》由会员分享,可在线阅读,更多相关《路灯控制器的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。
路灯控制器的设计与实现
学科分类号0806
本科生毕业论文(设计)
题目(中文):
路灯控制器的设计与实现
(英文):
DesignandImplementationStreet
LampController
2013年5月10日
摘要I
关键词I
AbstractI
KeywordsII
1前言1
1.1选题背景1
1.2研究现状1
1.3研究目的和意义2
2任务分析与方案论证3
2.1任务分析3
2.2方案论证4
2.2.1系统主控模块方案选择4
2.2.2光电转换方案选择5
2.2.3显示模块方案选择5
3系统硬件设计6
3.1单片机最小系统6
3.2光控电路10
3.3继电器驱动电路11
3.4报警电路12
3.51602液晶显示12
4软件设计14
4.1主程序流程图14
4.2初始化程序15
4.3定时器中断16
4.4延时程序18
5调试与分析18
5.1调试18
5.2分析18
6总结21
参考文献22
致谢23
附录24
附录A系统总图24
附录BPCB图24
附录C实物图25
附录D部分源代码:
25
路灯控制器的设计与实现
摘要
本文介绍了一个路灯控制器的设计与实现方案,用以实现路灯的自动控制。
方案以STC89C52为核心,通过按键选择时钟控制功能、光照强度控制功和改变开灯与关灯的时间;通过1602液晶能显示路灯控制模式和延时时间;利用单片机内部定时器T0、T1设定系统开关灯的时间和延时时间;利用光敏电阻对光线强弱时电阻值的变化原理实现了路灯控制器对光线强弱的自动控制。
该系统使用广泛,功能完善,成本低廉,可以在走廊、卫生间、楼道和道路两旁等公共场所的路灯上安装,这样既能方便管理,也可以节约能源。
关键词
路灯控制;STC89C52;单片机定时器;光敏电阻;继电器
DesignandImplementationofStreetLampController
Abstract
Thispaperintroducesthedesignandimplementationofastreetlampcontroller,usedtorealizetheautomaticcontrolofstreetlamp.SchemewithSTC89C52asthecore,theclockcontrolfunction,thelightintensitycontrolpowerandchangethetimetoturnonthelightsandturnoffthelightsthroughthebuttontochoose;by1602LCDcandisplaylightingcontrolmodeandthedelaytime;settingsystemswitchlightsuseMCUinternaltimerT0,T1timeanddelaytime;tochangetheresistancevalueofthelightintensity.Torealizetheautomaticcontrolofstreetlampcontrollerbasedontheintensityoflightphotosensitiveresistor.Extensiveuseofthesystem,perfectfunction,lowcost,canbeinstalledinthebathroom,corridor,corridorandotherpublicplacesinthestreetonbothsidesoftheroad,soastofacilitatethemanagement,butalsocansavetheenergy.
Keywords
Streetlampcontrol;STC89C52;Themicrocontrollertimer;Photosensitiveresistance;Relay
1前言
1.1选题背景
目前路灯照明耗电量约占总耗电量的15%,全国各地无不面对电力紧张带来的各种问题。
城市路灯照明是人们日常生活中必不可少的公共设施,随着城市规模的不断扩大,对城市道路照明的城市亮化工程需求也更大,能源的供需问题也越来越突出,所以节电节能、绿色照明的要求越来越迫切[1]。
面对紧张的供电形势,路灯巡查对市政部门来讲是一项需要耗费大量人力物力的工作。
现有的路灯管理的方式已远远不能满足城市路灯发展与管理的需要,必须依靠现代化的高科技手段。
而路灯控制器的自动化控制能满足这个要求,路灯控制器工作需要一个以MCU为核心的自动化控制手段来替代普通的人工路灯控制系统。
它在白天的时候(或者说是光线亮的时候)灯不会亮;在晚上(或者说是光线暗的时候)灯便会亮。
路灯控制器它就是这样一个可以代替人工巡查的系统。
它可以广泛地应用在走廊、卫生间、楼道、及道路两旁的路灯上等处,这样既方便了自身,又节约了电能[2]。
由于单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此在路灯照明工程中被广泛应用。
1.2研究现状
目前,市场上普遍采用的路灯控制技术主要有以下三类:
人工干预控制、时钟控制、独立控制技术[3]。
人工干预控制。
在道路照明设施建设之初,按照需要的照明方式施工建设以实现路灯的隔一亮一等特殊照明模式。
在需要开启/关闭路灯时派出人员操作控制开关来实现对路灯的控制。
优点:
具有一定的应变能力。
缺点:
由于路灯的数量日益增多,保障路灯的正常工作的压力也随之加大,管理难度大、安全系数低、工作量大、不能检测整个线路路灯的工作状况,工作状态大多依靠工作人员夜间的巡查和群众的投诉,因此发现故障不及时。
时钟控制。
其原理是将原人工控制开关更换为时钟控制器,由此实现一般状况下的路灯自动控制。
优点:
一般状况下可免除人干预工作量、降低成本。
缺点:
应变能力较差,如果将时钟控制器设置在每天19:
00开启次日08:
00关闭,则无论在任何季节以、气象条件和能见度的情况下都将死板的按照预定时间工作。
独立控制技术。
其原理是在每个路灯的线路上加装控制检测器,并采用无线或有线的方式与控制主机相连再采用有线或无线的方式与控制系统连接,以此来实现对路灯的开关控制或定时开关控制。
并可实现预设的工作模式,以及对路灯故障精确侦测并报告。
优点:
高程度自动化,高应变能力提供多样的工作模式并可检测路灯故障。
缺点:
造价高昂,施工难度大:
要在每盏路灯下安装独立的控制器施工难度可想而知,由此又使得工程造价过高[4]。
1.3研究目的和意义
2008年8月开始实施的《国务院办公厅关于深入开展全民节能行动的通知》第五条规定:
“控制路灯和景观灯的照明,在保证车辆,行人安全的前提下,合理的开启和关闭路灯……”。
这是国家对于道路照明给出的既节能又保障公共设施运转的策略。
可见路灯控制照明在节能中起着至关重要的作用。
在学校、机关、厂矿等企业单位的公共场所以及居民区的公共楼道,长明灯现象十分普遍,这造成了能源的极大浪费。
另外,由于频繁开关或者人为因素,墙壁开关的损坏率很高,增大了维修量,浪费了资金。
路灯控制器的设计与实现是响应国家政策实行环保节能的路灯照明环境的重要方式,它解决了传统路灯实现的方法存在控制能力不足;它解决了掌握路灯设备的工作状态的不及时性;它解决了路灯调节操控能力不足的缺点;它实现了路灯的精确的节能方法;它做到了照明的节能环保和高效。
同时,根据路灯控制器的组成和性能,适用范围及工作原理,广泛的使用在城市的道路、学校、机关厂矿等企业单位的公共场所等,可以使人们生活更加方便安全,并且节电的效果十分明显,大大减少了维修量,节约了资金,使用效果也非常好,有长远价值[5]。
2任务分析与方案论证
2.1任务分析
根据题目要求,系统主要包含主控模块、键盘模块、光电转换、显示模块等。
针对题目要求,初步的思路安排如下:
在STC89C52单片机的基础上,对路灯的开、关控制进行自动调节,首先实现对路灯在正常情况下的开关,如,路灯每天晚上工作的时间。
再实现其对特殊状况的应急控制(如长时间的阴雨天气等非常态的情况)。
具体思路如下:
(1)光线暗时,路灯自动点亮,直到光线强时,路灯会自动熄灭。
(2)设置节能模式,路灯在夜间可进入节能状态。
(3)在白天,光信号接收器的光线入口被短时间遮挡时,不会出现白天路灯被开。
(4)为了保护照明电路,在路灯线路出现故障时,及时发出警报。
2.2方案论证
2.2.1系统主控模块方案选择
方案一:
采用SPCE061A单片机进行控制。
虽然SPCE061A凌阳单片机具有强大的功能的16位微控制器,I/O资源丰富,存储空间大,能配合LCD液晶显示的字模数据存储。
但是,它不是常用单片机,从而加大了使用和功能实现的困难,成本也较高。
方案二:
采用可编程逻辑器件FPGA作为控制器。
FPGA可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展、系统的处理速度快,适合作为大规模控制系统的控制核心。
但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。
方案三:
采用STC89C52单片机进行控制。
该单片机具有IPA功能,支持在线下载,内部集成了EEPROM,STC89C52是我们比较熟悉的一种常用单片机,指令系统与AT89C51兼容,价格便宜,容易购买。
与方案一、方案二比较方案三采用STC89C52可以满足设计要求,而且减少设计复杂程度,所以本设计采用方案三[6]。
2.2.2光电转换方案选择
方案一:
采用光敏二极管。
采用光敏二极管的最简单的光检测电路,其输出电压随入射光量的对数呈线性变化,但容易受温度变化的影响。
而且光敏二极管只在黑暗的环境中对移动的白色物体反应比较灵敏,而在白天(自然强光),电阻的变化不大。
方案二:
采用光敏电阻。
光敏电阻的有可靠性强,体积小和高灵敏度,反应速度快的优点。
但是光敏电阻响应速度不快,在MS到S之间,延迟时间受光照影响。
综合考虑以上两种方案,光敏电阻在光线的感应更稳定,使设计更完善,由此本设计采用方案二。
2.2.3显示模块方案选择
方案一:
采用数码管显示。
控制起来比较简单,编程也不是很难,但在实际电路当中,焊接比较烦琐,占用空间大,性价比不高,由于本系统需要显示的数据较多,要同时显示多个字符,如果采用LED数码管需要用动态扫描,闪烁感强,对人眼有一定的损害,还要有相应的芯片(如74HC573N芯片等)组合,占用资源。
方案二:
采用1602LCD液晶显示,显示内容丰富,画面稳定不闪烁,对人眼损害很弱,抗干扰性强,且功耗低,符合环保节能要求,使用寿命长等优点不需要外加蕊片组合,可以直接与单片机连接,单片机可以通过软件编程,来实现对液晶的显示的控制与设定。
鉴于上述两种方案,方案二满足设计需求,使用起来十分方便,环保而且有长远的价值,而且本设计采用方案二。
3系统硬件设计
设计与实现路灯控制器,通过模块化的设计思想提高整个系统的设计效率、准确性。
整个系统分为单片机控制模块、按键模块、环境亮度检测模块和显示模块,各个模块采用Proteus和Multisim进行软件仿真模拟。
在利用AltiumDesigner对硬件电路进行原理图绘制和PCB的制作。
最后结合各个模块的研究,整合各个模块硬件进行对整个系统的调试,以完成系统的整体设计。
3.1单片机最小系统
通过按键S5(P2.4)控制路灯的工作模式为时控或者光控。
当时控时,当系统时间与实际时间不同时,可通过按键调节系统时间。
当光控时,根据光线的强弱调节路灯的亮灭。
图3.1.1单片机最小系统
(1)STC89C52
单片机控制模块采用STC89C52,有以下特性:
①增强型6时钟/机器周期,12时钟/机器周期8051CPU。
②工作电压为3.4-5.5V。
③工作频率范围为0-40MHz,实际工作频率可达48MHz。
④片上集成128B/512BRAM。
⑤ISP(在系统可编程/)IAP(在应用可编程),无需专用编程器/仿真器即可通过串口(P3.0/P3.1)直接下载用户程序,8KB程序3s即可完成下载。
⑥共2个16位定时器/计数器,其中定时器0还可以当作2个8位定时器使用。
⑦4路外部中断,下降沿中断或者低电平出发中断。
基于STC89C52RC单片机具有的这些特点,它完全能够满足本系统的开发要求,路灯控制系统是有单片机为核心部件的控制电路组成。
如图3.1.1,控制者通过人机界面选择路灯控制模式后,单片机通过对P2.5端口的电平的检测光强度的变化,同时启动内部定时器T0的开始计数,当达到预定的延时时间后,单片机向P2.7发送路灯亮灭变化的开关控制命令。
(2)复位电路
单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。
单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,复位后单片机内部的程序自动从头开始执行。
图3.1.2复位电路
如图3.1.2中,RESET网络端口连接的是STC89C52的9号引脚(复位端),电容C3的的大小是10uF,电阻R3的大小是10k。
所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是
10K
10uF=0.1s(式3-1)
在单片机启动0.1S后,电容C3两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RESET处于低电平所以系统正常工作。
当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。
随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。
根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RESET引脚又接收到高电平,单片机自动复位。
(3)晶振电路
单片机系统里都有晶振,在单片机系统里晶振作用非常大,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
图3.1.3晶振电路
STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只连接一个晶振和两个电容即可,本系统晶振电路是由一个11.0592MHZ晶振和2个20p的瓷片电容接在单片机18,19引脚上构成的,晶振作用只要是控制时钟的频率,瓷片电容只要是对频率起微调的作用。
(4)按键电路
本系统采用独立按键,低电平有效,单片机I/O接按键到地。
当按键按下时,单片机I/O口与地之间相当于短路,所以和I/O口为低电
平。
本系统设计按键,主要控制路灯亮灭的模式和调整系统和光控延时时间。
图3.1.4按键电路
P2.0:
在选择模式为时控模式时,时间调整按键,按下键可以调整系统时间,通过1602上显示。
在选择光控模式时,在P2.0以按下之后,可以调节光控延时的时间长短,延时时间系统的单位为秒钟。
P2.1:
不同模式下,分别可以调节系统时间和光控延时时间。
P2.2:
不同模式下,分别可以调节系统时间和光控延时时间。
P2.4模式选择。
选择路灯控制的模式。
3.2光控电路
在光敏电阻两端的金属电极之间加上电压,当光敏电阻受到适当的光线照射时,电流就会随光强的增加而变大,从而实现光电转换。
光敏电阻没有极性,纯粹是一个电阻器件,使用时即可加直流电压也可加交流电压[7]。
图3.2光电转换电路
如图3.2所示,当光线强时光敏电阻r8阻值很小,通过电桥判断可以得出,U3的反相端的电压低于同相端,比较器U3的输出端此时输出高电平,使三极管Q2基极处电压正偏,三极管处于导通状态,电流可流过R51,通过Q2到地,此时三极管Q2的集电极电压为0.3V左右,从而单片机P2.5口接收到得就是Q3集电极的低电平,在单片机内部软件程序判断做出相应的判断为光照照度为强。
反之,当光线弱时光敏电阻r8阻值很大,光线越暗r8的阻值也就越小,则U3的反相端的电压高于同相端,比较器U3的输出端此时输出低电平,即此时使三极管Q2基极处电压反偏,基极电压在0.7V以下,三极管处于截止状态,Q2此时相当于断路,所以电流只能从VCC流经R51在通过R5到单片机I/O口P2.5,从而单片机P2.5口接收到得就是VCC的高电平,在单片机内部软件程序判断做出相应的判断为光照照度为弱。
3.3继电器驱动电路
继电器为当输入量(如电压,电流,温度等)达到规定值时,使控制的输出电路导通或断开的电器。
在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点吸合。
当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点吸合[8]。
这样的吸合、释放,从而达到了在电路中的导通、切断的目的。
图3.3继电器驱动电路
如图3.3,在由单片机P1.3口发出高电平使三极管Q1导通,电流可从VCC经过继电器JD1和三极管Q1到地,继电器JD1当有电流通过是3脚和4脚之间导通,即220V的交流电与灯泡串联导通,从而灯泡亮。
反之,P1.3低电平时三极管Q1截止,则没有电流通过继电器,所以相当于路灯的开关没有打开,路灯灭。
3.4报警电路
当24小时内单片机未接到光线强弱变化;白天光线强的时候路灯自动开启;晚上光线暗的条件下路灯未亮等情况单片机都会发出信号使蜂鸣器报警。
图3.4蜂鸣器报警
如图3.4所示,当单片机I/O口P1.3口传送的是高电平是电流流经R9在三极管Q3处形成一个大于0.7V的电压,所以三极管Q3导通,电流可以直接从VCC流经蜂鸣器在经三极管到GND。
此时蜂鸣器发出声音。
相反如果单片机传送的是电平,则三极管不导通,蜂鸣器则不响。
3.51602液晶显示
本系统设计采用1602液晶做显示器。
1602采用标准的16脚接口,其中引脚功能分别如下:
第1脚:
VSS为电源地。
第2脚:
VDD接5V电源正极。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时通过一个10K的电位器调整对比度)。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。
第6脚:
EN端为使能(Enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背灯电源。
15脚背光正极,16脚背光负极。
电路模块如下图:
图3.51602显示电路
本系统只要用于显示路灯的控制模式、系统的时间、预定亮灯的时间和光控的延时时间。
4软件设计
软件基于Keil采用C语言编写,把系统的软硬件结合起来,通过对单片机的编程,主要是突出用编程软件达到控制硬件的目的。
利用它的内部定时器和计数器功能完成路灯的时控功能,实现软件对路灯的亮、灭和亮的时间控制等,利用单片机对I/O口对高低电平的检测,再输出信号控制路灯亮灭。
4.1主程序流程图
路灯控制器的设计与实现主要功能是要实现路灯的自动控制。
本系统开始进入初始化后,可选择路灯的控制模式,分别为光控模式和时控模式。
系统主程序流程图如下:
图4.1系统主程序流程图
4.2初始化程序
系统的初始化主要包括蜂鸣器的关闭、液晶初始化、定时器初始化。
液晶初始化可以使操作者能通过液晶的显示看到系统的工作模式从而更好的操作。
定时器初始化的目的是系统时钟的校准和更新。
具体代码如下:
voidinit()
{
feng=0;//蜂鸣器关闭
rw=0;//关门液晶写操作
init_lcd1602();//液晶初始化
display_init();//页面初始化
TMOD=0x11;//设定定时器工作方式
TH0=(65535-10000)/256;//定时器T0装初值
TL0=(65535-10000)%256;
TH1=(65535-10000)/256;//定时器T1装初值
TL1=(65535-10000)%256;
EA=1;//开总中断
ET0=1;//开定时器0
TR0=0;//启动定时器0
ET1=1;//开定时器1
TR1=1;//启动定时器1
}
4.3定时器中断
定时器定时一秒当用定时器方式一时,设机器周期为T,定时器产生一次中断时间为t,那么需要计数的个数为
N=t/T(式4-1)
装入TH0和TL0中的数分别为
TH0=(65535-N)/256(式4-2)
TL0=(65535-N)%256(式4-3)
计算机器周期T,本系统时钟频率(单片机晶振频率)为11.0592M,那么机器周期为
T=12
(式4-4)
采用t=50ms,那么N=45872[9]。
图4.3定时器中断流程图
上图为定时器中的流程图,定时器源代码如下:
voidtimer1()interrupt3using1//定时器T1中断
{
uintt;
TH1=(65535-46080)/256;装初值
TL1=(65535-46080)%256;
t++;//t每加一次判断一次是否到20次
if(t==20)//如果到了20次,说明1秒时间到
{
miao++;//时间秒自加1,t清零
t=0;
if(miao>59)//判断是否满一分钟
{//如果满一分钟
miao=0;fen++;//秒钟清零,分钟加一
if(fen>59)//判断是否满一小时
{//如果满一分钟
fen=0;//时钟加一,分钟清零
shi++;
if(shi>23)//判断时钟是否到达24
{
shi=0;//如果是则时钟清零
}}}}}
4.4延时程序
voiddelay(uintx)//延时x毫秒
{
uinta,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
5调试与分析
5.1调试
整机焊接完成后,先对硬件进行检查,连线有无错误,在逐步对各个模块进行检查。
首先是单片机主控单元进行调试,载入键盘、蜂鸣器程、1602液晶、继电器模块程序。
显示不正常,调节比较液晶3脚V0液晶对比度调整引脚连接的10K的电位器组合来调整对比度后,显示正常。
按下键盘调节显示时间,按下后,反应时间太长,修改软件延时程序后效果明显好转。
灯泡上电就闪一下,通过换三极管PNP为NPN,问题得到解决。
MCU检测不到高低电平的跳变,调节与光敏电阻分压的电位器,使电位器与光敏电阻的分压达到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 路灯 控制器 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)