基于神经网络的带输出三相逆变器模型预测控制LC滤波器(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文献


💥1 概述

模型预测控制(MPC)已成为具有输出LC滤波器的三相逆变器的成熟现代控制方法之一,其中需要具有低总谐波失真(THD)的高质量电压。虽然它是一个直观的控制器,易于理解和实现,但它有一个明显的缺点,即需要大量的在线计算来解决优化问题。另一方面,无模型方法(例如基于人工神经网络方法的方法)的应用目前在电力电子和驱动器领域正在迅速增长。该文提出一种基于MPC和前馈ANN相结合的两电平变换器控制方案,旨在降低THD,提高系统在不同类型负载下的稳动态性能。首先,MPC作为专家在训练阶段使用,以生成训练所提出的神经网络所需的数据。然后,一旦神经网络经过微调,就可以成功地在线用于电压跟踪目的,而无需使用MPC。所提出的基于ANN的控制策略通过使用MATLAB/Simulink工具通过仿真进行验证,并考虑了不同的负载条件。此外,还评估了基于ANN的控制器在不同工作条件下的多个线性和非线性负载样本的性能,并与MPC的性能进行了比较,证明了所提出的基于ANN的控制策略具有出色的稳态和动态性能。

三相逆变器是一种广受欢迎的设备,通常用于将能量从直流电压源传输到交流负载。在过去的几十年中,三相逆变器的控制在科学文献和面向行业的研究中都受到广泛关注[1][2]。特别是,对于不间断电源 (UPS)、储能系统、变频驱动器和分布式发电等应用,逆变器通常与输出一起使用LC 滤波器可为各种类型的负载提供具有低总谐波失真(THD)的高质量正弦输出电压,特别是对于不平衡或非线性负载[3][6]。然而,逆变器的性能主要取决于所应用的控制技术。这些控制器必须应对负载变化、系统的非线性,并通过快速瞬态响应确保在任何工作条件下的稳定性 [7]。

在文献中,为了提高转换器的性能,已经研究和提出了各种类型的经典和现代控制方案,例如非线性方法(例如,迟滞电压控制(HVC))[8],线性方法(例如,具有脉宽调制(PWM)和空间矢量调制(SVM)的比例积分(PI)控制器)[9]–[12],多回路反馈控制[13] [14],无拍控制[15]–[17],基于重复的控制器[18],[19],线性二次控制器(LQR)[20]和滑动模式控制[21][22]。

这些控制方案中的大多数在某种程度上具有许多局限性。例如,非线性方法(例如HVC)的主要缺点是具有可变的开关频率,它需要高开关频率才能有效操作。这会产生谐振问题,从而降低转换器的效率[23][24]。另一方面,虽然需要基于载波的调制器的线性方法具有恒定开关频率的优点,但由于调制器的响应较慢,其动态响应与HVC相比较弱。然而,由于控制器实现的简单性,线性和非线性方法都广泛用于生成逆变器的开关信号。另一个例子是无拍控制,它提供快速瞬态响应,但对模型不确定性、测量噪声和参数扰动高度敏感,特别是对于高采样率。其他基于的现代控制方法H∞ 控制理论 [25] 和μ 已经提出了综合[26],以处理系统中可能的不确定性。

模型预测控制(MPC)已成为电力电子学中成熟的现代控制方法之一,特别是对于具有LC 根据 [1]、[23]、[27][29] 进行过滤。MPC的关键特征是明确使用系统的模型来预测要控制的变量的未来行为,考虑一定的时间范围。之后,MPC根据预定义成本函数的最小化选择最佳控制动作(即最佳开关信号),该成本函数表示系统的预期行为[30][32]。为了降低THD并提高稳定和动态性能,文献中提出了许多方法[29],[33]。例如,[34]中介绍了更长预测范围的部署。但是,这会导致计算成本显着增加。为了缓解和解决这个问题,[35]中引入了对有限集FS-MPC策略的改进,仅使用单步预测范围。这种改进主要基于定义一个新的成本函数,该函数不仅跟踪基准电压源,而且还同时跟踪其导数。而在[36]中,提出了一种用于LC滤波电压源逆变器的无电流传感器FS-MPC方案,以减少典型FS-MPC中的传感器数量,提供与典型FS-MPC方案相当的性能。

MPC的主要特点可以概括为:(i)直观的控制器易于理解和实现,具有快速的动态响应;(ii) 不需要PWM模块或调制级;(iii)简单地包括系统约束和非线性以及多变量情况;(四) 纳入其他系统要求的灵活性。另一方面,MPC的一大缺点是它需要在线解决优化问题,这涉及大量的实时计算。然而,为了解决这个问题,已经引入了不同的解决方案,如[27],[37],[38]所提出的那样。

另一方面,数据驱动方法(或无模型方法,特别是基于人工神经网络ANN的方法)的应用目前在电力电子和驱动器领域迅速增长[39]。从广义上讲,使用神经网络来控制动力系统是在九十年代初提出的[40]-[42]。多层感知器用于各种角色,包括系统识别和控制律的实施。特别是,基于ANN的控制器和估算器已广泛用于电源转换器和电机驱动器的识别和控制[43]。例如,除了识别和估计感应电机驱动器的定子电流[44]外,它们还可用于估计感应电机的转子速度、转子磁通和扭矩[46][47]。几种基于ANN的方法也被用于功率转换器的控制,如[48]-[51]所示。事实上,与其他控制方法相比,基于ANN的控制器具有一些优势,例如:(i)它们的设计不需要控制系统的数学模型,将整个系统视为一个黑匣子;(ii) 如果调整得当,它们通常可以提高系统的性能;(iii) 与传统控制器相比,它们通常更容易调谐;(iv) 在缺乏必要专业知识的情况下,可以根据从真实系统或工厂获得的数据进行设计。但是,它们需要大量的训练数据。

📚2 运行结果

 

部分代码:

% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

% Train the Network
[net,tr] = train(net,x,t);

% Test the Network
y = net(x);
e = gsubtract(t,y);
performance = perform(net,t,y);
tind = vec2ind(t);
yind = vec2ind(y);
percentErrors = sum(tind ~= yind)/numel(tind);

% View the Network
view(net)
% Generate Simulink block for neural network simulation
gensim(net)

% Plots
% Uncomment these lines to enable various plots.
figure, plotperform(tr)
figure, plottrainstate(tr)
figure, ploterrhist(e)
figure, plotconfusion(t,y)
figure, plotroc(t,y)

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、数据、文献

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值