• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

关于MPPT的一个问题,求解。。。

最近做一基于改进恒定电压法的MPPT,主电路拓扑是一BUCK,我通过不停的采样光伏电池两端的电压,通过PID调节使得光伏电池两端电压稳在了Vmpp处(利用经验公式:Vmpp=0.7-0.8Voc确定Vmpp),但是另我费解的是如果我后面接蓄电池的话,我可以接多少V的蓄电池,假如Vmpp=68V,Impp=2A。在这个地方困住了,首先我的占空比是通过PID自动调节的,使得光伏电池两端电压稳在了Vmpp处,我们知道MPPT是通过输出的等效阻抗等于光伏电池的内部阻抗相等来设计的,那么当我们通过阻抗匹配确定了占空比后相当于找到了最大功率点,那么假设在周围环境不变的情况下,我的Vmpp也不变,即BUCK的输入电压是Vmpp=68V,前面说了在最大功率点处,周围环境不变的情况下,占空比应该也不变,也就是说输出电压应该是稳在了Vmpp*D处,但是我想知道这个D到底是多少呢,我后面能给多大电压的蓄电池充电呢?

全部回复(35)
正序查看
倒序查看
2011-03-23 17:00

没人回帖啊,自己顶!

这帖子是我昨天发的,但是这个问题我想了好几天了,就是没有解决。后来去网上下载了别人写的关于MPPT的论文,又去IE上下载了几篇,但不幸的是都没有涉及到这方面的讲解。后来索性自己推下公式,看从公式中是否有些收获,呵呵,从公式中算是想通了一些。

其实关于这方面我以前想的有点复杂,但有可能很多做MPPT的都会在这方面卡一下。我就是出现了上一贴中比较乱的思路。下面简单说下我想通的思路:

大家知道MPPT都是基于阻抗匹配设计的,虽然其中有很多这样那样的方法;我是用BUCK拓扑搭建的MPPT,控制器用的是STC单片机,利用的是改进的恒压法;我通过不停的采样光伏电池两端的输出电压,通过单片机自动调节占空比,使其工作于近似的最大功率点处,这是光伏电池的输出电压=Vmppt,输出电流=Imppt,也就是说是后级电路的输入电压电流。从而可以算出后级的等效阻抗R1=Vmppt/Imppt.如果我BUCK输出接的是蓄电池,那么我的BUCK的输出电压应该就是蓄电池两端的电压,即Vb,因为是BUCK电路,Vb=D*Vmppt,Ib=Imppt/D,D是占空比,Ib是蓄电池的充电电流,那么是不是就可以说蓄电池此时此刻的内阻就是Rb=Vb/Ib,由前面知R1=Vmppt/Imppt=(Vb/D)/(Ib/D)=D*D*Vb/Ib

=D*D*Rb。从而可以知道一旦我接上一定电压等级的蓄电池,MPPT会自动进行阻抗匹配,调节占空比,使后级电路从光伏电池上得到尽可能大的功率。

0
回复
2011-03-23 17:01
@mengshi4376
没人回帖啊,自己顶!这帖子是我昨天发的,但是这个问题我想了好几天了,就是没有解决。后来去网上下载了别人写的关于MPPT的论文,又去IE上下载了几篇,但不幸的是都没有涉及到这方面的讲解。后来索性自己推下公式,看从公式中是否有些收获,呵呵,从公式中算是想通了一些。其实关于这方面我以前想的有点复杂,但有可能很多做MPPT的都会在这方面卡一下。我就是出现了上一贴中比较乱的思路。下面简单说下我想通的思路:大家知道MPPT都是基于阻抗匹配设计的,虽然其中有很多这样那样的方法;我是用BUCK拓扑搭建的MPPT,控制器用的是STC单片机,利用的是改进的恒压法;我通过不停的采样光伏电池两端的输出电压,通过单片机自动调节占空比,使其工作于近似的最大功率点处,这是光伏电池的输出电压=Vmppt,输出电流=Imppt,也就是说是后级电路的输入电压电流。从而可以算出后级的等效阻抗R1=Vmppt/Imppt.如果我BUCK输出接的是蓄电池,那么我的BUCK的输出电压应该就是蓄电池两端的电压,即Vb,因为是BUCK电路,Vb=D*Vmppt,Ib=Imppt/D,D是占空比,Ib是蓄电池的充电电流,那么是不是就可以说蓄电池此时此刻的内阻就是Rb=Vb/Ib,由前面知R1=Vmppt/Imppt=(Vb/D)/(Ib/D)=D*D*Vb/Ib=D*D*Rb。从而可以知道一旦我接上一定电压等级的蓄电池,MPPT会自动进行阻抗匹配,调节占空比,使后级电路从光伏电池上得到尽可能大的功率。

上面只是一家之言,有异议者可以继续讨论呵。

0
回复
417zhouge
LV.9
4
2011-03-24 11:56
@mengshi4376
上面只是一家之言,有异议者可以继续讨论呵。

你看过资料的话,应该知道那些功率跟踪的方法。

像这种要求不高的情况可以采用充电电流检测,来改变PWM的占空比。改变占空比来使输出达到最大电流。

 

0
回复
2011-03-24 12:55
@417zhouge
你看过资料的话,应该知道那些功率跟踪的方法。像这种要求不高的情况可以采用充电电流检测,来改变PWM的占空比。改变占空比来使输出达到最大电流。 

只通过检测电流估计不行吧,电压方面也要考虑吧,从光伏电池的输出特性曲线,当电压较低时同样可以达到较高的电流,这样对应的蓄电池的充电电流就会减小,额,似乎也挺合适的,呵呵,确实如果要求不是很高的话可以考虑采用这种方法。但是我的方法也就是只单单采样光伏电池输出电压,也挺方便的。以后我可以考虑蓄电池充电电流呵。其实在蓄电两端电压变化幅度不是很高的情况下,充电电流最大时对应的就是光伏电池的最大功率输出哦,豁然开朗啊

0
回复
2011-03-24 16:38
@mengshi4376
只通过检测电流估计不行吧,电压方面也要考虑吧,从光伏电池的输出特性曲线,当电压较低时同样可以达到较高的电流,这样对应的蓄电池的充电电流就会减小,额,似乎也挺合适的,呵呵,确实如果要求不是很高的话可以考虑采用这种方法。但是我的方法也就是只单单采样光伏电池输出电压,也挺方便的。以后我可以考虑蓄电池充电电流呵。其实在蓄电两端电压变化幅度不是很高的情况下,充电电流最大时对应的就是光伏电池的最大功率输出哦,豁然开朗啊[图片]
你采用这种跟踪方法,精度貌似不高呀~
0
回复
2011-03-24 17:17
@高等数学
你采用这种跟踪方法,精度貌似不高呀~
呵呵,现在只是测试用哈,还没有过多的考虑到精度方面。基于我的单片机内部AD是8位的,精度上就打了些折扣,再加上仪器仪表的测量误差,精度就不是很高了。
0
回复
2011-03-24 22:20
@mengshi4376
呵呵,现在只是测试用哈,还没有过多的考虑到精度方面。基于我的单片机内部AD是8位的,精度上就打了些折扣,再加上仪器仪表的测量误差,精度就不是很高了。
有更多先进的MPPT方法,你为什么选择这种呢?
0
回复
2011-03-24 22:54
@高等数学
有更多先进的MPPT方法,你为什么选择这种呢?

先从简单的做起,慢慢再升级,从而比对出其中的优劣

0
回复
高等数学
LV.10
10
2011-03-24 22:57
@mengshi4376
先从简单的做起,慢慢再升级,从而比对出其中的优劣[图片]
这些已经有很多研究了,为什么不直接利用前人的结果呢?
0
回复
mengshi4376
LV.5
11
2011-03-26 09:56
@高等数学
这些已经有很多研究了,为什么不直接利用前人的结果呢?

这方面的研究确实很多,可是我看到的大部分都是人家写的论文,所以我想自己弄一下,看下效果,呵呵,也算是我这新手锻炼一下吧

0
回复
高等数学
LV.10
12
2011-03-26 09:59
@mengshi4376
这方面的研究确实很多,可是我看到的大部分都是人家写的论文,所以我想自己弄一下,看下效果,呵呵,也算是我这新手锻炼一下吧

对比一下也是不错的,自己体会也能更深。

如果到时候能来分享下,那最好啦,

0
回复
mengshi4376
LV.5
13
2011-03-26 12:47
@高等数学
对比一下也是不错的,自己体会也能更深。如果到时候能来分享下,那最好啦,[图片]
有进展了一定给大家分享哈
0
回复
2011-04-09 10:51
@mengshi4376
没人回帖啊,自己顶!这帖子是我昨天发的,但是这个问题我想了好几天了,就是没有解决。后来去网上下载了别人写的关于MPPT的论文,又去IE上下载了几篇,但不幸的是都没有涉及到这方面的讲解。后来索性自己推下公式,看从公式中是否有些收获,呵呵,从公式中算是想通了一些。其实关于这方面我以前想的有点复杂,但有可能很多做MPPT的都会在这方面卡一下。我就是出现了上一贴中比较乱的思路。下面简单说下我想通的思路:大家知道MPPT都是基于阻抗匹配设计的,虽然其中有很多这样那样的方法;我是用BUCK拓扑搭建的MPPT,控制器用的是STC单片机,利用的是改进的恒压法;我通过不停的采样光伏电池两端的输出电压,通过单片机自动调节占空比,使其工作于近似的最大功率点处,这是光伏电池的输出电压=Vmppt,输出电流=Imppt,也就是说是后级电路的输入电压电流。从而可以算出后级的等效阻抗R1=Vmppt/Imppt.如果我BUCK输出接的是蓄电池,那么我的BUCK的输出电压应该就是蓄电池两端的电压,即Vb,因为是BUCK电路,Vb=D*Vmppt,Ib=Imppt/D,D是占空比,Ib是蓄电池的充电电流,那么是不是就可以说蓄电池此时此刻的内阻就是Rb=Vb/Ib,由前面知R1=Vmppt/Imppt=(Vb/D)/(Ib/D)=D*D*Vb/Ib=D*D*Rb。从而可以知道一旦我接上一定电压等级的蓄电池,MPPT会自动进行阻抗匹配,调节占空比,使后级电路从光伏电池上得到尽可能大的功率。

大侠你好,看到你的精彩讲解,受益匪浅。

有个问题还是想向你请教一下,请问你电路设计时的占空比是怎么样确定的呢?如果我做的控制器想给12V~48V的电池都可以充电,该怎么解决,还请大侠赐教,谢谢。

0
回复
mengshi4376
LV.5
15
2011-04-09 12:13
@renjiwei2006
大侠你好,看到你的精彩讲解,受益匪浅。有个问题还是想向你请教一下,请问你电路设计时的占空比是怎么样确定的呢?如果我做的控制器想给12V~48V的电池都可以充电,该怎么解决,还请大侠赐教,谢谢。

我用的是PID控制,自动调节占空比使得光伏电池两端电压稳在最大功率电压处,具体的占空比也可以通过计算得出。

如果你的控制器的拓扑采用的是BUCK,给后级蓄电池充电(假设是12v),而你前端光伏电池的最大功率点处电压如果是18V的话,那么占空比就是12/18=0.667.

如果你想给12V至48V蓄电池充电的话,首先得选定你的主电路拓扑,至于控制方法用什么还是看个人喜好。但是有一点可以知道的,当光伏电池工作于最大功率点处时(先不考虑周围环境的变化),光伏电池输出的功率是恒定的,即P=Umppt*Imppt,那么相应的主电路后级输出功率也就确定了,假设输出功率=100W,那么对于你后级接不同电压等级的蓄电池,不同的表现就是充电电流有所不同。

0
回复
2011-04-09 12:28
@mengshi4376
我用的是PID控制,自动调节占空比使得光伏电池两端电压稳在最大功率电压处,具体的占空比也可以通过计算得出。如果你的控制器的拓扑采用的是BUCK,给后级蓄电池充电(假设是12v),而你前端光伏电池的最大功率点处电压如果是18V的话,那么占空比就是12/18=0.667.如果你想给12V至48V蓄电池充电的话,首先得选定你的主电路拓扑,至于控制方法用什么还是看个人喜好。但是有一点可以知道的,当光伏电池工作于最大功率点处时(先不考虑周围环境的变化),光伏电池输出的功率是恒定的,即P=Umppt*Imppt,那么相应的主电路后级输出功率也就确定了,假设输出功率=100W,那么对于你后级接不同电压等级的蓄电池,不同的表现就是充电电流有所不同。

谢谢大侠的解答。

不过大侠说的具体占空比可以计算,那怎么样计算呢?

应为PV的电压时时刻在变的,而如果我给12V、24V、36V、48V电池充电,占空比又不一样。我的意思是说,这个占空比是不是有个范围呢?如果有这个范围是怎么确定的呢?

谢谢

 

 

0
回复
mengshi4376
LV.5
17
2011-04-09 13:16
@renjiwei2006
谢谢大侠的解答。不过大侠说的具体占空比可以计算,那怎么样计算呢?应为PV的电压时时刻在变的,而如果我给12V、24V、36V、48V电池充电,占空比又不一样。我的意思是说,这个占空比是不是有个范围呢?如果有这个范围是怎么确定的呢?谢谢  

我这里用到的PID控制,占空比是不需要计算的,控制算法会自动调节占空比使得光伏电池工作在最大功率点处,但是可以通过计算得出大概的占空比值。

占空比是有范围的,看你的电路是哪种拓扑以及你的负载端输出电压的范围是多少。

按照我的意思是,假设我控制器前端的输入电压已经稳在了最大功率点电压处,如果后级蓄电池电压等级变换的话,假设由原先给12V蓄电池充电改为给24V蓄电池充电,前面我们说了光伏电池输出功率不变的话(相对稳定的环境下),如果给12V蓄电池的充电电流是6A的话,那么此时给24V蓄电池充电电流就是3A;此时占空比的变化是通过控制算法实现实时跟踪的,不需要计算出具体的数值。如果你确实想知道这时占空比变化,也可以说一下,当是12V蓄电池时(假设采用BUCK),如果Vmppt=28V,那么D=12/28.如果蓄电池变为24v,那么D=24/28;,可以看出具体的取值范围是与你蓄电池电压有关的

0
回复
高等数学
LV.10
18
2011-04-09 23:12
@mengshi4376
我这里用到的PID控制,占空比是不需要计算的,控制算法会自动调节占空比使得光伏电池工作在最大功率点处,但是可以通过计算得出大概的占空比值。占空比是有范围的,看你的电路是哪种拓扑以及你的负载端输出电压的范围是多少。按照我的意思是,假设我控制器前端的输入电压已经稳在了最大功率点电压处,如果后级蓄电池电压等级变换的话,假设由原先给12V蓄电池充电改为给24V蓄电池充电,前面我们说了光伏电池输出功率不变的话(相对稳定的环境下),如果给12V蓄电池的充电电流是6A的话,那么此时给24V蓄电池充电电流就是3A;此时占空比的变化是通过控制算法实现实时跟踪的,不需要计算出具体的数值。如果你确实想知道这时占空比变化,也可以说一下,当是12V蓄电池时(假设采用BUCK),如果Vmppt=28V,那么D=12/28.如果蓄电池变为24v,那么D=24/28;,可以看出具体的取值范围是与你蓄电池电压有关的
现在进展如何?有没测下这种定电压法的MPPT精度具体是多少?
0
回复
smalltuzi
LV.1
19
2011-04-10 10:56
@mengshi4376
我这里用到的PID控制,占空比是不需要计算的,控制算法会自动调节占空比使得光伏电池工作在最大功率点处,但是可以通过计算得出大概的占空比值。占空比是有范围的,看你的电路是哪种拓扑以及你的负载端输出电压的范围是多少。按照我的意思是,假设我控制器前端的输入电压已经稳在了最大功率点电压处,如果后级蓄电池电压等级变换的话,假设由原先给12V蓄电池充电改为给24V蓄电池充电,前面我们说了光伏电池输出功率不变的话(相对稳定的环境下),如果给12V蓄电池的充电电流是6A的话,那么此时给24V蓄电池充电电流就是3A;此时占空比的变化是通过控制算法实现实时跟踪的,不需要计算出具体的数值。如果你确实想知道这时占空比变化,也可以说一下,当是12V蓄电池时(假设采用BUCK),如果Vmppt=28V,那么D=12/28.如果蓄电池变为24v,那么D=24/28;,可以看出具体的取值范围是与你蓄电池电压有关的

谢谢大侠的解答,我也受益匪浅。我也有个问题不太清楚,如何知道我的充电电池是12v还是24v呢?是不是我要自己在里面进行设定,然后对占空比进行限制呢?

0
回复
mengshi4376
LV.5
20
2011-04-11 09:32
@高等数学
现在进展如何?有没测下这种定电压法的MPPT精度具体是多少?

最近被叫去做别的事儿,这个实验耽搁了一阵子,接下来我把它完善一下,多谢关注呵

0
回复
mengshi4376
LV.5
21
2011-04-11 09:33
@smalltuzi
谢谢大侠的解答,我也受益匪浅。我也有个问题不太清楚,如何知道我的充电电池是12v还是24v呢?是不是我要自己在里面进行设定,然后对占空比进行限制呢?

不知道你打算怎么调节占空比呢,是利用一些具体的算法来跟踪控制呢,还是..

0
回复
zhy012356
LV.2
22
2011-04-12 20:58
@mengshi4376
不知道你打算怎么调节占空比呢,是利用一些具体的算法来跟踪控制呢,还是..

为何用buck?你是否有想过,如果基于阻抗匹配,buck真的能实现最大功率跟踪吗?理论上受占空比D范围限制的吧,

0
回复
mengshi4376
LV.5
23
2011-04-12 21:04
@zhy012356
为何用buck?你是否有想过,如果基于阻抗匹配,buck真的能实现最大功率跟踪吗?理论上受占空比D范围限制的吧,

呵呵,选用什么拓扑应该根据输入输出的参数来选的,我只是拿BUCK做个例子来说的

0
回复
zhy012356
LV.2
24
2011-04-12 21:11
@mengshi4376
呵呵,选用什么拓扑应该根据输入输出的参数来选的,我只是拿BUCK做个例子来说的[图片]

不是吧,如果,理论上都实现不了最大功率,怎么寻,例如BUCK,从公式中可知,只能寻负载比输入电阻小的情况吧,至于你说的输入输出参数,用buck-boost也可以吧

0
回复
mengshi4376
LV.5
25
2011-04-12 21:56
@zhy012356
不是吧,如果,理论上都实现不了最大功率,怎么寻,例如BUCK,从公式中可知,只能寻负载比输入电阻小的情况吧,至于你说的输入输出参数,用buck-boost也可以吧
恩,可以的,如果你后级负载电压等级比前级光伏电池最大功率点处的电压还要高,这时就要升压的,所以用BUCK-BOOST更灵活些
0
回复
qinzhendong
LV.4
26
2011-05-24 22:24
@mengshi4376
我这里用到的PID控制,占空比是不需要计算的,控制算法会自动调节占空比使得光伏电池工作在最大功率点处,但是可以通过计算得出大概的占空比值。占空比是有范围的,看你的电路是哪种拓扑以及你的负载端输出电压的范围是多少。按照我的意思是,假设我控制器前端的输入电压已经稳在了最大功率点电压处,如果后级蓄电池电压等级变换的话,假设由原先给12V蓄电池充电改为给24V蓄电池充电,前面我们说了光伏电池输出功率不变的话(相对稳定的环境下),如果给12V蓄电池的充电电流是6A的话,那么此时给24V蓄电池充电电流就是3A;此时占空比的变化是通过控制算法实现实时跟踪的,不需要计算出具体的数值。如果你确实想知道这时占空比变化,也可以说一下,当是12V蓄电池时(假设采用BUCK),如果Vmppt=28V,那么D=12/28.如果蓄电池变为24v,那么D=24/28;,可以看出具体的取值范围是与你蓄电池电压有关的

您好,我想问一下,你的方法是恒压法,似乎只能控制DC-DC电路的输入电压恒定,占空比变化时,输出电压应该是变化的,如果直接给蓄电池充电,没有问题么,您求占空比的方法就是默认了输出电压也不变了,不知道我的理解有没有问题,请您指教!谢谢

0
回复
mengshi4376
LV.5
27
2011-05-25 09:10
@qinzhendong
您好,我想问一下,你的方法是恒压法,似乎只能控制DC-DC电路的输入电压恒定,占空比变化时,输出电压应该是变化的,如果直接给蓄电池充电,没有问题么,您求占空比的方法就是默认了输出电压也不变了,不知道我的理解有没有问题,请您指教!谢谢

输出电压基本就是蓄电池两端电压,看前面的贴呵,有讲的

0
回复
qinzhendong
LV.4
28
2011-05-28 17:59
@mengshi4376
输出电压基本就是蓄电池两端电压,看前面的贴呵,有讲的[图片]
谢谢 我最近校赛就是做这个  感觉很困难  先用buck电路最大功率追踪,然后用BUCK-BOOST电路给蓄电池充电。这是大体方案,计算BUCK电感时感觉很困难,因为BUCK的输出是在很大范围内波动的,额 我先做做看 
0
回复
2011-10-31 10:52
@mengshi4376
我这里用到的PID控制,占空比是不需要计算的,控制算法会自动调节占空比使得光伏电池工作在最大功率点处,但是可以通过计算得出大概的占空比值。占空比是有范围的,看你的电路是哪种拓扑以及你的负载端输出电压的范围是多少。按照我的意思是,假设我控制器前端的输入电压已经稳在了最大功率点电压处,如果后级蓄电池电压等级变换的话,假设由原先给12V蓄电池充电改为给24V蓄电池充电,前面我们说了光伏电池输出功率不变的话(相对稳定的环境下),如果给12V蓄电池的充电电流是6A的话,那么此时给24V蓄电池充电电流就是3A;此时占空比的变化是通过控制算法实现实时跟踪的,不需要计算出具体的数值。如果你确实想知道这时占空比变化,也可以说一下,当是12V蓄电池时(假设采用BUCK),如果Vmppt=28V,那么D=12/28.如果蓄电池变为24v,那么D=24/28;,可以看出具体的取值范围是与你蓄电池电压有关的
连长的意思是要用两极BUCK电路咯,前一级用来控制光电板的电压,后一级实现前一级输出到蓄电池输入之间的电压匹配?我是否理解对了???
0
回复
kohlgao
LV.2
30
2011-11-07 16:37
@zhy012356
不是吧,如果,理论上都实现不了最大功率,怎么寻,例如BUCK,从公式中可知,只能寻负载比输入电阻小的情况吧,至于你说的输入输出参数,用buck-boost也可以吧

通过数学公式推导,如果buck电路中电感电流连续,那么等效电阻的阻值=(1/D2)×RL

而我们知道D是个小于1的正数,这样的话DCDC与后续负载RL的等效电等阻值只会比负载大而不会比负载小 

这就有问题了  太阳能内阻往往是远小于后续电路负载电阻的  那么buck对这种情况的MPPT应该是无能为力的 

0
回复
454391826
LV.1
31
2012-07-25 09:16
@mengshi4376
我用的是PID控制,自动调节占空比使得光伏电池两端电压稳在最大功率电压处,具体的占空比也可以通过计算得出。如果你的控制器的拓扑采用的是BUCK,给后级蓄电池充电(假设是12v),而你前端光伏电池的最大功率点处电压如果是18V的话,那么占空比就是12/18=0.667.如果你想给12V至48V蓄电池充电的话,首先得选定你的主电路拓扑,至于控制方法用什么还是看个人喜好。但是有一点可以知道的,当光伏电池工作于最大功率点处时(先不考虑周围环境的变化),光伏电池输出的功率是恒定的,即P=Umppt*Imppt,那么相应的主电路后级输出功率也就确定了,假设输出功率=100W,那么对于你后级接不同电压等级的蓄电池,不同的表现就是充电电流有所不同。
大侠,支持你啊,虽然简单,但不动手不会回答的一针见血的!
0
回复