【风电控制】高低穿现场失败的原因分析——算法简单但工程复杂

【风电控制】高低穿现场失败的原因分析------算法简单但工程复杂


一、问题的本质

这个问题问得非常好。从算法角度看,高低穿的核心计算确实不复杂------检测电压、计算无功电流、限幅有功、切状态机。但现场测试失败的原因,90%以上不是算法本身的问题,而是算法之外的工程问题

复制代码
理论/仿真世界:                    现场/实际世界:

电网电压 = 干净的正弦波            电网电压 = 畸变、不平衡、含谐波
故障 = 理想的阶跃跌落              故障 = 有过渡过程、有重燃弧
参数 = 恒定不变                    参数 = 随温度/工况漂移
传感器 = 精确无延迟                传感器 = 有偏移、有噪声、有延迟
保护 = 精确按设定值动作            保护 = 有离散性、有误动
负载 = 理想模型                    风机 = 有机械惯性、有桨距延迟
通信 = 零延迟                      通信 = 有丢包、有延迟
环境 = 25°C恒温                    环境 = -30°C~+50°C

二、现场失败的十大原因

原因1:电网不是理想电压源

仿真假设:电网是理想电压源,故障时电压干净地跌落到某个值。

现场实际

复制代码
仿真中的LVRT波形:
1.0 ┤━━━━━━┓              ┏━━━━━━━
    │      ┃              ┃
0.2 ┤      ┗━━━━━━━━━━━━━━┛
    │      ↑              ↑
    │    故障开始        故障清除
    └──────────────────────────────→ t
    完美的阶跃!

现场实际的LVRT波形:
1.0 ┤━━━╲                 ╱━━━━━━━
    │    ╲    ╱╲  ╱╲    ╱
0.2 ┤     ╲╱╱  ╲╱  ╲╱╱╲╱
    │      ↑              ↑
    │    故障开始        故障清除(有重燃弧)
    └──────────────────────────────→ t
    有振荡、有重燃弧、有高频暂态!

现场问题

问题 具体表现 导致失败的原因
电压波形畸变 故障期间电压含大量3/5/7次谐波 PLL锁相不准,相位跳变
电压不平衡 单相接地故障导致三相不对称 正负序分解延迟,无功计算错误
重燃弧 故障清除后电弧重燃,电压多次跌落 恢复阶段被打断,反复穿越
电压过零 故障瞬间电压可能在过零点 电压检测延时,漏判故障
高频暂态 故障瞬间有μs级的电压尖峰 ADC采样捕获到尖峰,误触发保护

原因2:弱电网下的SCR问题

仿真假设:电网阻抗为零或很小(SCR > 3)。

现场实际:很多风电场的并网点SCR可能只有1.5~2,甚至更低。

复制代码
弱电网的影响:

强电网 (SCR > 3):                 弱电网 (SCR < 2):
  风电场 ──── 强电网                风电场 ──── Zgrid ──── 弱电网
  │                                │
  │ 注入无功 → 电压快速恢复         │ 注入无功 → Zgrid上压降大
  │                                │ → 并网点电压恢复慢
  │                                │ → 变流器看到的电压仍然很低
  │                                │ → 持续在LVRT模式
  │                                │ → 超时脱网!

弱电网下LVRT失败的典型场景

  1. 变流器注入无功支撑电压
  2. 但电网阻抗大,无功电流在阻抗上产生压降
  3. 并网点电压恢复不明显
  4. 变流器持续处于LVRT模式
  5. 超过允许的穿越时间 → 保护脱网

更严重的问题 :弱电网下,变流器的控制环可能与电网阻抗交互,产生次同步振荡(频率在几Hz到几十Hz),导致电流/电压振荡发散。

原因3:传感器和测量误差

仿真假设:传感器精确无延迟,测量值 = 真实值。

现场实际

复制代码
传感器误差链:

真实电压 ──→ PT(电压互感器) ──→ 调理电路 ──→ ADC ──→ 数字值
             │                  │            │       │
             · 带宽有限          · 有偏移     · 量化  · 有增益误差
             · 有相位延迟        · 有温漂     · 有噪声
             · 饱和(高压时)      · 有纹波

总误差: 幅值 ±2~5%, 相位 ±2~5°, 延迟 0.5~2ms
误差类型 量级 对高低穿的影响
PT带宽不足 高频衰减 故障瞬间电压波形失真,检测延迟
PT相位延迟 0.5~2ms PLL角度偏移,无功计算错误
ADC偏移 ±0.5% 电压幅值误判,可能漏判轻度故障
增益误差 ±1~2% 无功电流计算不准确
采样延迟 1~2个采样周期 故障检测延迟,响应慢

一个真实的失败案例

现场PT的相位延迟比仿真中假设的大了1ms。在50Hz下,1ms对应18°相位误差。这导致PLL跟踪的相位偏移了18°,无功电流的d/q分量"串台"------本应注入无功的电流变成了有功电流。结果:无功支撑不足,电压恢复慢,LVRT测试失败。

原因4:保护整定不当

仿真假设:保护阈值是固定的,精确触发。

现场实际 :保护整定需要考虑离散性配合关系

复制代码
保护整定的困境:

太灵敏:                          太迟钝:
  · 误触发保护                     · 真正故障时保护不动作
  · 正常波动就停机                  · 设备损坏
  · 发电量损失                     · 事故扩大

例如: 过流保护阈值设为1.2×IN
  · 如果故障瞬间电流尖峰达到1.3×IN (持续1ms)
  · 保护动作 → 停机 → LVRT失败
  · 但实际上这个1ms的尖峰对IGBT无害
保护类型 常见整定问题 后果
过流保护 阈值太低或延时太短 故障瞬间电流尖峰触发停机
过压保护 Vdc阈值不考虑Chopper动作时间 Chopper还没来得及动作就停机
PLL失步保护 检测时间太短 电压相位跳变时误判为失步
通信超时 超时时间太短 风电场SCADA通信繁忙时误停机

原因5:Chopper响应不及时

仿真假设:Chopper瞬时动作,Vdc超限立即泄放。

现场实际

复制代码
Chopper响应链:

Vdc超限 → 检测(1ms) → 判断(1ms) → 驱动信号(0.5ms) → IGBT开通(μs) → 电阻发热

总延迟: ~3ms

在这3ms内, Vdc可能已经:
  · 从1.1pu上升到1.2pu (取决于功率不平衡程度)
  · 如果电容小: 上升更快
  · 如果机侧功率大: 上升更快

数值算例(3MW DFIG,C=10mF):

dVdcdt=PunbalanceC×Vdc=3×1060.01×1100=272733 V/s \frac{dV_{dc}}{dt} = \frac{P_{unbalance}}{C \times V_{dc}} = \frac{3 \times 10^6}{0.01 \times 1100} = 272733 \text{ V/s} dtdVdc=C×VdcPunbalance=0.01×11003×106=272733 V/s

3ms内Vdc上升:272733×0.003=818V272733 \times 0.003 = 818V272733×0.003=818V!

如果起始Vdc=1100V,3ms后Vdc=1918V------远超IGBT耐压!

当然,实际中电容会吸收一部分能量,上升速度没有这么快。但这个算例说明了Chopper响应延迟的严重性

原因6:机械系统的耦合

仿真假设:电气系统独立于机械系统,或者机械模型过于简化。

现场实际:风力机的机械系统与电气系统深度耦合。

复制代码
机械-电气耦合链:

电网故障 → 电磁转矩突变 → 轴系扭振 → 转速波动 → 反电动势波动
    │                                              │
    │                                              ▼
    │                                    机侧电流波动
    │                                              │
    └──── 电压恢复 → 转矩恢复冲击 ──────→ 轴系二次扭振
机械问题 对电气的影响 后果
轴系扭振 转速波动 → 转差率波动 → 转子EMF波动 电流振荡,可能触发过流保护
桨距响应慢 风轮输入功率不变 → 机侧功率不变 Vdc持续偏高
传动链间隙 故障/恢复瞬间产生冲击转矩 机械应力超限
塔架振动 基础振动 → 传感器噪声 信号质量下降

原因7:温度和环境影响

仿真假设:25°C恒温,器件参数恒定。

现场实际

复制代码
温度对变流器的影响:

高温 (+45°C以上):
  · IGBT结温升高 → 降额运行 → 电流容量下降
  · 电容ESR增大 → 纹波电压增大
  · 传感器漂移 → 测量误差增大
  · 散热不足 → 保护动作

低温 (-20°C以下):
  · 电解电容容量下降 → 直流母线储能减少
  · 机械润滑变差 → 轴系阻尼变化
  · 通信延时增大 (某些协议)

一个真实的失败案例

某风电场在冬季(-25°C)进行LVRT测试。电解电容在低温下容量下降了30%,导致Vdc在故障期间上升速度比预期快50%。Chopper虽然动作了,但电容储能不够,Vdc仍然超过了过压保护阈值。测试失败。

原因8:多机交互效应

仿真假设:只仿真单台变流器。

现场实际:一个风电场有多台变流器同时运行。

复制代码
多机交互问题:

风电场 (100台 × 3MW = 300MW):
  │
  ├── 台1: 检测到LVRT → 注入无功
  ├── 台2: 检测到LVRT → 注入无功 (但检测时间不同!)
  ├── 台3: 检测到LVRT → 注入无功
  │   ...
  ├── 台100: 检测到LVRT → 注入无功
  │
  │  100台同时注入无功 → 场站级无功过补 → 电压反而升高!
  │  或者: 不同台检测时间不同 → 无功注入不同步 → 电压振荡!
  │
  └── 集电线路阻抗 → 各台看到的电压不同 → 策略不一致

原因9:软件时序问题

仿真假设:控制周期严格一致,中断无延迟。

现场实际

复制代码
软件时序问题:

理想情况:
  PWM中断 ──→ ADC采样 ──→ 控制计算 ──→ 更新PWM
  │←────── 250μs ──────────────────→│

实际情况:
  PWM中断 ──→ 等待ADC完成 ──→ 控制计算 ──→ (被通信中断抢占!) ──→ 更新PWM
  │←────── 250μs ──────────→│←── 额外50μs ──→│
                                              ↑
                                         超时! PWM更新延迟!
时序问题 原因 后果
中断延迟 高优先级中断抢占 电流环计算延迟,相位裕度下降
ADC采样抖动 采样时刻不在PWM中心 电流采样值包含开关纹波
通信中断 MODBUS/CAN通信占用CPU时间 快任务被延迟
Flash等待 代码从Flash执行时有等待状态 计算时间增加

原因10:测试条件与标准的差异

仿真假设:按照标准的理想故障波形测试。

现场实际:电网公司的测试条件可能比标准更严格。

标准要求 现场实际 差异
电压跌落到20%,持续625ms 电压跌落到15%,持续800ms 更深、更久
三相对称跌落 两相接地不对称跌落 更复杂
故障前满载运行 故障前80%负载+风速波动 工况不同
单次故障 连续两次故障(间隔2s) 更严酷

三、现场排查的系统方法

当高低穿测试失败时,需要系统性地排查:

复制代码
排查决策树:

测试失败
  │
  ├── 1. 脱网时刻?
  │     ├── 故障瞬间脱网 → 检查过流/过压保护整定
  │     ├── 故障持续中脱网 → 检查穿越时间是否超限
  │     └── 故障恢复时脱网 → 检查恢复策略和二次故障
  │
  ├── 2. 脱网原因?
  │     ├── 过流 → 电流限幅不够 / 传感器偏移
  │     ├── 过压 → Chopper响应慢 / 电容太小
  │     ├── PLL失步 → 弱电网 / PT延迟
  │     ├── 通信超时 → 通信负载重
  │     └── 其他保护 → 检查保护整定
  │
  ├── 3. 波形分析?
  │     ├── 电流波形有振荡 → 控制环不稳定 / 弱电网
  │     ├── Vdc波形有尖峰 → Chopper延迟 / 电容不足
  │     ├── 无功电流不足 → 传感器误差 / 计算错误
  │     └── 电压恢复慢 → 无功注入不足 / 电网阻抗大
  │
  └── 4. 环境因素?
        ├── 温度 → 高温降额 / 低温电容衰减
        ├── 风速 → 故障前工况
        └── 电网状态 → SCR / 背景谐波

四、提高现场成功率的工程措施

措施1:保护整定"宽进严出"

c 复制代码
// 保护整定原则:
// 进入穿越: 宽松判断 (避免漏判)
// 退出穿越: 严格确认 (避免误判)
// 动作保护: 适当延时 (容忍瞬态)

// 电压检测: 加滑动窗口滤波
float Vg_detection(float Vg_raw, float threshold, int window_size) {
    static float buffer[32];
    static int index = 0;
    
    buffer[index] = Vg_raw;
    index = (index + 1) % window_size;
    
    // 滑动平均
    float Vg_avg = 0;
    for (int i = 0; i < window_size; i++) Vg_avg += buffer[i];
    Vg_avg /= window_size;
    
    // 用平均值判断, 但响应时间 = window_size × Ts
    return Vg_avg;
}

// 过流保护: 加延时 (容忍1ms尖峰)
void Overcurrent_Protection(float i_actual, float i_threshold, float Ts) {
    static float timer = 0;
    
    if (fabsf(i_actual) > i_threshold) {
        timer += Ts;
        if (timer > 0.003f) {  // 延时3ms确认
            TRIP_Overcurrent();
        }
    } else {
        timer = 0;  // 电流恢复正常, 清零计时器
    }
}

措施2:增加裕度

参数 标准要求 建议整定 裕度
过流保护阈值 1.5×IN 1.8×IN +20%
过压保护阈值 1.25×Vdc 1.3×Vdc +4%
穿越时间 625ms 设计能力800ms +28%
无功电流 标准要求值 +10%裕量 +10%

措施3:现场预测试

复制代码
正式测试前的预测试流程:

1. 仿真验证 (实验室)
   · 用RT-LAB做HIL仿真
   · 覆盖SCR=1.0~3.0的场景
   · 覆盖对称/不对称故障
   · 覆盖不同负载率

2. 空载测试 (现场)
   · 低功率(10%~20%)下先测
   · 验证保护不误动
   · 验证状态机切换正确

3. 半载测试 (现场)
   · 50%功率下测试
   · 关注Vdc波形
   · 关注Chopper动作

4. 满载测试 (正式)
   · 100%功率下正式测试
   · 全程录波
   · 留有重试余量

措施4:录波分析

c 复制代码
// 故障录波 (环形缓冲, 持续记录)
typedef struct {
    float Vg_abc[3];      // 三相电压
    float Ig_abc[3];      // 三相电流
    float Vdc;            // 直流母线电压
    float id_ref, iq_ref; // 电流指令
    float theta_pll;      // PLL角度
    int   state;          // 状态机状态
    int   fault_code;     // 故障码
    float timestamp;      // 时间戳
} WaveRecord_t;

#define RECORD_SIZE 10000  // 记录10秒 (4kHz采样)
WaveRecord_t record_buffer[RECORD_SIZE];
int record_index = 0;

// 每个采样周期记录
void FaultRecorder_Update(WaveRecord_t *rec) {
    record_buffer[record_index] = *rec;
    record_index = (record_index + 1) % RECORD_SIZE;
}

// 触发保存 (故障发生时保存前后各5秒)
void FaultRecorder_TriggerSave(void) {
    // 从record_buffer中提取故障前后的数据
    // 保存到Flash或通过通信上传
}

五、一句话总结

维度 理论/仿真 现场实际
电网 理想电压源 弱电网、畸变、不平衡
故障 理想阶跃 有暂态、有重燃弧
传感器 精确无延迟 有偏移、有噪声、有延迟
保护 精确按值动作 有离散性、有误动/拒动
机械 解耦或简化 轴系扭振、桨距延迟
环境 25°C恒温 极端温度、盐雾、振动
电网规模 单机 多机交互、场站级协调

算法是骨架,工程是血肉。 高低穿的算法设计只占整个工作量的20%,剩下80%是保护整定、传感器标定、参数裕度、环境适应、多机协调、现场调试等"脏活累活"。正是这些"算法之外"的工程细节,决定了高低穿测试能否在现场一次通过。

相关推荐
小欣加油1 小时前
leetcode41 缺失的第一个正数
数据结构·c++·算法·leetcode
I Promise341 小时前
智驾APA_HPA可行驶区域检测算法工程师面试问题整理可参考
算法·面试·职场和发展
智者知已应修善业1 小时前
【51单片机按键控制1分钟正计时倒计时暂停复位】2024-1-2
c++·经验分享·笔记·算法·51单片机
weixin_468466852 小时前
UNet 模型结构从零搭建与实战解析
人工智能·深度学习·算法·机器学习·ai·unet
Useasy_JIJIANYUN2 小时前
合作快讯:极简云呼叫中心(Useasy)正式上架Zoho全球应用市场!
算法
isyoungboy2 小时前
Delaunay 拓扑图割法一种特征抽稀算法
算法
Shan12052 小时前
算法案例精讲:连接所有点的最小费用
算法
迈巴赫车主2 小时前
蓝桥杯21241灯塔java
java·开发语言·数据结构·算法·职场和发展·蓝桥杯·动态规划
wabs6662 小时前
关于贪心算法【968.监控二叉树】的想法
算法·贪心算法