Documente Academic
Documente Profesional
Documente Cultură
Curs MATLAB Simulink PDF
Curs MATLAB Simulink PDF
Curs MATLAB Simulink PDF
MATLABul lucreaz in
principal cu cinci tipuri de
ferestre, una principala
pentru comenzi
(command window) si
alte patru ferestre
secundare: spatiul de
lucru (workspace),
directorul curent (current
directory), fereastra de
afisare a comenzilor
anterioare (command
history) si fereastra
Launch Pad care permite
accesarea urmatoarelor
librarii-MATLAB,
Toolboxes, Simulink si
Blocksets (Fig. 2) 9
1.3. Ce este Simulinkul?
z SIMULINKul este un set de programe soft dedicat modelarii, simulrii si
analizei sistemelor dinamice.
10
1.3. Lansarea in executie a Simulinkului
12
1.4. Informatii ajutatoare ale
MATLABului (Helpul online)
z MATLABul poseda o documentatie vasta care permite obtinerea informatiilor
necesare despre invatarea si utilizarea acestui pachet de programe, atat
online cat si tiparit (in format pdf).
z Comanda help furnizeaza informatii online despre orice functie MATLAB si
Simulink sau realizata de un utilizator al pachetului de programe.
z Cu comanda help se pot obtine informatii ajutatoare despre o anumita
functie, se pot lista fisierele dintr-un director sau se poate lista continutul
unui anumit fisier.
z Informatii specifice despre o anumita functie sau despre un director se pot
obtine tastand comanda help + subiect. De exemplu, tastand comanda
help elfun vom obtine informatii despre toate functiile matematice
elementare: functiile trigonometrice (sin, cos), exponentiale (exp, log),
complexe (real, imag).
z Daca subiectul este un director helpul afiseaza fisierele continute in acesta.
z Se pot scrie helpuri (linii cu informatii ajutatoare) pentru fisierele MATLAB
(M-file) sau pentru toolboxurile proprii construite de utilizator.
13
2. Instructiuni, functii si operatii de
baza ale MATLABului
z MATLABul este un limbaj de expresii. Expresiile tiparite de utilizator sunt interpretate si
evaluate. Instructiunile MATLAB sunt de cele mai multe ori de forma : variabila = expresie
z Daca numele variabilei si semnul = sunt omise, MATLABul creeaza automat o variabila cu
numele ans (Fig. 4) in care este returnat rezultatul unui calcul, ca in exemplul urmator:
z Tastand urmatoarea secventa (operatie matematica) in fereastra de comanda
20 2 * 5
z MATLABul va returna urmatorul raspuns: ans = 10
z Orice instructiune sau linie de instructiuni este terminata cu enter. Utilizand tasta enter se
trece la urmatoarea secventa de linie.
z Daca ultimul caracter al liniei este punct-virgula ; , instructiunea este executata dar nu se
tipareste nimic in fereastra de comenzi (command window).
z MATLABul utilizeaza pentru reprezentarea numerelor, in notatia zecimala conventionala,
punctul zecimal. De exemplu 0.15 = 0,15 sau 1.5021e-6 = 1,5021 * 10-6.
14
z Simbolul doua puncte (:) este unul dintre cei mai importani operatori ai
MATLABului. Poate fi utilizat pentru a crea vectori si matrice, pentru a
specifica submatrice si vectori si pentru a executa iteraii.
z De exemplu comanda: t1 = 1:6
va genera un vector linie coninnd numerele de la 1 la 6 avand incrementul
unitate. MATLABul va genera rezultatul:
t1 = 1 2 3 4 5 6
z Incrementul poate fi pozitiv sau negativ si poate fi diferit de unitate, ca in
exemplul urmator:
t2 = [(0:2:10); (5:-0.2:4)]
va genera urmatorii vectori:
t2=
0 2.0000 4.0000 6.0000 8.0000 10.0000
5.0000 4.80000 4.60000 4.40000 4.20000 4.0000
z MATLABul are cateva variabile speciale predefinite. Acestea nu pot fi
declarate si sunt accesibile global in orice fisier-M (M-file) si includ:
i, j, pi=, inf= si NaN=Not-a-Number (0/0);
z Ambele variabile i si j au aceeasi valoare si sunt folosite pentru a genera
numerele complexe, ca in exemplul urmator:
z=3+4*j.
Va returna z = 3.0000 + 4.0000i 15
2.1. Structura programelor MATLAB
z MATLABul lucreaz fie in modul linie de comanda, situaie in
care fiecare linie este prelucrata imediat si rezultatele sunt
afiate, fie in programe coninute in fiiere.
z Fiierele ce conin instruciuni MATLAB se numesc fiiere-m
(au extensia .m). Aceste fiiere constau dintr-o succesiune
de instruciuni cu posibilitatea apelrii si altor fiiere m si
sunt fiiere text de tip ASCII.
z Un program MATLAB poate fi scris sub forma a doua tipuri
de fiiere script si / sau function. Ambele tipuri sunt
scrise in format ASCII (text) iar algoritmul care a fost
implementat poate fi urmrit cu uurina daca se cunosc
conveniile si sintaxa MATLAB.
z Aceste tipuri de fiiere (cu extensia .m) permit crearea unor
funcii noi care sa le completeze pe cele deja existente. Prin
aceasta facilitate MATLABul poate fi extins la aplicaii
specifice utilizatorului care are, de asemenea, posibilitatea16
scrierii de noi proceduri.
In tabelul 1 se vor prezenta cateva functii MATLAB de control al fisierelor:
what Listeaza fisierele cu extensia .m, .mat, .dat, .mex din directorul curent
who Listeaza variabilele curente din memorie
whos Listeaza variabilele curente din memorie, dimensiunile lor si tipul acestora
delete
Sterge fisierul precizat de pe disc
17
2.1.1. Fiiere script
z Un fiier script este un fiier extern ferestrei de comenzi fiind
plasat in directorul curent si care conine o secvena de
comenzi MATLAB
z Fiierele script sunt cele mai simple fiiere-m (cu extensia
.m) deoarece ele nu au nici mrimi de intrare nici de ieire.
z Dup execuia unui fiier script, variabilele cu care acesta a
operat raman stocate in spaiul de lucru (workspace).
z Fiierele script lucreaz cu date existente din workspace. De
asemenea, ele pot crea date noi cu care sa opereze.
z Daca avem mai multe fiiere intr-un director este de dorit sa
includem cteva comentarii (explicative) la nceputul fiecrui
fiier creat. 18
2.1.1. Fisiere script. Exemplu
z Exemplul 1: Sa se scrie un program MATLAB sub forma de fisier script care sa
calculeze amplitudinea si faza unei functii de transfer G(jw)=1 / (jw+2) pentru w = 1.
%Amplitudine.m: exemplu de fisier script pentru calcularea amplitudinii si fazei lui G pentru w=1.
unde function este cuvntul cheie care declara fiierul ca fiier funcie, nume_functie
este numele functiei, adica numele sub care se salveaz fiierul fara extensie,
param_iesire reprezint parametrii de ieire care trebuie separai prin virgula si
cuprini intre paranteze drepte (daca functia nu are parametrii de ieire parantezele
drepte si semnul egal nu mai au sens), iar param_intrare reprezint parametrii de
intrare, care trebuie, de asemenea, separati prin virgula dar cuprinsi intre paranteze
rotunde.
z Un fiier funcie care are mai multe intrari si iesiri poate fi de forma:
function [x, y, z] = sfera (theta, phi, rho)
z Daca fiierul function nu conine nici un argument de iesire, atunci prima linie poate
avea forma:
function printresults(x) 20
2.1.2. Fiiere function. Exemple
z Structura unui fisier function poate conine instruciuni (comenzi) MATLAB
de control, funcii MATLAB care realizeaz calcularea si alocarea valorilor
pentru marimile de iesire.
function Re = echivalent(R)
24
2.2.1. Calcule cu matrice. Generarea matricelor
z MATLABul ofera un set de functii pentru utilizarea matricelor.
z Calculul determinantului unei matrice se face cu functia det, iar a inversei
unei matrici cu functia inv.
z Daca dorim sa adugam o noua linie unei matrice, de exemplu matricei B,
acest lucru se poate realiza tastnd comanda:
B = [B; [5 6]];
z De asemenea, MATLABul ofer si facilitatea de a extrage o submatrice
dintr-o matrice, sau de-a transforma o matrice intr-un vector.
z In cazul selectarii liniilor sau coloanelor se folosesc urmatoarele sintaxe:
A(:, n) - selecteaza coloana n a matricei A
A(m,:) - selecteaza linia m a matricei
A(:) - selecteaza toate elementele matricei A, privite ca o singura
coloana.
z Utilizand functia eye, care se apeleaza cu una dintre sintaxele:
I=eye(n), I=eye(m, n) sau I=eye(size(nume_matrice))
se poate genera matricea identitate (matricea cu elementele de pe diagonala
principala egale cu unu, iar toate celelalte elemente zero).
z Functia linspace genereaza un vector cu pas liniar iar functia logspace
genereaza un vector cu pas logaritmic.
25
2.2.1. Calcule cu matrice. Generarea matricelor
z Exemplul 4: Sa se determine curentii I1, I2 si I3 unui sistem trifazat,
stiind ca valorile tensiunilor sunt U1=10V, U2=15V si U3=12V iar
impedanta echivalenta a circuitului Z este o matrice patratica de
ordinul 3;
z Solutie: Pentru a rezolva sistemul trifazat de curenti se utilizeaza
comanda inv.
Se poate scrie un fiier MATLAB-script sau se pot introduce
urmtoarele linii in fereastra de comenzi (command window):
Z=[3 6 9;6 15 12;9 12 20];
U=[10 15 12]; 3 6 9
I = inv(Z)*U;
Z = 6 15 12
z MATLABul genereaza urmatorul rezultat:
9 12 20
I = -3.6491
1.2807
1.4737
z Ceea ce inseamna ca
I1 = -3.6491 A, I2 = 1.2807 A si I3 = 1.4737 A
26
2.2.1. Calcule cu matrice. Generarea matricelor
z MATLABul include patru functii de baza pentru generarea matricelor:
zeros: Genereaza o matrice cu toate elementele zero
ones: Genereaza o matrice cu toate elementele 1 (matricea unitate)
rand: Genereaza o matrice aleatoare cu distributie uniforma
randn: Genereaza o matrice aleatoare cu distributie normala
29
2.3.1. Numere complexe
Z=
(5 + j6)(4 j8) + 4300
9 j2
Rezolvare: Se scrie un fisier script de forma:
34
Programarea MATLAB.
Instruciuni si funcii de control
z Programele MATLAB sunt scrise pentru a realiza
pai secveniali, operaiile fiind realizate una dup
alta.
z In multe cazuri, insa, este necesara repetarea unui
set de instruciuni atta timp cat o condiie este
realizata si pentru alt set de instruciuni.
z Uneori este necesara repetarea unui grup de
instruciuni de un anumit numr de ori.
z Instruciunile cu ajutorul crora se poate realiza
acest lucru sunt for si while.
35
Instructiuni si functii de control
z Instruciunea for este folosita pentru repetarea unui grup de instruciuni de un
anumit numr de ori. Un contor de ciclu va tine evidenta numrului de repetri ale
instruciunilor unui ciclu si il oprete cnd contorul ajunge la valoarea precizata.
while expresie
grup_de_instructiuni 1
end
grup_de_instructiuni 2
Solutie: se scriu doua fiiere script care reprezint grafic functia sin(t), primul
utiliznd bucla for iar al doilea convertit in forma vectoriala, dup cum urmeaz:
t = 0:.01:10;
N = length(t);
for i=1:N;
y(i) = sin(t(i));
end
plot(t, y)
are si versiunea vectorizata:
t = 0 : .01 : 10;
y = sin(t);
plot(t, y)
Primul exemplu necesita un timp de execuie a comenzilor de 10-15 ori
mai mare dect cel de-al doilea. 44
3. Calcul grafic. Reprezentri si funcii grafice
46
Reprezentri si funcii grafice. Exemple
z De exemplu, daca
x=[0 3.7 6.1 6.5 5.8 3.6];
Comanda plot(x) va genera
graficul din figura ;
z Daca x si y sunt 2 vectori de
aceeai lungime, comanda
plot(x, y) va trasa grafic
elementele lui x (axa-x)
funcie de elementele lui y
(axa-y).
47
Reprezentri si funcii grafice. Exemple
t = 0:0.05:4;
y = 6 * exp(-2 *t);
plot (t, y)
54
3.1.3. Reprezentri grafice cu axe multiple
z Exemplu: Sa se reprezinte
grafic in 3D cu un pas de
/ 50, un arc spiralat (spirala)
utiliznd funciile sin(t) si
cos(t), tiind ca t=(0-10).
Sa se inscripioneze cele
trei axe x, y si z.
z Soluie: Cu secvena
urmtoare se obine graficul
din figura:
t = 0 : pi / 50 : 10*pi;
plot3(sin(t), cos(t), t)
58
3.2. Reprezentari grafice 3D. Exemple
z Ex. 26: Sa se reprezinte grafic intr-un spatiu
3D trei matrici coloana (X, Y si Z) utilizand
functia mesh.
z Solutie: Se scrie un fisier script cu secventa
urmatoare, care va returna graficul din fig. 19.
[X, Y] = meshgrid([-2:0.1:2]);
Z = X.*exp(-X.^2-Y.^2);
plot3(X,Y,Z), grid on
z Ex. 27: Sa se reprezinte grafic functia
Z=X*exp(-X2-Y2) ca suprafata mesh, mesh
asociata cu linii de contur (meshc) si ca
suprafata cu plan de referinta (meshz).
z Solutie: Cu secventa urmatoare se obtin
reprezentarile grafice din fig. 20.
[X, Y] = meshgrid(-2 : 0.2 : 2, -2 : 0.2 : 2);
Z = X.*exp(-X.^2-Y.^2);
subplot(131), mesh(X,Y,Z),
subplot(132), meshc(X,Y,Z),
subplot(133), meshz(X,Y,Z)
59
3.3. Crearea si controlul ferestrelor grafice
z MATLABul are doua ferestre grafice de baza: o fereastra de
comanda si o fereastra grafica ;
z Fereastra grafica poate fi impartita in mai multe ferestre ;
z MATLABul ofera facilitatea de-a putea compara mai multe figuri
sau grafice prin crearea, de exemplu, mai multor grafice in ferestre
diferite pe aceeasi figura.
z Functia subplot creeaza si controleaza ferestrele unui grafic si
poate fi apelata cu una din sintaxele:
subplot(m, n, p) sau subplot(h).
z Functia subplot(m, n, p) mparte ecranul intr-o matrice [m x n],
creeaz axele in subfereastra p si returneaza identificatorul de
control al noilor axe.
z Argumentele m, n si p trebuie sa fie numere intregi in intervalul (1,
9). Scalarul m precizeaza in cate subferestre se imparte fereastra
pe verticala, iar n specifica impartirea ferestrei pe orizontala.
z De exemplu comanda subplot(324) creaza sase ferestre intr-o
figura (imparte o figura in 6 ferestre) si creaza a patra fereastra ca
reprezentare grafica curenta
60
3.3. Crearea si controlul ferestrelor grafice.
Exemplu
z Ex.: Sa se reprezinte grafic o forma de unda
sinusoidala, una cosinusoidala si o forma de
unda tangeniala, pe aceeai figura dar in
ferestre diferite.
z Solutie: Se scrie un fisier-M cu urmtorul
continut:
x = linspace(0, 2*pi, 50);
z %functia linspace genereaz un vector
%linie cu 50 de puncte intre (0 - 2)
y = sin(x); z = cos(x), w = tan(x);
subplot(2, 2, 1), plot(x, y)
%genereaza o figura cu patru ferestre si creaza
%prima fereastra cu functia sin(x)
subplot(2, 2, 2), plot(x, z)
% creaza a doua fereastra pentru functia cos(x)
%pe prima linie si a doua coloana
subplot(2, 2, 3), plot(x, w)
% creaza a treia fereastra pentru functia tan(x)
%pe a doua linie si prima coloana
61
4. Achiziia, interpolarea si aproximarea datelor
65
Prelucrarea datelor si calcule statistice. Exemplu
z Datele eronate sau cele care nu ndeplinesc o anumita condiie, impusa
de utilizator, pot fi nlocuite, ca in exemplul urmtor:
z %Utilizarea regulii lui Simpson si metoda trapezelor pt. calculul integralei functiei y = f(x)
z Se obtine rezultatul:
Intsimp = 1.8464
Inttrapz = 1.9742
71
Functia MATLAB pentru derivare
z Functia MATLAB pentru derivare este diff si poate fi apelata
cu sintaxele:
Y = diff(X) sau Y = diff(X, n) sau Y = diff(X, n, dim)
z daca X este un vector linie sau coloana, X = [x(1), x(2),...,
x(n)], atunci functia diff(X) va returna vectorul diferentelor
elementelor adiacente, adica XD = [x(2)-x(1), x(3)-x(2),..., x(n)-
x(n-1)];
z daca X este o matrice atunci diferentele se calculeaza pe
fiecare coloana prin scaderea elementului din linia imediat
urmatoare (superioara):
diff ( X ) = X (2 : m,:) X (1 : m 1,:)
Unde m reprezinta nr. de linii.
72
Derivarea numerica. Exemple
z Ex. 34: Sa se aproximeze derivata numerica a unei functii y(x) pentru
X = [0, 1, 2, 3, 4, 5] si Y = [2, 6, 3, 5, 9, 12].
z Solutie: Functia diff permite aproximarea derivatei numerice a unei functii
y(x) cu relatia:
dy = diff ( Y ). / diff ( X )
74
Derivarea si integrarea ecuatiilor diferentiale
dy
y =
,
= g ( x, y )
z O ecuaie difereniala de ordinul 1 are forma: dx
z Unde x este variabila independenta iar y este functia
necunoscuta.
z Un exemplu de ecuaie difereniala de ordinul 1 este y=3x2.
Cunoscnd condiia iniiala y(0) = -7.5 va rezulta soluia
y = x3-7.5.
z Metodele numerice cele mai cunoscute, pentru rezolvarea
ecuaiilor difereniale, sunt metoda Euler si metoda Runge-
Kutta (ode23, ode45).
z Aceste functii se apeleaza cu sintaxa:
[x, y] = ode23(yprim,x0, xf, y0, tol, trace)
z In care x0 si xf sunt valorile iniiala si finala a variabilei x, y0
este vectorul coloana coninnd condiiile iniiale, tol reprezint
toleranta iar trace parametrii care asigura tiprirea rezultatelor75
intermediare.
Integrarea ecuatiilor diferentiale. Exemplu
77
Functiile MATLAB pentru interpolarea si aproximarea datelor.
g(t) = g(t Tp )
z Si daca in orice interval finit g(t) are cel puin un numr de discontinuitati
si un numar finit de minimuri si maximuri (condiiile lui Dirichlet), atunci
g(t) poate fi exprimata cu o serie de functii sinusoidale:
a0
g (t ) = + an cos(n w0 t ) + bn sin(n w0 t )
2 n=1
85
4.4.3. Transformata Fourier
z Unealta matematica pentru analiza unui semnal in domeniul frecventei
este Transformata Fourier care poate lua diferite forme in funcie de
semnalul analizat.
z Ceea ce au in comun aceste semnale este faptul ca sunt alctuite
dintr-un numr de componente sinusoidale de frecvente diferite,
fiecare avnd o anumita amplitudine si faza initiala.
z Transformata Fourier face conversia unui semnal din domeniul timp intr-
un semnal discret in domeniul frecventa.
z Daca g(t) este un semnal neperiodic exprimat ca funcie de timp,
transformata Fourier a funciei g(t) este data de expresia integrala:
G( f ) = g (t ) exp( j 2 ft ) dt
..(18)
G ( f ) = g (t ) exp( j 2ft ) dt
z Valoarea semnalului g(t) poate fi obinuta din expresia transformatei
Fourier (ec. 18) utiliznd relaia transformatei Fourier inverse:
g (t ) = G ( f ) exp(
j 2 ft ) df 86
Transformata Fourier
z Daca g(t) este un semnal continuu si periodic:
g (t ) = g (t nTp )
87
Transformata Fourier rapida (FFT)
z Transformata Fourier rapida (FFT) este o metoda eficienta de
calcul a transformatei Fourier discrete.
z FFT reduce numrul de calcule matematice necesare pentru
calculul transformatei Fourier discreta (DFT).
z FFT poate fi utilizata pentru calculul spectrului puterii unui
semnal, pentru filtrarea digitala a semnalelor sau pentru
obinerea corelaiei dintre 2 semnale.
z Functia MATLAB pentru calcularea transformatei Fourie
discrete (DFT) a unui vector x, utilizand algoritmul de calcul al
transformatei Fourier rapide (FFT) este: fft(x).
z Functia fft(x, N) se utilizeaz pentru a obine FFT pentru un
vector de lungime N (cu N puncte).
z Daca X este o matrice, functia fft returneaz transformata
Fourier a fiecrei coloane.
z Daca lungimea lui X este mai mica decat N, atunci matricea X
este completata cu valoarea zero pana la dimensiunea N. Daca
lungimea lui X este mai mare dect N, atunci secvena matricei
X este trunchiata (redusa, micsorata). 88
MATLAB furnizeaz o colecie de
funcii pentru calcularea si determinarea
transformatei Fourier:
Functia Descrierea functiei
Calculeaz transformata Fourier rapida
fft
fft2 Calculeaz transformata Fourier rapida (discreta) de ordinul 2
Calculeaz transformata Fourier rapida (discreta) de ordinul n
fftn
Calculeaz transformata Fourier discreta inversa
ifft
Calculeaz modulul (amplitudinea)
abs
Calculeaz unghiul de faza
angle
Elimina discontinuitile unghiului de faza si genereaz un semnal
unwrap in radiani 89
FFT - Exemple
z Ex. : Sa se calculeze si sa se reprezinte grafic amplitudinea unui semnal x
= sin(2*15*t) utilizand functia fft. b) Sa se reprezinte pe acelasi grafic faza
si amplitudinea semnalului.
z Solutie: Se scrie un fisier script cu urmatorul continut, care va genera
graficul din figura urmatoare:
%Acest fisier calculeaza amplitudinea transformatei Fourier rapide a unei secvente
t = (0:99) / 100; % vectorul timp
x = sin(2*pi*15*t) + sin(2*pi*40*t); %semnalul achizitionat
y = fft(x); % calculeaza DFT a semnalului
m = abs(y); %amplitudinea semnalului
f=(0 : length(y) - 1) '/ length(y)*100; % vectorul frecventei
subplot(211), plot(t,x), xlabel('timpul (s)'), ylabel('x(t)'),
title(Semnalul achizitionat in domeniul timp)
subplot(212), plot(f,m), xlabel('frecventa(Hz)'), ylabel('Amplitudinea
semnalului'),title('Amplitudinea unui semnal calculata cu functia fft')
p = unwrap(angle(y));
%functia angle calculeaza faza semnalului si functia unwrap elimina discontinuitatile fazei
figure, subplot(211), plot(f,m), ylabel('Amplitudinea semnalului'), grid;
subplot(212), plot(f, p*180 / pi), xlabel('Frecventa (Hz)'), ylabel('Faza
(grade)'),grid
90
FFT Reprez. graf. a ampl si fazei unui semnal
91
FFT - Exemple
z Ex.: Sa se scrie un fisier function care sa calculeze transformata
Fourier rapida a unui semnal de forma:
x=2*sin(2*pi*50*t)+1.5*sin(2*pi*100*t)+sin(2*pi*200*t)+0.5*sin(2*pi*35
0*t);si care sa returneze vectorii frecventa si amplitudine. Sa se
reprezinte pe acelai grafic amplitudinea si faza funcie de frecventa.
93
5. Analiza circuitelor electrice
R2 (R 1 + R2 )
2
96
z Se scrie un fisier function cu z Pentru a face legatura intre
numele L1 care conine urmatoarea parametrii tuturor secventelor
secventa:
function, se utilizeaza functia global:
function I=L1(u)
r1=100; r2=100;us=5; z 2) Se scrie un fisier function cu
I=(us-u)/r1; numele L2, utilizand functia global:
function I = L2(u)
function I=L2(u) global r1 r2
r1=100; r2=100; us=5; us = 5; I = u / r2;
I=u / r2;
function I = L1(u)
z Dupa rularea fisierului L1, se
tasteaza urmatoarea comanda, in global r1 r2
fereastra de comenzi (command us=5; I = (us-u) / r1;
window),
subplot(121), fplot('L1',[0,5]), grid, z De asemenea, se mai scrie un fisier
subplot(122), fplot('L2', [0,5]), grid script cu numele TestL1, care
trebuie apelat dupa rularea fisierul
z In fisierul function L1 de mai sus function L2, cu urmatoarea secventa,
trebuie declarate valorile numerice global r1 r2
ale celor doua rezistente in
definirea fiecarei functii. Daca avem r1 = 100; r2 = 100; u=0:0.01:5;
mai mult de doua astfel de functii I1 = L1(u); I2 = L2(u);
programul poate deveni dificil iar
timpul de rulare poate fi suficient de figure, subplot(121), plot(u, I1),
mare. grid,subplot(122), plot(u, I2), grid
97
z b) Puterea disipata pe rezistenta
de sarcina se poate calcula cu
urmtoarea secvena, utiliznd
ecuaia (29):
z %acest fiier script calculeaz
UI = 5.0000
3.0178
0.0592
0.0396
0.0296
100
0.0101
Rezolvarea circuitelor cu Teorema
curentilor de contur (ciclici)
z Ex. 46: Utiliznd teorema curenilor
de contur sa se calculeze curentul (I)
care trece prin rezistenta R4 a
circuitului din figura si puterea (P)
furnizata de sursa de tensiune (us =
10 V), tiind ca R = 10 , R1 = 30 ,
R2 = 15 si R3 = 30 :
z Solutie: Utiliznd teorema curenilor 10 (I1 I2 ) +30 (I1 I3) 10= 0
de contur si alegnd sensurile
acestora ca in figura se poate 40
1 I 10 I 2 30 I3 =10
observa ca puterea furnizata de sursa
de tensiune este P = 10 I1 iar 10 (I2 I1 ) +15 I2 + 5 (I2 I3 ) = 0
curentul care trece prin rezistenta R4
10 I1 + 30 I 2 5 I3 = 0
este I = I3 I2.
z Se scriu ecuaiile corespunztoare
fiecrui ochi de reea: 30 (I3 I1 ) + 5 (I3 I2 ) + 30101
I3 = 0
30 I1 5 I 2 + 65 I 3 = 0
z In forma matriciala ecuatiile (37) - (39) devin:
40 10 30 I1 10
10 30 5 I = 0
2
30 5 65 I 3 0
z La t < 0, tensiunea la
bornele condensatorului
este uC(0) = 2 * 10 = 20V si
curentul prin bobina iL = 0;
z La t > 0, comutatorul se
nchide si toate cele patru
elemente sunt in paralel.
z Utiliznd Teorema lui t
u(t) du(t) 1
Kirchoff va rezulta ecuaia: Is = +C + u( ) d + iL (0)
R dt L 0
z Aplicnd Transformata
Laplace ecuaiei (57) vom Is U(s) U(s) IL(0)
= +C[sU(s)Uc(0)] + +
obine: s R sL s
110
Se scrie un fisier function, cu numele diff2, cu solutia ecuatiei diferentiale si un fisier script
principal care apeleaza fisierul function si care reprezinta grafic tensiunea la bornele
condensatorului utilizand functia MATLAB ode23 si Transformata Laplace:
% Fisierul function cu Solutia unei ecuatii diferentiale de ordinul 2
function xderivat = diff2(t, x)
is=2;C=50e-6;L=1/32;R=10; k1=1/C; k2=1/L; k3=1/(R*C);
xderivat = [0 k2; -k1 -k3]*[x]+[0; k1*is];
%Fisierul script principal pentru analiza regimurilor tranzitorii a unui circuit RLC paralel
%utilizand functia ode (solutie numerica) si Transformata Laplace
%Analiza reg. tranzitoriu cu functia ode23
t0 = 0; tf = 30e-3; tspan = [t0 tf];
x0 = [0 20]; % conditiile initiale
[t, x] = ode23('diff2', tspan, x0);
subplot(211), plot(t, x(:,2)); %coloana 2-a a matricii x reprezinta tensiunea pe condensator
xlabel('Timpul, s'), ylabel('Tensiunea pe condensator, V');
T
1
I ef = I = i ( t ) dt
2
a) metoda analitica T 0
b) metoda numerica.
T
1 P 114 P
Pmedie = p(t) = u(t) i(t) dt k= =
T 0 S U I
z Solutie: Se scrie fisierul script cu urmatorul continut, care va apela si un
fisier function (Tensiunea) creat pentru a defini tensiunea, curentul si
puterea:
z %Acest fisier calculeaza puterea medie si efectiva si factorul de putere
z %utilizand functia MATLAB de integrare numerica quad
z
%Calcul numeric
T = 2*pi / (220*pi);%perioada formei de unda sinusoidale
a = 0;b = T; %limitele de integrare
x = 0 : 0.02 : 1; t = x .* b;
Uint = quad('Tensiunea', a, b);
Uef = sqrt(Uint / b); %tensiunea efectiva
Iint = quad('Curentul', a, b);
Ief = sqrt(Iint / b); %Valoarea efectiva a curentului
Pint = quad('Putereainstantanee',a,b);
Pmedie = Pint / b; %puterea medie
k = Pmedie / (Ief * Uef); %factorul de putere
%Solutia analitica:
P_amedie = (60 / 2)*cos(30*pi / 180);
115
U_aef = 10 / sqrt(2); k_a = cos(30*pi / 180);
z fprintf('Puterea medie analitica %f \ n Puterea medie numerica:
%f\n',P_amedie,Pmedie)
z fprintf('Tensiunea efectiva analitica % f \ n Tensiunea efectiva numerica:
%f \ n', U_aef, Uef)
z fprintf('Factorul de putere analitic % f \ n Factorul de putere numeric:
%f\n', k_a, k)
function Pt = Putereainstantanee(t)
%aceasta functie defineste puterea instantanee
It = 6*cos(220 * pi * t + 30 * pi / 180);
Ut = 10 * cos(220* pi * t + 60 * pi / 180);
Pt = It .* Ut; 116
Circuite de curent alternativ RC, RL si RLC
119
120
Exemplul urmator va descrie rezolvarea unui circuit RLC cu
ajutorul MATLABului utilizand o metoda iterativa de ordinul
2 si o metoda de integrare numerica ode.
z Ex. 54: Sa se calculeze si sa se
reprezinte grafic tensiunea pe
condensator in functie de timp pentru
circuitul RLC din figura 50, pe
intervalul , stiind ca LC=1, RC=3 si
=1.
z Ecuatia care calculeaza tensiunea
pe condensator a circuitului RLC din
figura este: d 2U C dU C
LC + RC + U C = U (t )
z Ecuatia diferentiala de ordinul 2 se dt 2 dt
poate scrie sub forma: d2y dy
In care a = LC, b = RC si c = 1 sunt a 2 +b + cy = sin( t )
dt dt
constantele de timp ale circuitului.
z Solutia ec. diferentiale este data de 1
D2 (1) = ( b(1) D(1) c(1) y(1) + u(1))
relatia: a(1)
121
z Solutie 1: Pentru conditiile initiale y(t=0)=y(t=0)=0 se scrie un fisier
script cu urmatoarea secventa :
z %Reprezentarea grafica a tensiunii pe condensator pt. un circuit de c.a. RLC
tin = 0; tfin = 16*pi;
t=linspace(tin,tfin,2000);%genereaza un vector linie cu 2000 de puncte intre tin si tfin
1
H (s) =
s 2 + 10 s + 20
126
Locul geometric al radacinilor si
alocarea polilor
z Functia
MATLAB pt.
alocarea
polilor:
pzmap
z Iar pt. locul
geometric al
radacinilor
rlocus;
127
Rspunsul in frecventa
z Rspunsul n frecven sau diagrama Bode,
alturi de algoritmii de reglare ai regulatoarelor
de tip proporional-integrator-derivativ (RG-PID),
sunt cele mai utilizate metode de proiectare ale
sistemelor de conducere utilizate n industrie.
z Mrimea de ieire a unui sistem liniar, avnd ca
mrime de intrare un semnal sinusoidal, este tot
o sinusoid de aceeai frecven, dar de
amplitudine i faz diferite.
z Se poate aplica sistemelor de tip SISO sau
MIMO, considernd sistemul respectiv liniar.
z Este utilizat pentru proiectarea sistemelor de
conducere, acordarea parametrilor unor
regulatoare sau pentru proiectarea diferitelor128
filtre electronice/filtre de reea etc.
Reprezentarea grafica a raspunsului
in domeniul frecventa
z Dac se dorete
reprezentarea
grafic a
rspunsului
sistemului n
domeniul
frecven, se
utilizeaz funcia
bode(sys), sau
bodemag(sys)
care reprezint
grafic doar
amplitudinea
diagramei Bode.
129
Funcii dedicate crerii i conversiei
modelelor liniare
z BibliotecaControl System furnizeaz i un
set de funcii (tf, ss, zpk, frd) pentru crearea
a patru tipuri de modele liniare, invariante n
timp (Linear Time Invariant-LTI), i pentru
conversia dintr-un model n altul
130
Conversia modelelor
z Funcia c2d realizeaz conversia modelelor continue n
modele discrete echivalente, implementate prin tf, zpk i ss;
z Se poate realiza i conversia invers, utiliznd funcia d2c;
z Metodele care realizeaz aceast conversie (discretizarea
sistemelor liniare) sunt: zero-order-hold, first-order-hold,
Tustin biliniar approximation (metoda trapezului), Tustin with
frequency prewarping i matched poles and zeros.
z Aceste funcii pot fi apelate cu urmtoarele sintaxe:
133
Diagrama Nyquist
z Diagrama Nyquist este utilizat, n tandem cu diagrama
Bode, la estimarea performanelor sistemelor de reglare
automat, n bucl nchis (cu bucl de reglare/reacie), pe
baza proprietilor sistemului fr bucl de reglare, folosind
fdt a acestuia, atunci cnd diagrama Bode ofer informaii
confuze despre stabilitatea sistemului n bucl deschis.
z Criteriul Nyquist este cel mai important criteriu de apreciere a
stabilitii SRA, n timp continuu.
z De asemenea, diagrama Nyquist poate fi utilizat pentru a
gsi domeniul de variaie al factorului de amplificare (gain) al
regulatorului, pentru care sistemul n bucl nchis este
stabil.
z Funcia MATLAB, pentru reprezentarea grafic a diagramei
Nyquist, este:
nyquist (num, den)
134
Diagrama Nyquist - Exemplu
nyquist(50,[1 9 30 40]) Dup cum rezult din figura
sistemul modelat prin fdt este
stabil, deoarece diagrama
Nyquist nu conine nici o
ncercuire (suprapunere) a
celor dou axe n jurul valorii
de -1 (punctul critic). Acest
lucru se datoreaz faptului
c, polii fdt ai sistemului nu
sunt alocai n semiplanul
drept.
Utilizarea diagramei Nyquist
permite vizualizarea intuitiv
i aprecierea gradului de
stabilitate a sistemului i a
influenei modificrii unor
parametrii ai acestuia asupra
stabilitii.
135
Diagrama Nyquist - Exemplu
136
Analiza circuitelor electrice utiliznd
rspunsul n frecven
z S se calculeze i s se
reprezinte grafic rspunsul n
frecven al circuitului RLC
din figura tiind c:
z R=10 k, C=1,12 F i L =
5H
d2UC dU ce se ntmpl dac
LC 2 + RC C +UC =Ui (t),uc (0) = 0 z
dt dt rezistena se modific la
H (s) =
U 0 (s)
=
R
= 2
sRC
=
valoarea R = 100 n timp
U i (s) R + sL +
1 s LC + sRC + 1 ce L i C rmn
sC
s
R neschimbate?
= L 137
R 1
s2 + s +
L LC
z Soluie: Se scrie fiierul script (raspunsulfrecventaRLC.m) cu
urmtoarea secven:
z L=5; C=1.25e-6; R1=10000; R2=100; %parametrii circuitului
z num1=[R1 / L 0]; den1=[1 R1/L 1/(L*C)];%numrtorul i numitorul fdt
z w=logspace(1, 4); f=w / (2*pi); h1=freqs(num1, den1,w);
z mag1=abs(h1); phase1=angle(h1)*180 / pi;
z num2=[R2/L 0]; den2=[1 R2/L 1/(L*C)];
z h2=freqs(num2,den2,w);
mag2=abs(h2);phase2=angle(h2)*180/pi;
z subplot(221),loglog(f,mag1,'+'),title('Raspunsul amplitudine pt.
R=10k'),ylabel('Amplitudinea')
z subplot(222),loglog(f,mag2,'--'),title('Raspunsul amplitudine pt.
R=0.1k'),ylabel('Amplitudinea')
z subplot(223),semilogx(f,phase1,'--'),title('Raspunsul faza pt. R =
10k'),
z xlabel('Frecventa (Hz)'),ylabel('Unghiul de faza (grade)')
z subplot(224),semilogx(f,phase2),title('Raspunsul faza pt. R =
0.1k'),
z xlabel('Frecventa (Hz)'),ylabel('Unghiul de faza (grade)')
138
Fig. arata ca, deoarece rezistenta rezistorului R2 scade de la 10k la 0.1k,
latimea de banda a raspunsului in domeniul frecventa scade si totodata factorul (indicatorul)
139
de calitate al circuitului creste.
6. Introducere in Simulink (1)
z Simulinkul este un mediu interactiv de modelare, simulare si
analiza dinamic a sistemelor liniare(continue), neliniare,
discrete, (continue n timp, discrete n timp) sau hibride.
z Cu ajutorul pachetului de programe Simulink se pot construi
diagrame bloc, utiliznd biblioteca standard (nucleului de
baza) sau realiznd propriile blocuri (interfaa grafic
interactiva denumit graphical user interface GUI ).
z Modelele complexe se realizeaz ierarhic crend blocuri
grupate n subsisteme. Aceste subsisteme se pot cupla ntre
ele realizndu-se un singur sistem n care se evideniaz
mrimile de intrare i de ieire.
z Dup realizarea modelului matematic al sistemului, urmtorul
pas este simularea dinamic utiliznd una din metodele de
140
integrare numeric oferit de program (Ode23, Ode45 etc).
6. Introducere in Simulink (2)
z Simularea dinamic a sistemului analizat se bazeaz pe
cunoaterea sistemului de ecuaii difereniale, pe realizarea
shemei bloc i desigur pe utilizarea unei metode de integrare
numeric. Rezultatele simulrii pot fi afiate att grafic ct i
sub forma unor tabele numerice.
z Utiliznd blocurile bibliotecii S-Functions se pot crea propriile
blocuri, care se integreaz n schemele existente, realizate cu
blocuri din biblioteca standard a Simulinkului.
z Utilizarea Simulinkului pentru studiul diferitelor regimuri de
functionare ale sistemelor dinamice permite si vizualizarea mai
multor ferestre grafice n acelai timp.
z Biblioteca Simulink conine mai multe seturi (colecii) de blocuri
dedicate diferitelor domenii de activitate, cum ar fi ingineria
electrica maini, convertoare statice si acionri electrice,
electronica - procesarea digitala a semnalelor etc.
141
6.1. Editorul Simulinkului
z Cnd se dorete accesarea bibliotecii
Simulink sau deschiderea unui model,
Simulinkul afieaz instantaneu fereastra
editorului su.
z Pentru a deschide o fereastr Simulink si
implicit pentru a crea un model nou se
acceseaza new model din meniul principal.
Aceasta fereastr conine cele mai uzuale
comenzi ale Simulinkului, cum ar fi:
deschiderea unui model, salvarea acestuia,
accesarea bibliotecii, setarea parametrilor
simulrii si rularea unei simulri etc 142
Editorul
Simulinkului
d 2 y1 1 dy1 dy 2
= 2
y1
y2 = = y1
dt 2
dt dt
y 2 = y 1 dt
153
y1 = y 2 dt
154
Modelarea si simularea sistemelor dinamice
z Modelarea si simularea unui sistem dinamic conine
doua etape:
Crearea unui model grafic utiliznd editorul modelelor
din nucleul de baza al librriei Simulink (modelarea
sistemului dinamic). Modelul dinamic descrie ecuaiile
matematice ale sistemului pe care dorim sa-l simulam, in
funcie de timp, stabilind mrimile de intrare stare
ieire (MM-ISI). Aceste ecuaii pot conine ecuaii
algebrice, integrale si difereniale;
Simularea regimurilor de funcionare ale sistemului intr-
un anumit interval de timp. Simulinkul utilizeaz
informaiile de intrare ale utilizatorului in interiorul
modelului pentru realizarea propriu-zisa a simulrii
(simularea sistemului dinamic).
155
Modelarea sistemelor dinamice (1)
z Simulinkul conine o librrie cu blocuri standard si un editor
grafic ce permite realizarea conexiunilor dintre ele. Astfel, prin
selectarea si interconectarea corespunztoare a blocurilor se
poate implementa, intr-o lume virtuala, orice sistem dinamic
real.
z Fiecare bloc reprezint un sistem dinamic elementar ce
poate avea la ieire o variaie liniara (continua in timp), sau
discreta (variabila in timp).
z Tipul fiecrui bloc determina legtura dintre mrimile de intrare,
stare si cele de ieire ale sistemului si variaia acestuia in timp.
Conexiunile dintre blocuri se realizeaz prin linii.
z Fiecare bloc poate sa contina una sau mai multe mrimi de
intrare - stare ieire, dup cum descrie si figura:
156
Modelarea sistemelor dinamice (2)
z Majoritatea blocurilor conin parametrii care trebuie
definii naintea comenzii de simulare a sistemului, cum ar
fi condiiile iniiale, pasul de eantionare etc.
z Mrimile de ieire ale unor blocuri depind de mrimile de
stare ale sistemului. Aceste blocuri trebuie sa retina
(memoreze) valorile de stare anterioare pentru a calcula
actualele mrimi de stare. Pentru a realiza acest lucru
aceste blocuri trebuie sa contina o memorie interna. De
exemplu, blocul integrator realizeaz integrala semnalului
de intrare si conine ca mrime de stare valoarea
anterioara mrimii de intrare. Blocuri care nu conin
mrimi de stare sunt, de exemplu: blocul sumator (sum),
blocul gain etc.
z Principala caracteristica a blocurilor din biblioteca
Simulink consta in posibilitatea de-a modifica parametrii
acestora. Blocul gain conine un parametru cu acelai
nume care poate fi modificat corespunztor. 157
Simularea sistemelor dinamice
z Simularea sistemelor dinamice se refera la procesul de evaluare
(calculare) a marimilor de stare si marimilor de iesire intr-un
anumit interval de timp, utilizand informatii furnizate de modelul
matematic al sistemului.
z Simularea propriu-zisa a unui sistem include doua faze:
1. Initializarea modelului
2. Executia modelului
z In timpul procesului de initializare Simulinkul evalueaz expresiile
parametrilor din blocurile modelului matematic pentru a
determina valorile acestora, determina calitatea semnalului (tipul
si dimensiunile datelor), si verifica daca fiecare bloc poate
accepta semnalele generate de parametrii de intrare.
De asemenea, in aceasta faza Simulinkul determina memoria necesara
calculului parametrilor de stare si timpul de simulare necesar determinarii
timpului de esantionare al blocurilor existente in modelul respectiv si le
sorteaza in ordinea in care trebuie sa fie rulate (executate).
z In faza de executie Simulinkul evalueaza succesiv marimile de
stare si marimile de iesire ale sistemului pe intervalul de timp
setat (simulation start time stop time) utilizand informatiile
furnizate de modelul matematic al sistemului dinamic. 158
z nainte de lansarea in execuie a simulrii unui sistem
dinamic se seteaz parametrii care definesc timpul
de simulare (valoarea iniial si final), metoda de
integrare (ode23, ode45 etc) si pasul simulrii (pas
variabil, pas fix continuu sau discret). Acest lucru
se poate realiza din meniul principal al editorului
Simulink accesnd fereastra Simulation
Parameters, dup cum descrie si figura:
159
z Simulinkul ofer posibilitatea simulrii unui sistem att cu pas continuu (fix) cat si
cu pas variabil. Diferena consta in faptul ca daca se alege pasul variabil se
poate imbunatatii precizia simulrii prin reducerea mrimii pasului (paii inutili vor
fi eliminai).
z De asemenea, se poate alege metoda de integrare numerica din meniul Solver.
Metodele de integrare a sistemelor continue sunt metodele numerice clasice
(Runge-Kutta, Adams, Euler, Rosenbrock, metoda trapezelor etc).
163
Discretizarea modelelor
z Prin discretizarea unui model se nelege nlocuirea
blocurilor continue ale modelului cu blocuri discrete
echivalente, utiliznd o anumit metod de discretizare
(Tustin, zoh etc).
z Simulinkul poate discretiza un model existent, utiliznd o
fereastr grafic interactiv (GUI), prin accesarea
meniului
toolsmodel discretizer.
z Aceast metod (GUI) de discretizare permite automat
identificarea blocurilor continue ale modelului existent.
z Urmtorul pas const n modificarea parametrului intern
sample time (de la Ts=0 la Ts>0) al blocului respectiv
pentru ai da acestuia caracter discret.
z Discretizarea modelelor reprezint un pas important n
proiectarea regulatoarelor (filtrelor) digitale i este foarte
util pentru simularea sistemelor de control n bucl
deschis i cu bucl de reglare (SRA, acionare electric 164
etc).
Figura de mai jos ne arat cum se poate discretiza un model liniar
existent prin utilizarea interfeei grafice interactive GUI Model
Discretizer. Aceast metod de discretizare permite automat identificarea
blocurilor continue ale modelului existent. In cazul nostru exist doar un
singur bloc n aceast situaie, blocul Generator de semnal :
165
Controlul in timp discret al SRA
z Pentru reducerea erorilor i a timpului de simulare,
regulatoarele / controlerele continue pot fi nlocuite cu
cele discrete.
z Diferena principal ntre cele dou tipuri de
regulatoare const n faptul c sistemele digitale
opereaz cu semnale discrete (discretizate cu un
timp/perioada de eantionare).
z Proiectarea unui sistem discret implic, n prima faz,
discretizarea/conversia blocurilor continue iar apoi
obinerea unui model discret echivalent, implementat
prin fdt sau prin mrimi de stare.
2 z 1
s= 166
Ts z + 1
Modelarea i simularea sistemelor neliniare de control
z Sistemele neliniare sunt acele sisteme care nu satisfac
principiul superpoziiei, adic nu sunt liniare i omogene ;
z De exemplu, pentru un semnal de intrare sinusoidal, semnalul
de ieire al unui sistem neliniar (convertor static) va conine
mai multe semnale de amplitudine i faz diferite fa de
fundamental (armonici), n timp ce un sistem liniar va conine
la ieire doar o mrime sinusoidal.
z Un model neliniar conine componente interne cum ar fi
sursele controlate de tensiune sau curent, condensatoare,
bobine sau elemente ce depind, de exemplu, de tensiunea
aplicat la intrare.
z Elementele care au caracteristici neliniare se numesc
regulatoare sau algoritmi de reglare, i pot fi ntlnite, de
exemplu, la protecia sistemelor bazate pe scheme electrice
cu relee, n interfeele de ieire ale echipamentelor de
conducere numeric (convertoare numeric-analogice) etc.
167
Implementarea SRA cu elemente neliniare
z n sistemele de reglare automat (SRA) elementele
neliniare se ntlnesc ca blocuri intermediare ntre
regulatoare i elementele de execuie.
z Blocul de saturaie modeleaz cel mai frecvent tip de
neliniaritate, deoarece, n general domeniile de variaie ale
mrimilor fizice sunt limitate (cuplurile dezvoltate de
servomecanisme i motoare electrice, puterile surselor de
alimentare, valorile absolute ale tensiunilor i curenilor
etc).
z Un sistem neliniar poate fi modelat printr-o ecuaie
diferenial de stare de forma:
dx
= f ( x, t ); x(0) = x0
dt
168
Sistemul de reglare automat (SRA) are n componen
un element neliniar (blocul de saturaie), utilizat
pentru limitarea semnalului de intrare al unui
servomecanism, modelat printr-o funcie de transfer
cu poli i zerouri descris de relaia:
10( s + 10) ( s + 10)
H (s) =
( s + 1) ( s + 0.3 + i ) ( s + 0.3 i ) 169
Modelarea i implementarea elementelor
de circuit neliniare
z Modelarea elementelor neliniare de circuit (rezisten variabil,
inductan de saturaie) se poate realiza prin utilizarea
blocurilor Look-up-table, pentru implementarea vectorilor de
intrare-ieire, care caracterizeaz funcionarea elementelor
respective, sau prin utilizarea unui bloc neliniar din biblioteca
Discontinuities, cum ar fi: Saturation, DeadZone, Relay etc.
z Dac se cunoate expresia analitic de variaie a parametrilor
(de ex. I=f(U)), modelarea elementelor neliniare se poate face
direct prin utilizarea unui bloc Fcn, n interiorul cruia se
introduce ecuaia respectiv.
z Biblioteca SimPowerSystems furnizeaz o colecie vast de
modele neliniare.
170
Modelarea unei inductane variabile
z Pentru modelarea unei inductane variabile se pleac
de la ecuaiile de definiie:
di d
u = L = = u dt i=
L()
dt dt
171
Implementarea inductanei neliniare in Simulink
di
Uca = i R + L ;i(0) = i0
dt
t
1
i(t ) = (U ca i R)dt + i(0)
L0
174
Exemplu: S se implementeze n Simulink prin fdt modelul matematic
(MM) al unui circuit RLC serie i al unui circuit RLC paralel, iar apoi
s se simuleze rspunsul treapt aplicat la t=0, dac R=1.5, L=2 i C=2.
1/ LC 1/ LC
G(s) = 2 G(s) = 2
s + s R/ L +1/ LC s +s1/ RC+1/ LC 175
Implementarea in Simulink a unui circuit
RLC serie si paralel prin fdt
176
Biblioteca SimPowerSystems(SPS)
z Setul de blocuri din biblioteca SimPowerSystems
extinde bibliotecile Simulinkului cu blocuri dedicate
modelrii, simulrii i analizei circuitelor electrice,
mainilor i acionrilor electrice, convertoarelor
statice i a sistemelor energetice de putere;
z Biblioteca SimPowerSystems poate fi utilizat
mpreun cu biblioteca Simulink standard pentru a
construi diferite diagrame bloc prin conectarea
elementelor unui sistem dinamic (acionare electric)
cu diferii algoritmi de control n scopul studiului
diferitelor strategii de comand i efectele acestora
asupra ntregului sistem energetic de putere.
177
Caracteristicile Bibliotecii SimPowerSystems
z Modeleaz i simuleaz circuitele electrice i
electronice utiliznd simboluri standard, cum ar fi:
rezistorul, bobina, condensatorul sau dioda, tiristoare,
tranzistoare etc;
z Furnizeaz blocuri care modeleaz diferite tipuri de
maini electrice (mcc, maina de inducie, maina
sincron), convertoare statice (redresoare n punte,
invertoare);
z Furnizeaz blocuri pentru modelarea unui sistem
energetic complet de putere (Transport, Distributie);
z Utilizeaz metoda de discretizare a unui sistem
dinamic pentru a crete viteza de execuie a unei
simulri;
z Permite diferite metode de analiz a unui sistem
(circuit electric) n vederea obinerii MM-ISI i 178
calculeaz transferul de putere.
Biblioteca SimPowerSystems(versiunea 6.5)
coninea nou biblioteci cu componente electrice i
electronice (powerlib):
179
Analiza sistemelor in SimPowerSystems(SPS)
z Afieaza tensiunea i curentul n regim staionar (Interfaa
grafic interactiv (GUI) afieaz valorile curenilor i
tensiunilor msurate n regim staionar i toate variabilele
mrimilor de stare, incluznd curenii prin bobine i tensiunile
la bornele condensatoarelor);
z Afieaza i modifica valorile iniiale ale mrimilor de stare;
z Calculeaza circulaia de putere i iniializeaza parametrii unei
maini electrice;
z Genereaza un raport care include calcularea mrimilor de
regim staionar.
z Cu ajutorul bibliotecii SimPowerSystems se pot analiza
diferite configuraii de circuite electrice i se pot calcula
modelele matematice echivalente ale mrimilor de stare
(MM-ISI) fr sa fie necesar rularea unei simulri
180
Modelarea i simularea dispozitivelor
electronice i a convertoarelor statice
z Pachetul de programe MATLAB
& Simulink este o unealt
convenabil i pentru
modelarea, simularea i analiza
convertoarelor statice de
comutaie, utiliznd att
funcii/blocuri de stare (MM-ISI)
ct i fdt/blocuri cu fdt.
z Biblioteca SimPowerSystems
ofer un set de blocuri dedicate
modelrii dispozitivelor
electronice (dioda, tiristoare i
tranzistoare) i a convertoarelor
statice (redresoare i invertoare
monofazate sau trifazate n
punte) denumit Power 181
Electronics
Suplimentar aceast bibliotec mai conine dou seturi de blocuri,
Discrete Control blocks i Control blocks, avnd n componen att
blocuri dedicate controlului convertoarelor statice ct i diferitelor
configuraii de filtre i regulatoare discrete:
182
Diferite configuraii de blocuri dedicate controlului
convertoarelor statice si filtre i regulatoare discrete
183
184
185
186
187
188
Modelarea si simularea acionrilor cu MCC
z In general un sistem electromecanic (acionare
electrica) are ca marimi de intrare - tensiunea si
cuplul mecanic rezistent, ca marimi de stare
tensiunea electromotoare indusa, curentul, fluxul,
rezistente, inductane sau capacitai, iar ca mrimi de
ieire turaia, cuplul electromagnetic sau poziia.
z Etapele de modelare si simulare ale ME sunt:
Stabilirea variabilelor independente si asociate;
Stabilirea funciilor de stare (relaiile dintre mrimi);
Scrierea ecuaiilor de definiie;
Rezolvarea ecuaiilor (prin metode analitice si numerice);
Implementarea modelului matematic;
189
Simularea diferitelor regimuri de functionare.
Modelarea MCC cu excitaie separata
z MCC cu excitaie separata se poate utiliza ca
servomotor, controlul miscarii realizndu-se att prin
indus (rotor) cat si prin infasurarea de excitaie.
z Reglajul prin indus utilizeaz ca semnal de comanda
tensiunea la bornele masinii (Ua) la un flux sau
curent de excitaie constant (IE=ct, =ct), iar reglajul
prin excitaie reprezint variaia curentului din
infasurarea de excitaie cu tensiunea din indus
constanta (Ua=ct).
z Ecuaiile de definiie ale MCC (modelul matematic al
masinii) cu excitaie separata se utilizeaz frecvent
in analiza sistemelor de reglare automata (SRA).
z Pentru a modela o maina de curent continuu
(MCC) se pleac de la ecuaia volt-amper si de la
ecuaia de micare. 190
dIa
Ua = Ia RT + La
dt
+Ue Ue = ka
M em M R = J
d
Mem = ka Ia
dt
t
1 1
t
192
Simularea pornirii in sarcina a unei MCC
193
Implementarea MCC cu excitaie separata lund in
considerare constantele de timp ale mainii
z Pentru a simplifica implementarea modelului matematic al MCC
cu excitaie separata si pentru a evidenia mrimile de intrare
ieire ale modelului, ecuaiile de definiie pot fi exprimate in
unitati relative (u.r.) si implementate in Simulink prin utilizarea
blocurilor Fcn, din libraria User-Defined Functions.
z In exemplul urmtor se prezint implementarea modelului
matematic al MCC cu excitaie separata lund in calcul si
constantele de timp ale mainii si avnd parametrii exprimai
in u.r.:
z Exemplul : Sa se implementeze MM al MCC cu excitatie
separata, cu parametrii exprimai in u.r. si avnd ca mrimi de
intrare: tensiunea indusului-ua, tensiunea aplicata infasurarii de
excitatie-ue si cuplul rezistent la arborele masinii-Mr, iar ca
mrimi de ieire: curentul prin rotor ia, curentul din
infasurarea de excitatie - ie, cuplul electromagnetic Mem si
turatia - n.
Sa se simuleze o pornire in regim de gol, o ncrcare si
modificarea turaiei prin slbire de cmp, reprezentnd grafic
mrimile de ieire ale sistemului, stiind ca Ta=0.1, TE=0.1 si194
Tm=0.3.
di a 1
= (u a i a i E )
dt Ta
La LE J Ra
Ta = ;TE = ;Tm = 2 2 di E 1
Ra RE k = (u E i E )
dt TE
d 1
= (i a i E M R )
dt Tm
195
196
Modelul matematic al MCC implementat
prin funcii de transfer
z Modelul matematic al MCC poate fi implementat in
Simulink si prin funcii de transfer (fdt) utiliznd
Transformata Laplace
z S-a notat cu ke-constanta corespunztoare tensiunii
mainii, cu km-constanta cuplului mainii. In SI cele
doua constante sunt numeric egale, dupa cum
rezulta si din ecuaiile puterilor electrica si mecanica
(Pe=Pm).
z Lund in considerare si constantele de timp electrice
(Ta, TE) si mecanica (Tm) si notand kM=km* si
kE=ke*, se pot obine funciile de transfer ale
modelului matematic al MCC, corespunztoare
reglajului prin indus si excitaie: 197
U a ( s ) = I a ( s ) (R a + s L a ) + U e ( s )
U e (s) = ke (s)
M em ( s ) = k m I a ( s ) = I E ( s ) I a ( s ) F ( s ) = f (t ) e st dt
0
M em ( s ) = M R ( s ) + J ( s ) s
U E (s) = (RE + s LE ) I E (s)
(s) kM 1
H1(s) = |MR (s)=0 = =
Ua (s) (
s J (Ra + s La ) + kM kE kE s2 Tm Ta + s Tm +1 )
(s) Ra + s La kM (1+ s Ta )
H2 (s) = |Ua (s)=0 = = 2
MR (s) (
s J (Ra + s La ) + kM kE s Tm Ta + s Tm +1 )
(s) k E k a (1 + s T a )
H 3 (s) = |U a ( s ) = 0 =
U e (s) (
(1 + s T E ) 1 + s T m + s 2 T m T a )
(s) kM
H 4 (s) = | I a ( s )=0 =
U e (s) (1 + s T m ) (1 + s T E ) 198
z Exemplu: Sa se modeleze un servomotor de CC cu
magneti permaneni prin fdt.
z Sa se simuleze pornirea MCC in sarcina (MR=0.35 u.r.) si
reversarea brusca a tensiunii la borne, stiind ca Ta=4.05 ms si
Tm=11.7 ms, kE=53 V / 1000 rpm, kM=0.5 Nm / A.
kM Ra +sLa
(s) = Ua (s) MR(s)
(Ra +s La ) sJ+kM kE (Ra +s La ) sJ+kM kE
199
200
Simularea unei porniri in sarcina si
reversarea brusca a tensiunii la borne
201
Pornirea cu rezistoare si frnarea dinamica
z Pornirea MCC se poate realiza prin:
conectarea directa la reea,
modificarea tensiunii de alimentare (cresterea progresiva prin trepte de
tensiune sau prin alimentarea prin convertoare statice)
cu rezistoare (rezistenta se modifica in trepte).
z Frnarea MCC poate fi:
recuperativa,
dinamica (reostatica)
in contracurent (conexiuni contrare).
z Exemplul urmtor va prezenta o pornire a MCC cu excitaie
separata cu un starter rezistiv si o frnare dinamica.
z La pornirea cu rezistoare rezistenta se va modifica in trei
trepte pana cnd maina va ajunge la turaia nominala.
z Franarea dinamica (reostatica) se realizeaz prin
deconectarea indusului (rotorului) de la reea si conectarea lui
peste un rezistor.
202
203
204
205
Acionri reversibile cu MCC cu excitatie separata
si redresoare comandate
z O acionare electrica reversibila trebuie sa asigure
funcionarea, cel puin in regim de motor, in ambele
sensuri de rotaie.
z Daca maina de curent continuu este alimentata
printr-un redresor comandat, care furnizeaz ambele
polariti ale tensiunii redresate medii, MCC poate
funciona att in regim de motor cat si in regim de
frn recuperativ, caz in care convertorul devine
invertor.
z MCC funcioneaz ca motor in cadranul 1 al
caracteristicii mecanice (Mem=f()) iar ca frn
recuperativa in cadranul 4.
z Frnarea recuperativa (generator pe reea) se
realizeaz atunci cnd Ue>Ua si Ia=-Ia iar turaia este
mai mare dect valoarea nominala de mers in gol. 206
Schema de reglare a vitezei (turatiei) acionrii electrice
reprezint un sistem de reglare automata (SRA) cu bucla
nchis de reglare, care include si o bucla de reglare a
curentului din indus
207
Schema bloc de reglare implementata in Simulink
208
Simularea reg. de motor si frn recuperativ a unei
actionri reversibile cu MCC si redresor comandat
209
Reglarea vitezei unei MCC utiliznd
controlul in cascada
z Reglarea vitezei (turaiei) sau a poziiei unui
servomotor de curent continuu se poate realiza ca in
figura urmtoare.
z Schema bloc din figura urmtoare este o schema de
reglare a turaiei in cascada avnd o bucla interna
de reglare a cuplului electromagnetic sau a
curentului din indus. Regulatoarele de turaie si de
cuplu pot fi de tip PI, cel mai frecvent, sau de tip
PID.
z In acest caz maina de curent continuu este
alimentata printr-un convertor de cc-cc (chopper),
care poate conine un tiristor GTO in paralel cu o
210
dioda.
Schema bloc de reglare a turaiei in cascada
utiliznd o bucla interna de reglare a cuplului
electromagnetic
211
212
213
214
215
Final Conclusion
216