7.5.1. Napäťovo riadená PWM (VC-PWM)#
Táto sínusová PWM technika je veľmi populárna pri priemyselných meničoch. Trojuholníkový nosný signál \(u_\Delta\) s frekvenciou \(f_{sw}\) je porovnávaný so sínusovým referenčným (modulačným) signálom \(u_{ref}\) s prvou (fundamentálnou) harmonickou frekvenciou \(f\). Referenčné napätie je dané ako
kde \(U_m\) je amplitúda referenčného napätia.
7.5.1.1. Bipolárna PWM#
Základný princíp činnosti bipolárnej PWM (pre polomostový striedač) je vysvetlený na Obr. 7.11. Napätie na záťaži, pri bipolárnej PWM, môže byť popísané nasledujúcou funkciou
7.5.1.2. Matlab/Octave#
Ukáž kód
% bipolarna PWM
clc
close all
clear all
% parametre obvodu
Us = 100;
R = 10;
L = 10e-3;
% frekvencia piloveho signalu
fsw=1e3;
% frekvencia referencneho napatoveho signalu
fref=50;
% krok simulacie
dt = 1e-6;
% simulacny cas
Tsim = 2/fref;
% pociatocne podmienky
iL=0;
X=[iL];
u=[Us];
% stavove matice
A = [-R/L];
B = [1/L];
% jednotkova matica
E = eye(size(A));
% matice nepriamej eulerovej metody
F = inv(E-dt*A);
G = F*dt*B;
t=0:dt:Tsim;
% pilovy signal
sawt = sawtooth (2*pi*fsw*t , 0.5);
% referencny sinusovy priebeh napatia
uref = 0.8*sin(2*pi*fref*t);
n=1;
% nepriama eulerova metoda
for t=0:dt:Tsim
% bipolarne riadenie PWM
if(sawt(n)<uref(n))
u = Us;
else
u=-Us;
end
X=F*X+G*u;
iL(n)=X;
uo(n)=u;
time(n)=t;
n=n+1;
end
% priebehy
figure
subplot(4,1,1)
plot(time,sawt)
legend('pila');
ylabel('u [V]');
xlabel('t [s]');
grid on
subplot(4,1,2)
plot(time,uref)
ylabel('uref [V]');
xlabel('t [s]');
grid on
subplot(4,1,3)
plot(time,uo)
ylabel('uo [V]');
xlabel('t [s]');
grid on
subplot(4,1,4)
plot(time,iL)
ylabel('iL [V]');
xlabel('t [s]');
grid on
Online simulácia
7.5.1.3. Unipolárna PWM#
Základný princíp činnosti unipolárnej PWM (pre mostový striedač) je vysvetlený na Obr. 7.13. Napätie na záťaži, pri unipolárnej PWM, môže byť popísané nasledujúcou funkciou
7.5.1.4. Matlab/Octave#
Ukáž kód
% unipolarna PWM
clc
close all
clear all
% parametre obvodu
uDC = 100;
R = 10;
L = 10e-3;
% frekvencia piloveho signalu
fsw = 1000;
% frekvencia referencneho napatoveho signalu
fref = 50;
% krok simulacie
dt = 1e-6;
% simulacny cas
Tsim = 4/fref;
% pociatocne podmienky
iL = 0;
u = [uDC];
X = [iL];
t=0:dt:Tsim;
% referencny sinusovy priebeh napatia
uref = 0.7*uDC*sin(2*pi*fref*t);
% pilovy signal
sawt = 100*sawtooth(2*pi*fsw*t,0.5);
% stavove matice
A = [-R/L];
B = [1/L];
% jednotkova matica
E = eye(size(A));
% matice nepriamej eulerovej metody
F = inv(E-dt*A);
G = F*dt*B;
n = 1;
% nepriama eulerova metoda
for t=0:dt:Tsim
% unipolarne riadenie PWM
if ((sawt(n) < uref(n)) && (sawt(n) > -uref(n)))
u = uDC;
elseif ((sawt(n) > uref(n)) && (sawt(n) < -uref(n)))
u = -uDC;
else
u = 0;
end
X = F*X+G*u;
iL(n)=X(1);
uo(n)=u;
time(n)=t;
if n>1
uL(n)=L*((iL(n)-iL(n-1))/dt);
uzat(n) = R*iL(n)+uL(n);
end
n=n+1;
end
% priebehy
subplot(2,1,1)
plot(time,sawt,time,uref,time,-uref)
legend('pila','uref','-uref');
ylabel('u [V]');
xlabel('t [s]');
grid on
subplot(2,1,2)
plot(time,uzat)
ylabel('uzat [V]');
xlabel('t [s]');
hold on
yyaxis right
plot(time,iL)
ylabel('iL [A]');
hold off
grid on
Online simulácia