Documente Academic
Documente Profesional
Documente Cultură
Electronica
Teme Matlab
S.A.E
2017-2018
Curs 1
% Dimensionarea motorului de actionare - ascensor
clear all
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
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
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')
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')
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%;
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)
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.
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
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
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
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
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]
udr=0;uqr=0;
fdsi=0;fqsi=0;
fdri=0;fqri=0;
idri=0;iqri=0;
idsi=0;iqsi=0;
om=0;
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;
%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;
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)