基于STM32 MCU的太阳能--LED街灯解决方案

发布者:PeacefulOasis最新更新时间:2012-07-27 来源: 21ic 关键字:STM32  MCU  太阳能  LED街灯 手机看文章 扫描二维码
随时随地手机看文章

随着化石类能源的日益减少,以及温室气体的过度排放导致全球变暖问题越来越受到重视,人们一方面在积极开发各类可再生新能源,另一方面也在倡导节能减排的绿色环保技术。太阳能作为取之不尽、用之不竭的清洁能源,成为众多可再生能源的重要代表;而在照明领域,寿命长、节能、安全、绿色环保、色彩丰富、微型化的LED固态照明也已被公认为世界一种节能环保的重要途径。太阳能-LED街灯同时整合了这两者的优势,利用清洁能源以及高效率的LED实现绿色照明。

本文介绍的太阳能-LED街灯方案,能自动检测环境光以控制路灯的工作状态,最大功率点追踪(MPPT)保证最大太阳能电池板效率,恒电流控制LED,并带有蓄电池状态输出以及用户可设定LED工作时间等功能。

系统结构与实现原理

目前街灯普遍使用的是市电供电的高压钠灯结构,其中高压钠灯的电子驱动部分需要把市电从交流转化为直流,再逆变到交流来驱动,导致系统效率较低;而且由于使用的是市电,需要铺设复杂、昂贵的管线。太阳能-LED街灯则不具备以上的问题,由于太阳能电池板输出的是直流电能,而LED也是直流驱动光源,两者的结合更能提高整个系统的效率;太阳能的使用也免去了铺设电缆及其相关工程的费用。

图1是一个太阳能-LED街灯的结构示意图。太阳能电池板在太阳光的照射下,其内部PN结会形成新的电子空穴对,在一个回路里就能产生直流电流;这个电流流入控制器,会以某种方式给蓄电池充电。蓄电池在白天的时候会接受充电,而在晚上则会提供能量给LED。LED的工作是通过控制器进行的,控制器在保证LED恒流工作的同时,也会监测LED的状态以及控制工作时间长短。连续阴雨天以及蓄电池电能不足的情况下,控制器会发出控制信号来启动外部的市电供电系统(不包含在控制器中),保证LED的正常工作。外部的市电供电系统只是作为后备能源,只有在蓄电池电能不足的情况下才会被使用。蓄电池的充电完全只是通过太阳能来实现的,以确保最大限度使用太阳能。

图2是控制器的结构方框图。太阳能电池板进来后会首先经过一个开关MOS管KCHG连接到直流/直流变换器(蓄电池充电电路),此变换器的输出连接到蓄电池两端(实际电路里会先通过一个保险丝再连到蓄电池上)。加上KCHG有两个作用:一是防止太阳能电池输出较低时由蓄电池过来的反充电流;二是当太阳能电池板极性接反时起到保护电路的作用。直流/直流变换器采用降压拓扑结构,拓扑结构的选择不仅得考虑太阳能电池板最大功率点电压和蓄电池最大电压,而且同时得兼顾效率和成本。蓄电池和LED之间也是通过一个直流/直流变换器(LED驱动电路),对LED要采用恒流控制方式,考虑到蓄电池电压的波动范围以及LED的工作电压范围,设计电路中采用反激式拓扑结构来保证恒流输出。反激式拓扑的效率一般没有简单的升压或者降压电路高,如果要提升系统的效率,可以通过优化蓄电池电压与LED电压的关系来采用升压或者降压电路,提升效率并可能进一步减低成本。

整个控制器的控制是通过一个MCU来实现,MCU的主要工作包括以下几点:一是采用MPPT算法来优化太阳能电池板工作效率;二是针对蓄电池不同状态采用合适的充电模式;三是保证LED驱动电路的恒流输出;四是判断白天黑夜并以此来切换蓄电池充电和放电模式;最后就是提供监控保护、温度监测、状态输出和用户控制输入检测(DIP1~4)等功能。MCU的选择最主要是满足ADC、GPIO和外部中断的需要,不需要单纯追求速度。表1列出了实际电路中MCU外围设备的使用情况,考虑到以后扩展的需要,主控芯片使用STM32F101RXT6 (意法半导体最新款STM32系列MCU,采用Cortex-M3内核)。[page]

表1: MCU外设分配。

控制器辅助电源直接从蓄电池变换而来,蓄电池输入通过线性电源(L78L12)得到12V,供给逻辑电路和PWM开关信号放大;3.3V通过12V接开关电源(L5970D)而来,主要给MCU和周边电路供电,之所以用开关电源是为了提高转换效率(减少蓄电池耗电)以及在以后扩展系统时可以提供足够负载,当然,为了减少成本,完全可以用线性电源来实现。

控制器主要功能

控制器的主要功能包括两个方面:蓄电池充电以及蓄电池给LED供电。

1.蓄电池充电

当系统检测到环境光充足,控制器就会进入充电模式。蓄电池充电有两个比较重要的电压值:深度放电电压和浮充充电电压。前者代表在正常使用情况下蓄电池电能被用完的状态, 而后者则代表蓄电池充电的最高限制电压,这些参数应该从蓄电池产品手册上可以查到。在设计电路中针对12V蓄电池,分别设置深度放电电压为11V和浮充充电电压为13.8V(皆为在室温条件下的电压值,软件中这两个值增加了相应的温度补偿),具体充电模式如表2所示。

表2: 蓄电池充电模式

从表2中可以看到涓流充电模式和恒流充电模式会用到MPPT算法,MPPT算法有很多种方式可以实现,业界有不少的论文对此进行了探讨,总的来说各有优劣,设计电路中采用相对简单的扰动观察法来实现(Perturbance and Observation)。这个控制方法的基本思想是通过增大或者减少充电电路开关信号PWMCHG占空比,然后观察输出功率是变大还是变小,以此来决定下一步是增大还是减少占空比。由于太阳能板的输出变化相对比较缓慢,而且是单极点,所以这种方式还是能收到比较好的效果。

2.蓄电池放电

当系统检测到周围环境光线不足时,就会进入蓄电池给LED供电模式。LED电流通过高位电流检测芯片(TSC101AILT)采样送回MCU,由MCU通过调整开关信号PWMDRV占空比来获得恒定输出电流。为了达到节能的目的,LED的恒定电流值会根据系统检测的环境光强度来调整:当环境光由亮变暗时,系统的输出电流也会相应从小到大;当环境光完全暗下来时,系统的输出电流也达到预设的最大值。除了由环境光控制LED的输出,用户还可以通过设定开关DIPl~4的状态来开启时间控制功能, 系统会根据DIP1~4的设定组合来控制LED从亮5分钟到12小时不等。

此外,为了提高系统的可靠性,设计电路添加了针对太阳能电池板、蓄电池和LED等一系列软硬件的保护功能。而基于此系统平台,还可以从添加智能发光二极管工作模式、增加通讯模块和采用风光互补系统三方面进一步优化系统性能。

本文结论

太阳能-LED路灯不仅能利用清洁免费的太阳能以及高效环保的LED给道路带来照明,而且同时可以减少温室气体排放,实现绿色照明的目的。本街灯系统已经在意法半导体大楼入口处成功实施,所有街灯系统都已运行半年,工作情况正常。随着太阳能板的价格进一步降低和LED性价比的提高,相信这个系统会得到越来越广泛的应用。

关键字:STM32  MCU  太阳能  LED街灯 引用地址:基于STM32 MCU的太阳能--LED街灯解决方案

上一篇:STM32的曼彻斯特编译码系统设计
下一篇:基于STM32的MIT-BIH心电数据的D/A回放

推荐阅读最新更新时间:2024-03-16 13:04

PIC单片机无符号 BCD 减法
;*******************无符号 BCD 减法*************** ; ; This routine performs a 2 Digit Unsigned BCD Subtraction. ; It is assumed that the two BCD numbers to be subtracted are in ; locations Num_1 & Num_2. The result is the difference of Num_1 & Num_2 ; ( Num_2 - Num_1) and is stored in location Num_2 and the overflow ca
[单片机]
用51单片机控制RTL8019AS实现以太网通讯
摘要:介绍以太网的帧协议和以太网控制芯片RTL8019AS的结构特性;介绍51单片机控制RTL8019AS实现以太网通讯的硬件设计方案;采用C51语言实现ARP协议(地址解析协议),并进行了系统的调试与验证。 关键词:RTL8019AS Ethernet 51单片机 TCP/IP协议 互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长,在使用计算机进行网络互联的同时,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以便共享网络中庞大的信息资源。在电子设备日趋网络化的背景下,利用廉价的51单片机来控制RTL8019AS实现以太网通讯具有十分重要的意义。 1 以太网(Ethernet)协议 一个标
[应用]
C51单片机在电机转速测量仿真系统中的设计
单片机电机转速测量系统仿真系统采用单片机中T1计数器对转速脉冲进行计数。定时器T1 工作于外部事件计数方式,对转速脉冲计数; T0 工作于定时器方式。每到1 s 读1 次计数值,此值即为脉冲信号的频率,根据式( 1) 可计算出电机的转速。转速检测装置的软件系统主要包括: 测速主程序、数据处理子程序和显示子程序。单片机上电后,系统进入准备状态。首先进行初始化,然后读取脉冲数据进行运算,将转速显示在LCD上。需要这款仿真及C语言程序的爱好者可从文章配图左上角网址上了解。 该单片机电机转速测量系统仿真仿真采用测频法“M法”测量电机转速。即在一定测量时间T内,测量脉冲发生器(替代输入脉冲)产生的脉冲数m1来测量转速,计算式如下:n=
[单片机]
C51<font color='red'>单片机</font>在电机转速测量仿真系统中的设计
单片机波形发生器源码
程序源码 #include reg51.h #include intrins.h #include math.h #define uchar unsigned char #define uint unsigned int unsigned long Result,i; sbit SDA=P1^1; //PCF8591 接口 sbit SCL=P1^0; unsigned int a=0; // 波形采样点值 unsigned int b=0; unsigned int c=0; unsigned int bx_chang=0; unsigned int n=40; // 频率计算值 unsigned c
[单片机]
<font color='red'>单片机</font>波形发生器源码
51单片机练习题
1、填空题 1.1、MCS-51系统中,当PSEN信号有效时,表示CPU要从(外部程序存储器)存储器读取信息。 1.2、PSW中的RS1RS0=10时,R2的地址为(12H),RS1RS0=11时,R2的地址为(1AH)。 1.3、一个机器周期=12个(振荡周期)=6个(状态周期/时钟周期)。 1.4、在MCS-51单片机中,如果采用9MHz晶振,1个机器周期为(1.5)us。 1.5、若(DPTR)=2000H,(A)=50H,执行指令 MOVC A,@A+DPTR 后,送入A的是程序存储器(2050H)单元的内容。 1.6、假定累加器(A)=50H,执行程序存储器2000H单元处的指令 MOVC A,@A+PC 后,送
[单片机]
Stm32待机模式的进入与唤醒
1.基础介绍 1-1:单片机的“低功耗模式”,像是手机的待机模式,不同于正常运行模式,处于一种省电省资源的状态 1-2:在运行情况下,HCLK为cpu提供时钟,cortex-m3内核执行程序的代码,如果处于中断事件的等待时,可以进入低功耗模式用来节省资源等 1-3:STM32一共有着3个低功耗模式 (1)睡眠模式(cm3内核停止,外设时钟等依旧运行) (2)停止模式(所有的时钟) (3)待机模式(1.8V内核电源关闭) 1-4:具体介绍(引自正点原子参考手册) 2.配置方式 2-1:进入待机模式函数 配置时钟+设置唤醒源+待机模式设置 void Sys_Standby(void) {
[单片机]
<font color='red'>Stm32</font>待机模式的进入与唤醒
基于51单片机的出租车计价器
一.硬件方案 本设计基于STC89C52单片机、1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作。当无乘客时液晶可以显示时间(年月日时分秒),时间可以按键设置,此时电机不工作;当有乘客时电机工作,可以通过按键开始计费系统工作,有清零键,收费可以修改(包括起价费、超过起价费每公里或分钟收费、白天和夜晚收费标准),可以切换白天和夜晚收费标准,可以按照分钟或公里收费切换。 主要由51单片机最小系统、DS1302时钟芯片准确计时、LCD1602液晶显示、24c02芯片可以掉电存储数据、3v直流电机模拟发动机工作;如图: 二.设计功能 (1)当无乘客时液晶可以显示时间(年月
[单片机]
基于51<font color='red'>单片机</font>的出租车计价器
RC522读写程序代码分享
#include stm32f10x.h #include stm32f10x_spi.h #include stm32f10x_gpio.h #include stm32f10x_rcc.h #include delay.h #include mfrc522.h #include stdio.h #define SPI_CE_LOW() GPIO_ResetBits(GPIOA,GPIO_Pin_4) #define SPI_CE_HIGH() GPIO_SetBits(GPIOA,GPIO_Pin_4) void SPI1_Init(void) { RCC_AP
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved