基于VSG分布式能源并网仿真:有功频率与无功电压控制的完美波形实现——MATLAB 2021b...

基于虚拟同步发电机(vsg)分布式能源并网仿真 并网逆变器,有功频率控制,无功电压控制,VSG控制,电压电流双环PI控制!! 各方面波形都完美!!! MATLAB2021b

三台虚拟同步机在微电网里并网运行的场景把我折腾得够呛。昨天下午盯着示波器上那堆毛刺波形,突然灵光一闪------何不在Simulink里搭个干净模型验证算法?抄起MATLAB2021b就开干。

先看核心算法,这个VSG控制说白了就是把逆变器伪装成同步发电机。关键在机械方程模拟,我直接怼上这段代码:

matlab 复制代码
% VSG机械方程核心
function [omega, theta] = VSG_mech(P_set, P_actual, J, D, omega_n, dt)
    delta_P = P_set - P_actual;
    domega = (delta_P - D*(omega - omega_n)) / (2*J*omega_n);
    omega = omega + domega * dt;
    theta = theta + omega * dt;
end

这里J参数(转动惯量)特别有意思,调大点系统惯性就好,但动态响应变慢。上次现场调试时D参数(阻尼系数)设小了,结果并网瞬间频率震荡得像心电图,这次直接取0.8秒的仿真步长稳得一批。

电压电流双环控制必须得用离散PI,连续域设计的参数到数字控制器里全得重调。看看这个电流环的离散化处理:

matlab 复制代码
% 离散PI控制器实现
classdef DiscretePI < handle
    properties
        Kp, Ki, Ts
        integral
        upper_limit
    end
    methods
        function obj = DiscretePI(Kp, Ki, Ts, limit)
            obj.Kp = Kp;
            obj.Ki = Ki;
            obj.Ts = Ts;
            obj.integral = 0;
            obj.upper_limit = limit;
        end
        function output = step(obj, error)
            obj.integral = obj.integral + obj.Ki * error * obj.Ts;
            % 抗积分饱和处理
            if abs(obj.integral) > obj.upper_limit
                obj.integral = sign(obj.integral) * obj.upper_limit;
            end
            output = obj.Kp * error + obj.integral;
        end
    end
end

注意那个抗积分饱和处理,之前没加这玩意儿,结果PI输出直接爆表,IGBT都快炸了。现在把限幅设成直流母线电压的1.2倍,稳如老狗。

基于虚拟同步发电机(vsg)分布式能源并网仿真 并网逆变器,有功频率控制,无功电压控制,VSG控制,电压电流双环PI控制!! 各方面波形都完美!!! MATLAB2021b

模型跑起来后重点看三个波形:并网瞬间的电流冲击、负载突变时的频率恢复、无功支撑时的电压波动。特别是这个有功-频率下垂特性曲线,用MATLAB的XY Graph抓取动态过程,比现场测试设备直观十倍。

最终出来的THD居然只有1.8%,比国标要求的5%还低。秘诀在于PWM载波比设为21次谐波以上,配合输出LC滤波器参数:

matlab 复制代码
Lf = 2e-3; % 滤波电感
Cf = 15e-6; % 滤波电容
Rd = 3; % 阻尼电阻
% 关键!谐振频率要避开主要谐波
res_freq = 1/(2*pi*sqrt(Lf*Cf))  % 约918Hz

这组参数让谐振峰远离基波50Hz和开关频率3kHz,实测波形干净得能当示波器广告。

折腾完最大的感悟:仿真不是万能,但没有仿真调试就是摸黑走钢丝。下次准备把虚拟阻抗算法揉进去,估计又能水篇不错的论文...哦不,是提升系统稳定性。

相关推荐
JHTfAbVfl7 天前
从excel中读取信号,首先计算信号的vmd分解,得到imf分量,然后根据imf分量与原始信号...
inverted-index
檀越剑指大厂2 个月前
【数据库系列】倒排索引(Inverted Index)
数据库·inverted-index
小小工匠1 年前
ElasticSearch - 理解doc Values与Inverted Index倒排索引
elasticsearch·inverted-index·doc values
2301_791362781 年前
中航资本:商业卫星产业链建设加快 无人机军民两用空间广阔
leetcode·kmeans·inverted-index·suffix-tree·symfony
2301_791362781 年前
中航资本:什么是主板创业板及科创板?主板创业板及科创板有什么区别?
leetcode·kmeans·inverted-index·suffix-tree·symfony
CAKDJF1 年前
第二证券:股票可以亏损本金吗?股票会不会亏成负?
rabbitmq·memcached·inverted-index
wilsonzane2 年前
基于$indexStats 构建mongodb 所有集合的索引监控程序
数据库·mongodb·database·prometheus·inverted-index
2301_791362782 年前
众和策略:炒股票亏10万很郁闷,怎么办?
inverted-index
2301_791362783 年前
问道管理:沪指窄幅震荡跌0.18%,有色、汽车等板块走低
hash-index·inverted-index·suffix-tree·sstable·r-tree