第三章:风力发电机组数学模型

做风电仿真这些年,我最大的体会就是:模型决定成败。你想想看,一个风电场几十台机组,每台机组内部又是机械、电气、控制环环相扣。如果不把数学模型搞明白,仿真结果就是空中楼阁。

这一章,咱们就拆开来看。我把风力发电机组分成四个核心模块:风速模型、风力机模型、传动链模型、发电机模型。每个模块我都会结合项目经验来讲,该避的坑一个不落。

核心观点:四个模型不是孤立的。风速驱动风力机,风力机带动传动链,传动链拖着发电机转,发电机再往外送电。一个环节的误差,会像滚雪球一样放大到整个系统。

风速模型 湍流·阵风·渐变 风力机模型 Cp-λ曲线·气动转矩 传动链模型 两质量块·扭转阻尼 发电机模型 DFIG·PMSG 输入→输出关系 风速 → 气动转矩 → 机械转速 → 电磁功率 每个模型都是前一个模型的输出边界条件

3.1 风速模型:仿真的起点

风速模型是整台机组仿真的入口。说白了,你给什么风,机组就怎么动。我见过不少新手直接拿恒定风速做仿真,结果控制参数调得再好,一到现场就崩。为什么?因为真实的风是活的。

我个人习惯把风速模型拆成四个分量:

  • 基本风:长时间尺度上的平均风速,一般用威布尔分布描述。做稳态分析时,这个就够了。
  • 阵风:短时强风冲击,比如突然刮过来的一阵狂风。做电网故障穿越测试时,必须加上。
  • 渐变风:风速缓慢变化,比如从3m/s慢慢升到12m/s。这主要考验机组的变桨跟踪能力。
  • 湍流风:高频随机波动,最接近真实情况。做疲劳载荷分析时,这个不能省。

我的经验:做并网特性仿真时,至少要用湍流风+阵风的组合。我曾经只用基本风做了一次低电压穿越仿真,结果现场测试时机组直接脱网——因为实际风速波动导致桨距角响应慢了半拍。

风速模型的数学表达,我一般用这个组合形式:

V(t) = V_base + V_gust(t) + V_ramp(t) + V_turb(t)

其中:
V_base = 8.0          // 基本风速,单位m/s
V_gust(t) = A * sin(ω*t)  // 阵风,A为幅值
V_ramp(t) = k * t     // 渐变风,k为变化率
V_turb(t) = 湍流谱密度函数  // 常用Kaimal谱或von Karman谱

3.2 风力机模型:从风到机械能

风力机模型的核心就一个东西——风能利用系数Cp。Cp值决定了你能从风中捞多少能量。理论上贝茨极限是0.593,但实际工程中,好的机组也就0.45左右。

Cp是叶尖速比λ和桨距角β的函数。这个关系我建议直接用查表法,别搞复杂的解析拟合。为什么?因为真实机组的Cp曲线都是厂家实测出来的,你硬套公式反而容易出错。

叶尖速比 λ 桨距角 β=0° 桨距角 β=5° 桨距角 β=10°
4.0 0.25 0.18 0.10
6.0 0.42 0.32 0.20
8.0 0.45 0.35 0.22
10.0 0.38 0.28 0.15

气动转矩的计算公式很简单:

T_aero = 0.5 * ρ * A * V³ * Cp(λ, β) / ω_r

其中:
ρ  = 1.225 kg/m³  // 空气密度
A  = π * R²       // 风轮扫掠面积
V  = 风速          // 来自风速模型
ω_r = 风轮转速     // 来自传动链模型

注意:这里有个常见的坑——Cp曲线在低风速区和高风速区差异巨大。我曾经在调试一个2MW机组时,发现仿真功率总比实测低10%。查了三天,最后发现是Cp查表时λ算错了。叶尖速比λ = ω_r * R / V,这个R是风轮半径,不是叶片长度!

3.3 传动链模型:机械扭振的源头

传动链模型,说白了就是描述风轮和发电机之间怎么传力的。我建议用两质量块模型,一个质量块代表风轮(含低速轴),另一个代表发电机转子(含高速轴),中间用弹簧和阻尼连接。

为什么用两质量块?因为实际工程中,传动链的扭振频率通常在1-3Hz,这个频段刚好和电网的次同步振荡有交互。你想想看,如果模型太粗糙,把传动链当成刚性连接,那扭振就完全被忽略了——这在做次同步振荡分析时是致命的。

两质量块模型的微分方程:

J_r * dω_r/dt = T_aero - T_shaft
J_g * dω_g/dt = T_shaft - T_em

其中:
T_shaft = K * (θ_r - θ_g) + D * (ω_r - ω_g)

J_r:风轮转动惯量
J_g:发电机转动惯量
K:  传动链等效刚度
D:  传动链等效阻尼
θ_r, θ_g:风轮和发电机的角位移

我的习惯:参数K和D最好从厂家提供的扭振测试数据反推。如果拿不到,可以用经验公式:K ≈ (ω_n²) * (J_r * J_g)/(J_r + J_g),其中ω_n是扭振固有频率。我一般取ω_n = 2π * 1.8 rad/s。

3.4 发电机模型:电与磁的博弈

发电机模型是四个模型里最复杂的。目前主流机型就两种:双馈异步发电机(DFIG)永磁同步发电机(PMSG)。我两种都做过,说说我的感受。

DFIG模型:转子侧有滑环和变流器,定子直接并网。它的数学模型基于dq坐标系下的电压方程和磁链方程。优点是变流器容量小(只有30%左右),缺点是电刷滑环需要维护。

PMSG模型:转子是永磁体,没有滑环,全功率变流器。数学模型相对简单,因为不需要考虑励磁电流。但变流器容量是100%,成本高一些。

DFIG的电压方程(dq坐标系):

定子电压:
u_sd = R_s * i_sd + dψ_sd/dt - ω_s * ψ_sq
u_sq = R_s * i_sq + dψ_sq/dt + ω_s * ψ_sd

转子电压:
u_rd = R_r * i_rd + dψ_rd/dt - (ω_s - ω_r) * ψ_rq
u_rq = R_r * i_rq + dψ_rq/dt + (ω_s - ω_r) * ψ_rd

避坑指南:我曾经在搭建DFIG模型时,忽略了转子侧变流器的限流环节。结果仿真中电网发生三相短路,模型给出的转子电流飙到了额定值的5倍——这在现实中早就烧变流器了。记住,变流器的过流能力通常只有1.2-1.5倍,仿真时必须加限幅。

发电机输出的电磁功率:

P_em = 1.5 * (u_sd * i_sd + u_sq * i_sq)   // DFIG
P_em = 1.5 * (u_sd * i_sd + u_sq * i_sq)   // PMSG(形式相同,但参数不同)

3.5 四个模型的联立求解

模型都搭好了,怎么让它们一起跑?我建议用分步迭代法。每个仿真步长内,按这个顺序求解:

  1. 风速模型输出V(t)
  2. 风力机模型根据V(t)和当前ω_r计算T_aero
  3. 传动链模型根据T_aero和T_em更新ω_r和ω_g
  4. 发电机模型根据ω_g和电网条件计算T_em和P_em
  5. 检查收敛,不满足则回到第2步迭代

仿真步长我一般取0.001秒(1ms)。为什么?因为传动链扭振频率在2Hz左右,发电机电磁暂态在50Hz左右,1ms的步长能保证数值稳定性。步长太大,仿真会发散;步长太小,计算量又受不了。

总结一下:四个模型环环相扣,任何一个模型出问题,整个仿真就废了。风速模型给错了风,风力机算出来的转矩就是错的;传动链参数不对,发电机转速就抖得厉害;发电机模型限幅没加,仿真结果就是天方夜谭。

我建议你从最简单的模型开始——先拿恒定风速+刚性传动链+理想发电机跑通流程,再逐步加入湍流风、扭振、变流器限幅等细节。一口吃不成胖子,仿真也是。

专注资料整理