不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)

目录

1 概述

2 运行结果

3 参考文献

4 Matlab代码&Simulink实现&文章讲解


1 概述

文献来源:

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第1张图片

最近,利用并网转换器(GCC)克服电网故障并支撑电网电压已成为电网规范中反映的主要要求。本文提出了一种新颖的参考电流产生方案,该方案通过使用四个控制参数注入一组适当的正/负有功/无功电流来支持电网电压。提出了解析表达式以获得这些参数在任何电网电压条件下的最优值。通过实现以下目标,可以获得最佳性能:第一,符合相电压限制,第二,最大化有功和无功功率输出,第三,最小化故障电流,第四,减少有功和无功功率的振荡。这些最佳行为为新兴的GCC带来了显著的优势,例如提高效率,降低直流母线纹波,提高交流系统稳定性以及避免设备跳闸。仿真和实验结果验证了分析结果和所提表达式的有效性。 

可再生能源和分布式发电(DG)机组在电力中的渗透率越来越高 系统造成了严重的稳定性问题。因此,系统规划人员一直在制定严格的 异常电网条件下并网转换器 (GCC) 运行的要求 [1]–[3]。因此,海湾合作委员会 不仅应承受此类干扰并继续为电网供电,还应提供电压/频率支持。 GCC是否符合这些新要求已在文献中进行了广泛的研究,例如, 在[1]–[20]中。在此 关于GCCs的许多控制策略已经在[13]-[20]中提出。

本文使用最先进的参考电流发生器(RCG)策略(在[3]中介绍),可以灵活地包含正/负和有功/无功 电流。该RCG通过两个控制参数提供有价值的电压支持服务,kp和kq ,在相应有源和 无功电流。同样,有功和无功功率(PQ)的参考值可以被视为其他两个参考值。**

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第2张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第3张图片

  

2 运行结果

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第4张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第5张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第6张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第7张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第8张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第9张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第10张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第11张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第12张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第13张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第14张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第15张图片不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第16张图片 

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第17张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第18张图片 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第19张图片

 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第20张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第21张图片

不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码&Simulink实现)_第22张图片  所有模型和讲解见第4部分。

set(0,'DefaultAxesFontSize',24,'DefaultAxesFontName','Helvetica','DefaultAxesFontWeight','bold','DefaultLineLineWidth',2,'DefaultAxesLineWidth',1)
plot(k1,Imax,'--','color',[0 .45 .74],'LineWidth',6)
grid on
hold on
plot(k1,sqrt(Ia),'color',[0.75 0 .75])
plot(k1,sqrt(Ib),'color',[.85 .33 .1])
plot(k1,sqrt(Ic),'color',[0 .5 0])

legend('Imax','Ia','Ib','Ic')
hold on
plot(k1_opt(O),min(Imax_opt),'s','color',[0 .45 .74],'MarkerSize',25,'MarkerFaceColor',[0 .45 .74])

plot(k1(J),min(Imax),'o','color',[.85 .33 .1],'LineWidth',2,'MarkerSize',15)

                    title(['P=', num2str(P(p)), '  pu    Q=', num2str(Q(q)), '  pu    Vp=', num2str(Vp(vp)), '  pu    Vn=', num2str(Vn(vn)), '  pu      k_q=', num2str(k2(k)),'   pu      k_p_,_o_p_t=  ', num2str(k1_opt(O(1))), '         I_m_a_x_,_o_p_t=  ', num2str(min(Imax_opt)), '   pu'])
                    
                    xlabel('k_p');
                    ylabel('I_m_a_x (pu)');
 
%% 
                    A=3*P(p)^2*n; B=-3*P(p)^2*n+sqrt(3)*P(p)*Q(q)*n*(2*k2(k)-1); C=3*n*k2(k)*Q(q)^2*(1-k2(k))-sqrt(3)*P(p)*Q(q)*n*k2(k);
                    delta=B^2-4*A*C;
                    if delta>=0
                        k1_intsec_IaIb=(-B+sqrt(delta))/2/A;
                        o_num=4;
                        k1_opt(o_num)=k1_intsec_IaIb;
                        
                        
                        if k1_intsec_IaIb<1 && k1_intsec_IaIb>0
                           
                        K1_intsec=P(p)/Vn(vn)*((n+1)*k1_intsec_IaIb-1);
                        K2_intsec=Q(q)/Vn(vn)*((n-1)*k2(k)+1);
                        K3_intsec=P(p)/Vn(vn)*((n-1)*k1_intsec_IaIb+1);
                        K4_intsec=Q(q)/Vn(vn)*((n+1)*k2(k)-1);
                        
                        Ia_intsec=K1_intsec^2+K2_intsec^2;
                        Ic_intsec=(-.5*K1_intsec-sqrt(3)/2*K4_intsec)^2+(.5*K2_intsec-sqrt(3)/2*K3_intsec)^2;
                        
                        plot(k1_intsec_IaIb,sqrt(Ia_intsec),'s','color',[0 .45 .74],'MarkerSize',25)

                        Imax_intsec=sqrt(max(Ia_intsec,Ic_intsec));
                        end
                    end
                    
                    
                    
                  %%
                    A=3*P(p)^2*n; B=-3*P(p)^2*n-sqrt(3)*P(p)*Q(q)*n*(2*k2(k)-1); C=3*n*k2(k)*Q(q)^2*(1-k2(k))+sqrt(3)*P(p)*Q(q)*n*k2(k);
                    delta_IaIc=B^2-4*A*C;
                    if delta_IaIc>=0
                        k1_intsec_IaIc=(-B+sqrt(delta_IaIc))/2/A;
                                     
                        if k1_intsec_IaIc<1 && k1_intsec_IaIc>0
                           
                        K1_intsec=P(p)/Vn(vn)*((n+1)*k1_intsec_IaIc-1);
                        K2_intsec=Q(q)/Vn(vn)*((n-1)*k2(k)+1);
                        K3_intsec=P(p)/Vn(vn)*((n-1)*k1_intsec_IaIc+1);
                        K4_intsec=Q(q)/Vn(vn)*((n+1)*k2(k)-1);
                        
                        Ia_intsec=K1_intsec^2+K2_intsec^2;
                        Ib_intsec=(-.5*K1_intsec+sqrt(3)/2*K4_intsec)^2+(.5*K2_intsec+sqrt(3)/2*K3_intsec)^2;

                        plot(k1_intsec_IaIc,sqrt(Ia_intsec),'s','color',[0 .45 .74],'MarkerSize',25)

                        end
                        

                        end
                    end
                    
                        i=i+1;
                    
                end
            end
        end
    end
% end

3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]M. M. Shabestary and Y. A. -R. I. Mohamed, "Analytical Expressions for Multiobjective Optimization of Converter-Based DG Operation Under Unbalanced Grid Conditions," in IEEE Transactions on Power Electronics, vol. 32, no. 9, pp. 7284-7296, Sept. 2017, doi: 10.1109/TPEL.2016.2628405.

[2]谭畅舒,李艳,田杰,明威宇,李妍,王少荣.计及分布式能源的主动配电网恢复力综合评估[J].电力科学与技术学报,2023,38(01):108-113.DOI:10.19781/j.issn.1673-9140.2023.01.012.

[3]葛钦. 电网故障下电力电子变压器故障穿越机理与控制策略研究[D].湖南大学,2020.DOI:10.27135/d.cnki.ghudu.2020.000151.

[4]庞永恒. 基于故障失配度的含新能源配电网接地故障定位方法研究[D].东北大学,2017.

4 Matlab代码&Simulink实现&文章讲解

你可能感兴趣的:(matlab,开发语言)