基于单片机的太阳能路灯控制器设计_毕业设计(论文) 联系客服

发布时间 : 星期五 文章基于单片机的太阳能路灯控制器设计_毕业设计(论文)更新完毕开始阅读e13893899fc3d5bbfd0a79563c1ec5da50e2d6dd

安徽工程大学机电学院毕业设计(论文)

是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。

·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。 ·XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 ·XTAL2:振荡器反相放大器的输出端。 ·特殊功能寄存器:

在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE),SFR 的地址空间映象。并非所有的地址都被定义,从80H—FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON(参见表3)T2MOD(参见表4),寄存器对(RCAO2H、RCAP2L)是定时器2 在16 位捕获方式或16 位自动重装载方式下的捕获/自动重装载寄存器。

·数据存储器:

AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器[19]。 2.2路灯系统简介

- 7 -

汪婷婷:基于单片机的太阳能路灯控制器设计

太阳能LED路灯系统总框图如图2-1:

主要由太阳能电池,充电POWER MOSFET控制管,放电POWER MOSFET扼流管LED发光板,POWE MOSFET控制管等组成。

太阳能电池传感器充电控制PWM信号发生器放电控制开关信号发生器LED发光驱动控制PMW信号发生器控制逻辑(硬件/固件程序组合)图2-1太阳能LED路灯系统总框图

太阳能LED路灯系统主要包括三大部分:

1、充电电路,其控制方式为脉宽调制信号(PWM)调制恒流电流进行斩波输出向蓄电池充电,根据蓄电池剩余荷电容量(SOC)来确定充电方式。当蓄电池剩余荷电容量在10%(本文在SOC达到40%以下时候,为了避免过放和系统停止,而采用特殊的放电/驱动方式来驱动LED路灯)以下时就可被确定为蓄电池深度放电,此时POWERMOSFET管被给定的脉宽信号(PWM)为全开,此刻相当于恒流充电,这被称为快充阶段。当门限电压超过阈值(SOC>40%)后,就转换为过充阶段,充电电压略高于蓄电池电压,电流大小由脉宽信号(PWM)占空比决定,脉宽信号的大小要随着电池电压的升高而逐渐变窄。当剩余荷电容量(SOC)超过95%以后(根据不同种类的电池具体数值不相同)就可进入浮充阶段,此时PWM信号宽度固定在一个很小的范围。

2、放电控制电路,这部分主要由一个POWER MOSFET管来控制蓄电池是否放电,当蓄电池10%

3、LED路灯驱动与亮度调节电路,这部分的主要控制思路是,在多点驱动过程中,在到达电池过放点之前,将蓄电池的容量分成几个阶段,根据蓄电池每个阶段的SOC大小来决定PWM输出信号的脉宽,尽量保持比较长的路灯点亮的时间,而又有效的避免了过放。但是由于LED器件过热后会发生发光衰减,

- 8 -

安徽工程大学机电学院毕业设计(论文)

所以在输出PWM控制信号时候要把温度补偿加进来。热度超过阈值(LED节温度接近90℃~120℃)则适当减低一点亮度。

时钟芯片时钟芯片DS1307 太阳能电池

蓄电池电压检测分压电阻网络

电源管理 测量元件:LM331模块 电压检测芯片温度测量电路微 控 晶振制驱动部分传感部分电路器

复位电路充电PWM信号发生器 放电PWM开关信号发生器 LED路灯驱动与亮度调节PWM信号 发生器

CPU、电源、晶振、I/O接口部分(传感器采

复位电路部分样与驱动部分)图2-2路灯控制器的结构框图

2.3太阳能LED路灯控制器功能模块概述

太阳能LED路灯控制器主要分成两大部分:

1.CPU、电源、复位电路。其中电源、晶振和复位电路是必备,一般都是标准配置,但有时候根据不同的复位方式(外触发复位、上电复位)的不同,电路的设计上有所不同。单片机不仅仅是这一部分的主要部件,也是整个系统的核心部件。

2.I/O接口部分(传感器采样与驱动部分)主要是完成相关传感器的采样,为控制逻辑提供控制参数和依据,另外的一部分就是驱动部分,分为上述的充/放电控制以及LED路灯的驱动与亮度调节。以上硬件和相关的固件程序的实现在以下部分进行详细的讨论和设计实现[19]。 2.4 电源、晶振、复位硬件电路 2.4.1电源模块设计

根据控制器的功能要求,本系统需要把12V蓄电池的电压转换成系统所需的电压信号。系统需两种电压类型10V,5V,我们可采用以下方案来实现。

- 9 -

汪婷婷:基于单片机的太阳能路灯控制器设计

LM317电源芯片输出能提供1.5A的电流,输出电压可调,范围1.2~37V,内部具有过载和短路保护。C5选择50V/47μF的电解电容,C2选择25V/47μF的电解电容。D2二极管的作用当输入端短路C2电容上的电荷可以通过D2管放出,这样如果输入端短路,短路电流不会经过LM317,导致芯片的损坏,因此D2管是一个保护二极管。D1管的作用和D2管的作用一样起保护芯片的作用,到输出端短路,C3上的积累电荷可通过D1管放掉。其中V=(1+R2/R1)×1.25out(V),可选R14=240Ω,R15=1.68KΩ,则输出为10V。调整电阻R14、R5的相对大小,即可确定输出电压的大小,在一定的输入范围之内,输出电压与输入电压无关,但是输入输出电压的差值要超过1.8V。LM7805把+10V的输入电压,输出稳定在+5V。

图2-3 电源模块总电路

如图2-3所示,蓄电池通过LM317和LM7805,能为系统提供两种电压+10V和+5V,+10V的电压主要用来驱动功率MOSFET管,而+5V的电压供系统中的控制器(AT89C52、MAX810、DS1307、DS18B20等)。 2.4.2 晶振电路

单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。时钟电路如图2-4所示。电路中,电容器C1和C2对振荡频率有微调作用,通常取(30±10)pF,本设计选用22pF。电路中的晶振采用石英晶体震荡器,晶振频率选择12MHz。石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力。通过基准频率来控制电路中的频率的准确性。

图2-4 时钟电路

- 10 -