Sunteți pe pagina 1din 36

Universitatea “Dunărea de Jos” Galati

Facultatea de Automatica, Calculatoare, Inginerie Electrica si

Electronica

Teme Matlab
S.A.E

Cadru didactic îndrumator: Stundent:


Prof. dr.ing. M.Gaiceanu Celaj Andi
Electromecanică Anul IV

2017-2018
Curs 1
% Dimensionarea motorului de actionare - ascensor

clear all

% Turatia nominala a motorului


nn=1450
pi=3.14
% Momente de inertie ale partilor rotative - individual
J1=15
J2=8
J3=2
J4=0.5
J5=200
J6=8
% Viteze unghiulare
omegat=2.5
omegad=7.5
% Masa cabina [kg]
mc=1200
% Masa contragreutate [kg]
mcw=800
% viteza [m/s]
u=1
% Acceleratie gravitationala
g=9.81
% Randamentul sistemului de transmisie
eta=0.8
% Viteza unghiulara motor
wm=2*pi*nn/60
% Moment inertie - parti rotative
Jr=J1+J2+J3+(J4+J5)*omegat^2/wm^2+J6*omegad^2/wm^2
% Moment inertie redus la axul motorului
Je=(mc+mcw)*u^2/wm^2
% Moment inertie total
Jt=Jr+Je
% Cuplul motorului
Mem=(mc*g*u)/(wm*eta)
% Puterea motorului
Pem=Mem*wm
% Cuplul motorului - contragreutate
Mem1=(mc-mcw)*g*u/(wm*eta)
% Puterea motorului - contragreutate
Pem1=Mem1*wm

Rezultă
nn =1450
pi =3.1400
J1 =15
J2 =8
J3 =2
J4 =0.5000
J5 =200
J6 =8
omegat =2.5000
omegad =7.5000
mc =1200
mcw =800
u =1
g =9.8100
eta =0.8000
wm =151.7667
Jr =25.0739
Je =0.0868
Jt = 25.1608
Mem =96.9580
Pem =1.4715e+004
Mem1 =32.3193
Pem1 =4905

Cursul 4. AUTOMATIZARE CONVENTIONALA IN VEDEREA


CONDUCERII M.C.C

clear all;close all;


%MODELUL SISTEMULUI DE ACTIONARE
%DATELE MOTORULUI
%puterea nominala
Pn=1000 %W
%tens nom
Un=220 %V
%turatie nom
nn=1500 %rpm
%Moment de inertie
Jt=0.02 %kgm^2
%randament nom
etan=0.86
%CALCULUL DATELOR PRINCIPALE
%puterea abs de motor de la retea
P1=Pn/etan %W
%crt nom
Ian=P1/Un
%pierderi in motor
deltap=P1-Pn
%pierderi un Cu
pcun=deltap/2
%rezistenta infasurarii rotorice
Ra=pcun/(Ian^2)
%puterea elmag
P=Pn+deltap/2
%cuplu elmag
Mn=30*P/pi/nn
%constanta mecanica
kfi=Mn/Ian
Cm=kfi
%constanta electrica
kefi=pi*kfi/30
Ce=kefi
%tensiunea elmotoare
E=Ce*nn
%verificarea val Ra
Ra=(Un-E)/Ian
%moment de volant
g=9.81;
GD2=4*g*Jt
%cuplu max
Mmax=2*Mn
%crt max absorbit
Iamax=Mmax/Cm
%din identificare am obt ct de timp el Ta
Ta=7/(10^3)
%inductivitatea infasurarii rotorice
La=Ta*Ra
%cuplu rezistent
Mr=1*Mn;
k=pi/30;
%ACORDAREA OPTIMALA A BUCLE DE CURENT(criteriul KESSLER)
%ptr MCC
ka=1/Ra
%factor de amplificare al trad de crt
ki=10/Iamax
%const de timp a trad
Ti=0.03
%factorul de amplificare al conv cc-cc
kd=Un/10
%PARAMETRII DE ACORDARE AI REGULATORULUI DE CURENT PI
%suma const de timpi paraziti in bucla de crt
Tsi=Ti
%coef de proportionalitate al reg de crt PI
tau1=Ta
%factorul de amplificare al reg de crt PI
k1=1/(2*Tsi*kd*ka*ki)
%const de timp a filtrului pe marimea impusa I(variatie treapta)
Tf1=Ti
% Acordarea Optimala a buclei de Turatie
% (criteriul de acordare al simetriei - varianta Kessler)
% -factorul de amplificare al traductorului de turatie
kt=10/nn % (V/rot/min)
% - constanta de timp a traductorului de turatie
Tt=Ti % sec
% - factorul de amplificare a blocului inertial(1/s*Jt)
kj=375/GD2;
% - constanta de timp a blocului inertial
% PARAMETRI DE ACORDARE AL REGULATORULUI DE TURATIE PI
%- suma constantelor de timp paraziti ai buclei de turatie
Tst=2*Tsi+Tt % sec
% - coeficientul de proportionalitate al regulatorului de turatie PI
k2=ki/(kj*kt*Cm*8*(Tst^2))
%- constanta de tipm al filtrului pe marimea impusa N (variatie rampa)
Tf2=Tt
%SIMULAREA NUMERICA A SISTEMULUI (SAE) -bucla de crt
%per de esantionare
T=Ta/10;
%conditii initiale
%a)pt bucla de crt
Ir=0; %iesirea trad de crt
If=0; %iesire filtru pe marimea impusa Ii
U=0; %tens furnizata de conv(cmd pt MCC)
Ia=0; %crt in infasurarea rotorica
% b) ptr bucla de turatie
Nf=0; % r.p.m % iesirea filtrului pe marimea impusa Ni
Nr=0; % iesirea traductorului de turatie
Ni=10; % V %vturatia impusa sub forma de treapta
N=0; % viteza de rotatie la axul masinii de lucru
%marimea impusa a buclei de crt (intrare filtru I) sub forma de treapta
Ii=0; %init crt impus
t=0; %timp initial
tf=0.65; %timp final
i=1; %contor per de esantionare=nr per de esant in tf
swcu=0; % estimarea pierderilor in cupru
sw1=0; %estimarea energ. acumulate in L. rotor
swj=0; % estimarea energiilor acumulate in masele in miscare
wpr=0; % estimarea energiilor primite de la retea
wp=0;
Mre=Mn;
c1=exp(-T/Tt);
ci=exp(-T/Ti);
ca=exp(-T/Ta);
%ciclul pt obt turatiei la axul ML
while(t<=tf),
vtii(i)=Ii; vtir(i)=Ir; vtif(i)=If; vtu(i)=U;
vtia(i)=Ia;
mre(i)=Mr;
%crt impus filtrat la pasul curent k
Ifu=ci*If+(1-ci)*Ii;
%crt de reactie la pas curent k
Iru=ci*Ir+ki*(1-ci)*Ia;
%cmd pt MCC la pasul curent - iesire REG CRT
Uu=U+k1*kd*tau1*(Ifu-Iru)+k1*kd*(T-tau1)*(If-Ir);
%estimator de cuplu rezistent
Mreu=Mr
%crt din infasurarea rotorica la pasul curent
Iau=ca*Ia+ka*(1-ca)*(U-Ce*0);
Ir=Iru; If=Ifu; U=Uu; Ia=Iau; Mr=Mreu;
t=t+T; %reinit timp pt integrare
timp(i)=t;
i=i+1; %reinit contor
end
plot(timp,vtir,timp,vtii)
figure
plot(timp,vtia,timp,mre)

Rezultat matlab

Pn = 1000
Un = 220
nn = 1500
Jt = 0.0200
etan = 0.8600
P1 = 1.1628e+003
Ian = 5.2854
deltap = 162.7907
pcun = 81.3953
Ra = 2.9137
P = 1.0814e+003
Mn = 6.8844
kfi = 1.3025
Cm = 1.3025
kefi = 0.1364
Ce = 0.1364
E = 204.6000
Ra = 2.9137
GD2 = 0.7848
Mmax = 13.7688
Iamax = 10.5708
Ta = 0.0070
La = 0.0204
ka = 0.3432
ki = 0.9460
Ti = 0.0300
kd = 22
Tsi = 0.0300
tau1 = 0.0070
k1 = 2.3333
Tf1 = 0.0300
kt = 0.0067
Tt = 0.0300
Tst = 0.0900
k2 = 3.5184
Tf2 = 0.0300
cuplul electromagnetic
0.4
0.2
0
-0.2
M

-0.4
-0.6
-0.8
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp[sec]
6
5
4
3
2
1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Cursul 5. Raspunsul in bucla deschisa

 Performante impuse sistemului de reglare

La inceput motorul fara reglare se roteste doar cu 0.1 rad/sec cu o tensiune de intrare de 1V.
a)Principala cerinta a motorului este sa functioneze la o viteza dorita, eroarea stationara a
motorului trebuie sa fie mai mica de 1%.
b)Alta cerinta este ca motorul trebuie sa accelereze spre viteza de regim stationar cat mai
repede posibil, incepand din momentul alimentarii. Se impune timp de raspuns de 2 secunde.
c) Deoarece o viteza mai mare decat cea de referinta poate deteriora masina de lucru se
impune o suprareglare mai mica de 5%.

a)Functia de transfer
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
t=0:0.1:3;
step(num,den, 0:0.1:3)
title('raspunsul in bucla deschisa')

raspunsul in bucla deschisa


0.09

0.08

0.07

0.06
Am plitude

0.05

0.04

0.03

0.02

0.01

0
0 0.5 1 1.5 2 2.5 3
Time (sec)
b)Spatiul starilor
j=0.01;
b=0.1;
k=0.01;
r=1;
l=05;
a=[-b/j k/j; -k/l -r/l];
b=[0; 1/l];
c=[1 0];
d=0;
step(a,b,c,d)

Step Response
0.1

0.09

0.08

0.07

0.06
Amplitude

0.05

0.04

0.03

0.02

0.01

0
0 5 10 15 20 25 30 35
Time (sec)
Se doreste sa pozitionam motorul foarte precis, astfel eroarea stationara trebuie sa fie 0. Se
doreste ca si eroarea stationara datorata perturbatiilor sa fie 0. Motorul trebuie sa ajunga in
pozitia finala foarte repede. In acest caz se doreste un timp de raspuns de 40ms si o supra reglare
mai mica de 16%.
Daca se considera ca marime de referinta R ca o variatie treptata, viteza motorului la iesire va
avea:
Timp de raspuns < 40msec;
Suprareglare < 16%
Eroare stationara 0
Eroare stationara datorata pertubatiilor 0.

a)Functia de transfer
J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2) 0];
step(num,den, 0:0.001:0.2)
title('raspunsul in bucla deschisa')

raspunsul in bucla deschisa


30

25

20
Amplitude

15

10

0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Time (sec)
b) Spatiul starilor

j=3.2284E-6;
b=3.5077E-6;
k=0.0274;
r=4;
l=2.75E-6;
a=[0 1 0; 0 -b/j k/j; 0 -k/l -r/l];
b=[0; 0; 1/l];
c=[1 0 0];
d=[0];
step(a,b,c,d)

4
x 10 Step Response
6

4
Amplitude

0
0 500 1000 1500
Time (sec)
Este o problema numerica de scalare a reprezentarii ecuatiilor dinamicec. Pentru a rezolva
problema se scaleaza timpul cu tscale = 1000. Acum timpul rezultat va fi in milisecunde, mult
mai rafinat fata de secunde. Ecuatiile sunt date de:
tscale = 1000;
j=3.2284E-6*tscale^2;
b=3.5077E-6*tscale^2;
k=0.0274*tscale;
r=4*tscale;
l=2.75E-6*tscale^2;
a=[0 1 0; 0 -b/j k/j; 0 -k/l -r/l];
b=[0; 0; 1/l];
c=[1 0 0];
d=[0];
[y,x,t] = step(a,b,c,d);
plot(t/tscale,y)
ylabel('Amplitudine')
xlabel('Timp (sec)')

2.5

2
Amplitudine

1.5

0.5

0
0 0.5 1 1.5
Timp (sec)
Sinteza sistemelor de reglare a vitezei cu masini de curent continuu.
Cerinte de proiectare:
 Timp de raspuns mai mic de 2 secunde;
 Suprareglare mai mica de 5%;
 eroare stationara mai mica de 1%;

Proiectarea unui regulator PID


J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];

Controlul proportional
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;
num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
kp=100;
numa=kp*num;
dena=den;
[numac,denac]=cloop(numa,dena);
t=0:0.01:5;
step(numac,denac,t)
title('Raspunsul sistemului de reglare cu regulator proportional')
ylabel('Amplitudine')
xlabel('timp')
Raspunsul sistemului de reglare cu regulator proportional
1.4

1.2

1
Am plitudine

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
timp (sec)

Controlul PID
clear all; close all;
J=0.01;
b=0.1;
k=0.01;
R=1;
L=0.5;
num=k;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
kp=100;
ki=1;
kd=1;
numc=[kd, kp, ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID cu valori mici pentru ki si kd')
ylabel('Amplitudine')
xlabel('timp')
Control PID cu valori mici pentru ki si kd
1.4

1.2

0.8
Amplitudine

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16
timp (sec)

Acordarea parametrilor
Se mareste ki la 200 pentru a reduce timpul de raspuns
clear all; close all;
J=0.01;
b=0.1;
k=0.01;
R=1;
L=0.5;
num=k;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
kp=100;
ki=200;
kd=1;
numc=[kd, kp, ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID cu valori mici pentru ki si kd')
ylabel('Amplitudine')
xlabel('timp')
Control PID cu valori mici pentru ki si kd
1.4

1.2

0.8
Amplitudine

0.6

0.4

0.2

0
0 0.2 0.4 0.6 0.8 1 1.2
timp (sec)

Se mareste kd la 10 pentru a reduce suprareglajele.


clear all; close all;
J=0.01;
b=0.1;
k=0.01;
R=1;
L=0.5;
num=k;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
kp=100;
ki=200;
kd=10;
numc=[kd, kp, ki];
denc=[1 0];
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
step(numac,denac)
title('Control PID cu valori mici pentru ki si kd')
ylabel('Amplitudine')
xlabel('timp')
Control PID cu valori mici pentru ki si kd
1.4

1.2

0.8
Amplitudine

0.6

0.4

0.2

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
timp (sec)

In concluzie deducem ca avem nevoie de un regulator PID cu kp=100, ki=200 si kd=10 pentru a
satisface toate cerintele.

Proiectarea prin metoda locul radacinilor.


Cerinte de proiectare:
 Timp de raspuns mai mic de 2 secunde
 Suprareglarea mai mica de 5%
 Eroarea stationara mai mica de 1%.
clear all; close all;
J=0.01;
b=0.1;
k=0.01;
R=1;
L=0.5;
num=k;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
rlocus(num,den)
sgrid(.8,0)
sigrid(2.3)
title('locul radacinilor fara regulator')
Root Locus
6
0.8

2
Im a g in a r y A x is

-2

-4

0.8
-6
-12 -10 -8 -6 -4 -2 0 2
Real Axis

Determinarea amplificarii cu ajutorul functie rlocfind

Select a point in the graphics window

selected_point = 0.2915 + 0.3202i


k = 11.9215
poles =
-6.0000 + 2.8041i
-6.0000 - 2.8041i

Stepresponse w ith gain


0.7

0.6

0.5
A m p litu d e

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3
Time (sec)
Introducerea unui regulator de intarziere:
clear all; close all;
J=0.01;
b=0.1;
k=0.01;
R=1;
L=0.5;
num=k;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+k^2)];
zl=1;
pl=0.01;
numa=[1 zl];
dena=[1 pl];
numb=conv(num,numa);
denb=conv(den,dena);
rlocus(numb,denb)
sgrid(.8,0)
sigrid(2.3)
title('Locul radacinilor cu un regulator de intarziere')

Root Locus
6
0.8

2
Imaginary Axis

-2

-4

0.8
-6
-12 -10 -8 -6 -4 -2 0 2
Real Axis

Reprezentarea raspunsului sistemului in bucla inchisa

Observatie.
Cursul 7. Modele matematice ale mcc
clear all; close all;
% date initiale
kfi=3.77; Ra=0.02; La=0.0005; J=90
van=220; ian=1000; wn=50; w=50
Mrn=kfi*ian;
ts=La/Ra; tm=Ra*J/kfi^2;

Timp p – Curent

Timp p – Vit Unghiulara

Modele echivalente ale mcc


% date initiale
kfi=3.77; Ra=0.02; La=0.0005; J=90;
van=220; ian=1000; wn=50;
Mrn=kfi*ian;
ta=La/Ra; tm=Ra*J/kfi^2;

figure(1)
plot(ts,w,ts,w1,ts,w2);
xlabel('timp[s]');
ylabel('w/wn[p.u.]')
legend('w','w1','w2')
figure(2)
plot(ts,ia);
xlabel('timp[s]');
ylabel('ia/ian[p.u.]');
figure(3)
plot(w,Me,w,Mr,w,Mes);
xlabel('it.ungh.[p.u.]');
ylabel('Me[p.u.]');
legend('Me','Mr','Mes')
1
w
0.9 w1
w2
0.8

0.7

0.6
w/wn[p.u.]

0.5

0.4

0.3

0.2

0.1

0
0 0.5 1 1.5 2 2.5 3
timp[s]

5
ia/ian[p.u.]

0
0 0.5 1 1.5 2 2.5 3
timp[s]
10
Me
9 Mr
Mes
8

6
Me[p.u.]

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
it.ungh.[p.u.]
Cursul 9

Compensare feedforward a cuplului rezistent+estimare


% date initiale
kfi=3.77; Ra=0.02; La=0.0005; J=90;
van=220; ian=1000; wn=50;
Mrn=kfi*ian;
ta=La/Ra; tm=Ra*J/kfi^2;
ka=25;g=100;
figure(1)
plot(ts,Mr,ts,Mr1);
xlabel('timp[s]');
ylabel('Mr/Mm, Mr.g/((s+g).Mm)[p.u.]')
legend('Mr','Mr1')
figure(2)
plot(ts,w,ts,w1);
xlabel('timp[s]');
ylabel('w/wn[p.u.]');
legend('w','w1')

6
Mr
Mr1
5
Mr/Mm, Mr.g/((s+g).Mm)[p.u.]

-1
0 1 2 3 4 5 6 7 8 9 10
timp[s]
1.4
w
w1
1.2

0.8
w/wn[p.u.]

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
timp[s]

Cursul 10. Modelul matematic al motorului asincron trifazat


%MODELUL MATEMATIC IN FLUXURI AL MASINII ASINCRONE;
%Datele initiale
clear all; clc
%puterea mecanica (la ax)
P=750; % [W]
%rezistenta infasurarii statorice
Rs=8; %[ohmi]
%rezistenta infasurarii rotorice
Rr=8; %[ohmi]
%inductivitatea proprie de scapari a infasurarii statorice
Lss=0.045; %[H]
%inductivitatea proprie de scapari a infasurarii rotorice
Lrs=0.045; %[H]
%inductivitatea mutuala dintre infasurarea statorica si cea rotorica
Lm=1; % [H]
%momentul de inertie a tuturor maselor in miscare, redus la arborele
masinii
J=0.01; %[kgm^2]
%turatia de sincronism
n=1500; %[rot/min]
%numarul de perechi de poli
p=2;
%cuplul rezistent
Mr=0.2; %[Nm]
%frecventa tensiunii de alimentare
f1=50; %[Hz]
%pulsatia tensiunii de alimentare
om1=2*pi*f1; %[rad/sec]
%frecventa impusa, de functionare a masinii
f1=50; %[Hz]
%viteza unghiulara electrica a masinii
oml=2*pi*f1; %[rad/sec]

%Calculul datelor principale

%inductivitatea totala proprie a fazei statorice


Ls=Lss+Lm; % [H]
%inductivitatea totala proprie a fazei rotorice
Lr=Lrs+Lm; %[H]
%constanta de timp a fazei statorice
Ts=Ls/Rs; %[sec]
%constanta de timp a fazei rotorice
Tr=Lr/Rr; %[sec]
%determinantul sistemului de curenti id-iq
det=Ls*Lr-Lm^2;

%initializare timp de integrare


t=0;
tf=1; %sec
%initializare contor variabile tampon
i=1;
% conditiile initiale de integrare a ecuatiiloL diferentiale ale
masinii asincrone

udr=0;uqr=0;
fdsi=0;fqsi=0;
fdri=0;fqri=0;
idri=0;iqri=0;
idsi=0;iqsi=0;
om=0;

%-conditia initiala a ec. dif. a pozitiei sistemului de axe dl-


ql
lambdai=0;

%sistemul trifazat simetric si echilibrat de tensiuni aplicate


masinii
%-valoarea efectiva a tensiunii de alimentare
U=220; % [V]
%-perioada de esantionare
h=0.001;
%conditii initiale pentru bilant puteri
sP1=0;sP=0;sP2=0;sPv=0;sPm=0;sPfel=0;sPcul=0;sPcu2=0;sPfe2=0;

% ciclul ptr. obtinerea turatiei la axul ML(masinii de lucru)

while (t<=tf),
%generatorul de tensiune trifazata pentru alimentarea statorului masinii
asincrone

uA=sqrt(2)*U*cos(oml*t);
uB=sqrt(2)*U*cos(oml*t-2*pi/3);
uC=sqrt(2)*U*cos(oml*t-4*pi/3);
%transformarea de coordonate (A,B,C)-(d,q) a sistemului de tensiuni
statorice

uds=(2/3)*(uA*cos(oml*t)+uB*cos(oml*t-2*pi/3)+uC*cos(oml*t-4*pi/3));
uqs=-(2/3)*(uA*sin(oml*t)+uB*sin(oml*t-2*pi/3)+uC*sin(oml*t-4*pi/3));
%memorare date in variabile tampon
udst(i)=uds;
uqst(i)=uqs;
%pozitia sistemului de axe dl-ql
% lambda=oml*h+lambdai; %[rad]
%reinitializarea pozitiei sistemului de axe dl-ql
% lambdai=lambda;

%bloc pentru integrarea ~istemului de ecuatii diferentiale


fds=fdsi+h*(-Rs*idsi+oml*fqsi+uds);
fqs=fqsi+h*(-Rs*iqsi-oml*fdsi+uqs);
fdr=fdri+h*(-Rr*idri+ (oml-om) *fqri+udr);
fqr=fqri+h*(-Rr*iqri-(oml-om)*fqri+uqr);
ids=(Lr*fds-Lm*fdr)/det;
iqs=(Lr*fqs-Lm*fqr)/det;
idr=(Ls*fdr-Lm*fds)/det;
iqr=(Ls*fqr-Lm*fqs)/det;

%cuplul electromagnetic
Me=3*p*Lm*(idr*iqs-iqr*ids)/2;
M(i)=Me;
%-ecuatia de miscare(viteza electrical
omv=om+((p*h)/J)*(Me-Mr);
%-turatia la ax
nr=(30/pi/p)*om;

%bilant de puteri d-q


%puterea primita de la retea
P1(i)=(uds*ids+uqs*iqs)*3/2;%pe o perioada de esantionare
sP1=sP1+P1(i);

%puterea disipata in infas. stator


Pcul(i)=Rs*(ids^2+iqs^2)*3/2;
sPcul=sPcul+Pcul(i);
%pierderile in fierul statoric
Pfel(i)=(ids*((fds-fdsi)/h)+iqs*((fqs-fqsi)/h) )*3/2;
sPfel=sPfel+Pfel(i);
%puterea electromagnetica
P(i)=oml*(fds*iqs-fqs*ids)*3/2;
sP=sP+P(i);
%puterea electromagnetica ptr verificare
Pv(i)=oml*(fqr*idr-fdr*iqr)*3/2;
sPv=sPv+Pv(i);

%puterea disipata in colivia rotorica


Pcu2(i)=Rr*(idr^2+iqr^2)*3/2;
sPcu2=sPcu2+Pcu2(i);
%pierderi mecanice
Pm(i)=omv*(fdr*iqr-fqr*idr)*3/2;
sPm=sPm+Pm(i);
%pierderile in fe2
Pfe2(i)=(idr*((fdr-fdri)/h)+iqr*((fqr-fqri)/h))*3/2;
sPfe2=sPfe2+Pfe2(i);
%puterea la arbore
P2(i)=Mr*om/p;
sP2=sP2+P2 (i);

%-memorare date in variabile tampon


fdrit(i)=fdr;fqrit(i)=fqr;
fdsit(i)=fds;fqsit(i)=fqs;
idst(i)=ids;iqst(i)=iqs;
idrt(i)=idr;iqrt(i)=iqr;
omvt(i)=omv;
nrt(i)=nr;
%-reinitializarea conditiilor de integrare fdri=fdr;fqri=fqr;
fdsi=fds;fqsi=fqs;
idri=idr;iqri=iqr;
idsi=ids;iqsi=iqs;
om=omv;
%reinitializare contoare
t=t+h;
i=i+1;
end

sPt=sPcul+sPfel+sPcu2+sPfe2+sPm
eta=(sP1-sPt)/sP1
%puterea la arbore
sP2a=sP1-sPt;
sPfelv=sP1-sPcul-sP;
%reprezentarea grafica a simularii masinii asincrone.

t=0:h:tf-2*h;
i=1:1:length(t);
subplot(1,2,1);
plot(t,udst(i),'r')
title('componenta d a sistemului dl-ql')
xlabel('timp[sec)')
ylabel('uds')
grid

subplot(1,2,2);
plot(t,uqst( i),'r')
title('componenta q a sistemului dl-ql')
xlabel('timp[sec]')
ylabel('uqs')
grid
fprintf('vizualizati fig.3')
%reprezentarea grafica a curentilor masinii asincrone.
pause
t=0:h:tf-2*h;
i=1:1:length(t);
subplot(2,2,l);
plot(t,idst(i),'g');
title('stator ids=f(t)')
xlabel('timp(sec]')
ylabel('curent')
grid;

subplot(2,2,2);
plot(t,iqst(i),'r');
title('stator iqs=f(t)')
xlabel('timp[sec]')
ylabel('curent')
grid

subplot(2,2,3);
plot(t,idrt(i),'m');
title('rotor idr=f(t)')
xlabel('timp[sec)')
ylabel('curent')
grid

subplot(2,2,4);
plot(t,iqrt(i),'b');
title('rotor iqr=f(t)')
xlabel('timp [sec]')
ylabel('curent')
grid

fprintf('vizualizati grafic(4)')
pause
t=0:h:tf-2*h;
i=1:1:length(t);
subplot(2,1,1);
plot(t,M(i),'r')
title('cuplul electromagnetic')
xlabel('timp[sec]')
ylabel('M')
grid

subplot(2,1,2);
plot(t,nrt(i),'m')
title('turatia')
xlabel('timp [sec)')
ylabel('n[rot/min)')
grid
fprintf('vizualizati grafic(5)')
-12
componenta d a sistemului dl-ql x 10 componenta q a sistemului dl-ql
311.127 5
311.127 4
3
311.127
2
311.127
1
311.127
0
uds

uqs
311.127
-1
311.127
-2
311.127
-3
311.127 -4
311.127 -5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp[sec) timp[sec]
stator ids=f(t) stator iqs=f(t)
12 5
10
0
8
6 -5
curent

curent
4
2 -10
0
-15
-2
-4 -20
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp(sec] timp[sec]
rotor idr=f(t) rotor iqr=f(t)
4 20
2
0 15
-2
curent

curent
-4 10
-6
-8 5
-10
-12 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp[sec) timp [sec]
cuplul electromagnetic
0.4
0.2
0
-0.2
M

-0.4
-0.6
-0.8
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp[sec]
turatia
0
-50
-100
n[rot/min)

-150
-200
-250
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
timp [sec)

S-ar putea să vă placă și