做风电控制的人,早晚都要跟变桨过不去。风机一过额定风速,桨距角就是唯一能跟功率较劲的执行手段。但同样是变桨,“三片桨叶一起转”和“三片桨叶各转各的”完全是两个工程思路:前者叫统一变桨(Collective Pitch Control,CPC),后者叫独立变桨(Individual Pitch Control,IPC),两者解决的问题、控制的逻辑、仿真的复杂程度完全不在一个量级。这篇文章我围绕基于OpenFAST的联合仿真控制模型,把两类变桨策略从模型搭建、控制器设计、工况设置到仿真调试完整捋一遍。适合正在用Simulink做风机控制算法验证的工程师,也适合刚接触OpenFAST、想把控制逻辑从纸面跑到仿真里的研究生。文中机组以NREL 5MW公开模型为例,但整套方法和坑位,基本可以平移到你自己的机组模型上。
1. 先搞清楚:统一变桨和独立变桨到底在解决什么问题
很多新手一上来就急着搭模型,结果连控制器要控制什么都说不清楚。我建议先花十分钟把控制目标想明白,后面所有工作都顺了。
1.1 统一变桨:额定风速之后的第一道防线
风电机组的运行区域可以粗略分成两段。低于额定风速时,风机的主要目标是尽可能多捕获风能,这时候桨距角通常固定在一个最优角度附近,靠发电机扭矩控制来跟踪最大功率点,也就是MPPT。一旦风速超过额定风速,再继续傻乎乎地增大气动捕获,功率和转速都会失控,所以必须让叶片变桨,把一部分气动力卸掉,让功率和转速都稳定在额定值附近。
统一变桨的思路非常直接:三个叶片同步转动,角度完全一致。从控制系统角度看,它本质上是一个转速闭环,传感器是发电机转速或转子转速,执行机构是三个同步动作的变桨驱动器,被控量是输出功率或转速。只要转速高于额定值,就把桨距角往大了调,气动转矩降下来,转速自然回落;转速低了就往小了调。这个回路在工程上非常成熟,NREL 5MW这种公开模型上的经典控制器就是典型的增益调度PI加一阶变桨执行器。
统一变桨能解决“整体功率超限”的问题,但它有个天然盲区:它假设三片叶片所处的流场是一样的,只需要同步改变攻角就可以了。真实流场里这个假设根本不成立。风剪切让上面叶片风速高、下面叶片风速低,塔影效应让叶片转到塔架前时风速突然跌落,再加上湍流来流的随机性,三片叶片每时每刻感受到的气动载荷都不相同。结果是叶根、主轴、塔架上都存在明显的非对称循环载荷,统一变桨对此完全无能为力。
1.2 独立变桨:专治“三片叶子受力不一样”
独立变桨的思路是:既然每片叶子感受到的来流不一样,那就不该让它们转同一个角度。在统一变桨得到的公共桨距角基准之上,再给每片叶子叠加一个独立的附加角度,让每片叶子的攻角按需调整,从而把转子平面的非对称载荷压下去。
这里有一个容易被误解的点:独立变桨不是为了分别控制三片叶子的转速,转速只有一个,是转子整体的物理量,控制目标仍然是全机功率和转速。独立变桨的附加指令,主要面向的是载荷控制,尤其是叶根挥舞弯矩的1P循环载荷。所谓1P,就是转子每转一圈出现一次的载荷波动,频率等于转频,NREL 5MW额定转速12.1rpm,1P大约0.2Hz。风剪切和塔影效应引起的载荷波动,主要成分就是1P,独立变桨通过三片叶子的差异化动作,把这种周期性的不平衡载荷抑制掉。
通俗点说,统一变桨管的是“总功率有没有超”,独立变桨管的是“三片叶子受力均不均匀”。两者不是替代关系,而是上下层关系。实际控制器里,IPC输出的附加角度是叠加在CPC输出的公共基准角之上的,最终每片叶子的指令是两者之和。
1.3 联合仿真:为什么必须把OpenFAST和Simulink绑在一起
明确了控制目标,接下来要回答“在哪验证”。纯公式推导和线性化分析解决不了非线性问题,因为风机的气动弹性响应、变桨执行器限速、结构阻尼这些非线性因素,在工况极端时非常关键。直接用OpenFAST自带的简单控制器跑,又限制太大,很难把IPC这种多输入多输出算法落地。所以行业里的主流做法就是联合仿真:OpenFAST负责高保真气动-弹性求解,Simulink负责控制逻辑,两边实时交换数据。
联合仿真之所以能成立,是因为OpenFAST提供了S-Function接口。OpenFAST内部在计算每个时间步的气动力、结构动力学和伺服执行器响应,Simulink里的控制器在每个步进里读取转速、载荷等状态,计算变桨和扭矩指令,再作为输入喂回OpenFAST。这比用Bladed这类商业软件更开放,也比自己写一个BEM气动模型再算结构响应精确得多。
顺带说一句,联合仿真这个思路在工程领域其实很通用,汽车的Carsim和Simulink联合仿真、FPGA领域的Vivado和ModelSim联合仿真,本质上都是“高保真被控对象”加“灵活控制器”的组合。风电里的OpenFAST角色,就相当于Carsim在车辆
