第一章 风电机组数学模型

做风电控制这么多年,我最大的体会是:数学模型是控制算法的灵魂。你想想看,如果连被控对象长什么样都不清楚,那控制策略再花哨也是空中楼阁。这一章,我们就来拆解风电机组的四大核心模型。

1.1 空气动力学模型

空气动力学模型,说白了就是描述「风怎么推动叶片转」的数学关系。我个人习惯从最经典的叶素动量理论(BEM)入手。

核心公式

风轮捕获的机械功率为:

P = 0.5 * ρ * A * v³ * Cp(λ, β)

其中:

  • ρ — 空气密度(kg/m³),随海拔和温度变化
  • A — 风轮扫掠面积(m²)
  • v — 来流风速(m/s)
  • Cp — 风能利用系数,是叶尖速比λ和桨距角β的函数

关键点:Cp(λ, β) 是空气动力学模型的核心。它有一个理论最大值——贝茨极限 0.593。实际工程中,好的机组能到 0.48~0.52 就不错了。

叶尖速比 λ 的定义:

λ = ω * R / v

ω 是风轮转速,R 是风轮半径。这个比值决定了叶片的气动效率。

我在项目中踩过的坑

我曾经在调试一台 2MW 机组时,发现 Cp 曲线怎么都对不上实测功率。查了三天,最后发现是空气密度用了标准海平面值——那台机组装在海拔 3000 米的高原上,密度差了 30%!从那以后,我每次做模型都会先确认现场海拔和气温。

工程小技巧:实际项目中,Cp(λ, β) 通常用查表法或多项式拟合。我建议用 5 阶多项式,精度够且计算量小。

1.2 传动系统模型

传动系统连接着风轮和发电机。它把低速大扭矩变成高速小扭矩。嗯,这里要注意:传动系统的柔性是控制中必须考虑的。

两质量块模型

最常用的简化模型:

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

其中:

  • J_r — 风轮转动惯量
  • J_g — 发电机转动惯量
  • N — 齿轮箱变比
  • T_shaft — 传动轴扭矩,包含弹性阻尼

避坑指南:我曾经遇到过把传动系统当成刚性模型来做控制,结果在湍流风下出现了严重的扭振。后来加了轴阻尼补偿才解决。记住:传动轴的扭转模态通常在 1~3 Hz,控制带宽要避开这个区间。

1.3 发电机模型

现在主流是双馈异步发电机(DFIG)和永磁同步发电机(PMSG)。我重点讲 DFIG,因为它的控制更复杂,也更有意思。

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

看着复杂?其实核心就一句话:通过控制转子电压,就能控制定子有功和无功

参数 含义 典型值
R_s, R_r 定子、转子电阻 0.01~0.05 pu
L_s, L_r 定子、转子电感 0.1~0.3 pu
L_m 互感 2~4 pu

个人经验:发电机参数辨识是门手艺活。我习惯用离线测试加在线校正。离线测电阻电感,在线用递推最小二乘法修正。别完全相信厂家给的参数,我吃过亏。

1.4 变桨距系统模型

变桨系统是控制叶片角度的执行机构。它响应慢、有死区、还有限位——这些在控制设计时都得考虑进去。

一阶惯性模型

工程上常用:

dβ/dt = (β_ref - β) / τ

τ 是时间常数,通常 0.2~0.5 秒。但实际还有:

  • 死区:±0.3° 以内不响应
  • 速率限制:通常 5~10°/s
  • 行程限位:0°~90°

我建议:做变桨控制时,一定要把速率限制和死区建模进去。否则仿真跑得挺好,一上机就抖。我曾经在仿真里忽略了死区,结果现场变桨电机频繁启停,烧了两个驱动器才找到原因。

知识体系总览

下面这张图是我自己梳理的模型关系,你看一眼就能明白各模块怎么连:

风速 v 空气动力学模型 Cp(λ, β) → T_aero 传动系统模型 两质量块 + 轴阻尼 发电机模型 DFIG / PMSG 变桨距系统模型 β_ref → β 功率输出 P β 反馈 图例: 输入 气动模型 传动模型 发电机模型 变桨模型 输出

从图里你能看到:风速进入气动模型算出扭矩,扭矩经过传动系统传到发电机,发电机输出功率。同时变桨系统根据控制指令调整桨距角,反过来影响气动模型——这就是一个完整的闭环。

总结一下:这四个模型不是孤立的。气动模型是源头,传动系统是桥梁,发电机是执行端,变桨系统是调节手段。做控制算法时,必须把它们当成一个整体来考虑。我个人习惯先做单体模型验证,再做联调仿真——这样出问题好定位。

专注资料整理