智能路灯控制系统.docx
《智能路灯控制系统.docx》由会员分享,可在线阅读,更多相关《智能路灯控制系统.docx(13页珍藏版)》请在冰豆网上搜索。
智能路灯控制系统
智
能
路
灯
控
制
系
统
设
计
论
文
漯河职业技术学院
王南南
2011-6-19
智能路灯控制系统
漯河职业技术学院尚朋涛董晓广王南南
摘要
随着科学技术的高速发展,自动化、智能化已经深入人们的工作、学习以及生活。
给人们带来了很多方便,使人们可以不花费体力去做一些必要的事情。
但是在追求方便、自动化、智能化的同时,还应考虑节能问题。
本设计本着着简单、通用、智能、节能的原则,采用功能模块匹配互连的思想。
系统自动测光,通过STC90C516单片机分析控制,自动调节路灯的亮度。
在测量范围内,任何时间光线强度的变换,路灯亮度都会做相应的调整,即亮度无档位调整。
光线强度与路灯的亮度成正弦函数关系。
这是本设计的特色。
根据设计功能的需要,系统主分为4大模块:
电源模块、测光模块、控制模块、执行模块。
期中,测量模块主要采用光敏电阻测光,控制模块采用单片机软件程序设计,执行模块采用发光电阻。
4个模块匹配互连实现智能控制路灯亮度的功能。
1.方案设计与论证
1.1方案设计:
按设计要求,系统需要根据光线的改变来改变路灯的亮度。
通过对题目要求的理解,本队讨论出以下三种可实施性方案:
1.1.1方案一:
测光模块采用以光敏电阻为主要元器件的光敏模块,控制模块采用FPGA芯片烧入软件程序来实现,执行模块采用发光电阻模块。
该方案控制模块的设计比较灵活,可以用程序输入和原理图输入两种方法,但是FPGA芯片内部不含振荡电路,需要设计外部振荡电路,而且FPGA单片价格比较昂贵,设计简单系统较浪费。
1.1.2方案二:
测光模块采用以光敏电阻为主要元器件的光敏模块,控制模块采用STC90C516单片机芯片烧入软件程序来实现,执行模块采用发光电阻模块。
该方案控制模块采用STC90C516单片机来控制。
STC90C516单片机芯片内部含有振荡电路,不需要设计外部振荡电路。
而且STC90C516价格相对比较便宜,易于购买,适合设计简单的小型电路。
但是STC90C516功能单一,另外51单片机需要仿真器来实现软硬件调试,较为烦琐。
1.1.3方案三:
测光模块采用以光敏电阻为主要元器件的光敏模块,控制模块不采用芯片,用驱动放大电路直接放大测光模块的电信号,将放大后的电信号送入LED模块改变路灯的亮度。
该方案设计比较简单,三个模拟电路模块匹配互连,不使用任何数字芯片,设计成本较低。
但是该方案不能是使路灯完全熄灭和达到最高亮度,即全灭和全亮,而且该该方案系统抗干扰能力较弱,路灯亮度不稳定。
1.2方案论证:
方案一中由于FPGA芯片不含内部振荡电路,所以在设计硬件电路的时候要设计外围振荡电路,较方案二、三复杂一点,而且FPGA芯片比较昂贵。
但是在设计控制电路的时候比较灵活。
方案二采用含内部振荡电路的STC90C516单片机做控制模块的主要芯片,硬件电路设计简单,而且STC90C516单片机价格较便宜,易于购买。
方案三没有专门的控制模块,电路设计比较简单,但是它不能使路灯全灭和全亮,即不能够发挥路灯的最大性能,还会减短路灯的使用寿命,而且抗干扰能力较弱,路灯亮度不稳定。
1.3方案选定:
智能化产品必须要求抗干扰能力强、稳定性好,而且本着简单、通用、智能、节能的原则,我们采用方案二进行设计。
2.硬件电路设计
2.1测光模块电路设计:
测光模块主要采用NE555时基电路芯片,电位器(光敏电阻仿真替代元件)。
系统运行,控制模块周期性的访问测光模块,向测光模块发送低电平,低电平通过R4进入Q3,是Q3导通,NE555的GND端变为低电平,NE555开始工作。
理想状态下,自然光线保持不变,即光敏电阻RV1阻值不变,C2的冲放电速度不变。
C2冲放电一次为一个频率,C2充放电速度不变,从而NE555通过3脚向控制模块发送频率固定不变的矩形波。
如果自然光线改变,即光敏电阻RV1的阻值改变,C2的充放电速度改变,NE555通过3脚向控制模块发送频率相应改变过的矩形波。
2.2控制模块电路设计:
STC90C516单片机最小系统。
12MHz晶振与C3、C4协同单片机内部振荡电路共同为单片机提供12MHz的时钟振荡频率。
STC90C51单片机9脚通过R3接地,使控STC90C51单片机开机自动复位。
2.3执行模块电路设计:
执行模块采用LED发光二极管,LED发光二极管的阳极共同接高电平。
控制模块向Q1基极发送高低电平,Q1端高低电平转换的频率越高,Q1导通的频率就越高,LED发光二极管就越亮,频率越低,Q1导通的频率就越低,LED发光二极管就越暗。
当频率高到一定程度时,LED发光二极管全亮,当频率低到一定程度时,LED发光二极管全灭,这个频率由控制模块软件程序决定。
2.4整机电路设计:
系统运行,控制模块通过STC90C516的p3.2脚向测光模块发送低电平访问测光模块,低电平经过R4偏置使Q3导通,NE555开始工作。
NE555通过3脚发送矩形波给控制模块,矩形波通过控制模块STC90C516的P1.0脚进入STC90C516。
STC90C516根据软件程序分析矩形波频率,再将相应的矩形波通过P0.0传送给执行模块中Q1的基极,使Q1按相应的频率导通、截止。
2.5软件程序设计:
本程序主要完成以下几项功能:
①读是否有光线信号②计算脉冲个数③分析脉冲个数④执行相应输出。
2.6软件程序设计流程图:
3.测试方法与测试结果
3.1测试仪器:
数字存储示波器(UT2062CE)数字万用表
3.2测试方法:
①系统运行,让LED灯达到全灭状态,用万用表测量光敏电阻的阻值,通告观察示波器的波形,计算NE555输出的矩形波频率;
②系统运行,让LED灯达到全亮状态,用万用表测量光敏电阻的阻值;通告观察示波器的波形,计算NE555输出的矩形波频率;
③将测光模块置于三种不同强度但稳定的光线环境中,分别用万用表测量光敏电阻的阻值,通过观察示波器的波形,计算NE555输出的矩形波频率;
3.3测试结果:
表1LED固定灯状态下阻值与频率确定
LED状态
阻值(Ω)
频率(Hz)
全灭
200
30M
全亮
150K
7K
表2不同光线下阻值与频率测试
光线强度
阻值(Ω)
频率(MHz)
弱
130K
6K
正常
9K
750K
强
150
33M
4.讨论
进过对测试数据分析,以及对实物演示的观察,设计完成的实物完全符合设计题目的要求,能够自动测光,自动无档位调节LED等的亮度。
本设计在硬件电路设计比较为简单,由于此设计未使用专门的A\D转换芯片,所以通过软件编程实现PWM信号输出。
渐变效果明显,可以达到与A\D转换输出相同的效果。
在测试阶段,由于系统运行中无法直接测量光敏电阻的阻值,所以需要在系统运行中先从示波器获得频率,然后终止系统,在与获得频率相同的状态下测量光敏电阻的阻值。
这样一来,测量数据会有一定的误差,根据系统的特色分析,由于系统是无档位调节,所以测量数据的误差不影响系统的使用。
【附录】
5.1LED全亮状态下NE555输出波形
5.2LED全灭状态下NE555输出波形
5.3测光模块实物图片
5.4源程序代码
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharnum,flag,flag1;
uintcount;
sbitled=P0^0;
sbitled1=P1^0;
voidled0(ucharnum,uintcount)
{
led=0;
while(num--);
led=1;
while(count--);
}
voidint0()
{
IT0=1;
EX0=1;
EA=1;
}
voidtime()
{
TMOD=0X02;
TH0=0;
TL0=0;
ET0=1;
}
main()
{
time();
int0();
PT0=1;
PX0=0;
led1=0;
while
(1)
{
if(flag)
{
flag=0;
if(count<3)
{
count=0;
led=0;
}
elseif((count>3)&&(count<10))
{
led0(count/1,count-count/1);
count=0;
}
}
if(flag1)
{
flag1=0;
led=1;
while(count--);
count=0;
}
}
}
voidinit()interrupt0
{
TR0=1;
count++;
if(count>1100)
{
flag=0;
flag1=1;
}
}
voidtime0()interrupt1
{
num++;
if(num==4)
{num=0;
flag=1;//1ms标志位
}
}
【参考文献】
1.张伟林王翠兰《数字电子技术》人民邮电出版社,2009
2.戴仙金《51单片机及C语言程序开发实例》清华大学出版社2007
3.张志良《单片机原理与控制技术》第二版机械工业出版社2005