DFIG3控制3: 风机模型和最基础的MPPT
基于教程的第3部分。(第二段对比了仿真和根据模型计算的稳态值,以后再学)。
DFIM Tutorial 3 – Wind Turbine Model based on Doubly Fed Induction Generator in MATLAB-Simulink
这个教程提供的一套基本的风机模型参数,还是挺有帮助的。
风机的一些公式
记录一下风机的几个基本公式。
风机的转矩
T
t
T_t
Tt和风速
V
w
V_w
Vw的关系:
T
t
=
1
2
ρ
π
R
3
V
w
2
C
t
T_t=\frac{1}{2}\rho\pi R^3V_w^2C_t
Tt=21ρπR3Vw2Ct
风机的风能利用系数
C
p
C_p
Cp和转矩系数
C
t
C_t
Ct的关系:
C
p
(
λ
)
=
λ
C
t
(
λ
)
C_p(\lambda)=\lambda C_t(\lambda)
Cp(λ)=λCt(λ)
风机的风能利用系数
C
p
(
λ
,
β
)
C_p(\lambda,\beta)
Cp(λ,β)常用表达式:
C
p
(
λ
,
β
)
=
c
1
(
c
2
λ
i
−
c
3
β
−
c
4
β
5
−
c
6
)
e
c
7
/
λ
i
1
λ
i
=
1
λ
+
c
8
β
−
c
9
β
3
+
1
\begin{align*} C_p(\lambda,\beta)&=c_1(\frac{c_2}{\lambda_i}-c_3\beta-c_4\beta^5-c_6)e^{c_7/\lambda_i} \\ \frac{1}{\lambda_i}&=\frac{1}{\lambda+c_8\beta}-\frac{c_9}{\beta^3+1} \end{align*}
Cp(λ,β)λi1=c1(λic2−c3β−c4β5−c6)ec7/λi=λ+c8β1−β3+1c9
其中,
叶尖速比,
λ
=
R
Ω
t
V
w
\lambda=\frac{R\Omega_t}{V_w}
λ=VwRΩt
桨距角
β
\beta
β(在这个仿真中始终为0)
C1-C9是一些系数。
基于上面的公式,可以画出
C
t
C_t
Ct和
λ
\lambda
λ曲线如下图(左),可见有一个最佳的
C
t
C_t
Ct值(前提是风速在一定范围内),也就是说,当风速变化时,可以通过调节风机转速(也就是叶尖速比
λ
=
R
Ω
t
V
w
\lambda=\frac{R\Omega_t}{V_w}
λ=VwRΩt)来达到最优
C
t
C_t
Ct值,实现最大功率跟踪MPPT(条件是风速在一定范围内)。
右图表示风机输出的功率和风速的关系:
- 风速过小时,风机不转,无功率输出
- 风速适中时,通过MPPT达到当前风速的最大功率,随着风速的增大,输出功率上升
- 风速高于设定值,通过控制桨距角 β \beta β等,输出功率不再上升
MPPT
在最大功率点,
C
t
=
C
t
o
p
t
C_t=C_{topt}
Ct=Ctopt,
C
p
=
C
p
m
a
x
C_p=C_{pmax}
Cp=Cpmax,对应于最佳的叶尖速比
λ
=
λ
o
p
t
\lambda=\lambda_{opt}
λ=λopt
因此有:
T
t
o
p
t
=
1
2
ρ
π
R
3
V
w
2
C
t
o
p
t
=
1
2
ρ
π
R
3
R
2
Ω
t
2
λ
o
p
t
2
C
p
m
a
x
λ
o
p
t
=
1
2
ρ
π
R
5
C
p
m
a
x
λ
o
p
t
3
Ω
t
2
=
k
o
p
t
Ω
t
2
\begin{align*} T_{topt}&=\frac{1}{2}\rho\pi R^3V_w^2C_{topt} \\ &= \frac{1}{2}\rho\pi R^3 \frac{R^2\Omega_t^2}{\lambda_{opt}^2} \frac{C_{pmax}}{\lambda_{opt}} \\ &= \frac{1}{2}\rho\pi R^5 \frac{C_{pmax}}{\lambda_{opt}^3}\Omega_t^2 \\ &=k_{opt}\Omega_t^2 \end{align*}
Ttopt=21ρπR3Vw2Ctopt=21ρπR3λopt2R2Ωt2λoptCpmax=21ρπR5λopt3CpmaxΩt2=koptΩt2
而这个系数可以直接计算得到(其中
λ
o
p
t
\lambda_{opt}
λopt和
C
p
m
a
x
C_{pmax}
Cpmax通过实际测量获取):
k
o
p
t
=
1
2
ρ
π
R
5
C
p
m
a
x
λ
o
p
t
3
k_{opt}=\frac{1}{2}\rho\pi R^5 \frac{C_{pmax}}{\lambda_{opt}^3}
kopt=21ρπR5λopt3Cpmax
间接转速控制,就是根据风机转速,直接计算最优的转矩,然后换算后得到DFIG的q轴电流参考值,然后去控制DFIG的电流:
Ω
t
→
T
t
o
p
t
→
i
q
\Omega_t \rightarrow T_{topt} \rightarrow i_q
Ωt→Ttopt→iq
如下图:
变速箱
风机(低速,高转矩)<—变速箱1:N—>DFIG(高速,低转矩)
这个仿真中,N=100。
DFIG(下标m)和风机(下标t)的转速和转矩关系:
ω
m
=
N
Ω
t
T
m
=
1
N
T
t
\begin{align*} \omega_m &= N\Omega_t \\ T_m &= \frac{1}{N} T_t \end{align*}
ωmTm=NΩt=N1Tt
这和后面的一些计算有关。
仿真模型
顶层
- 转速由MPPT控制,所以转速PI控制不再生效
- 新增风机和变速器模型,输入风速和DFIG转速omega_m,输出DFIG的转矩Tm。(上一个仿真中,转矩Tm是常数)
风机模型
- 计算 λ \lambda λ
- 提供 C t − λ C_t-\lambda Ct−λ关系,使用查找表和插值法,输入 λ \lambda λ,输出 C t C_t Ct
- 根据上文的公式,计算风机的转矩和DFIG的转矩。
控制器
- damping,Dt_m,影响很小,仿真中没添加。
- 其实就是上文的
k
o
p
t
k_{opt}
kopt相关公式,注意变速箱对转速和转矩的影响。
控制系统中,除了不使用速度PI控制,其他不变。
仿真结果
和视频一样,选两个风速做仿真。
根据功率的公式, P = T e ω m P=T_e\omega_m P=Teωm
- 风速7m/s,转速约120rad/s,转矩约4250N・m,功率约0.5MW
- 风速8.5m/s,转速约145rad/s,转矩约6250N・m,功率约0.91MW
与之前的功率-风速曲线对应,说明的确基本实现了MPPT:
初始化代码
基于上一个仿真,新增了风机部分,初始化代码如下:
clear
% DFIG parameters -> Rotor parameters referred to the stator side
f = 50; % Stator frequency (Hz)
Ps = 2e6; % Rated stator power (W)
n = 1500; % Rated rotational speed (rev/min)
Vs = 690; % Rated stator voltage (V)
Is = 1760; % Rated stator current (A)
Tem = 12732; % Rated torque (N.m)
p=2; % Pole pair
u = 1/3; % Stator/rotor turns ratio
Vr = 2070; % Rated rotor voltage (non-reached) (V)
smax = 1/3; % Maximum slip
Vr_stator = (Vr*smax) *u; % Rated rotor voltage referred to stator (V)
Rs = 2.6e-3; % Stator resistance(ohm)
Lsi = 0.087e-3; % Leakage inductance (stator & rotor) (H)
Lm = 2.5e-3; % Magnetizing inductance (H)
Rr = 2.9e-3; % Rotor resistance referred to stator (ohm)
Ls = Lm + Lsi; % Stator inductance (H)
Lr = Lm + Lsi; % Rotor inductance (H)
Vbus = Vr_stator*sqrt(2); % DC de bus voltge referred to stator (V)
sigma = 1-Lm^2/(Ls*Lr);
Fs = Vs*sqrt(2/3)/(2*pi*f); % Stator Flux (aprox.) (Wb)
J = 127/2; % Inertia, originally 127, reduced by 2 to make the response faster
D = 1e-3; %damping
fsw = 4e3;
Ts = 1/fsw/50;
kT = -1.5*p*(Lm/Ls)*Fs; % kT, coef of output of the speed controller
tau_i = (sigma*Lr)/Rr;
tau_n = 0.05;
wni = 100*(1/tau_i);
wnn = 1/tau_n;
kp_id = (2*wni*sigma*Lr)-Rr;
kp_iq = kp_id;
ki_id = (wni^2)*Lr*sigma;
ki_iq = ki_id;
kp_n = (2*wnn*J)/p; %kp_n = (2*wnn*J)/p;
ki_n = (wnn^2)*J/p; %ki_n = (wnn^2)*J/p;
% Three blade wind turbine mode
N = 100; % Gearbox ratio
Radio= 42; % blade radius
ro= 1.225; % Air density
% Cp and Ct curves
beta=0; % Pitch angle
ind2=1;
for lambda=0.1:0.01:11.8
lambdai(ind2)= (1./((1./(lambda-0.02.*beta) + (0.003./ (beta^3+1)))));
Cp(ind2)=0.73*(151./lambdai(ind2) - 0.58*beta - 0.002.*beta^2.14-13.2).*(exp(-18.4./lambdai (ind2)));
Ct(ind2)=Cp(ind2)/lambda;
ind2=ind2+1;
end
tab_lambda=[0.1:0.01:11.8];
% Kopt for MPPT
Cp_max = 0.44;
lambda_opt = 7.2;
Kopt = ((0.5*ro*pi* (Radio^5) *Cp_max)/(lambda_opt^3));
% Power curve in fucntion of wind speed
P = 1.0e+06 *[0,0,0,0,0,0,0,0.0472,0.1097,0.1815,0.2568,0.3418, ...
0.4437,0.5642, 0.7046, 0.8667,1.0518,1.2616, 1.4976, 1.7613,2.0534,...
2.3513,2.4024,2.4024,2.4024, 2.4024,2.4024,2.4024];
V = [0.0000,0.5556,1.1111,1.6667,2.2222,2.7778,3.3333,3.8889, 4.4444,...
5.0000,5.5556,6.1111,6.6667,7.2222,7.7778,8.3333,8.8889,9.4444, ...
10.0000,10.5556,11.1111, 11.6667,12.2222,12.7778,13.3333, 13.8889,...
14.4444,15.0000];
figure
subplot(1,2,1)
plot(tab_lambda, Ct, 'linewidth',1.5)
xlabel('\lambda', 'fontsize',14)
ylabel('Ct', 'fontsize',14)
subplot(1,2,2)
plot (V, P, 'linewidth', 1.5)
grid
xlabel('Wind speed (m/s)', 'fontsize',14)
ylabel('Power (W)', 'fontsize',14)
一些问题
- 对于风机,暂时只了解了这几个公式
- 这个MPPT是直接用公式算了一下理论的最佳转矩。还是要再看下相关的公式和模型。和其他的MPPT策略。