DFIG控制1:转子侧变换器控制

双馈发电机控制1:转子侧变换器控制
软件版本:MATLAB Simulink R2022b
参考资料:

  1. DFIM Tutorial 1 - Implementation and Control of a DFIM in Matlab-Simulink
  2. H. Abu-Rub, M. Malinowski, and K. Al-Haddad, Power Electronics for Renewable Energy Systems, Transportation and Industrial Applications. John Wiley & Sons, 2014.
  3. G. Abad, J. Lopez, M. Rodriguez, L. Marroyo, and G. Iwanski, Doubly Fed Induction Machine: Modeling and Control for Wind Energy Generation. John Wiley & Sons, 2011.

最近需要学一下风机。书看不下去,正好有这个教程,先搭个仿真试试。双馈异步发电机DFIG常用于风力发电,学一下最基本的控制方法。

这是照着上面这个教程搭的仿真模型。主要是介绍整个仿真模型和一些觉得值得记录的地方。大部分按照视频操作,少部分按照自己的想法做了一点调整,最后仿真结果是相同的。
第一部分,转子侧变换器的控制。

主电路和顶层

DFIG系统主电路如下。第一部分中只看Rotor-side VSC,所以把Vbus用直流源代替,删掉Grid-side VSC。

仿真的顶层,包括:

  1. 主电路,只有转子侧变换器RSC和恒定的直流母线电压
  2. 控制器。控制器的输入量都加了一阶保持器。
  3. 电机模型,普通的异步电机。恒定转矩输入(仿真期间可以暂停,改值,再继续,看暂态波形)
  4. 示波器,观察关键波形。这里from模块对应的goto模块设为global,就可以从任意位置连出来,还挺方便。

三相电源,接在定子。

三相测量模块,这是定子侧,测量电网电压Vs和电流Is。
这里 use a label,就可以直接用同名的from模块连到示波器,也挺方便。

Universal bridge,三相两电平变换器。

电机模块

对电机的测量,电机模型输出很多信号,使用bus selector 选了其中几个。

PWM调制模块,输入调制波幅值范围[-1,1],输出PWM信号,频率为fsw。——以前习惯自己搭,这个其实也挺好用的。

控制部分

输入:

  1. 转速参考,给一个定值
  2. d轴电流参考,设置为0
  3. 转子电流Ir
  4. 定子电压Vs
  5. 电机的机械角度theta
  6. 电机机械角速度omega_m (其实就是theta的微分)

输出:三相两电平变换器的调制信号Vabc_ref

控制策略

参考下图的控制策略,打叉的部分不使用,也就是无功功率不可调节。
所以最终是3个PI控制器:

  1. 速度外环speed PI
  2. d轴电流环id PI,不调节无功功率,只设置idr=0
  3. q轴电流环iq PI

其他模块包括:

  1. 坐标变换,abc-αβ0-dq(这个图里面是叫做abc-DQ-dq,感觉怪怪的,是电机相关的都用这个标注吗?)
  2. 角度计算,仿真中用了最基本的方法实现。
  3. dq解耦,其实就是基于电机的模型,给id和iq控制器的输出加上了一点东西

仿真模型

对应控制策略,仿真模型如下。
坐标变换都用了matlab function(在R2022b中不推荐用视频教程中的Fcn模块)——不过应该也有现成的模块能用。

PI控制器

主要就是注意PI输出的限幅。

speed PI

id PI

iq PI

坐标变换

见后面的代码。

角度计算

参考下面这个框图,用atan2直接计算角度,而不使用PLL。

dq解耦

其实就是控制策略图中的两个公式,用模块搭的。

仿真波形

改了下转速和转矩的参考值,验证了几个控制器正常工作。
实际应用不会采用这样控制,没有做软启动,暂态电流太大。
(右上角的V stator比例不对,因为之前电压测量模块设置错了,实际幅值应该是略小于600V (线电压690V,换算得到相电压幅值 690/sqrt(3)*sqrt(2)=563V,懒得重做了。。)

涉及的代码

初始化

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; % Inertia
D = 1e-3;

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;

abc-αβ0

function ab0 = abc_to_ab0(abc)
ab0 = zeros(2,1);
ab0(1) = 2/3 * (abc(1) - abc(2)/2 - abc(3)/2);
ab0(2) = 2/3 * ( (sqrt(3)/2)*abc(2) - (sqrt(3)/2)*abc(3));
end

αβ0-dq

function dq = ab0_to_dq(ab0, theta)
dq = zeros(2,1);
dq(1) = cos(theta)*ab0(1) + sin(theta)*ab0(2);
dq(2) = -sin(theta)*ab0(1) + cos(theta)*ab0(2);
end

dq-αβ0

function ab0 = dq_to_ab0(dq, theta)
ab0 = zeros(2,1);
ab0(1) = dq(1) * cos(theta) - dq(2) * sin(theta);
ab0(2) = dq(1) * sin(theta) + dq(2) * cos(theta);
end

αβ0-abc

function abc = ab0_to_abc(ab0)
abc = zeros(3,1);
abc(1) = ab0(1);
abc(2) = -1/2 * ab0(1) + sqrt(3)/2 * ab0(2);
abc(3) = -1/2 * ab0(1) - sqrt(3)/2 * ab0(2);
end

剩余的一些问题

目前还有一些没理解的地方,感觉现在可以去看书了。

  1. 双馈电机的模型和dq解耦原理
  2. 角度计算模块的原理
  3. 各个PI控制器参数选择
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值