m基于simulink的SPWM控制器性能仿真,并分析其谐波,包括park模块和Clark模块

简介: m基于simulink的SPWM控制器性能仿真,并分析其谐波,包括park模块和Clark模块

1.算法仿真效果
matlab2022a仿真结果如下:
f066f7fa50501e1bbaa4e90b9fb2ef8e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
83d449463c5e9c3239b67c3bcec8a30e_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
SHEPWM是特定谐波消除脉宽调制,即通过开关时刻的优化选择,产生PWM来消除选定的低次谐波。

    MATLAB仿真中的SHEPWM的发波采用S函数编写,S函数是一种用于描述Simulink仿真模块的计算机语言,它结合了m文件和Simulink仿真模块的优点,可以极大地增强和扩展Simulink仿真能力,用户可以通过编写S函数来构造用户自己的模块,以实现一些复杂的功能。

   为了方便开关角的动态切换,SHEPWM发波函数分为3个S函数,分别实现A、B、C单相发波,S函数的输入为1/4周期的开关角度值以及调制波频率,输入的1/4周期的SHEPWM开关角数最大为15个,最小为0个,当输入0个开关角时,S函数输出为方波。S函数的输入为16维,前15个为1/4周期内的SHEPWM开关角度值输入,开关角值按顺序输入,不足的补零;第16个输入为电压矢量角度输入,用于发波。

   S函数状态变量设置为离散型,状态变量数为SHEPWM一周期内的开关数,状态变量是通过输入的1/4周期的开关角来计算出全周期的SHEPWM的开关角,

   三相的S函数中的输入和开关角的计算方法都一样,只是在方波方式中采用移相的方法,当正转的时候,B相相位滞后120度,C相相位滞后240度,当反转的时候,B相相位滞后240度,C相相位滞后120度,其SHEPWM的高低电平根据开关角数和开关时刻段来判断,如图1和图2所示,当开关角数为奇数时,开关时间段为奇数时,输出低电平,开关时间段为偶数时,输出高电平;当开关角数为偶数时,开关时间段为奇数时,输出高电平,开关时间段为偶数时,输出低电平。

62fb7ff9aca2f110604d50393163f519_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

    因为S函数的电压矢量角度表示的是电压矢量相对静止坐标系A轴的角度,而一个完整的SHEPWM的基波部分都是正弦波,所以必须要对电压矢量角做一定处理,即

920313263d4e649e562d92e647c102f6_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

     shepwm技术的特定消谐方程组是非线性超越方程,在初值的选取上存在难度,方程求解难度复杂,收敛效果不佳,由于微处理器主频速度低,目前大部分shepwm多采用查表法生成pwm波形来进行电机控制,用(1)离线法将计算出的开关角度存储在程序中,同时对希望输出的电压进行分析,计算并找到角度结果相近似的开关角度,以此来进行igbt的开关状态,该方法输出的电压并不连续,同时随着精度的增高,程序的存储空间加大,算法的灵活性与实时性变差;(2)数值法是求解超越方程组最常见的的方法,该方法通过选择合适的初值以保证方程的迭代收敛性,当初值选择不同时,得到的开关角轨迹也不相同,计算速度快,数值精度高,因此该方法的重点是如何选取方程的初值,同时保证方程的迭代性。但是数值迭代法计算速度快,精度高,但是其收敛性较差,初值计算困难,必须选择合适的初值才能够得到shepwm方程组的解,无法做到全调至域m解得范围,当m等于0或者m>0,9后,易形成窄脉冲;(3)在现在控制算法中,遗传算法遵循进化论,按照自然选择和基因的生物学规律进行全局优化寻找,利用该方法的全局寻解功能对shepwm方程组进行求解,以求解全调至域下的逆变器的开关角度,计算速度慢,收敛性存在不稳定。

3.MATLAB核心程序

42681b4ac81580c6d308a7981a993129_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

```function [sys,x0,str,ts]=mdlInitializeSizes(Ts)

sizes = simsizes;

sizes.NumContStates = 0;
sizes.NumDiscStates = 4*15+3;
sizes.NumOutputs = 5;
sizes.NumInputs =16;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;

sys = simsizes(sizes);
x0 = zeros(4*15+3,1);
str = [];
ts = [Ts 0]; %在T特定值时采样

%=============================================================================
%更新状态变量

function sys=mdlUpdate(t,x,u,Ts)
%计算相应alpha角对应时间
m=find(u(1:15));
N=numel(m);

if N==0
x(1)=pi;
else
x(1)=0;
x(2:N+1)=u(1:N);
for k=1:N
x(N+k+1)=pi-x(N-k+2);
x(2N+k+2)=pi+x(k+1);
x(3
N+k+2)=2pi-x(N-k+2);
end
x(2
N+2)=pi;
x(4N+3)=2pi;

end
sys=x;

%=============================================================================
% 计算输出时间
function sys=mdlOutputs(t,x,u,Ts)
% PWM generation

global p1;
global p2;
global p3;
global p4;

u(16)=u(16)+pi/2;

while (u(16)>2pi)
u(16)=u(16)-2
pi;
end
if (u(16)>=pi/2)&&(u(16)=0)&&(u(16)<pi/10)
starta=1;
else
starta=0;
end

m=find(u(1:15));
N=numel(m);

if N==0
if(u(16)>pi/2&&u(16)<3*pi/2) if u(16)=x(1))&&(u(16)<2*pi) p1=0;p2=1;p3=1;p4=0; end else if u(16)=x(1))&&(u(16)<2*pi) p1=0;p2=1;p3=1;p4=0; end end else for i=1:4*N+2 if (u(16)>=x(i))&&(u(16)pi/2&&u(16)<3*pi/2
p1=1;p2=1;p3=0;p4=0;
else
p1=0;p2=0;p3=1;p4=1;
end
else
p1=0;p2=1;p3=1;p4=0;
end
end
end
end
```

相关文章
|
算法
大林算法控制仿真实验(计控实验六simulink)
大林算法控制仿真实验(计控实验六simulink)
830 0
大林算法控制仿真实验(计控实验六simulink)
|
13天前
|
算法 JavaScript
基于遗传优化模糊控制器的水箱水位控制系统simulink建模与仿真
本课题研究了遗传优化模糊控制器在水箱水位控制系统中的应用,并对比了普通模糊控制器和遗传优化模糊控制器的性能。系统利用模糊逻辑处理不确定信息,结合遗传算法自动调整模糊控制器参数,实现更精确的水位控制。遗传算法通过选择、交叉、变异等操作,不断优化模糊控制器的隶属度函数参数,最终达到最优控制效果。仿真结果显示,遗传优化后的模糊控制器显著提升了系统的稳定性和响应速度。 核心程序包括遗传算法迭代过程和Simulink模型的构建。遗传算法迭代过程中,适应度值逐渐收敛,表明优化效果良好。Simulink模型展示了水箱水位控制系统的动态响应,验证了遗传优化模糊控制器的有效性。
|
28天前
|
机器学习/深度学习 流计算
基于simulink的直接转矩控制方法建模与性能仿真
本研究基于Simulink实现直接转矩控制(DTC)建模与仿真,采用电压空间矢量控制及Park、Clark变换,实现电机磁场定向控制。系统通过磁链观测器、转矩估计器等模块,精确控制电机转矩和磁链,提高控制性能。MATLAB2022a版本实现核心程序与模型。
|
2月前
|
算法
基于模糊PID控制器的的无刷直流电机速度控制simulink建模与仿真
本课题基于模糊PID控制器对无刷直流电机(BLDCM)进行速度控制的Simulink建模与仿真。该系统融合了传统PID控制与模糊逻辑的优势,提高了BLDCM的速度动态响应、抗干扰能力和稳态精度。通过模糊化、模糊推理和解模糊等步骤,动态调整PID参数,实现了对电机转速的精确控制。适用于多种工况下的BLDCM速度控制应用。
|
3月前
|
算法
基于双闭环PI的SVPWM控制器simulink建模与仿真
本课题基于双闭环PI的SVPWM控制器,在MATLAB2022a中构建Simulink模型,涵盖DA转换、abc-dq变换、Clark变换、PI控制器及SVPWM模块。该控制器利用SVPWM技术提高电压利用率并减少谐波,通过双闭环PI算法精准控制电机转速与电流。仿真结果显示该系统具有优异的控制性能。
自适应模型预测控制器AMPC的simulink建模与仿真
通过Simulink内嵌Matlab实现自适应MPC控制器,结合系统模型与控制对象完成仿真。面对日益复杂的工业过程,AMPC融合MPC与自适应控制优势,依据系统变化自动调节参数,确保优化控制及鲁棒性。MPC通过预测模型优化控制序列;自适应控制则动态调整控制器以应对不确定性。AMPC适用于多变环境下高性能控制需求,如化工、航空及智能交通系统。[使用MATLAB 2022a]
|
5月前
|
算法 数据安全/隐私保护
基于pi控制的数字锁相环simulink建模与仿真
数字锁相环(DPLL)为通信与信号处理领域提供频率与相位的自动跟踪。本设计采用MATLAB 2022a实现,含详细中文注释与操作视频。核心算法基于PI控制器优化系统稳定性和精确度。由鉴相器检测相位差,经环路滤波器积分放大后,数字频率控制器调整输出频率,通过分频器形成闭环。系统锁定状态下相位误差稳定,适合高精度信号处理与同步。
基于PID控制器的直流电机位置控制系统simulink建模与仿真
**摘要:** 构建基于PID的直流电机位置控制系统,利用PID的简易性和有效性实现精确控制。在MATLAB2022a中进行系统仿真,展示结果。控制器基于误差(e(t))生成控制信号(u(t)),由比例(K_p)、积分(K_i)和微分(K_d)项构成。系统采用三层控制环:位置环设定速度参考,速度环调节实际速度,电流环确保电流匹配,以达成期望位置。
|
5月前
|
算法
自适应PID控制器的simulink建模与仿真
本研究实现PID控制器参数(kp, ki, kd)的自适应调整,达成最优控制并展示参数收敛过程。MATLAB2022a环境下仿真结果显示,参数经调整后趋于稳定,控制器输出平滑,误差显著降低。自适应PID通过实时监测系统性能自动优化参数,有效应对不确定性,维持系统稳定及高性能。采用不同优化算法调整PID参数,确保最佳控制效果。
|
6月前
|
网络协议 数据处理 C++
LabVIEW与Simulink的通信及调用方式
LabVIEW与Simulink的通信及调用方式
92 1