我有以下Simulink模型:DC / AC半桥逆变器,它使用 PWM block (在绿色框架内)生成到IGBT的开关信号, From block (在红色框架内)接受来自PWM的信号使用转到块,然后将其作为输出传递给IGBT .
我正在尝试使用Matlab代码构建自定义PWM:
clc;
close all;
clear all;
t=0:0.001:1;
s=sawtooth(2*pi*10*t+pi);
m=0.75*sin(2*pi*1*t);
n=length(s);
for i=1:n
if (m(i)>=s(i))
pwm(i)=1;
elseif (m(i)<=s(i))
pwm(i)=0;
end
end
plot(t,pwm,'-g',t,m,'--r',t,s,'--b');
grid on;
ylabel('Amplitude');
xlabel('Time index');
title('PWM Wave');
axis([0 1 -1.5 1.5]);
这是情节的结果:
My Question :
我知道 t 包含时间值而且 pwm 包含pwm值,所以我想知道如何 "somehow" 将这些数据从Matlab代码重新定向,通过From Block进入IGBT,这样我就可以将它们用作切换信号?
1 回答
有多种方法可以做到这一点,但最简单的方法是使用From Workspace块作为
PWM Generator (2 Pulses)
块的直接替代 .运行MATLAB代码以在MATLAB工作区中定义变量,并且(假设您的
G1_1
和G2_1
信号是彼此的否定)使用[t(:) pwm(:) ~pwm(:)]
作为块的Data参数 .另请注意,您的代码中不需要循环:
或者如果你需要它们是双打而不是逻辑那么