mppt算法

时间:2024-06-19 11:36:21编辑:分享君

光伏逆变器MPPT电压范围是由什么决定的?

其实它由两方面决定的1 IGBT的耐压值,决定MPPT的最高电压,如果选用1200V的管子,首先要给IGBT留100V的余量,再加上母排的过电压100~200V,所以逆变器的工作电压一般要低于1000V~900V,考虑到组件的温度特性,逆变器MPPT电压一般要低于最高工作电压50V到150V,所以MPPT最高电压一般是850V.2 逆变器的结构,逆变器输出电压,决定MPPT的最低电压逆变器有一级DC-AC拓扑和二级DC-DC-BOOST,DC-AC结构,三相不带变压器的逆变器交流输出电压有270V和315V两种,根据逆变器电路,交流输出270V,直流电压必须要大于450VDC,交流输出315V,直流电压必须要大于500VDC。


光伏发电系统中的MPPT是个什么鬼

MPPT是控制器的全称“最大功率点跟踪”(Maximum Power Point Tracking)太阳能控制器,是传统太阳能充放电控制器的升级换代产品。
MPPT
MPPT控制器能够实时侦测太阳能板的发电电压,并追踪最高电压电流值(VI),使系统以最大功率输出对蓄电池充电。应用于太阳能光伏系统中,协调太阳能电池板、蓄电池、负载的工作,是光伏系统的大脑。

MPPT的概述
最大功率点跟踪(Maximum Power Point
Tracking,简称MPPT)系统是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中,可有效地解决常规电网不能覆盖的偏远地区及旅游地区的生活和工业用电,不产生环境污染。
光伏电池的输出功率与MPPT控制器的工作电压有关,只有工作在最合适的电压下,它的输出功率才会有个唯一的最大值。
日照强度为1000W/㎡,U=24V,I=1A;U=30V,I=0.9A;U=36V,I=0.7A;可见30的电压下输出功率最大。

MPPT的原理
给蓄电池充电,太阳能电池板的输出电压必须高于蓄电池的当前电压,如果太阳能电池板的电压低于电池的电压,那么输出电流就会接近0。所以,为了安全起见,太阳能电池板在制造出厂时,太阳能板的峰值电压(Vpp)大约在17V左右,这是以环境温度为25°C时的标准设定的。当天气非常热的时候,太阳能电池板的峰值电压Vpp会降到15V左右,但是在寒冷的天气里,太阳能的峰值电压Vpp可以达到18V。
现在,我们再回头来对比MPPT太阳能控制器和传统太阳能控制器的区别。传统的太阳能充放电控制器就有点象手动档的变速箱,当发动机的转速增高的时候,如果变速箱的档位不相应提高的话,势必会影响车速。但是对于MPPT太阳能控制器来说,充电参数都是在出厂之前就设定好的,就是说,MPPT控制器会实时跟踪太阳能板中的最大的功率点,来发挥出太阳能板的最大功效。电压越高,通过最大功率跟踪,就可以输出更多的电量,从而提高充电效率。理论上讲,使用MPPT控制器的太阳能发电系统会比传统的效率提高50%,但是跟据我们的实际测试,由于周围环境影响与各种能量损失,最终的效率也可以提高20%-30%。
从这个意义上讲,MPPT太阳能充放电控制器,势必会最终取代传统太阳能控制器

MPPT的功能
MPPT控制器主要功能:检测主回路直流电压及输出电流,计算出太阳能阵列的输出功率,并实现对最大功率点的追踪。扰动电阻R和MOSFET串连在一起,在输出电压基本稳定的条件下,通过改变MOSFET的占空比,来改变通过电阻的平均电流,因此产生了电流的扰动。同时,光伏电池的输出电流电压亦将随之变化,通过测量扰动前后光伏电池输出功率和电压的变化,以决定下一周期的扰动方向,当扰动方向正确时太阳能光能板输出功率增加,下周期继续朝同一方向扰动,反之,朝反方向扰动,如此,反复进行着扰动与观察来使太阳能光电板输出达最大功率点。

MPPT方法
传统的MPPT方法依据判断方法和准则的不同被分为开环和闭环MPPT方法[1] 。实际上,外界温度、光照和负载的变化对光伏电池输出特性的影响呈现出一些基本的规律,比如光伏电池的最大功率点电压与光伏电池的开路电压之间存在近似的线性关系[2] ,基于这些规律,可提出一些开环的MPPT控制方法,如定电压跟踪法,短路电流比例系数法和插值计算法等[1] 。
闭环MPPT方法则通过对光伏电池输出电压和电流值的实时测量与闭环控制来实现MPPT,使用最广泛的自寻优类算法即属于这一类[1] 。典型的自寻优MPPT算法有扰动观察法(Perturbation and Observation Method,P&O)和电导增量法(Incremental Conductance,INC)两种[1] 。


求MPPT(太阳能最大功率点跟踪)扰动法算法的完整源程序,最好是基于avr编程的。

*关于频率和占空比的确定,对于6M晶振,假定PWM输出频率为1KHZ,;这样可以设定占空比可从(1-100)%变化,即0.01ms*100=1ms。周期用T1定时,输出高电平用T1定时。 *
#include
#define uchar unsigned char
#define V_TH1 0XFE
#define V_TL1 0X0C
#define V_TMOD 0X11
void init_sys(void); /*系统初始化函数*/
unsigned char ZL,ZH;
void main (void)
{
init_sys();
while(1)
{
Unsigned Int temp;
int16 zkb=50;
Temp =2^16-5*zkb;
ZH = temp/256;
ZL = temp%256;
K();
}
}
void init_sys(void) /*系统初始化函数*/
{
TMOD=V_TMOD; /*定时器初化*/
TH0=ZH;
TL0=ZL;
TH1 = V_TH1;
TL1= V_TL1;
TR1 = 1;
ET1 = 1;
ET0=1; /*允许T0中断
EA=1; /*CPU开中断
}
Void k(int16 vk,ik)
{ static int16 prek;
pk=vk*ik;
prek=0;
vk=0;
if(prvpk==pk)
{
return;
}
else
{
if(pk>prepk)
{ prek=pk;
if(vk>prevk)
{
zkb++;
prevk=vk;
prepk=pk;
}
else
{
zkb--;
prevk=vk;
prepk=pk;
}
}
else
{
if(vk>prevk)
{
zkb++;
prevk=vk;
prepk=pk;
}
else
{
zkb--;
prevk=vk;
prepk=pk;
}
}

/*中断函数*/
void timer0(void) interrupt 1
{
P2_2=! P2_2;
TR0 = 0;
}
Void timer1(void) interrupt 2
{
TH1 = V_TH1; /*恢复定时器T0初始值*/
TL1 = V_TL1;
P2_2=! P2_2;
TH0=ZH; /*恢复定时器T0初始值*/
TL0=ZL;
TR0 = 1;
}


上一篇:mjpg

下一篇:小豚当家