做双馈风力发电系统仿真的人,大多经历过这样的时刻:模型搭得很完整,参数也照着论文填的,一跑起来波形就是不对劲——直流母线电压慢慢塌掉,转子电流在额定值附近疯狂抖,有功功率跟着风速走但永远慢半拍,叶尖速比曲线根本贴不上最优值。这时候你再回头翻那篇论文,发现它对最大功率追踪算法写得云里雾里,好像什么都说了,又好像什么都没说。
这篇文章想解决的就是这件事。我会沿着“双馈发电机的基本运行逻辑 → 最大功率追踪的目标与算法选型 → 背靠背双PWM变换器的分层控制 → 仿真建模的实操参数 → 调试中的波形判读”这条链路,把DFIG加背靠背双PWM变换器控制系统里最容易被忽略、但又最决定成败的细节摊开讲。无论你现在是刚接触风电仿真的学生,还是在做并网变流器工程验证的工程师,按这条思路走一遍,应该能少走很多弯路。
1. 双馈机组为什么非要“变速恒频”:先弄懂发电链路的逻辑
1.1 从转差率公式看双馈发电机的本质
双馈异步发电机的“双馈”二字,指的是定子和转子都有能量交换。定子直接接到工频电网上,转子通过背靠背变换器接入电网。发电机转速变化时,转子励磁电流的频率跟着变,保持定子输出频率恒定在50Hz。这就是变速恒频运行的基本思想。
核心公式只有一个:
[ f_2 = s \cdot f_1 ]
其中 (f_1) 是电网频率,(s) 是转差率:
[ s = \frac{n_1 - n}{n_1} ]
(n_1) 是同步转速,(n) 是实际转子转速。当转速低于同步速时,转差率为正,转子需要从电网吸收转差功率,此时变换器工作在整流状态;当转速高于同步速时,转差率为负,转子向电网回馈转差功率,变换器工作在逆变状态。同步速附近转速为零,转子电流频率接近直流。这个“功率双向流动”的特性,决定了转子侧变换器必须是四象限运行的PWM变流器,而不是简单的二极管整流加逆变。
用个不太严谨但好理解的类比:定子和转子之间相当于一个“电子变速箱”。机械上转速可以在同步速上下约30%的范围内变化,电气上却始终以50Hz并网。传统鼠笼异步机做不到这件事,因为它转速一偏离同步速,气隙磁场频率就跟着变了,没法直接并网。
1.2 背靠背变换器在系统里扮演的角色
背靠背双PWM变换器的结构是两个电压型PWM变流器共用一个直流母线电容,中间没有任何隔离。靠近转子的一侧叫转子侧变换器(RSC),靠近电网的一侧叫网侧变换器(GSC)。
这两个变换器各管一摊事:
- RSC:控制电机的电磁转矩(有功)和无功功率,本质上是通过转子电流的d-q分量实现解耦控制。
- GSC:维持直流母线电压恒定,同时控制网侧无功功率,一般取单位功率因数,也就是让网侧电流和电压同相位。
- 直流母线电容:提供两侧瞬态功率交换的缓冲,相当于一个能量“水池”。
仿真模型里,最容易犯的错是把RSC和GSC当成两个独立的装置分别调试,最后再拼到一起。实际上直流母线两侧的功率必须实时平衡,否则母线电压要么冲到保护值,要么一路掉到零。调试时一定要先让GSC把直流母线稳住,再让RSC开始工作,顺序反了波形就乱套。
2. 最大功率追踪的几条实现路线:从公式到控制目标
2.1 风能捕获与叶尖速比:MPPT的物理基础
风力机从风中捕获的机械功率表达式是:
[ P = \frac{1}{2} \rho \pi R^2 V^3 C_p(\lambda, \beta) ]
(\rho) 是空气密度,(R) 是风轮半径,(V) 是来流风速,(C_p) 是风能利用系数。(C_p) 的理论极限是贝兹极限59.3%,实际风机的峰值通常在0.44到0.48之间。
(C_p) 不是常数,它取决于叶尖速比:
[ \lambda = \frac{\omega_{\text{rotor}} R}{V} ]
以及桨距角 (\beta)。这里 (\omega_{\text{rotor}}) 是风轮机械角速度。每个风机都存在一个最优叶尖速比 (\lambda_{\text{opt}}),在这个点运行时 (C_p) 达到最大值 (C_{p\max})。最大功率追踪的本质就是:无论风速怎么变,都通过调节发电机转速,把叶尖速比维持在最优值。
很多论文里会直接给出一个 (C_p(\lambda,\beta)) 的经验表达式,比如:
[ C_p = 0.5176 \left(\frac{116}{\lambda_i} - 0.4\beta - 5\right) e^{-\frac{21}{\lambda_i}} + 0.0068\lambda ]
[ \frac{1}{\lambda_i} = \frac{1}{\lambda + 0.08\beta} - \frac{0.035}{\beta^3 + 1} ]
这类公式是从真实风轮气动特性拟合出来的,仿真时直接用即可。我建议把 (C_p) 计算做成一个独立子系统,方便对接不同风轮模型。
2.2 常用MPPT算法对比与选型
仿真里常见的MPPT算法有三类:最优叶尖速比法、功率信号反馈法、爬山搜索法。我在下表里列一下它们的关键区别:
| 算法 | 是否需要风速 | 是否需要风轮参数 | 动态响应 | 稳态表现 | 适用场景 |
|---|---|---|---|---|---|
| 最优叶尖速比法(TSR) | 需要 | 需要 (\lambda_{\text{opt}}) | 快 | 好 | 仿真验证,有测风条件 |
| 功率信号反馈法(PSF) | 不需要 | 需要 (C_{p\max}, \lambda_{\text{opt}}) | 快 | 好 | 工程最常见,鲁棒性较好 |
| 爬山搜索法(P&O) | 不需要 | 不需要 | 慢 | 有功率振荡 | 风轮参数未知,算法研究 |
我最推荐在仿真模型里先用功率信号反馈法把整个系统跑通,再根据研究需要切换其他算法。原因很简单:PSF的参考功率曲线是一条解析公式 (P_{\text{ref}} = K \omega^3),波形容易判读,参数也直观。爬山搜索法在变速风况下容易误判,不要在起步阶段用它验证控制器。
功率信号反馈法的核心是先计算最优功率系数:
[ K_{\text{opt}} = \frac{1}{2} \rho \pi R^5 \frac{C_{p\max}}{\lambda_{\text{opt}}^3} ]
然后设参考功率为:
[ P_{\text{ref}} = K_{\text{opt}} \omega_{\text{rotor}}^3 ]
注意一个非常容易搞错的地方:如果你的控制系统用的是发电机高速轴角速度 (\omega_g),而不是风轮低速轴角速度 (\omega_{\text{rotor}}),那么中间要除以齿轮箱速比的三次方:
[ P_{\text{ref}} = \frac{1}{2} \rho \pi R^5 \frac{C_{p\max}}{(\lambda_{\text{opt}} \cdot G)^3} \omega_g^3 ]
这个系数我见太多人算错,结果就是反正功率对不上,最后怀疑是控制器问题,实际上是参考曲线就用错了。
3. 背靠背双PWM控制的核心:转子侧和网侧各管什么
3.1 转子侧变换器:定子磁链定向下的有功无功解耦
转子侧控制的目标是让电磁转矩跟随MPPT给定的参考值,同时把定子无功功率控制到目标值。工程上最常用的是定子磁链定向矢量控制,把同步旋转d-q坐标系的d轴对准定子磁链矢量方向。
在这个坐标系下,忽略定子电阻后,定子电压矢量超前磁链90度,所以 (u_{sd} \approx 0),(u_{sq} \approx U_s)。经过推导可以得到定子有功、无功功率与转子电流的关系:
[ P_s = -\frac{3}{2} U_s \frac{L_m}{L_s} i_{rq} ]
[ Q_s = \frac{3}{2} U_s \frac{\psi_s - L_m i_{rd}}{L_s} ]
也就是说,转子电流的q轴分量控制有功,d轴分量控制无功,两者解耦。对双馈电机来说,定子磁链基本恒定,所以 (i_{rq}) 和 (i_{rd}) 可以独立控制。
控制结构上,转子侧采用双闭环:外环是功率环或转矩环,内环是转子电流环。功率环的输出作为 (i_{rq}) 的参考,无功环的输出作为 (i_{rd}) 的参考。电流环的输出经过解耦补偿和坐标反变换,得到转子侧PWM的调制波。
3.2 网侧变换器:直流母线电压稳定与并网功率因数
网侧变换器的控制目标相对简单:稳住直流母线电压,同时保证网侧功率因数为1。这里用的是电网电压定向,d轴对准电网电压矢量,因此网侧有功功率只由d轴电流决定,无功功率只由q轴电流决定。
控制环路也是双闭环:外环是直流母线电压环,输出作为网侧d轴电流参考;q轴电流参考直接设0,就是单位功率因数。内环是网侧电流环,控制电感上的电流快速跟踪参考值。
有一点需要在仿真里特别注意:GSC的电流环和直流母线电压环之间存在带宽耦合。电压环带宽不能取得太高,否则直流母线电压会出现低频振荡;也不能太低,否则RSC功率突变时母线电压会掉得很深。一般电压环带宽取电流环带宽的1/5到1/10比较稳妥。
3.3 电流内环的交叉耦合与解耦补偿
转子侧和网侧的电流环都有交叉耦合项,不解耦的话,d轴和q轴电流会互相干扰,动态性能变差。以转子侧为例,转子电压方程里有两项耦合项:
[ D_{rd} = -\omega_{\text{slip}} \sigma L_r i_{rq} ]
[ D_{rq} = \omega_{\text{slip}} \left( \frac{L_m}{L_s} \psi_s + \sigma L_r i_{rd} \right) ]
其中漏磁系数:
[ \sigma = 1 - \frac{L_m^2}{L_s L_r} ]
具体实现时,用前馈把这两项加到电流环PI输出上:
[ u_{rd}^* = PI(i_{rd_ref} - i_{rd}) + D_{rd} ]
[ u_{rq}^* = PI(i_{rq_ref} - i_{rq}) + D_{rq} ]
网侧变换器也有类似的电感耦合项,处理方式相同。仿真里一定要把前馈补偿加进去,否则你会在电流波形上看到明显的d-q轴振荡,尤其是转速处于同步速附近时,转差频率很低,这个振荡看起来很像“静差”,特别容易误判。
3.4 启动时序与直流母线预充电
这部分是仿真和实物调试都比较头疼的地方。背靠背变换器直接解锁开跑,直流母线电容会瞬间被充电电流冲击,仿真里表现为母线电压过冲,实际装置里则可能烧保险。
常规做法是三步走:
- 先不触发任何IGBT,让电流通过续流二极管给直流母线电容充电到电网线电压峰值水平;
- 解锁GSC,母线电压闭环投入,把电压逐步抬升到参考值;
- 等母线稳定后,再解锁RSC,开始给转子励磁。
在仿真模型里,第一步可以用带初始电压的电容来等效,省掉预充电电阻的建模,但必须保证初始电压值跟你实际的电网电压匹配,否则启动瞬间的冲击会污染你后续所有波形分析。
4. 仿真建模实操:从风轮到变流器的参数整定
4.1 模型主体结构与参数参考
我常用的模型结构从上游到下游依次是:风轮气动模型 → 传动链两质量块模型 → DFIG电机本体 → 背靠背变换器 → 电网等效模型。
风力机和DFIG的电机参数要用同一套功率等级匹配的数据。下面这组参数是我在做2MW级仿真的时候用的参考值,来自公开文献的典型参数,你可以按自己的机组数据替换:
| 参数 | 数值 |
|---|---|
| 额定功率 | 2 MW |
| 定子额定线电压 | 690 V |
| 额定频率 | 50 Hz |
| 极对数 | 2 |
| 定子电阻 | 0.00264 Ω |
| 定子漏感 | 0.168 mH |
| 转子电阻(折算到定子侧) | 0.00286 Ω |
| 转子漏感(折算到定子侧) | 0.132 mH |
| 激磁电感 | 5.169 mH |
| 风轮半径 | 40 m |
| 齿轮箱速比 | 90 |
| 最优叶尖速比 | 8.1 |
| 最大风能利用系数 | 0.48 |
传动机组建议至少用两质量块模型:一个质量块代表风轮,一个代表发电机转子,中间用刚度系数和阻尼系数连接。单质量块模型在分析轴系扭振时会失真,尤其是风速扰动和电网故障场景下,轴系振荡会耦合到电气控制环路上。
4.2 步长、离散化与PLL初始化
电力电子模型对仿真步长非常敏感。开关模型的推荐步长是 (10^{-5}) 到 (10^{-6}) 秒,否则IGBT开关时刻的电压电流尖峰会被严重畸化。如果你用的平均模型,步长可以放宽到 (10^{-4}) 秒量级,但谐波细节就看不到了。我一般做MPPT和并网控制策略验证用平均模型,做谐波和调制策略研究才用开关模型。
还有一个特别影响波形质量的点:锁相环(PLL)的初始相位。电网电压源模型的初始相位必须与PLL输出的初始角度一致,否则启动瞬间会出现相位跳变,导致电流冲击。要是我在仿真里看到启动时网侧电流突然顶到限幅值,第一反应就是查PLL初始角。
4.3 控制器参数整定顺序与经验值
双闭环控制器的参数是有先后逻辑的,不要乱调。我的整定顺序是:
- 先整定电流内环。电流环的期望带宽一般取200~500 rad/s,用PI控制器零点去抵消对象极点,增益按 (\omega_{cc} L_{eq}) 估算,其中 (L_{eq}) 是等效电感,转子侧是 (\sigma L_r),网侧是滤波电感。
- 再整定功率外环或转速外环。带宽取电流环的1/5到1/10,通常在20~50 rad/s。
- 最后整定直流母线电压环和MPPT外环。母线电压环带宽再取功率环的1/5左右。
一组可以起步的PI参数参考值:
| 控制回路 | Kp | Ki |
|---|---|---|
| 转子电流环 | 0.3 | 15 |
| 网侧电流环 | 0.6 | 20 |
| 功率外环 | 0.02 | 0.5 |
| 直流母线电压环 | 8 | 200 |
| MPPT功率外环 | 0.01 | 0.1 |
这套参数在2MW级参考模型上基本能稳定运行。实际模型里数值有差异,但先按这个量级起步,再用阶跃响应微调,比从零开始盲调高效得多。所有外环输出都要加限幅,并且配上抗积分饱和,变量限幅和PI积分限幅要联动,这是仿真波形不抖的关键细节。
4.4 MPPT闭环的具体接通方式
光有MPPT算法模块还不够,要把MPPT输出真正“接通”到控制系统里。
如果你用功率信号反馈法,MPPT模块输出的是功率参考 (P_{\text{ref}})。这个参考值接入功率外环,功率外环输出电磁转矩参考,转矩参考再除以磁链系数变成转子q轴电流参考。链路是:
[ P_{\text{ref}} \rightarrow T_{\text{ref}} \rightarrow i_{rq_ref} \rightarrow \text{转子电流环} ]
如果你用转矩参考直接给到RSC,也可以把MPPT模块改成输出 (T_{\text{ref}} = K_{\text{opt}} \omega_{\text{rotor}}^2),少一层功率环,动态更快,但对参数计算精度要求更高。
风速仿真信号建议用阶跃加湍流叠加,不要只用恒定风速。恒定风速下MPPT根本看不出追踪能力,你只能看到一条平稳曲线,说服力很差。标准做法是给一个基础风速阶跃,再叠加湍流强度约10%的随机风分量,这样既能看动态追踪,又能看稳态抗扰动能力。
5. 调试中遇到的真实问题与波形判读
5.1 直流母线电压建立不起来:先看启动时序
这是我见过最多的问题。现象是仿真开始几百毫秒内,直流母线电压从零缓慢上升,然后稳定在一个远低于参考值的水平上,或者直接振荡崩溃。
排查顺序一般是这样:
- 先看GSC是否解锁。母线电压环没投入时,母线只有不控整流充电电压,此时解锁RSC必然失败。
- 再看PLL是否锁定。网侧电流环的d-q变换需要准确的电网电压相位,相位错了,母线电压环输出方向就反了。
- 检查母线电压环输出方向。GSC的有功功率方向是从电网流向直流母线还是反过来,符号搞反会导致正反馈,母线电压一路塌陷。
一旦出现正反馈现象,把母线电压环输出或d轴电流参考的方向反过来基本就能解决。这是最容易被忽视的“倒小坑”。
5.2 爬山搜索法在仿真里疯狂振荡:步长与采样周期不匹配
爬山搜索法的原理是把参考转速往一个方向加一个小扰动,比较扰动前后的功率变化,如果功率增加了就继续同方向,否则反向。听起来很简单,但在仿真里经常出现持续振荡。
根因有两个:一是扰动步长太大,二是采样间隔太短。步长大,每步功率变化明显,但逼近最优点的过程会在最优点两侧来回横跳;采样间隔太短,功率变化量被噪声和湍流淹没,方向判断频繁出错。
我的经验是,扰动步长取额定转矩的1%~2%,采样周期取控制周期的10到20倍。控制周期如果是一毫秒,MPPT采样就设在10到20毫秒。如果仍然有稳态振荡,在功率变化量上加一个死区,功率差小于额定值的0.5%时不动作,波形会干净很多。
5.3 从波形判断MPPT是否真正在最大功率点工作
模型调完以后,怎么证明MPPT真的在工作?我一般看三个波形:
- 叶尖速比曲线:稳定工况下应该紧紧贴在 (\lambda_{\text{opt}}) 这条水平线上。如果曲线明显偏离,说明参考转速没有跟上风速。
- 风能利用系数:(C_p) 应该稳定在 (C_{p\max}) 附近。风速突变时会有短暂凹坑,随后恢复,恢复时间在几秒到十几秒之间是正常的,这取决于传动链的惯性。
- 功率曲线:把有功功率对转速坐标画出来,应该落在最大功率曲线上,也就是 (P_{\text{ref}} = K\omega^3) 这条抛物线上。
这三个波形同时满足,基本可以判定MPPT闭环工作正常。如果检查时发现叶尖速比和目标值之间有固定偏差,不要先怀疑MPPT,优先怀疑转速测量增益或者齿轮箱速比参数用错了。这类问题我排查过不止一次,最后往往是参考值换算时少乘了一个系数。
做仿真调试,最重要的习惯是把每一个中间环节都留一个观测点。MPPT输出的参考功率、功率环输出的转矩参考、电流环的d-q电流指令、调制波的幅值,全部拉出去看波形,问题出在哪一环,一对比就清楚了。最难查的故障往往发生在两级控制器之间的饱和环节,两个控制器各自看都是对的,连起来就不对,大概率是参考值在限幅处被截断了。
这套链路我从一开始的到处翻文献,到后来形成固定的建模和调试流程,大概走了三个项目周期。现在再拿到一台新的DFIG仿真模型,不管参数怎么变,只要按照这套顺序来:先确认气动系数,再整定电流环,再接通MPPT闭环,最后用阶跃和湍流风联合验证,基本都能跑出干净的追踪波形。希望这篇梳理能帮你少走一些我走过的弯路。