孤岛模式下两台逆变器下垂控制算法,采用电压外环和电流内环的双闭环控制,可以提供参考文献。
实验室的隔离配电柜突然跳闸,隔壁工位老张的咖啡杯晃出半圈涟漪——两台逆变器并联系统又崩了。凌晨三点的示波器屏幕上,原本稳定的50Hz正弦波扭曲成心电图般的锯齿。我揉着发涩的眼角,在MATLAB命令窗敲下第37次仿真指令,这次必须搞定下垂控制的电压电流双环耦合问题。
下垂控制算法的核心在于让逆变器像老电工搭班干活——出力大的主动让着出力小的。我们给每台逆变器设计虚拟阻抗,通过调整频率和电压幅值实现功率分配。先看电压外环的核心代码片段:
% 电压外环下垂系数计算 function [f, V_ref] = droop_control(P, Q, f0, V0, m, n) f = f0 - m * P; % 频率-有功功率下垂 V_ref = V0 - n * Q; % 电压-无功功率下垂 end这里的m和n就像老师傅手里的调节扳手,m控制有功功率分配灵敏度,n管着无功功率的平衡。实际调试时发现,当m值超过0.0005,系统就会出现类似醉汉走钢丝的振荡现象。
电流内环需要更精细的操控,就像在高速列车上穿针引线。这段离散化PI控制器实现藏着魔鬼细节:
// 电流内环数字PI控制器 void current_control(float i_ref, float i_actual) { static float integral = 0; float Kp = 1.2, Ki = 150; // 血泪换来的参数 float error = i_ref - i_actual; integral += error * Ts; // 采样周期0.0001s float duty = Kp * error + Ki * integral; // 抗积分饱和处理 if(duty > 0.95) { duty = 0.95; integral -= error * Ts; // 关键的回退操作 } PWM_update(duty); }那个积分回退操作是去年烧了三个IGBT模块才悟出的道理——当占空比触及极限时,必须手动解除积分累积,否则会产生类似踩错油门的过冲现象。仿真时完美的参数放到实际系统里,会因为死区时间和开关延时而变得面目全非。
双环耦合最考验的是动态响应匹配。某次现场调试,负载突变导致两台逆变器出现约30度的相位差,就像两匹向不同方向发力的辕马。后来在电压环增加了前馈补偿:
def voltage_ffw(v_grid, L_filter): di_ffw = (v_inv - v_grid) / (L_filter * 2 * np.pi * 50) return current_ref + di_ffw * 0.8 # 经验系数这个看似简单的线性补偿,让系统的负载切换响应时间从200ms缩短到50ms以下。但要注意电感参数的准确性,实验室用的0.8mH电抗器,到了现场可能变成0.75-0.82mH的离散值,需要做自适应校准。
孤岛模式下两台逆变器下垂控制算法,采用电压外环和电流内环的双闭环控制,可以提供参考文献。
参考文献:
[1] Karlsson P, Johansson S. Harmonic damping in a three-phase inverter with a stiff voltage source backend[J]. IEEE Transactions on Power Electronics, 2004.
[2] Lasseter R H. Microgrids[C]//Power Engineering Society Winter Meeting. IEEE, 2002.
[3] 王成山, 肖朝霞, 郭力. 微电网综合控制与分析[J]. 电力系统自动化, 2008.