路灯集中监控及综合节能系统设计.docx
《路灯集中监控及综合节能系统设计.docx》由会员分享,可在线阅读,更多相关《路灯集中监控及综合节能系统设计.docx(24页珍藏版)》请在冰豆网上搜索。
路灯集中监控及综合节能系统设计
摘要
本文介绍了一种基于51单片机的节能型城市路灯监控系统,该系统将路灯监控具体到了每个路灯的每个LED路灯。
每个路灯由四组LED路灯组成,通过对每个路灯的打开或者关闭来对照度进行控制,从而达到了控制路灯照射亮度和减小能耗的目的。
LED路灯有节约电能、质量好,发热小等优点。
与此同时,该系统可对每个路灯好坏状态进行巡检,从而有效避免了人工巡检中存在的巡检不及时、劳动强度大、错误率高等难题。
整个系统主要以现在主流的STC公司生产的89C51单片机为主芯片的集成电路上。
STC公司生产的单片机具有保密性好,程序容易写入,无需烧卡器等诸多优点。
路灯主要应用的电子元件有光敏电阻和AD7705型号A/D转换芯片,UPS电源实现交直流无缝切换以及太阳能电池板在有阳光的时候进行充电。
西门子公司的MC55无线通讯GPRS模块,通过模块结合来实现路灯状况的报警以及时通讯、太阳能利用、电源无缝切换、同时配合数码管显示的数据接收和总控模块的报警显示功能。
整体电路中包括有路灯照明组,光线感应模块,充放电转换模块和无线通讯模块以及总控模块。
关键词单片机;光线感应;GPRS;集中控制;报警
Abstract
Inthispaper,aenergy-savingstreetlightmonitoringandcontrolsystembasedonsinglechipispresented.Thesystemextendmonitoringandcontrolscopetoeachlamp.bycontrolingtheilluminationofeachlamp,EachlamphasfourLEDlamp.TocontroltheonoroffofeachLEDtocontrolthewholesystem.TheLEDisveryenergy-savingandveryuseful.Atthesametime,Thesystemiseffectiveforenergyconservation.Inaddition,theindividuallampstatuscouldbedetectedbysystem.Thisdecreasesthemaintenanceandmanagmentcosts.Therefore,thesystemcantakechecksofeachroadlamptimebytime.whichcanforbidtheshortageofpeoplecheck,andmaketheworkmoreefficient.ThewholesystemmainlyusethemostpopularmicrochipwhichthenameisSTC89C51singlechipasthemainchiponboard.Combinethelightdependentresistor,AD7706andtheUPSpowertomaketheswichbetweentheDCandtheAC.ThesiemensMC55wirelesstomakethecommunication.Throughcombiningthemoduletoachievethemonitoringandthereal-timecommunicationandalarm,sunlightsaving,charging/passingelectricityswitchwithseamlessconvert,andthenixietubedisplay,dataresevingandsendingmodule.GPRScommunicationgmoduleandfocus-controlmoduleofthealarmfonction.ThewholecircuitincludestheLamplightingpart,sunlightinducesmodule,charging/passingelectricityswitchwithseamlessconvertmoduleandGPRScommunicationgmoduleandfocus-controlmodule
Keywordscompilationlanguage;sunlight-receiving;GPRS;focus-control;alarm
路灯集中监控及综合节能系统设计
1绪论
1.1路灯集中监控及综合节能系统设计的实际意义
在今天,我们无法避免的要提及一个很敏感的问题---能源问题,最近的一次联合国气候峰会上,能源问题再一次被提出而且受到很广泛的重视。
节约能源刻不容缓。
夜晚的照明对于路人和司机都是很重要的,可以提高行人和车辆的安全系数。
但是我们经常能看见损坏而不能及时修理的路灯,夜晚公路照明亮度不足,或者根本没有照明是非常危险的事情,无论是对于司机还是行人。
因此,路灯的长时间、无故障的照明就会大大增加路行人和车辆的安全系数,但是,与此同时,大量的电能消耗也是无法避免的增加着,城市的扩大人口的增加使得买车人越来越多,行人也越来越多,由于新修道路必然会带来路灯数量的增加,而路灯数量的增加带来的问题也就在渐渐的体现出来:
电能的消耗;路灯的损坏;维修的花费;路灯损坏带来的安全隐患等等问题都在逐渐地显现出来,基于这些原因,路灯的集中监控和综合节能就显得尤为重要,路灯的集中监控和综合节能不仅能够大大的减少人力的投入,并且可以很好的对输出的能源进行限制而且不用担心意外情况的出现带来的措手不及和安全事故。
1.2路灯集中监控及综合节能系统设计的设计思路及内容
现在市场上很多路灯节能的设计思路都是简单的用一个存储芯片把全年这个地区的日出日落时间输入进去,然后根据这个日出日落的时间来控制路灯的亮起和熄灭,这样的设计表面上看来很符合常理,但是实际应用起来可以说是问题多多。
因为日出日落的时间和天气的明亮程度实际上的关系并不是很大,而天空中云层的薄厚,温度,空气湿度才是影响光线强度的主要原因,所以不能单纯的以日出日落时间来控制路灯,而且路灯的明暗程度也是需要进行控制的,因为傍晚的时候和午夜的时候的黑暗程度不一样,照明的亮度也应该是不同的,否则就会出现要么是傍晚的时候光线太亮导致电能的浪费,要么就是午夜的时候照明亮度不足带来安全隐患。
虽然路灯不是非常容易损坏,但是一旦损坏不能及时维修就容易出现事故。
这些都是现如今路灯节能的设计上的明显的技术不足和设计漏洞。
在接下来的文章中我们将要提到的这个路灯系统的设计是完全不同的一个运行方式,它就是由室外的光线强度,也就是亮度来控制路灯的亮度的,这样的设计既可以降低不必要的电能的浪费又可以使室外的照明亮度得到很好的控制。
与此同时可以通过光线强度是否达到规定强度来判断路灯是否正常运行,如果出现损坏的情况,可以发送一个信号通过GPRS通讯模块发出数据到监控端来提示损坏路灯的位置,这样就避免经常的检测带来的时间上和人力上的浪费,可以做到哪里有问题就修哪里,不需要进行无谓而又盲目的检查。
2系统设计基础
2.1STC89C51单片机简介
图2-189C51引脚
89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
89C51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用STC高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的89C51是一种高效微控制器,89C51是它的一种精简版本。
89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
(一)主要特性:
(1)与MCS-51兼容
(2)寿命:
1000写/擦循环
(3)数据保留时间:
10年
(4)全静态工作:
0Hz-24MHz
(5)三级程序存储器锁定
(6)128*8位内部RAM
(7)32可编程I/O线
(8)两个16位定时器/计数器
(9)5个中断源
(10)可编程串行通道
(11)低功耗的闲置和掉电模式
(12)片内振荡器和时钟电路
(二)管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为STC89C51的一些特殊功能口,如下所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
(三)振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(四)芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
(五)结构特点:
(1)8位CPU;
(2)片内振荡器和时钟电路;
(3)32根I/O线;
(4)外部存贮器寻址范围ROM、RAM64K;
(5)2个16位的定时器/计数器;
(6)5个中断源,两个中断优先级;
(7)全双工串行口;
(8)布尔处理器;
2.2AD转换模块AD7705
SCLK118GND
MCLKIN216VDD
MCLKOUT314DIN
CS4AD770513DOUT
RESET612DRDY
AIN1811AIN3
AIN2710REFIN(-)
COMMON88REFIN(+)
图2-2AD7706引脚示意图
AD7705是AD公司推出的16位∑-Δ(电荷平衡式)A/D转换器。
他包括由缓冲器和增益可编程放大器(PGA)组成的前端模拟调节电路、∑-Δ调制器及可编程数字滤波器等,能直接对来自传感器的微弱信号进行A/D转换。
此外他还具有高分辨率、宽动态范围、自校准,低功耗及优良的抗噪声性能,因此非常适用于仪表测量和工业控制等领域。
(一)基本特性
AD7705的基本特性为:
16位无丢失代码;0.003%的非线性度;PGA可选择1,2,4,8,16,32,64,128;8种增益;输出数据更新速率可编程;具有自校准和系统校准功能,三线串行接口,可缓冲模拟输入;
(二)引脚功能
AD7705的引脚排列如图2-2所示,各引脚的功能说明如下:
SCLK:
串行时钟输入。
MCLKIN:
主时钟输入。
时钟频率为500kHz-5MHz。
MCLKOUT:
主时钟输出。
CS反:
片选,低电平有效。
RESET反:
复位。
该端口为低电平时,可以将控制逻辑、接口逻辑、校准系数以及数字滤波器等复位为上电状态;
AIN2(+)、AIN2(-):
分别为差分模拟输入通道2的正、负输入端。
AIN1(+)、AIN1(-):
分别为差分输入通道1得正、负输入端。
REFIN(+)、REFIN(-):
分别为参考电压的正、负端。
为了确保元件的正常工作,REFIN(+)端口的输入信号必须大于REFIN(-)端的输入。
DRDY反:
逻辑输出。
低电平表示可以读取新的数据转换;高电平时不可读取数据。
IDN,DOUT:
分别为串行数据输入和输出端。
(三)片内寄存器
AD7705共有8个片内寄存器,他们是通信寄存器、设置寄存器、时钟寄存器、数据寄存器以及几个测试和校准寄存器。
这些寄存器的任何操作都必须先写通信寄存器,然后才能对其他寄存器进行操作。
(四)通信寄存器
通信寄存器是一个8位读/写寄存器,写入通信寄存器的数据决定下一次读/写操作在哪一个寄存器上进行,完成对所选寄存器的读/写操作后,该端口等待下一次写操作,这也是通信寄存器的缺省状态,如果在DIN为高电平时,写操作持续的时间足够长(至少32个串行时钟周期),那么AD7705将返回该缺省状态。
通信寄存器中的RS2,RS1,RS0为寄存器选择位,他们决定对哪一个寄存器进行读/写操作,常用的寄存器主要有通信寄存器(RS2RS1RS0=000)、设置寄存器(RS2RS1RS0=001)、时钟寄存器(RS2RS1RS0=010)以及数据寄存器(RS2RS1RS0=011)。
R/W反为读写选择位。
该位确定对选定寄存器进行读还是写操作,"0"表示写操作,"1"表示读操作。
CH1,CH0为通道选择位,00选择通道1,01选择通道2。
(五)设置寄存器
设置寄存器是一个8位读/写寄存器,其中MD1,MD0为工作模式选择位,MD1MD0=00,01,10,11分别对应正常工作模式,自校准、零标度系统校准以及满标度系统校准。
G2,G1,G0为增益选择位,G2G1G0=000-111分别对应1,2,4,8,16,32,64,128八种增益。
(六)时钟寄存器
时钟寄存器是一个8位读/写寄存器。
其中CLK为时钟位。
如果器件的主时钟频率为2.4576MHz(CLKDIV=0)或4.9152MHz(CLKDIV=1),该位置"1",如果主时钟频率为1MHz(CLKDIV=0)或者2MHz(CLKDIV=1),该位置"0",此外CLK还与FS1和FS0共同选择器件的输出更新速率。
(七)数据寄存器
数据寄存器是一个16位只读寄存器,他用来存放AD7705的最新转换结果。
这里要注意:
当对AD7705进行写操作时,AD7705期望MSB(最高有效位)在前,但微控制器(如8051系列)首先输出LSB(最低有效位),因此必须对数据进行倒序。
不过同时还要注意:
数据寄存器虽然是一个16位寄存器,但他由2个8位存贮单元组成,因此必须分成2个8位分别进行倒序。
进行读操作时同样如此。
2.3汇编语言简介
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。
高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。
在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。
现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。
汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。
(一)优点与缺点
汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:
(1)能够直接访问与硬件相关的存储器或I/O端口;
(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;
(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;
(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;
(5)能够最大限度地发挥硬件的功能。
同时我们还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:
(1)编写的代码非常难懂,不好维护;
(2)很容易产生bug,难于调试;
(3)只能针对特定的体系结构和处理器进行优化;
(4)开发效率很低,时间长且单调。
(二)汇编语言的特点:
(1)面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
(2)保持了机器语言的优点,具有直接和简捷的特点。
(3)可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
(4)目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
(5)经常与高级语言配合使用,应用十分广泛。
对于不同型号的计算机,有着不同的结构的汇编语言
汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。
汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。
使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。
汇编语言中由于使用了助记符号,用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的"汇编程序"的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。
用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。
目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。
但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
2.4UPS(Uninterruptiblepowersystem)电源
我们都有这样的经验:
有的时候,正在写一篇文章,或者编写一个程序的时候,或者在用画笔画一幅图画的时候,突然屏幕黑了——断电了。
唉,里面的东西都不见了,白干了半天。
连存盘的机会都没有。
要是搞科研的科学家也遇到这种情况,损失就更大了。
能不能想个办法,使电脑继续工作,或者在市电停止的时候,机器能在短时间内保持一段时间的电,使用人们有机会把已经干完的工作存盘,以便下一次再接着工作呢?
办法一,较为困难,要买一台发电机,这对于一般用户来说,基本上是做不到的。
第二种情况,则较为容易一些,那就是买一台UPS电源。
UPS是一种含有储能装置,以逆变器为主要组成部分的恒压、恒频的不间断电源。
当市电正常时,UPS将市电稳压或稳压、稳频后供负载使用,同时向机内电池充电;当市电中断时(异常时),UPS立即在4-10毫秒内或“零”中断时间内将蓄电池的电源通过逆变转换的方式向负载继续供应电力,使负载维持正常的工作,以便保存资料并保护负载的软硬件不受损坏。
从原理上来说,UPS是一种集数字和模拟电路,自动控制逆变器与免维护贮能装置于一体的电力电子设备;
从功能上来说,UPS可以在市电出现异常时,有效地净化市电;还可以在市电突然中断时持续一定时间给电脑等设备供电,使你能有充裕的时间应付。
从用途上来说,随着信息化社会的来临,UPS广泛地应用于从信息采集、传送、处理、储存到应用的各个环节,其重要性是随着信息应用重要性的日益提高而增加的。
2.5GPRS(GeneralPacketRadioService)通用分组无线服务技术
GPRS是通用分组无线服务技术(GeneralPacketRadioService)的简称,它是GSM移动电话用户可用的一种移动数据业务。
GPRS可说是GSM的延续。
GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。
GPRS的传输速率可提升至56甚至114Kbps。
GP