首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何估计PVLib中由多个模块和逆变器组成的太阳能发电厂的直流输出?

如何估计PVLib中由多个模块和逆变器组成的太阳能发电厂的直流输出?
EN

Stack Overflow用户
提问于 2022-03-29 20:12:43
回答 1查看 125关注 0票数 0

我使用ModelChain类来估计一个虚构的太阳能工厂的DC和AC值。输入参数包括模块、逆变器、串数、模块数、模块数、反照率、PVGIS数据等。应用简单的数学方法计算每串模块数和每个逆变器串数,然后创建一个PVSystem对象,该对象由单个PVArray、每个逆变器组成。I为每个逆变器运行ModelChain模型,为了简单起见,将AC输出相加以估计所有数组的总AC值,如下所示:

代码语言:javascript
复制
for idx in range(0, num_of_inverters):
   array = {
       'name': f'pvsystem-{idx+1}-array',
       'mount': mount,
       'module': module_name,
       'module_parameters': module_parameters,
       'module_type': module_type,
       'albedo': albedo,
       'strings': strings_per_inverter,
       'modules_per_string': modules_per_string,
       'temperature_model_parameters': temperature_model_parameters,
   }
   pvsystem=pvlib.pvsystem.PVSystem(arrays=[pvlib.pvsystem.Array(**array)], inverter_parameters=inverter_parameters)
   mc = pvlib.modelchain.ModelChain(pvsystem, location)
   mc.run_model(tmy_weather)
   total_ac += mc.results.ac.sum()

根据PVLib文档,AC输出为(以Watts hour计)。

但现在,我需要得到直流输出,以及(每年瓦茨小时),以便我可以计算的DC/AC ratio。运行mc.results.dc为我提供了一个Dataframe,其中有几个对像我这样的新手很难掌握的值(列):

代码语言:javascript
复制
i_sc : Short-circuit current (A)
i_mp : Current at the maximum-power point (A)
v_oc : Open-circuit voltage (V)
v_mp : Voltage at maximum-power point (V)
p_mp : Power at maximum-power point (W)
i_x : Current at module V = 0.5Voc, defines 4th point on I-V curve for modeling curve shape
i_xx : Current at module V = 0.5(Voc+Vmp), defines 5th point on I-V curve for modeling curve shape

我尝试使用p_mp并将其加起来:mc.results.dc['p_mp'].sum(),但是输出比估计的AC大得多。我通常预计DC/AC比率在某个地方>1和<= 1.5,大致如此。然而,我得到的DC值大约大3-5倍,这可能意味着我做错了什么。

示例:1个字符串,1个变频器,每个字符串10个模块:

产出(每年):

代码语言:javascript
复制
AC: 869.61kW
DC: 3326.36kW
Ratio: 3.83

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 02:05:45

至于总直流和交流发电值为何如此不同,是因为逆变器对于阵列的尺寸要小得多。逆变器的额定功率为250 W,这不超过一个模块在STC上产生的功率(按下面的Impo * Vmpo计算,或注意到模块名称中的"220“),您总共有10个模块。因此,即使是在很低的光下,逆变器也会饱和,总交流产量也会因此而严重减少。我想,如果你绘制一个图(mc.results.ac.plot()),你会看到每天的逆变器输出曲线被剪裁在250 W,而模拟的直流功率可以高出近10倍。当事情变得毫无意义时,画出你的时间序列总是个好主意!

代码语言:javascript
复制
In [23]: pvlib.pvsystem.retrieve_sam('cecinverter')['ABB__MICRO_0_25_I_OUTD_US_208__208V_']['Paco']
Out[23]: 250.0

In [24]: pvlib.pvsystem.retrieve_sam('sandiamod')['Canadian_Solar_CS5P_220M___2009_'][['Impo', 'Vmpo']]
Out[24]: 
Impo    4.54629
Vmpo    48.3156
Name: Canadian_Solar_CS5P_220M___2009_, dtype: object

另外还有几个注意事项:

  • 请小心单位:
    • 求和(真的,积分)一个小时的时间序列的功率(瓦茨)产生能量(瓦特小时)。kW的年输出是没有意义的,因为kW是用于发电的,而电力是瞬时产生能量的速率。如果这对你来说是新的,考虑速度和距离也许会有帮助:一辆汽车在任何特定的时间点上都可能以每小时60英里的速度行驶,但它一年中的总行程是以英里为单位的,而不是以英里为单位的。功率是单位时间的能量,就像速度是单位时间的距离一样。
    • 求和电压(num_of_inverters * mc.results.dc['v_mp'].sum())在我看来是毫无意义的。除了一些非常专业的电力电子工程contexts.

外,伏特小时在我看来并不是一个有用的单位。

  • 术语"DC/AC比率“通常被理解为是指额定容量的比率,而不是年度产量的比率。因此,对于要点中的示例,DC/AC比率将被计算为(220 W/module * 10 modules/string * 2 strings/inverter = 4400 W DC) / (250 W AC) = 17.6 (这是一个疯狂的DC/AC比率)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71668263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档