微电网仿真-光伏系统

一、光储微电网系统架构

微电网常用matlab simulink仿真模块:Simscape->Electrical->Speclialized Power Systems->Sensors Measurements(目录下)

示例图片

二、光伏电池模型搭建

参考文献:光伏微电网混合储能系统控制策略研究_唐国强.pdf(根据原理公式搭建)

1、光伏电池拓扑图

示例图片

2、光伏电池搭建流程

  1. 设置模型采样模式(离散)和采样步长(默认)
示例图片
  1. 新建一个子系统,设置输入端口为光照S和温度T,删除输出端口
示例图片
  1. 新建一个受控电流源,表示光伏的电流输出,设置模式为DC,参数默认
示例图片
  1. 新建一个表达式模块,表示受控的信号,它是光伏建模的表达式,将会作为受控电流源的输入

    光伏建模表达式为:

示例图片 示例图片
  1. 新建一个母线信号,设置参数为5,它将作为表达式模块的5个输入
示例图片
  1. 然后按照参考文献的修正公式逐步搭建模块

    (1)修正方案

    其中:开路电压Uoc,短路电流Isc,最大功率时电压Um,最大功率时电流Im

示例图片

(2)各项参数的设定值

示例图片
  1. 首先搭建
示例图片

新建一个add模块(表示加减法,将其符号列表设置为+-)+一个constants模块(表示常量tref,将其常量值设置为25),用dt表示deta t

示例图片
  1. 接下来搭建
示例图片

(1)新建一个div模块(表示乘除法)+一个constant常量模块(表示常量Sref,将其常量值设置为1000)

(2)在新建一个ada模块(表示加减法)+一个constant常量模块(表示常量1)

示例图片
  1. 接下来搭建
示例图片

(1)新建一个三输入的Product模块(表示乘法)+两个constant模块(表示Isc和S/Sref输入)

(2)新建一个Product模块(表示乘法)+一个constant模块(表示a)

(3)一个constant模块(表示1),然后作为Product输入

示例图片
  1. 接下来搭建
示例图片

其中,新建一个ln模块,一个constant模块(参数为exp(1))

示例图片
  1. 接下来搭建
示例图片 示例图片
  1. 接下来搭建
示例图片 示例图片
  1. 接下来搭建,这里面的Um等参数都要用对应修正后的参数
示例图片 示例图片
  1. 接下来搭建(先除后乘需要注意,直接拆成两个除即可
示例图片
  1. 然后搭建输入U

    (1)新建两个Connection Port(外端口)+一个Voltage Measurement(测量电压作用,测量值作为fcn的输入)

    (2)加一个delay模块(信号延迟,形成了闭环回路)

示例图片
  1. 最后搭建(先除后乘需要注意)

    fn模块的表达式为:u(1)×(1-u(2)×(exp(u(3)/u(4)/u(5))-1))

示例图片
  1. 调整走线布局
示例图片
  1. 设置光伏电池的参数

(1)右键Subsystem模块创建封装

示例图片

(2)点击编辑,新建四个参数,然后保存

示例图片

(3)双击Subsystem模块,就可以看到封装的四个参数

示例图片

(4)新建一个pv array模块,将四个参数输入Subsystem模块中

示例图片
  1. 至此,光伏电池模型已经搭建好

三、光伏发电系统的特性仿真分析

参考文献:微电网接入配电网协同优化控制研究_蔡晓钦.pdf

采用控制变量法对于理想条件下的光伏阵列进行模拟分析,通过改变光照强度或温度的方式,保证另一条件不变的方式分析该种因素对光伏系统的影响,由此得到不同条件下的P—U及I—U输出特性曲线

1、特性分析拓扑图

示例图片

(2Ramp模块:是为了提供一个阶跃信号,用于模拟光照强度随时间的变化或其他变量的变化,设定参数为40/0.05(Uoc=36.4,仿真时间为0.05s)

(3)To Workspace模块:将V、P和I变量保存至工作区,设定保存格式为数组,同时将二维信号另存为二维数组

(4)Controlled Voltage Source:受控电压源,其输出电压取决于输入信号

(5)Diode:二极管模块,可能用于保护电路或限制电流方向

(6)仿真时间:0.05s

2、光照强度变化

在恒温 25°C下,光照强度为 1000W/m2、800W/m2、600W/m2 的顺序转换下,查看光伏电池的输出特征转换曲线。

注意:由于光伏输出的电流I到了一定阶段会出现异常,因此画图前需要将这部分数据做处理

未处理前的P—U曲线:

示例图片

做处理后

(1)光照变化P-U曲线

示例图片

(2)光照变化I-U曲线

示例图片

(3)实现代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
for S=600:200:1000
T=25;
out=sim("Pv_Battery.slx")
% 找到第一个功率值小于0的索引
idx = find(out.P1 < 0, 1, 'first');

if ~isempty(idx)
% 将该索引及其之后的所有元素设为0
out.P1(idx:end) = 0;
out.I1(idx:end) = 0;
end

figure(1)
plot(out.V1,out.P1,'DisplayName',['S=',num2str(S)])
hold on
axis([0 50 -10 400])
xlabel("U/V")
ylabel("P/W")
title("光照变化P-U曲线")
legend
print(gcf, '-djpeg', 'S_P_U_Curve.jpg') % 保存为 JPEG

figure(2)
plot(out.V1,out.I1,'DisplayName',['S=',num2str(S)])
hold on
axis([0 50 -1 20])
xlabel("U/V")
ylabel("I/A")
title("光照变化I-U曲线")
legend
print(gcf, '-djpeg', 'S_P_I_Curve.jpg') % 保存为 JPEG

end

3、温度变化

(1)温度变化P-U曲线

示例图片

(2)温度变化I-U曲线

示例图片

(3)实现代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
for T=10:10:40 %从10开始增长到40,每次增量为10
S=1000;
out=sim("Pv_Battery.slx")
% 找到第一个功率值小于0的索引
idx = find(out.P1 < 0, 1, 'first');

if ~isempty(idx)
% 将该索引及其之后的所有元素设为0
out.P1(idx:end) = 0;
out.I1(idx:end) = 0;
end

figure(3)
plot(out.V1,out.P1,'DisplayName',['T=',num2str(T)])
hold on
axis([0 50 -10 400])
xlabel("U/V")
ylabel("P/W")
title("温度变化P-U曲线")
legend
print(gcf, '-djpeg', 'T_P_U_Curve.jpg') % 保存为 JPEG

figure(4)
plot(out.V1,out.I1,'DisplayName',['T=',num2str(T)])
hold on
axis([0 50 -1 20])
xlabel("U/V")
ylabel("I/A")
title("温度变化I-U曲线")
legend
print(gcf, '-djpeg', 'T_P_I_Curve.jpg') % 保存为 JPEG

end

四、boost电路搭建

参考文献:直流微电网多状态运行控制策略研究—张忆然.pdf

光伏PV电池板中,boost电路被用作MPPT控制

示例图片

1、开环boost电路搭建

1.1、开环boost电路拓扑图

开环Boost电路又称为升压斩波电路(Boost Chopper),没有反馈机制(没有电压或者电流反馈,控制器不会根据输出电压的变化来调整开关的占空比),稳定性差不能实现精确的输出电压调节

IGBT模块:脉冲宽度为0.3,则IGBT的导通为0.3ms,关断时间为0.7ms(上升沿导通,下降沿关闭)

电路工作原理(PWM为0.5)

  • IGBT的断开和闭合状态:IGBT在上升沿阶段处于闭合状态(开关导通),IGBT在下降沿阶段处于断开状态(开关断开)

  • 电路充电:IGBT处于闭合时,电感L处于充电状态,此时电容为负载供电

示例图片
  • 电路放电:IGBT处于断开时,电感L处于放电阶段,此时直流电源和电感同时为负载充电
示例图片
工作模式 负载工作状态 能量流动方向
工作模式 1 吸收能量 光伏单元→电感,电容→负载
工作模式 2 吸收能量 电感和电感→电容和负载
示例图片
1.2、搭建流程

1、新建一个pv array模块+两个constant模块(一个光照设定1000W/m2,一个温度设定25℃)

2、新建一个Series RLC Branch模块(可以动态调节RLC的组合或者单个器件),搭建时都为默认参数,R=1,C=1e-6,L=1e-3

3、新建一个IGBT模块(控制和放大电力)+diode模块(控制、保护和转换电路,具有单向导电性质)

4、新建一个Pulse Generator模块(模拟开关动作,决定IGBT何时导通和关断),参数设定为:周期为1/100,脉冲宽度(周期百分比):50(这里的D就是脉冲宽度,所以升压以后就是100*2=200V)

示例图片

5、仿真时间:2s

1.3、参数微调

目的:确认开环boost电路的电容和电感参数)

(1)默认参数下,负载电压波形

示例图片

(2)纹波过大,增大与负载并联的电容C的值:1e-1

示例图片

(3)出现以上现象说明,IGDT开关频率过小,采样数过少,增加Pulse Generator模块的周期为:1/1e3

示例图片

(4)出现升压的时候,波形存在一定的波动,增大电路中的电感L为:1e-1

示例图片

(5)如果构图过慢,可以提升powergui的采样方式:Discrete和continuous都可以

2、双闭环Boost电路搭建

特性+目的:电压电流双反馈+PWM产生脉冲宽度为50%的周波

2.1、双闭环boost电路拓扑图
示例图片
2.2、搭建流程

1、设定值200与电压的反馈值相减作为PID的输入,再将其与电流的反馈值相减作为PID的输入,然后将其输入PWM generator输出方波(理想状况下输入PWM generator的数值为0.5)

2、通过调节两个PID控制器的参数,使输入PWM generator的数值为0.5(通过第二个示波器观看)

五、MPPT原理和控制方法

1、MPPT原理

  • MPPT,即MaximumPowerPointTracking的简称,中文为“最大功率点跟踪”,它是指逆变器根据外界不同的环境温度、光照强度等特性来调节光伏阵列的输出功率,使得光伏阵列始终输出最大功率
  • 光伏电池阵列与负载通过DC/DC电路连接,最大功率跟踪装置不断检测光伏阵列的电流电压变化(实时控制),并根据其变化对DC/DC变换器的PWM驱动信号占空比进行调节
示例图片

2、恒压跟踪法CVT

2.1、原理

基于一个经验性的观察:在大多数情况下,光伏板的最大功率点对应的电压大约为开路电压𝑉oc的0.7到0.8倍左。因此,在使用恒压法进行MPPT控制时,可以将光伏板的工作电压设定为一个固定值,这个值通常为0.7×𝑉𝑜𝑐 至0.8×𝑉𝑜𝑐,从而使得光伏板尽可能地工作在最大功率点附近(光伏板的电流基本上一直处于不变的状态)

2.2、光强变化实验
2.2.1、拓扑图

实验目的:在0.5s的时候,光强从1000降到250,查看端电压是否能够稳定在给定值

示例图片
2.2.2、搭建流程

搭建参数:

仿真时间:1s

元件 电感L RC串联支路 RC并联电路 负载R
参数 L=1e-2 c=1e-4,R=0.01(内阻) C=1e-3 R=200

(1)开环boost电路,先调整L和C使得负载R的输出电压平衡稳定

示例图片

(2)根据系统光伏板的参数,得知最大功率的电压为290V

示例图片

(3)当PWM Generator(DC-DC)的脉冲宽度输入从0.2升至0.5时,负载端的电压变小了(R=2Ω—>200Ω),因此负载电压与脉宽成反比(给定值290V为差值)

示例图片

(4)将输出电压U与给定值290V做差,输入PID控制器中,再将其输出输入PWM Generator中,作为IGBT的输入

其中,PID的参数设置为

示例图片 示例图片
2.2.3、总结与分析

当光强发生变化的时候,端电压始终能维持在290V

示例图片
2.3、光强和给定电压都变化

实验目的:在0.5s的时候,光强和给定电压都发生变化,查看电路的端电压是否能够与给定值保持一致

2.3.1、拓扑图
示例图片
2.3.2、结果图

在0.5s的时候,光强和给定电压都发生变化,查看电路的端电压能够与给定值保持一致

示例图片

3、扰动观察法P&O

3.1、原理

计算当前功率(光伏的电压和电流)与最大功率的差值,Pc<Pm则需要增加负载工作端电压,Pc>Pm则需要减小负载工作端电压

分析功率的时候,还需要考虑I的大小,所以P(k-1)>P(k)时,此时还不能确定采样点是否位于最大功率点的左侧还是右侧

功率比较

  • 比较当前功率 P(k)与上一时刻功率 P(k−1):

    • **情况 1:P(k)=P(k−1)**:系统已达到稳态,参考电压 Uref 不变

    • **情况 2:P(k)>P(k−1)**:表示功率增加,说明系统接近最大功率点。此时根据电压的扰动方向调整:

      • 如果 U(k)>U(k−1),说明增加电压使功率增加,因此继续增加电压:
示例图片
  • 如果 U(k)<U(k−1),说明减小电压使功率增加,因此继续减小电压:
示例图片
  • **情况 3:P(k)<P(k−1)**:表示功率减小,说明系统远离最大功率点。此时改变电压的扰动方向:

    • 如果 U(k)>U(k−1),说明增加电压使功率减小,因此应减小电压:
示例图片
  • 如果 U(k)<U(k−1),说明减小电压使功率减小,因此应增加电压:
示例图片 示例图片
3.2、拓扑图

PQ控制算法模块还可以用matlab function搭建

主电路模块

示例图片

PQ控制算法模块:这个模块搭建的流程是按照dp/du=0搭建的

示例图片

搭建逻辑:先判断dp是否为0,接着判断dp.dv是否为0

仿真时间:1s

元件 电感L RC串联支路 RC并联电路 负载R
参数 L=1e-3 c=1e-3,R=0.01(内阻) C=1e-3 R=2
示例图片
3.3、搭建流程

(1)memory模块:记忆模块,默认保存上一个功率点(也可以设定默认值)

示例图片

(2)switch模块:切换模块,条件判断(根据输入的情况改变输出分支)

示例图片 示例图片

(3)Saturation模块:限幅模块,规定占空比输出的上下限

示例图片 示例图片
3.4、总结与分析

0.5s时,光照强度从1000降为500的时候,光伏电池的输出电压和功率与光伏特性曲线一致

(1)光伏特性曲线

1000Kw/m2:最大功率为213.15✖40✖10

示例图片

(2)光伏电池端电压变化

示例图片

(3)光伏电池输出功率变化

示例图片

4、电导增量法INC

4.1、原理

最大功率处,功率P 对电压 𝑈 的导数为零===>电导增量法的控制目标是使电导增量 𝑑𝐺等于电导 𝐺的负值

示例图片

电导增量法通常会先判断 ΔV=0和 ΔI=0原因:
1、避免计算分母为零的情况

如果直接计算 ΔI/ΔV,而 ΔV=0,则会导致分母为零,产生数学错(除零异常)。通过先判断 ΔV=0,可以提前排除这种情况,并直接处理

如果 ΔV=0:

  • 若 ΔI=0,说明系统已经处于稳态(功率未变化)
  • 若 ΔI≠0,则判断功率变化趋势而不必计算电导比

2、简化不必要的计算

  • 在光伏系统的运行中,如果 ΔV=0,直接计算 I+ΔI/ΔV⋅VI 是多余的,因为已经知道分母为零,无法得出有意义的结果
  • 通过单独判断 ΔV=0 和 ΔI=0,可以快速得出系统是否处于稳态,减少不必要的计算量

判断条件

  • 第一步:ΔV=0
    如果电压增量为零:
    • 如果 ΔI=0,说明工作点已达到最大功率点,不需要调整参考电压
    • 如果 ΔI>0,表示功率增加,需要提高 Vref
    • 如果 ΔI<0,表示功率减小,需要降低 Vref
  • 第二步:电导比判断
    如果 ΔV≠0,计算增量电导比 ΔI/ΔV与当前电流电压比 −I/V 比较:
    • 如果 I+ΔV/ΔI⋅V=0,说明当前已在最大功率点
    • 如果 I+ΔV/ΔI⋅V>0,说明工作点在最大功率点左侧,需要提高 Vref
    • 如果 I+ΔV/ΔI⋅V<0,说明工作点在最大功率点右侧,需要降低 Vref

调整参考电压 根据判断结果,动态调节参考电压 Vref,使系统不断逼近最大功率点。

示例图片
4.2、拓扑图

电路参数

仿真时间:1s

元件 电感L RC串联支路 RC并联电路 负载R
参数 L=1e-3 c=1e-3,R=0.01(内阻) C=1e-3 R=2

主电路模块

示例图片

INT模块:

示例图片
4.3、搭建流程

将P&Q模块更改为INT

4.4、结论与分析

0.5s时,光照强度从1000降为500的时候,光伏电池的输出电压和功率与光伏特性曲线一致

(1)光伏特性曲线

1000Kw/m2:最大功率为213.15✖40✖10

示例图片

(2)光伏电池端电压变化

示例图片

(3)光伏电池2输出功率变化

示例图片

5、光伏多峰功率曲线

多个光伏板的特性探讨曲线

6、PID控制

P:比例控制,调节响应速度

I:积分控制,调节精度

D:微分控制,调节稳定性

情形:开车的时候想要将车速稳定在100的时候

1、车速过慢,我们想要快速响应车速的提升,就增加P

![d93b3778c057f2c80e9515cec7b4ef9](C:\Users\lenovo\Documents\WeChat Files\wxid_l19w4rhr0mmv21\FileStorage\Temp\d93b3778c057f2c80e9515cec7b4ef9.jpg)

2、快速提速容易导致车速波动过大,这时候我们就需要增加D

![5973c9233c145c713f1a58fd475ae10](C:\Users\lenovo\Documents\WeChat Files\wxid_l19w4rhr0mmv21\FileStorage\Temp\5973c9233c145c713f1a58fd475ae10.jpg)

3、设定速度与实际速度是有偏差的,当实际速度大于设定速度,我们就减小I

![5fee45e0d1d5c8e17515707561655d1](C:\Users\lenovo\Documents\WeChat Files\wxid_l19w4rhr0mmv21\FileStorage\Temp\5fee45e0d1d5c8e17515707561655d1.jpg)