当前位置:文档之家› 太阳能路灯控制系统的设计本科毕业论文

太阳能路灯控制系统的设计本科毕业论文

目录

1.引言 (1)

2.方案论证及选择 (3)

2.1方案一:采用分立元件设计 (3)

2.2方案二:采用单片机控制实现 (3)

2.3方案选择 (4)

3. 系统硬件的设计 (5)

3.1 单片机最小系统电路设计 (5)

3.2 显示电路设计 (8)

3.3 按键开关电路 (9)

3.4 太阳能板模块 (9)

3.5 蓄电池管理模块 (11)

3.6 路灯控制模块 (12)

3.7 整体电路图 (14)

4.系统软件的设计 (15)

4.1 软件设计思路和实现的功能 (15)

4.2 系统流程图 (15)

4.2.1 ADC0832的子程序 (16)

4.2.2 LCD1602子程序 (17)

4.2.3 按键子程序 (18)

4.3 系统源程序 (18)

5.系统电路的搭建与调试 (19)

5.1 系统软件的仿真 (19)

5.2系统硬件电路搭建 (19)

5.3 系统硬件电路的调试 (20)

5.4 设计中遇到的问题及解决结果 (21)

6.总结与展望 (22)

致谢 (23)

参考文献 (24)

附录A 英文文献原文 (25)

附录B 英文文献译文 (30)

附录C 系统源程序 (35)

附录D 元器件清单 (40)

1.引言

太阳能LED路灯是一种新型的结合太阳能光伏发电技术与LED技术的路灯。系统通过蓄电池将太阳电池板产生的电能储存起来供负载在夜晚照明使用。

自哥本哈根气候峰会召开以来,环保节能的话题已经成为当今世界的热点话题。节能减排已不仅是政府的一个行动目标,而且给企业带来经济上的收入,让人们能得到一个较好的生存环境。当今社会,人类面临着经济和能源可持续发展的重大挑战,其中,能源问题更为突出,不仅表现在常规能源的匮乏,更严重的是化石能源的开发利用更加剧了环境的恶化。主要表现为以下几个方面:

(1)能源的短缺。常规能源的有限性和分布不均匀,造成了世界上大部分国家能源供应不足,不能满足其经济发展的需求。从长远来看,全球已探明石油储量只能用到2020年,天然气也只能延续到2040年左右,即使储量丰富的煤炭资源也只能维持二三百年。因此,人类迟早要面临化石燃料枯竭的危机局面。

(2)环境的污染。燃烧煤、石油等化石燃料,每年有数十万吨硫等有害物质排入天空,使大气环境遭到严重污染,直接影响居民的身体健康和生活质量,甚至在局部地区形成酸雨,严重污染水土资源。

(3))温室效应。化石能源的利用不仅造成环境污染,同时会排放大量的温室气体,产生温室效应,引起全球气候变化。

太阳能作为一种可再生的新型能源,很早就被人们开发和利用了。随着科学和技术的迅速发展,世界能源危机的日益严重,利用常规能源已不能适应世界经济快速增长的需要,开发和利用新能源,尤其是太阳能越来越引起各国政府的重视。同时,以煤、石油等作为燃料油面临严重的环境污染,再者人民生活水平的提高对能源的需求量越来越大,这就迫使政府和社会在大力发展常规能源的同时必须加大对新能源的开发和利用。为贯彻落实科学发展观,把节约资源作为基本国策,发展循环经济,保护生态环境,加快建设资源节约型、环境友好型社会,促进经济与人口、资源、环境相互协调发展的要求。因而,可再生、无污染的太阳能利用在世界各国崛起,世界光伏产业迅猛发展。根据可持续发展战略和环境保护的需求,在可以预计的将来,光伏发电必将部分取代常规能源。由于光伏发电技术的逐渐成熟,成本不断的下降,太阳能的利用无处不在[1]。各种各样的太阳能电子产品发展非常迅速。

太阳能路灯是以太阳光为能源,和传统的路灯相比有以下一些优点:

(1)节能环保:据统计,所有路灯改为太阳能路灯可以节省一个三峡水电站的发电量。不仅如此,太阳能是一种清洁的可再生能源,它不仅节约了电能,而且减少了二氧化碳的排放量。有关数据表明太阳能路灯每年可以减少7740万吨二氧化碳就相当于节省了310亿美元的二氧化碳减量成本。

(2)可靠耐用:太阳能壁灯在恶劣的环境和气候条件下,光伏发电系统很少发生故障;目前绝大多数太阳能电池组件的生产技术都足以保证10年以上性能不下降,太阳能电池组件可以发电25年或更长的时间。

(3)成本低廉:就产品本身价格和首次投入费用而言,太阳能路灯比普通路灯造价要高。若按使用寿命15年把运行费用和路灯维护费用考虑进去的话,太阳能路灯在寿命周期内所

发生的总费用要比普通路灯的总费用要低。且规模越大,普通路灯安装的相关费用越高,如把电力增容费用、架设电力变压器、光源的功率因数补偿耗能、电力电缆、远距离线路功率损耗及路灯开启控制系统和管理人员工资等相关费用考虑进去的话实际费用要远大于预计费用。

(4)安全稳定:运行维护费用低,普通路灯明显高于太阳能壁灯,而且会随着使用时间的增长而越来越高(电费、人工等)。太阳能路灯免维护,绝对安全,不会发生触电事故且可通过改变控制方式来增强其稳定性。

(5)自主供电:离网运行的太阳能路灯具有供电的自主性、灵活性。

除此之外,LED路灯还具有光线质量高,基本上无辐射,可靠耐用,维护费用极为低廉等优势,属于典型的绿色照明光源。由于LED具有发光效率高,发热量低等优势,已经越来越多地应用在照明领域,并呈现出取代传统照明光源的趋势[2]。

近几年,太阳能产业从无到有、从小到大发展起来,国内许多研究单位都对太阳能路灯作了详细的调查和研究。在发展思路的引导下,太阳能产业得到了快速的发展,产品质量也不断提高。太阳能不仅拥有良好的经济前景,且随其产业化的发展,也将提供越来越多的就业机会。因此,太阳能光伏发电市场发展前景十分广阔,已经引起了世界发达国家的高度重视[3]。

2.方案论证及选择

2.1方案一:采用分立元件设计

太阳能路灯智能控制系统主要由电源、蓄电池过充和过放保护电路、红外控制及光控电路以及灯具组成,总体框图如图2.1所示。

图2.1 太阳能路灯控制系统的框图

电源分为电池电源和220V市电经AC-DC转换电路后的稳定电源。AC-DC转换电路主要由变压器及集成稳压管构成。蓄电池过充保护电路是一个简单的由稳压二极管、三极管及电阻构成的电路,而在太阳能板给电池充电时为防止电池对太阳能板反向充电,需在太阳能板和电池之间接一个二极管。蓄电池过放保护电路的主要元件为滞回比较器和继电器。由滞回比较器来判断电池是否达到过放状态,由继电器作为选择开关,来选择用电池供电还是后备电源供电(电池在过充状态时和阴雨天气时)。红外控制和光控电路主要组成部分是红外探头、数字电路及光敏电阻,而红外控制部分可以集成一块芯片,即BISS001芯片。灯具有照明灯具及演示时的指示灯。由于设计的是路灯,照明灯具需要足够的亮度,可以选用LED 指示灯用简单的发光二极管即可。

2.2方案二:采用单片机控制实现

本方案设计中,主要的组成部分就是太阳能电池板、充电管理系统、蓄电池、单片机的控制模块、路灯。整体框图如图2.2。

蓄电池管理模块路灯控制模块

机电压采集

太阳能板模块液晶显示模块

按键模块

图2.2 整体框图

此设计是由单片机作为核心控制器进行控制的,太阳能电池板将吸收到的太阳光能经过

充电管理模块给蓄电池充电,而蓄电池要持续不断给单片机提供电源,让它来检测采集到的太阳能电池板电压值的大小。同时,蓄电池也要给负载供电。

2.3方案选择

方案一的电路模块比较复杂,是利用纯模电电路在来完成的,实现相同的功能模块下,需要更多的电路,故需更多的电路器件,制作成本就相对比较高。另一方面,电路的模块比较多会增加控制电路的误差,使电路最终不能达到预期的理想效果。而且,采用分立元件实现太阳能路灯控制系统的智能化方面比较困难。

方案二采用的是用STC89C52单片机作为核心控制器来控制蓄电池的充放电和路灯的亮灭。主要是通过光线的强弱以检测太阳能电池和蓄电池采集到的电压的大小,从而传输给单片机来控制。在有阳光时,太阳能电池板将太阳能转换为电能并储存在蓄电池中。蓄电池对路灯进行供电,这个过程中,单片机一直在对蓄电池和太阳能电池板的电压进行采样分析,如果太阳能采集到的电压低于一定值时,单片机控制的继电器将会做出相应的动作。在太阳能电池板对蓄电池充电的过程中,也设置了防反充和过充保护。方案二的电路模块比较简单,易于维护和管理,且在蓄电池的充放电过程和路灯的开关过程中实现全程自动化,智能化。

经过综合考虑,此次设计采用方案二。

3. 系统硬件的设计

在本次方案的设计中,电路主要包含了太阳能电池板,蓄电池管理模块,单片机,路灯控制模块,显示模块,按键模块等。此设计是以ATMEL系列STC89S52单片机为控制核心的软硬件结合,对太阳能电池板和蓄电池进行控制。太阳能电池板将采集到的电压传输给单片机进行分析和处理。白天时,太阳能电池板通过充电管理模块给蓄电池充电并监控充电的状态。傍晚时,蓄电池给路灯进行供电,实现照明效果。

3.1 单片机最小系统电路设计

单片机最小系统中中,主要是由单片机、复位电路、时钟电路等组成。

(1) 单片机

AT系列和STC系列单片机的选择:AT89C系列的单片机不能进行在线编程,AT89S系列和STC系列都可以在线编程,而STC也可通过串口在线编程,而AT系列采用并口编程方式,相比之下,STC的编程方式更为简单也较普遍,所以选择STC系列。

本次设计采用的是STC89C52单片机。该单片机是与工业标准MCS-51指令集和输出管脚相兼容的单片机,指令代码完全兼容传统8051单片机,具有速度高,功耗低,抗干扰能力强等优点[4]。

a) 主要特性如下:

兼容MCS-51指令系统

8k可反复擦写(>1000次)Flash ROM

32个双向I/O口

256x8bit的内部RAM

低功耗空闲和掉电模式

软件设置睡眠和唤醒功

3个16位可编程定时/计数器中断

时钟频率0-24MHz

2个外部中断源

6个中断源

2个读写中断口线

3级加密位

2个串行中断

可编程UART串行通道

b) 单片机的引脚说明:

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口除了作为普通I/O口,还有第二功能:

P3.0 RXD(串行输入口)。

P3.1 TXD(串行输出口)。

P3.2 /INT0(外部中断0)。

P3.3 /INT1(外部中断1)。

P3.4 T0(T0定时器的外部计数输入)。

P3.5 T1(T1定时器的外部计数输入)。

P3.6 /WR(外部数据存储器的写选通)。

P3.7 /RD(外部数据存储器的读选通)。

P3口同时为闪烁编程和编程校验接收一些控制信号。

I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、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:片内振荡器反相放大器的输出端。

在单片机外围电路中需要一个复位电路和一个时钟电路。

(2)复位电路:系统上电时为单片机提供复位信号,直到系统电源稳定后,系统再撤消复位信号。为保险起见,电源稳定后还要经过一定时间的延时才撤销复位信号,以防止电源开关或电源插头分-合过程中引起的抖动而影响复位[5]。当系统处于正常工作状态时,且振荡器稳定后,如果RST 引脚有一个高电平并维持2个机器周期(24个振荡周期),则CPU 就可响应并且将系统复位。复位分为手动复位和上电复位。

手动按钮复位需要人为在复位输入端RST 上加入高电平。一般采用的办法是在RST 端和正电源Vcc 之间接一个按钮。当人为按下按钮时,则Vcc 的+5V 电平就会直接加到RST 端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

上电复位电路只要在RST 复位输入引脚上接一电容至Vcc 端,下接一个电阻到地即可。对于CMOS 型单片机,由于在RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1pF 。在上电复位的电路中,当Vcc 掉电时,必然会使RST 端电压迅速下降到0V 以下[6]。但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l ”态。如果系统在上电时得不到有效的复位,则程序计数器PC 将得不到一个合适的初值,因此,CPU 可能会从一个未被定义的位置开始执行程序。

(3)时钟电路:单片机引脚18和引脚19外接电容及晶振, STC89C52单片机的工作频率在2~33MHz 范围之内,单片机工作频率取决于晶振XT 的频率,通常选用11.0592MHz 晶振[7]。两个小电容通常取值3pF ,以保证振荡器电路的稳定性及快速性。

此设计中P0口做为输出口用来驱动LCD 显示,而P0口内部又没有上拉电阻,所以加上10K 上拉电阻。图3.1为最小系统电路图。

XTAL1

XTAL2

RST

PSEN ALE EA

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD

1918

9

29

3031

12345678

3938373635343332222324252627282111121314151617

10R1010K

RS

C710uF

C1

22pF

C222pF

12MHz X1

10K*8

STC89C52

图3.1 单片机最小系统图

3.2 显示电路设计

系统设计中采用的是LCD1602液晶屏显示。LCD1602使用非常普遍,在生活中很多地方都能见到LCD1602液晶显示屏,例如计算器,遥控器,家用电器等,它主要用来显示数字,字母,专用字符和图形,具有显示质量高、功耗低、体积小等优点[8]。此外,LCD1602采用数字式接口,与单片机连线简单,故采用LCD1602来显示。如图3.2所示为液晶显示器的管脚图。

LCD1602液晶显示

12345678910111213141516

图3.2 LCD1602管脚图

引脚说明如表3.1。

表3.1 LCD1602引脚图

编号符号引脚说明编号符号引脚说明

1 VCC 电源地9 D

2 Data 1/0

2 VDD 电源正极10 D

3 Data 1/0

3 VL 液晶显示偏压信号11 D

4 Data 1/0

4 RS 数据/命令选择端(H/L)12 D

5 Data 1/0

5 R/W 读/写选择端(H/L) 13 D

6 Data 1/0

6 E 使能信号14 D

7 Data 1/0

7 D0 Data 1/0 15 BLA 背光源正极

8 D1 Data 1/0 16 BLK 背光源负极

液晶显示器LCD1602与单片机STC89C52的接口由一组8位数据传输线和3根控制线完成。LCD1602的RS、RW、E分别由单片机的P1.2、P1.1、P1.0来控制,数据输入口DB0~DB7由P0.0~P0.7传输数据,因为是接在P0口,所以要接上拉电阻。LCD1602与单片机的接口电路如图3.3所示。

D7D6D5D4D3D2D1D0

E RW RS

VEE VDD VSS

LCD1602

1k*8

10k

P2.0

P2.1

P2.2

P0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

图3.3 LCD1602与单片机的接口电路

3.3 按键开关电路

本次设计的按键有三个分别是KSET,K1,K2,分别与P3.1、P3.5、P3.7相接,KSET 为设置键,K1、K2分别为加和减,用来设置预设电压的切换值。

P3.1

P3.5

P3.7

KSET

K1

K2

图3.4 按键开关电路

3.4 太阳能板模块

太阳能电池板模块主要包含了太阳能电池板、A/D 转换电路。 (1)太阳能电池板

太阳能电池板是太阳能路灯中的核心部分,也是太阳能路灯中价值最高的部分。其作用是将太阳的辐射能转换为电能,或送至蓄电池中存储起来。在众多太阳能电池中比较普遍而且较实用的有单晶硅太阳能电池、多晶硅太阳能电池及非晶硅太阳能电池三种[9]。

单晶硅太阳能电池性能参数比较稳定,适合在阴雨天比较多、阳光相对不是很充足的南 方地区使用;

多晶硅太阳能电池生产工艺相对简单,价格比单晶硅低,适合在太阳光充足、日照好的东西部地区使用;

非晶硅太阳能电池对太阳光照条件要求比较低,适合在室外阳光不足的地区使用。 根据设计要求,本设计采用的是输出电压为5V ,输出电流为1200mA 的单晶太阳能电

池板,尺寸为35mm×35mm。在光强较弱情况下短路电流也能达到140mA,满足设计的要求,同时在光照充足情况下也可以直接输出稳定的5V 。太阳能电池板通过充电管理模块直接给蓄电池充电,同时给单片机提供实时电压值。

(2)A/D 转换电路

A/D 转换器即模数转换器,或简称ADC 。通常是指一个将模拟信号转变为数字信号的电子元件[10]。通常的模数转换器是将一个输入电压信号转换为一个输出的数字信号。

本设计采用ADC0832模/数转换芯片,采用串行方式,对检测电压的缓慢变化比较有利,外围电路简单,价格便宜。将太阳能电池采集到的电压转换成数字的形式传输给单片机。下面进行转换器的接口说明。

CS_ 片选使能,低电平芯片使能。 模拟输入通道0,或作为IN+/-使用。 模拟输入通道1,或作为IN+/-使用。 芯片参考0电位(地)。

DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。

Vcc/REF 电源输入及参考电压输入(复用)

[11]

ADC0832与单片机管脚的接口电路如图3.5所示。

1

23

4

8765

CS CH0

CH1 GND VCC CLK

DI

DO

P1.7

P1.1P1.2

P1.2

图3.5 ADC0832与单片机管脚的接口电路图

ADC0832的控制原理:ADC0832为8位分辨率A/D 转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V 之间。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。芯片转换时间仅为32μS ,为了减少数据误差,用双数据输出可作为数据校验,稳定性能强、转换速度快。通过DI 数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS 、CLK 、DO 、DI 。在电路设计时应将DO 和DI 并联在一根数据线上使用。

当ADC0832未工作时其CS 端应为高电平,芯片禁用。当要进行A/D 转换时,将CS 使能端置于低电平直到转换完全结束。此时芯片开始转换工作,同时由CPU 向芯片时钟输入端CLK 输入时钟脉冲, DI 端输入通道功能选择的数据信号。在第1个时钟脉冲的下降沿之前DI 端一定要置为高电平,表示启始信号。其功能如表3.2所示。

表3.2 ADC0832功能表

数据地址通道

SGL/DIF ODD/SIGN CHO CH1

0 0 + -

0 1 - +

1 0 +

1 1 +

由上表可知:当数据为“0”、“0”时,CH0作为正输入端IN+,CH1作为负输入端IN-。当数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+。将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当数据为“1”、“0”时,只对CH0进行单通道转换。当数据为“1”、“1”时,只对CH1进行单通道转换。

3.5 蓄电池管理模块

蓄电池管理模块中主要是蓄电池和充电管理系统两部分。蓄电池主要是通过吸收太阳能电池板的光能转换成的电能,从而通过充电管理系统来给自身充电,同时也给单片机持续供电,在傍晚的时候也同样给路灯放电。

(1)蓄电池

由于太阳能光伏发电系统的输入能量极不稳定,所以一般需要配置蓄电池系统才能

工作。一般有铅酸蓄电池、Ni-Cd蓄电池、Ni-H蓄电池。

铅酸蓄电池有多种充电形式,主要可分为:恒流充电、恒压充电、3阶段最优形式充电。一般来讲,这种蓄电池充电时,应外接直流电源(充电极或整流器),使正、负极板在放电后生成的物质恢复成原来的活性物质,并把外界的电能转变为化学能储存起来[12]。其过充电时间与充电速率有关,实际工作中可以根据电解液比重的变化来判断铅酸蓄电池的充电程度。

镍镉(Ni-Cd)蓄电池的正极为氧化镍,其负极为海绵状金属镉,电解液多为氢氧化钾,氢氧化钠碱性水溶液。小型密封镍镉电池的结构紧凑,坚固,耐冲击,震动,成品电池自放电小,在使用上适合大电流放电,使用温度范围广,零下40度到零上60度。

镍氢(Ni-H)蓄电池镍氢电池的设计源于镍镉电池,但在改善镍镉电池的记忆效应上,有极大的发展。其主要的改变,在于以储氢合金取代负极原来使用的镉[13]。因此镍氢电池可以说是材料革新的典型代表。镍氢电池所造成的污染,会比含有镉的镍镉电池小很多。

蓄电池是太阳能灯具的核心部件。它储存并释放电能。蓄电池容量的选择一般满足以下原则:首先在能满足夜晚照明的前提下,把白天太阳能电池组件吸收的能量尽量存储下来,同时还要能够存储满足连续阴雨天夜晚照明需要的电能。蓄电池容量过小不能够满足夜晚照明的需要,容量过大蓄电池始终处在亏电状态,影响寿命,造成浪费。

胶体蓄电池的特点:

深度放电后回充电性能强,甚至在放电后未及时补充电的情况下容量也能100%得到回充;

循环使用寿命长达8~10年,适合每天使用;

适合用于较长时间的放电使用;

工作环境温度更高;

优越的耐低温性能;

适合在电力干线不稳定的环境下使用;

无流动的胶体电解液使电解液在电池内部不产生分层现象;

自放电小,很小均衡充电;

内阻低,充电接受能力强。

所以综合考虑,我会选择胶体蓄电池。

(2)充电管理系统

根据设计要求,直接选取通过太阳能板给蓄电池充电的专用充电管理模块TP4056,它不仅能自动检测蓄电池的电压值,而且能够判断蓄电池的饱和程度,充满电时会自动断开,从而很好的防止了蓄电池的过充现象。该充电管理模块的价格便宜,并设有两个LED指示灯,开始工作的时候,当蓄电池开始充电时,红色指示灯亮;当蓄电池停止充电时,蓝色指示灯亮。

图3.6 充电管理系统实物图

3.6 路灯控制模块

本次设计的路灯控制模块中,主要包含了路灯和继电器。

(1)路灯

太阳能路灯采用何种光源,是判断太阳能灯具能否正常使用的重要指标,一般太阳能灯具采用低压节能灯、低压钠灯、无极灯、LED光源。

低压节能灯:功率小,光效较高,但使用寿命在2000小时左右,电压低,灯管发黑,一般适合太阳能草坪灯、庭院灯。

低压钠灯:低压钠灯光效高(可达200Lm/w),但需逆变器,低压钠灯价格贵,整个系统造价高,采用较少[14]。

无极灯:功率小,光效较高。该灯在220V(纯正弦波,频率50赫兹)普通市电条件下使用,寿命可以达到5万小时,但在太阳能灯具上使用寿命大大减少,与普通节能灯差不多(因为太阳能灯具都是方波逆变器,太阳能电源220V输出频率、相位、电压都是不能和普通市电相比的)。

LED:LED灯光源寿命长,可达100000小时,工作电压低,不需要逆变器,光效较高,国产50Lm/w,进口80Lm/w。随着科技进步,LED的性能将进一步提高。

所以,为了满足本次设计达到最佳性能要求,选择LED作为路灯的光源。

(2)继电器

继电器是一种靠电磁感应工作的自动化电器开关。其中包括:一,电流继电器。二,电压继电器。三,热继电器。四,时间继电器。五,速度继电器[15]。继电器的种类较多,其工作原理和结构也各不相同。在此设计中,我们选择的是电压继电器。通过电压输入信号的变化,而接通或断开控制电路,实现系统的自动控制。

本设计方案中主要是用单片机来实现对开关的控制,触发电平必须是5V ,是为了进行智能切换,所以选用直流继电器,JRC-21F 一款触点切换能力,体积小,性能优良,价格便宜的低电平触发的5V 继电器,可控制直流5V/2A ,完全可以满足此次设计任务的要求,JRC-21F 故选择继电器对智能开关进行控制。继电器在控制系统中的作用有两点: 传递信号。它用触电的转换接通或断开电路以传递控制信号;

功率放大。使继电器动作的功率通常是非常小的,而被其触点所控制电路的功率要大得多,因此继电器电路必须有放大功率的作用,从而可以实现对电路的控制[16]。图3.7为继电器实物图。

图3.7 继电器实物图

图3.8为继电器接口电路图。 XTAL1

XTAL2

RST PSEN

ALE EA

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD

1918

9

29

3031

12345678

3938373635343332222324252627282111121314151617

101K R2

STC89C52

220V

图3.8 继电器接口电路

单片机P1.7口与继电器电路相连,继电器电路由1K 电阻,PNP 型三极管,二极管和继电器组成,三极管在电路中的作用是放大,而放大的极限就是开关,而此处就用到了三极管的开关作用,通过放大单片机P1.7端口的信号,来控制继电器吸合或张开。

3.7 整体电路图

XTAL1

XTAL2

RST

PSEN ALE

EA

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXD P3.1/TXD P3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WR P3.7/RD

19

18

9

29

3031123456783938373635343332222324252627282111121314151617

10R1010K

RS

C7

10uF

ADC0832

C122pF

C222pF 12MHz X1

5STC89C52

123487

6

5CS

CH0CH1GND VCC

CLK

DI DO

D7D6D5D4D3D2D1D0

E RW RS

VEE VDD VSS

LCD1602

1k*8

10k

1K R2

220V

图3.9 整体设计电路图

4.系统软件的设计

4.1 软件设计思路和实现的功能

此次软件设计主要是先对LCD1602、ADC0832、按键电路进行初始化。然后通过将太阳能电池板采集到的电压值与我们所设定的预值相比较,从而来判断此时的环境是在白天还是晚上,进一步通过对继电器的动作来实现路灯的亮灭,达到照明功能。

在此次系统软件的设计主要分为两个模块:A/D 转换模块和继电器控制模块。 A/D 转换模块主要是将采集回来的模电电压样本转化为数字信号,编程中A/D 转换循环多次,然后去平均值以减小误差。

继电器控制模块主要是根据采集回来的电压信号通过单片机来判断蓄电池是否需要充放电,然后给继电器以控制信号。最后再根据继电器的工作状态判断此时LED 路灯是否需要照明。

软件的设计中,要实现的功能还是通过光照强度的强弱来进行电压的采集,然后与预设电压值相比,从而来控制路灯的亮灭。 4.2 系统流程图

图4.1为系统软件的大体流程图。

开始

初始化程序

电压采集

蓄电池充电

是否超过预设值?

结束

N

N

Y

路灯亮

继电器吸合

图4.1 程序流程图

该软件程序的设计首先是在整个系统正常工作的情况下,对太阳能电池板进行电压的采集和分析,根据给出的电压临界值4V 与其相比较来判断此时的环境是在白天还是夜晚,从而给出相应的动作命令来确定蓄电池此时是要充电还是给LED 路灯供电。

ADC0832子程序又包括初始化,写ST位,写SGL位,写通道号位等内容。程序如下:uchar RdAdc0832(bit Hx)

{

uchar value0,value1,i;

CS=1;CLK=0;DIO=1;

CS=0;

DIO=1;_nop_();_nop_();_nop_();_nop_(); //写ST位

CLK=1;_nop_();_nop_();_nop_();_nop_();

CLK=0;_nop_();_nop_();_nop_();_nop_();

DIO=1;_nop_();_nop_();_nop_();_nop_();//写SGL位

CLK=1;_nop_();_nop_();_nop_();_nop_();

CLK=0;_nop_();_nop_();_nop_();_nop_();

DIO=Hx;_nop_();_nop_();_nop_();_nop_();//写通道号位

CLK=1;_nop_();_nop_();_nop_();_nop_();

CLK=0;_nop_();_nop_();_nop_();_nop_();

DIO=1;

for(i=0;i<8;i++)

{

CLK=1;_nop_();_nop_();_nop_();_nop_();

CLK=0;_nop_();_nop_();_nop_();_nop_();

value0<<=1;

if(DIO==1) value0|=0x01;

else value0&=0xfe;

}

for(i=0;i<8;i++)

{

value1>>=1;

if(DIO==1) value1|=0x80;

else value1&=0x7f;

CLK=1;_nop_();_nop_();_nop_();_nop_();

CLK=0;_nop_();_nop_();_nop_();_nop_();

}

CS=1;

if(value0!=value1) P1&=0X7F;

else P1|=0X80;

return value0;

}

LCD1602显示器的子程序主要实现的是对信息的显示,包括太阳能板的电压值和设定电压值等信息,具体流程如图4.2所示。

开始

初始化

读写指令

读写数据

返回

图4.2 LCD1602流程图

写指令子函数:

void write_com(uchar com)

{

lcdwr=0; //lcdwr为读写控制端,lcdwr=0,这里可不写

lcdrs=0; //液晶rs接口为0时,写指令,rs为1时写数据

P0=com; //将要写的指令赋给P0口,

delay(5); //由1602读写操作时序图,先将指令赋给P0口,延时后将使能

lcden=1; // 端lcden置高,再延时一段时间,然后将lcden置低,这样指令

delay(5); // 就写入到LCD了

lcden=0;

}

写数据子函数:

void write_data(uchar date)//与写指令类似,这里lcdrs设为1

{

lcdrs=1;

P0=date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

4.2.3 按键子程序

此次设计共有3个按键,通过扫描各个按键是否执行相应动作,来判断设置是否完成。KSET=0时,进入到设置模式,光标在秒数字底下闪烁,此时判断K1是否按下,若K1按下,数字加,若K2按下,数字减。如果再次按下KSET,则设置完毕。具体按键流程图如图4.3所示。

开始

KSET=0

光标到秒处

K1=0

Y

数字加

K2=0

数字减

KSET=0

Y

返回

图4.3 按键流程图

4.3 系统源程序

系统软件程序采用C语言编程,程序源代码见附录C。

相关主题
文本预览
相关文档 最新文档