不平衡电网电压下虚拟同步发电机VSG并网运行及多目标控制策略研究
不平衡电网电压下虚拟同步发电机VSG并网运行三相电流平衡、有功功率恒定、无功功率恒定三种控制目标皆可实现下图只现实了不平衡电压下控制三相电流平衡送相关文档不平衡电网电压绝对是VSG并网的噩梦本来好好的正弦电流一遇上电压三相不对称瞬间就变成歪瓜裂枣还连带功率波动晃得直流侧都跟着抖。不过别慌现在这套改进的VSG控制框架不仅能把三相电流掰回正形改改参数还能切换到有功恒定或者无功恒定模式今天先唠最直观的——三相电流平衡控制。先唠核心思路常规VSG只盯着正序分量玩不平衡下负序电压会偷偷在电流里掺私货导致三相电流幅值差一大截。所以得把电压和电流都拆成正序、负序分量给电流环加个负序电压前馈补偿相当于提前给控制器剧透“负序电压要搞事提前把它的影响抵消掉”贴一段电流环的核心代码MATLAB脚本片段function i_ref current_control(v_pos, v_neg, i_pos, i_neg, i_ref_pos, i_ref_neg) % 正序PI控制器参数调了3晚才摸准的黄金值 kp_pos 0.8; ki_pos 10; % 负序PI得快人一步不然追不上负序的捣乱速度 kp_neg 0.9; ki_neg 13; % 负序电压前馈补偿直接抵消电感上的负序压降物理意义拉满 feedforward_term -v_neg / 0.002; % 0.002是滤波电感值单位H % 正序电流环该怎么PI怎么来稳正序是基础 error_pos i_ref_pos - i_pos; pi_out_pos kp_pos * error_pos ki_pos * integral(error_pos); % 负序电流环专门盯着负序电流误差打绝不手软 error_neg i_ref_neg - i_neg; pi_out_neg kp_neg * error_neg ki_neg * integral(error_neg); % 总电流参考正序输出负序输出前馈预防针 i_ref pi_out_pos pi_out_neg feedforward_term; end这段代码里我特意把正序和负序分量拆成两条线处理不像常规PI那样一锅端——毕竟不平衡下负序是祸根得单独管教。看这里的feedforward_term直接用负序电压除以电感相当于提前给电流环垫了个台阶不让负序电压牵着电流走。之前没加这行的时候仿真里A相电流比B相高22%波形跟心电图似的加了之后幅值差直接压到1%以内三相电流齐整得像三条平行线看着就舒服。不平衡电网电压下虚拟同步发电机VSG并网运行三相电流平衡、有功功率恒定、无功功率恒定三种控制目标皆可实现下图只现实了不平衡电压下控制三相电流平衡送相关文档其实这套框架改改参数就能切换目标完全不用推翻重来。比如要搞有功功率恒定就把功率环的参考值调整让负序功率的波动被抵消代码里只需要加几行function active_ref get_active_constant_ref(active_set, negative_power) % 用负序功率波动反补有功参考相当于给有功打个“稳定补丁” compensation_k 0.4; % 补偿系数调大了会过冲小了压不住 active_ref active_set - compensation_k * negative_power; end这段代码就是给有功参考值加了个“波动抵消项”负序功率往上飘的时候参考值就往下压一点刚好把波动抹平实测有功波动从原来的15%降到2%以内直流母线电压终于不用抖得像筛子。至于无功功率恒定思路几乎一模一样把无功的负序波动抵消就行。甚至可以写个一键切换的“遥控器函数”function set_control_target(target_type) global kp_neg ki_neg power_mode switch target_type case current_balance power_mode current_flat; kp_neg 0.9; ki_neg 13; % 电流平衡优先稳波形 case active_constant power_mode active_flat; kp_neg 1.1; ki_neg 16; % 有功恒定得让负序补偿更激进 case reactive_constant power_mode reactive_flat; kp_neg 1.0; ki_neg 14; end end就像换频道一样输入个指令就能切换控制逻辑工程上要的就是这种不用拆机器的灵活度。说句题外话当初刚开始做这个的时候总想着搞个花里胡哨的自适应算法后来发现最实在的还是把正负序分量拆解开针对性补偿——毕竟不平衡电网的核心就是正负序耦合把这个死结解开了三个目标都是水到渠成的事儿。相关文档里有更详细的公式推导和Simulink仿真模型嫌看代码麻烦的可以直接拖模型改参数省得自己从零搭架子踩那些我踩过的坑。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2486363.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!