单相并网逆变器 主动移频法 AFD孤岛检测仿真,说明word文档 【算法介绍】 (1)仿真模型由单相电网、逆变器、滤波环节、PI控制器、PWM生成器、锁相环、AFD控制器s函数、测量模块等构成; (2)采用主动移频法(AFD)进行孤岛检测; (3)相应速度快,检测准确; (4)主动移频法(AFD)通过偏移公共点处电压的频率作为逆变器输出电流的参考频率来进行孤岛检测,该偏移量为固定值。 当市电存在时,受电网频率的钳制,电流的频率保持稳定值;电网断电,逆变器参考电流的频率中存在偏移量,使得本地系统的频率不断向频率增大(或减小)方向移动,从而触发频率保护装置动作。 对基于微处理器的并网逆变器来说,主动式频移方案很容易实现。

最近在搞单相并网逆变器的孤岛检测仿真,用的是主动移频法(AFD)。这玩意儿说白了就是让逆变器输出的电流频率“跑偏”,电网正常时频率被电网锁死,一旦电网断了,频率就会越跑越远,直到触发保护。重点在于怎么让代码和模型配合起来实现这个“跑偏”逻辑

模型结构拆解

整个仿真模型分成几个核心模块:单相电网、逆变器、LC滤波器、PI控制器、PWM生成器、锁相环(PLL),还有一个最关键的AFD控制器(用S函数写的)。这里最有趣的是AFD控制器的实现——它直接决定了孤岛检测的速度和灵敏度。

AFD的核心:频率“漂移”

AFD的原理很直球:给逆变器的输出电流参考频率加一个固定偏移量。电网正常时,这个偏移量会被电网频率“拉回来”,所以整体频率稳定;一旦电网断电,没了钳制,频率就会像脱缰野马一样往一个方向狂奔,直到超过阈值触发保护。

举个代码例子,AFD的S函数里大概长这样:

function [sys,x0,str,ts] = AFD_Controller(t,x,u,flag,delta_f)  
switch flag  
    case 0  
        % 初始化  
        sizes = simsizes;  
        sizes.NumContStates = 0;  
        sizes.NumDiscStates = 1;  % 存储累计频率偏移  
        sizes.NumOutputs = 1;     % 输出频率指令  
        sizes.NumInputs = 1;      % 输入是电网频率  
        sys = simsizes(sizes);  
        x0 = 0;  
        str = [];  
        ts = [0.001 0];  
    case 2  
        % 离散状态更新:频率偏移累积  
        if u(1) == 0  % 检测到电网断开  
            sys = x(1) + delta_f;  
        else  
            sys = 0;  % 电网存在时重置偏移  
        end  
    case 3  
        % 输出当前频率指令  
        sys = 50 + x(1);  % 基频50Hz + 偏移量  
    otherwise  
        sys = [];  
end  

这段代码的关键点在于:

  1. delta_f是固定偏移量(比如0.5Hz),电网断开时每次计算叠加;
  2. 用离散状态变量存储累计偏移量,电网存在时归零;
  3. 输出频率直接叠加到基频上,形成“漂移”效果。
仿真中踩过的坑
  1. 锁相环(PLL)的响应速度必须足够快,否则电网断开后无法快速捕捉频率变化;
  2. PI控制器参数要和AFD的偏移量匹配,否则电流波形会畸变;
  3. 仿真步长不能太大,否则频率跳变时会出现数值震荡。
结果验证

跑仿真时,故意在0.5秒断开电网,频率从50Hz开始以0.5Hz/步长递增,0.8秒时超过51Hz阈值,触发保护动作。整个过程从检测到保护动作只用了300ms,符合“快准狠”的要求。

单相并网逆变器 主动移频法 AFD孤岛检测仿真,说明word文档 【算法介绍】 (1)仿真模型由单相电网、逆变器、滤波环节、PI控制器、PWM生成器、锁相环、AFD控制器s函数、测量模块等构成; (2)采用主动移频法(AFD)进行孤岛检测; (3)相应速度快,检测准确; (4)主动移频法(AFD)通过偏移公共点处电压的频率作为逆变器输出电流的参考频率来进行孤岛检测,该偏移量为固定值。 当市电存在时,受电网频率的钳制,电流的频率保持稳定值;电网断电,逆变器参考电流的频率中存在偏移量,使得本地系统的频率不断向频率增大(或减小)方向移动,从而触发频率保护装置动作。 对基于微处理器的并网逆变器来说,主动式频移方案很容易实现。

!仿真波形图:频率随时间递增触发保护

总结

AFD的实现难点其实不在算法本身,而在于如何让模型各部分配合默契。比如S函数里的状态变量切换逻辑、PWM生成器对频率指令的跟踪精度,甚至滤波器的相位延迟都会影响检测速度。

最后扔个建议:仿真时一定要先单独测试AFD模块的逻辑,再整合到主电路里,否则调参调到怀疑人生(别问我怎么知道的)。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐