4. 控制器核心逻辑:MPPT最大功率点跟踪原理、PWM整流控制策略、电压电流双闭环控制
好,咱们今天聊点硬核的。控制器核心逻辑,说白了就是整个风电系统的“大脑”。你风机转得再欢,整流桥选得再好,如果控制器是个“糊涂蛋”,那系统效率照样拉胯。我个人习惯把这一章拆成三个部分来讲:MPPT(最大功率点跟踪)、PWM整流控制,以及电压电流双闭环。这三者环环相扣,缺一不可。
核心一句话:MPPT负责“找”最佳工作点,PWM整流负责“执行”这个点,双闭环负责“稳住”这个点。
4.1 MPPT:让风机始终“卖力干活”
先说说MPPT。你想想看,风不是一直刮得那么均匀的。有时候一阵大风,有时候又软绵绵的。风机在不同风速下,有一个最佳转速,只有在这个转速下,它才能输出最大功率。MPPT干的事,就是实时追踪这个最佳点。
我最早接触MPPT是在做光伏逆变器的时候,后来转到风电,发现原理大同小异。风电的MPPT常用的是爬山法(P&O,扰动观察法)。说白了,就是让控制器主动去“试探”——我稍微调高一点转速,看看功率是变大还是变小?如果变大,说明方向对了,继续调;如果变小,说明过了,往回调。
我的经验:爬山法虽然简单,但有个坑——在风速剧烈变化时,它容易“迷路”。我曾经在项目里遇到过,一阵狂风过来,MPPT还没来得及反应,功率已经冲上去了,结果它误判方向,反而往下调。后来我加了一个风速前馈,先判断风速变化趋势,再决定扰动方向,效果好了很多。
MPPT的伪代码其实不复杂,核心逻辑就这几步:
// MPPT 爬山法核心逻辑(伪代码)
float V_now, I_now, P_now;
float V_prev, P_prev;
float delta_V = 0.5; // 每次扰动的步长
while(1) {
V_now = read_voltage();
I_now = read_current();
P_now = V_now * I_now;
if (P_now > P_prev) {
// 功率增加,保持扰动方向
if (V_now > V_prev) {
V_ref = V_now + delta_V; // 继续升压
} else {
V_ref = V_now - delta_V; // 继续降压
}
} else {
// 功率减小,反向扰动
if (V_now > V_prev) {
V_ref = V_now - delta_V; // 反向
} else {
V_ref = V_now + delta_V; // 反向
}
}
V_prev = V_now;
P_prev = P_now;
delay(10); // 等待系统稳定
}
嗯,这里要注意:步长 delta_V 的选择很关键。步长太大,跟踪速度快但精度差,会在最大点附近来回震荡;步长太小,精度高但反应慢,风速一变就追不上。我一般建议在0.5V~2V之间,具体看你的直流母线电压等级。
4.2 PWM整流控制:把交流变成可控的直流
风机发出来的是交流电,频率和幅值都随风速变化。我们不能直接拿这个电去用,得先整流成直流。但普通的二极管整流桥效率低,而且没法控制。所以我们用PWM整流,也就是用IGBT主动去“斩”交流电,得到稳定的直流。
PWM整流的核心,说白了就是让输入电流的波形跟随输入电压的波形,同时还要保证直流侧电压稳定。这样功率因数可以做到接近1,谐波也小。
我常用的调制方式是SVPWM(空间矢量脉宽调制)。相比传统的SPWM,SVPWM的直流电压利用率更高,能高出约15%。什么意思呢?就是同样的直流母线电压,SVPWM能输出更高的交流电压。这在风电系统里很实用,因为风机输出电压本来就不高,能多榨一点是一点。
避坑指南:我曾经在调试PWM整流时,发现IGBT老是烧。查了半天,原来是死区时间设置得太短。上下桥臂不能同时导通,否则就是短路。死区时间一般设1~3微秒,具体看IGBT的关断延迟。别为了追求那一点点效率,把管子烧了,得不偿失。
4.3 电压电流双闭环控制:稳住,别晃
有了MPPT给出电压参考,有了PWM整流去执行,但中间还缺一个“稳定器”。这就是双闭环控制。
双闭环,顾名思义,两个环:外环是电压环,内环是电流环。
- 电压外环:它的任务是稳住直流母线电压。MPPT给了一个电压参考值 V_ref,电压环检测实际电压 V_dc,算出误差,然后输出一个电流参考值 I_ref。
- 电流内环:它的任务是快速跟踪电流指令。电压环给了 I_ref,电流环检测实际电流 I_actual,然后调节PWM的占空比,让实际电流紧紧咬住 I_ref。
为什么要有两个环?直接一个环不行吗?我刚开始做的时候也这么想。后来发现,电流环响应快,电压环响应慢。如果只用一个电压环,负载一突变,电压还没反应过来,电流已经冲上去了,系统容易振荡。加上电流内环,相当于给系统加了一个“快速刹车”,电流一有异常,内环立刻修正,电压环慢慢调就行。
双闭环的PI参数整定,我有个习惯:先调内环,再调外环。先把电流环的PI调好,让它能快速、无静差地跟踪电流指令。然后再调电压环,这时候电压环看到的“被控对象”就是一个已经调好的电流环,简单多了。
| 参数 | 作用 | 整定经验 |
|---|---|---|
| Kp_电流 | 决定电流响应速度 | 先给一个较小值,逐渐增大直到电流波形开始振荡,然后回调70% |
| Ki_电流 | 消除电流稳态误差 | 一般取 Kp 的 1/10 ~ 1/5,过大容易引起低频振荡 |
| Kp_电压 | 决定电压恢复速度 | 比电流环 Kp 小一个数量级,我习惯从 0.1 开始试 |
| Ki_电压 | 消除电压稳态误差 | 同样取 Kp 的 1/10,注意电压环带宽要远低于电流环 |
关键点:电流环的带宽一般是电压环的 5~10倍。这样才能保证内环“快”,外环“稳”。如果两个环的带宽太接近,系统会耦合振荡,调都调不回来。
好了,这一章的内容就这些。MPPT、PWM整流、双闭环,这三板斧是风电控制器的基石。你把这些搞明白了,后面的并网逻辑、离网切换,都是在这个基础上加东西。嗯,先消化消化,有问题随时找我。