AnyMath 文档
Notebook

自主混合动力发电厂:柴油+太阳能+储存

该示例展示了一个具有基于超级电容器的能量存储系统(EES)的自主柴油-太阳能发电厂的模型。 该模型用于:

  1. 检查SNE控制算法
  2. 选择太阳能发电厂的参数
  3. 功率、能量强度、存储设备类型的选择
  4. 从燃油经济性计算经济效益
  5. 选择DSU的最佳单元数和装机容量大小

简介

数字建模在SNE控制算法的开发和测试中起着关键作用,使我们能够研究电力系统的运行模式,并评估存储设备对可持续性和效率的影响,而无需进行现场

SNES的一个有前途的应用领域是自主混合发电厂(ASES),广泛用于远程设施的供电,包括石油和天然气生产企业。 这种电力系统的特点是缺乏与UES的通信,负载的快速变化性质,以及对电源可靠性的要求增加。

在设计ASUE时,DSU容量通常基于最大负载来选择,结果是装机容量利用系数(KIUM)很低。 这导致柴油装置在不经济模式下运行,伴随着燃料消耗增加,设备加速磨损,技术保护激活和电力质量恶化。 此外,为了保证供电的可靠性,往往需要高估发电机组的装机容量,这降低了ASUE的经济效率。

使用SNES作为ASUE的一部分,可以平滑突然的负载变化,提高频率和电压调节的质量,确保发电机在经济模式附近运行并降低对传统源装机容量的要求。 在这方面,利用数字建模开发和研究具有SNE的ASUE演示模型是验证控制算法和系统参数的迫切任务。

模型描述

10.5kV型号包括:

*带ARV SD和APC的柴油发电机组(DGU),容量为3MW;

*容量为0.5MW的太阳能发电厂(SES),没有调节器;

*具有3MW容量和400kWh能耗的SNE,具有平滑负载功率浪涌的算法;

*用于连接发电设备和负载的电缆线;

*3.3MW负载(基础功率–1.5MW,可变-0.5MW,可变-1.3MW)。

model.png

导出模型的文件

为了使模型工作,我们从文件系统导出必要的依赖关系。:

In [ ]:
using JLD2
@load "load_profile.jld2"; # 交变载荷图,W(s)
@load "charging_curve.jld2"; # 超级电容器的可用功率对电荷的依赖性,W(%)
@load "fuel_consumption_curve.jld2"; # 燃料消耗对负载l/H(MW)的依赖性
@load "specific_fuel_consumption.jld2"; # 特定燃料消耗对负载k*kWh(O.E.)的依赖性
@load "solar_profile_pu.jld2"; # SES容量每日时间表,O.E.(c)

导出的依赖关系图

In [ ]:
using Plots

**DGU的每小时燃料消耗。**在模型中使用此关系来计算当前燃料消耗和在整个仿真持续时间内消耗的燃料总量。

In [ ]:
plot(procent_of_load_vector, G_vector,
    linewidth=2,
    linecolor=:black,
    marker=:circle,
    markersize=5,
    markercolor=:white,
    markerstrokecolor=:black,
    markerstrokewidth=1,
    xlabel="负荷/负荷, %",
    ylabel="消费量,l/h",
    grid=true,
    gridalpha=0.2,
    gridstyle=:dash,
    framestyle=:box,
    size=(800, 400),
    dpi=150,
    legend=false,
    background_color=:white
)
Out[0]:

**提升和运输机构的负载图的片段。**在模型中用于设置可变负载的轮廓。

In [ ]:
plot( t_vector[1:5000], load_vector[1:5000]./1e6,
    linewidth=2,
    linecolor=:black,
    # marker=:circle,
    markersize=5,
    markercolor=:white,
    markerstrokecolor=:black,
    markerstrokewidth=1,
    xlabel="时间,从",
    ylabel="负荷,MW",
    grid=true,
    gridalpha=0.2,
    # gridstyle=:dash,
    framestyle=:box,
    size=(800, 400),
    dpi=150,
    legend=false,
    background_color=:white,
)
hline!([0.33], # 平均功率值
    linecolor=:red, 
    linewidth=2, 
    linestyle=:dash, 
)
Out[0]:

交变负载的功率的平均值:

In [ ]:
average_power = sum(load_vector) / length(load_vector)/1e6
Out[0]:
0.3328352990729073

交变负载的最大功率值:

In [ ]:
max_power=maximum(load_vector)/1e6
Out[0]:
1.310439993095398

**对于3MW CSU,特定燃料消耗对负载的依赖性。**图表清楚显示,在低负荷下,需要更多的燃料才能产生1千瓦时的电力。 这种依赖性没有在模型中使用,而是演示了隔离电力系统的问题,其中大多数发电机组在10至40%的低负载下运行(如先前计算的,起重和运输机构轮廓的平均负载仅为0.33mw,最大值为1.3mw)

In [ ]:
plot(procent_of_load_vector, g_vector,
    linewidth=2,
    linecolor=:black,
    marker=:circle,
    markersize=5,
    markercolor=:white,
    markerstrokecolor=:black,
    markerstrokewidth=1,
    xlabel="负荷/负荷, %",
    ylabel="耗电量,g/kWh",
    grid=true,
    gridalpha=0.2,
    gridstyle=:dash,
    framestyle=:box,
    size=(800, 400),
    dpi=150,
    legend=false,
    background_color=:white
)

# 阴影面积达50%负载
vspan!(0, 50, fillalpha=0.08, linealpha=0)

# 垂直边框50 %
vline!([50], linestyle=:dash, linewidth=1)

# 文本注释
annotate!(25, maximum(g_vector)*0.95, text("燃料消耗增加的区域", 9, :black))
annotate!(52, minimum(g_vector)*1.05, text("", 8, :black))
Out[0]:

**超级电容器的可用功率取决于电荷。**在SNE模型中设置曲线,以模拟真实存储设备的特性。 该曲线可以在仿真期间在单独的辅助Engee模型中通过向超级电容器单元、锂离子电池和库中的其他可用类型的存储设备施加电压来获得。 在此示例中,不考虑获取曲线的过程,并将其导出为成品文件。

In [ ]:
plot(SOC_vector./1e6, P_vector./1e6,
    linewidth=2,
    linecolor=:black,
    markercolor=:white,
    markerstrokecolor=:black,
    markerstrokewidth=1,
    xlabel="收费, %",
    ylabel="SC、MW的可用容量",
    grid=true,
    gridalpha=0.2,
    gridstyle=:dash,
    framestyle=:box,
    size=(800, 400),
    dpi=150,
    legend=false,
    background_color=:white
)
Out[0]:

由此关系可知,可用功率非线性变化。 从这里,您可以设置从10到90%的最小和最大SNE费用。

SES容量的每日时间表。

In [ ]:
plot(t_hours_vector./3600, solar_power_pu_vector,
    linewidth=2,
    linecolor=:black,
    marker=:circle,
    markersize=5,
    markercolor=:white,
    markerstrokecolor=:black,
    markerstrokewidth=1,
    xlabel="时间,h",
    ylabel="SES容量,O.E.",
    grid=true,
    gridalpha=0.2,
    gridstyle=:dash,
    framestyle=:box,
    size=(800, 400),
    dpi=150,
    legend=false,
    background_color=:white
)
Out[0]:

DSU模型的描述

dgu.png

发动机和速度控制器的型号如下所示:

diesel_engine.png

用于计算总燃料消耗的子系统

image.png

SNE模型的描述

SNE作为电力系统一部分的广义框图如下:

sctructure_ess.png

三相双向电力电压转换器(CNV)是SNE连接方案中与电力系统的主要元件之一。 正弦脉冲宽度调制的原理主要用于控制按键。 我们在示例中考虑了详细的SNE模型。 <https://engee.com/community/ru/catalogs/projects/trekhfaznyi-invertor-s-sistemoi-upravleniia-na-kpm-ritm >和<https://engee.com/community/ru/catalogs/projects/istochnik-bespereboinogo-pitaniia >。 此外,我们还讨论了建模转换器的技术https://engee.com/community/ru/catalogs/projects/sravnenie-tekhnik-modelirovaniia-ac-dc-preobrazovatelei.

在我们的例子中,为了减少长期机电瞬变研究中的计算时间,SNE模型是在三相控制电源的基础上开发的,而不使用功率转换器和超级电容器的详细模型( 该解决方案允许您将计算步骤增加几个数量级,这反过来降低了对计算能力的要求,并且还允许您计算持续数小时的机电瞬变。

所提出的SNE模型由定向(数学基本块)和非定向(物理模型)部分组成。 定向部分是基础数学的定向块的模型,其中产生两个信号:动态负载单元的有功和无功功率。 在向物理模块传输电力信号之前,有一个减号,因此动态负载单元将起到动力源的作用。 下面是SNE模型的框图,旨在计算电力系统中的机电瞬变和研究控制算法。

ess.png

SNE模型包括以下功能块:

1. 用于设置SNE参数的块。
在此块中,设置了驱动器的主要标称参数:
-系统的总能耗W,Wh;
-SOC的初始充电水平_start​, %;

2. 根据标称值限制有功功率。
有功功率P_ref的输入值受标称值P_nom限制。 这允许您考虑到转换器设备在最大允许输出和功耗方面的限制。

3. 充电电平控制(SOC)。
该装置根据驱动器的当前电荷水平实现有功功率限制。 当达到SOC限制(最小值和最大值)时,可用的放电或充电功率会自动降低。
此外,还对超级电容器P(SOC)的特性进行了限制,该特性由表格依赖性设置,允许在低电荷水平下降低可用功率。

4. 无功功率的限制。
根据当前有功功率和额定功率检查允许的无功功率Q。 这可确保满足全部容量限制。

5. SNE响应的动力学的模型。
有功和无功功率变化的动力学通过具有给定响应时间的延迟来描述。

6. 荷电平(SOC)的计算。
根据SNE的当前有功和无功功率以及初始充电值计算充电水平。

7. 测量值的形成。
以下信号在模型的输出端生成:
-有功功率P,W;
-无功功率Q,var;
-当前SOC充电水平, %;
-驱动器的当前能耗W,W*h。

负载功率平滑的SNE控制算法

自主电力系统中频率控制的SNE控制算法执行负载浪涌/放电平滑。

control_system.png

将负载功率信号施加到加法器的输入。 接下来,通过其中一个控制通道复制此信号。 其中一个信号通过一阶的非周期性链路,在该链路中设置时间常数T,这影响负载功率从SNE到DSU的平稳传输。 在非周期链路的输出端获得平滑的负载信号。 负载信号和平滑后的负载信号相加时,得到来自SNE的所需功率的信号。 该信号可以是正的或负的。 正值对应于功率输出(放电),负值对应于功耗(充电)。

模拟结果

经验1和2。 在SNE开启和关闭的情况下,在DSU上加载和卸载0.5mw的负载。 模拟的持续时间为20秒。 算法的时间常数为1秒。

graph.png

经验3。 在SNE打开的情况下,向DSU施加0.5mw的负载. 模拟的持续时间为30秒。 该算法的时间常数为5秒。

2.png

经验4。 DSU在没有SES和没有SNE的升降机构的急剧交变负载上工作。 模拟的持续时间为1000秒。

dgu_load.png

经验5。 DSU在具有SES和SNE的升降机构的急剧交变负载上工作。 模拟的持续时间为1000秒。 在仿真过程中,SES容量从0增加到0.42MW。 SNE根据用于平滑负载功率浪涌的算法工作。

dgu_ess_solar_load.png

结论

  1. 该项目展示了用于计算机电瞬变的ASUE模型。 该模型用于计算包括DGS、SNES和SES在内的电力系统的模式、瞬态和稳定性,以及开发和测试增加电力系统可控性和可靠性的SNE控制算法。
  2. 已经开发了用于计算长期机电瞬变的简化SNE模型。
  3. 提出了sne控制的alogrithm。 基于实验No.1和No.2,可以说,使用SNE控制算法平滑负载浪涌/下降,当施加0.5mw的负载时,频率偏差从0.65hz降低到0.2hz,该算法的时间常数等于1秒。 在实验3中,当平滑算法的时间常数增加到5秒时,0.5mw处的频率偏差下降到0.05hz。 基于4号和5号实验,当ASUE在开启SES和SNE的情况下运行时,柴油燃料消耗量从19升降至18.7升,频率控制质量增加(最大偏差从1Hz下降10倍至0.1Hz)。