Sunteți pe pagina 1din 151

Simulink

1 Lansarea aplicaiei Simulink..........................................................................................4 1.1 Editorul de modele...................................................................................................4 1.2 Bibliotecile aplicaiei Simulink................................................................................7 2 Crearea unui model..........................................................................................................9 2.1 Plasarea blocurilor...................................................................................................9 4.1 Prescrierea proprietilor i parametrilor blocurilor.............................................10 4.2 Legende.................................................................................................................15 4.3 Conectarea blocurilor. Semnale............................................................................16 4.4 Blocurile Integrator, Gain i Sum, Add, Subtract, Sum of Elements...................18 3.1 Parametrii simulrii...............................................................................................24 3.1.1 Scrierea strii i ieirilor porturilor n spaiul Matlab....................................25 3.1.2 Citirea strii iniiale i a intrrilor porturilor din spaiul Matlab....................28 2.1 Afiarea rezultatelor..............................................................................................31 2.1.1 Blocul Scope....................................................................................................31 2.1.2 Blocul XYGraph.............................................................................................35 2.1.3 Blocul Display.................................................................................................36 2.1.4 Blocul Floating Scope.....................................................................................37 2.2 Salvarea datelor n fiiere i spaiul de lucru Matlab............................................38 2.3 Citirea datelor din fiiere i spaiul de lucru Matlab.............................................41 2.4 Simularea unui model Simulink n Matlab...........................................................43 2.5 Blocurile Mux i Demux.......................................................................................45 2.5.1 Crearea semnalelor cu blocul Mux.................................................................45 2.5.2 Extragerea semnalelor din blocul Demux.......................................................45 2.6 Blocurile Bus Creator i Bus Selector..................................................................52 2.6.1 Crearea unui bus..............................................................................................53 2.6.2 Selectarea semnalelor din bus.........................................................................55 3. Blocuri pentru generarea i analiza semnalelor...........................................................57 3.1 Blocuri pentru generarea semnalelor.....................................................................57 3.2 Blocuri pentru analiza semnalelor..........................................................................58 3.3 Analiza modelelor la diverse intrri.......................................................................64 4. Blocuri de calcul...........................................................................................................71 5. Blocuri neliniare...........................................................................................................75 6. Funcii definite de utilizator.........................................................................................81 6.1 Funcii definite printr- o expresie...........................................................................81 6.2 Utilizarea funciilor Matlab....................................................................................83 6.3 Funcii definite de utilizator (S-Funcii)................................................................85 7. Simularea sistemelor liniare continue cu coeficieni constani ..................................91 7.1 Blocul Transfer Fcn...............................................................................................92 7.2 Blocul Zero-Pole...................................................................................................96 7.3 Blocul State-Space................................................................................................97 8. Crearea de subsisteme................................................................................................100 8.1 Crearea unui subsistem prin inserarea unui bloc Subsystem...............................100 8.2 Crearea unui subsistem prin gruparea blocurilor.................................................108 9. Descrierea fiierului creat de editorul de modele......................................................111 10. Secvena de calcul a elementelor modelului...........................................................114 11. Explorarea modelului...............................................................................................117 11.1 Explorarea modelului........................................................................................117 11.2 Navigarea n model...........................................................................................120 12. Simularea unui motor asincron...............................................................................121 13. Simularea mainilor electrice..................................................................................128

13.1 Maina asincron...............................................................................................128 13.2 Maina de curent continuu................................................................................138 13.3 Maina sincron.................................................................................................142

1 Lansarea aplicaiei Simulink


Aplicaia Simulink se lanseaz n unul din urmtoarele moduri: n fereastra de comand Matlab se tasteaz comanda simulink, clic pe butonul din bara de instrumente a ferestrei Matlab. Aceste comenzi deschid fereastra Simulink Library Browser din Figura 1. Fereastra afiaz n stnga arborele bibliotecilor, n dreapta seciunile bibliotecii selectate, iar n partea de sus informaii asupra bibliotecii sau blocului selectat.

1.1

Editorul de modele

Pentru a crea un nou model se lanseaz editorul de modele n unul din urmtoarele moduri: se execut un clic pe File New Model din fereastra Simulink Library Browser vezi Figura 2 i se deschide o nou fereastr a unui model Simulink, din Figura 3. clic pe File New Model din fereastra Matlab i se deschide o nou fereastr a unui model Simulink, din Figura 3. In acest caz este posibil de a deschide fereastra Simulink Library Browser cu un clic pe opiunile View Library Browser din fereastra modelului Simulink din Figura 3 sau pe butonul din bara de instrumente din aceeai figur.

Figura 1. Fereastra Simulink Library Browser.

Figura 2. Crearea unui nou model

Figura 3. Fereastra editorului de modele n cazul unui nou model Simulink.

Bibliotecile existente conin elemente ce pot fi utilizate n model. Deschiderea unei biblioteci se face cu un clic pe numele bibliotecii sau pe nodul din arborele cu biblioteci. In Figura 1 este expandat nodul corespunztor bibliotecii Simulink ce conine elemente generale. Meniurile File, Edit i View ale editorului de modele sunt artate n Tabelul 1. Ele conin n general opiunile cunoscute. Celelalte meniuri vor fi prezentate ulterior. Opiunile meniului File realizeaz operaiile urmtoare: New creaz un nou model, Open deschide un model existent, Close inchide modelul curent, Save salveaz modelul curent, Save As salveaz modelul current sub un nume nou, Print tiprete modelul curent, Print Setup prescrie modul de tiprire, Exit Matlab nchide aplicaia Matlab.

a) Meniul File

b) Meniul Edit

c) Meniul View

Tabelul 1. Meniurile File, Edit i View ale ferestrei unui model.

Opiunile meniului Edit realizeaz urmtoarele operaii: Undo anuleaz ultima operaie, Redo reface ultima operaie, Cut mut n Clipboard blocul selectat, Copy copiaz n Clipboard blocul selectat, Paste copiaz n model blocul din Clipboard, Clear terge blocul selectat, Select All selecteaz ntregul model, Copy model to clipboard copiaz modelul n Clipboard. Celelalte opiuni ale meniului Edit vor fi prezentate ulterior. Opiunile meniului View realizeaz urmtoarele operaii: Toolbar afiaz sau ascunde bara de instrumente, Status bar afiaz sau ascunde bara de stare, Zoom in mrete aria selectat, Zoom out micoreaz aria selectat, Fit selection to view adapteaz diagrama modelului la dimensiunea ferestrei modelului. Celelalte opiuni ale meniului View vor fi prezentate ulterior. O parte din funciunile meniurilor File i Edit pot fi realizate cu butoanele barei de instrumente a ferestrei editorului de modele, artat n Figura 4.

Figura 4. Bara de instrumente a editorului de modele.

Semnificaia butoanelor este cea din Tabelul 2.

Buton

Funcie New Open Save Print Cut Copy Paste Undo Redo

Tabelul 2. Butoanele barei de instrumente a editorului de modele.

Editorul de modele creaz din model un fiier cu extensia .mdl.

1.2

Bibliotecile aplicaiei Simulink

Bibliotecile aplicaiei Simulink sunt cele din Figura 5. Biblioteca Simulink cuprinde seciuni cu blocurile de baz, utilizate n modele : pentru simularea sistemelor descrise de ecuaii difereniale ordinare, a sistemelor discrete, funcii matematice, blocuri de geneare a semnalelor, de afiare a semnalelor, etc. In cele ce urmeaz vom prezenta cteva elemente de interes general din aceste biblioteci. Celelalte biblioteci conin elemente pentru simularea diverselor aplicaii din telecomulnicaii, sisteme automate, meini electrice, mecanic, etc.

Figura 5. Bibliotecile aplicaiei Simulink.

2 Crearea unui model


Pentru a crea un model se plaseaz mai nti blocurile n fereastra modelului i apoi se interconecteaz aceste blocuri cu sgei.

2.1

Plasarea blocurilor

Plasarea blocurilor n model se face astfel: 1. se expandeaz nodul corespunztor bibliotecii cu un clic pe butonul din arborele din stnga ferestrei Simulink Library Browser din Figura 1; n partea dreapt apar seciunile bibliotecii selectate, 2. se selecteaz seciunea necesar din bibliotec cu un clic pe numele ei ; n dreapta sunt afiate elementele din seciunea corespunztoare, vezi Figura 6; n partea de sus a ferestrei este afiat descrierea elementului selectat, 3. se trage blocul din bibliotec n model, (drag and drop), 4. se deschide caseta de dialog specific blocului, de unde se aleg parametrii blocului.

Figura 6. Fereasta Simulink Library Browser.

In Figura 7 se arat fereastra unui nou model cu un element integrator inserat din biblioteca Continuous. In Figura 8 se arat caseta de dialog corespunztoare integratorului, n care putem prescrie condiia iniial n caseta de text Initial condition. 9

Figura 7. Fereastra unui nou model cu un integrator.

Pentru a efectua diverse operaii cu un bloc, (Cut, Copy, afiarea casetei de dialog cu parametrii blocului, etc.), acesta trebuie selectat. Selectarea unui bloc se face cu un clic cu butonul drept sau stng pe bloc. Atunci cnd blocul este selectat, n colurile lui apar patru marcaje ca n Figura 7. La un moment dat se pot selecta mai multe blocuri din model. Acest lucru se face n unul din urmtoarele moduri : se selecteaz pe rnd cte un bloc innd apsat tasta Shift i executnd clic pe bloc, se traseaz un dreptunghi cu mousul n jurul blocurilor ce trebuie selectate ; se poziioneaz mousul n unul din colurile dreptunghiului i se trage mousul cu butonul apsat n colul opus al dreptunghiului, se pot selecta toate blocurile din model cu opiunea Select All a meniului Edit. Un bloc odat selectat se poate deselecta cu un clic pe bloc. Un bloc din model poate fi ters, mutat sau copiat n Clipboard. Acest lucru se face astfel : 1. se selecteaz blocul cu un clic, 2. se afiaz meniul Edit sau meniul contextual al blocului cu un clic cu butonul drept pe bloc, vezi Tabelul 3 pentru opiunile celor dou meniuri, 3. clic pe opiunea necesar, Clear, Cut sau Copy.

4.1

Prescrierea proprietilor i parametrilor blocurilor

In cazul unui bloc selectat se pot afia trei meniuri ce permit, printre altele, alegerea proprietilor i parametrilor blocului. Aceste meniuri sunt: meniul Edit al editorului de modele din Tabelul 3a, meniul contextual al blocului din Tabelul 3b, meniul Format al editorului de modele din Tabelul 5. Parametrii uni bloc se prescriu n caseta de dialog Block Parameters, specific fiecrui bloc. Aceast caset se afiaz n dou feluri :

10

cu dublu clic cu butonul stng al mousului pe bloc, cu clic pe opiunea xxx parameters a meniului Edit sau a meniului contextual al blocului (n meniurile din Tabelul 3, aceast opiune este Integrator parameters). Caseta de dialog cu parametrii blocului n cazul unui integrator este cea din Figura 8.

Figura 8. Caseta de dialog cu parametrii unui integrator.

Parametrii unui bloc pot fi valori numerice introduse n caseta de dialog sau variabile ce primesc valori n spaiul de lucru Matlab. Caseta de dialog cu parametrii unui bloc conine n partea superioar descrierea blocului, n exemplul nostru integrarea semnalului de intrare. Caseta de dialog cu parametrii uni bloc are un buton Help care afiaz o descriere detaliat a blocului. In Figura 9 se arat fereastra Help a elementului Integrator.

11

Figura 9. Fereastra Help cu descrierea blocului Integrator.

Menionm c, n general, blocurile Simulink au mai multe intrri i ieiri. Intrrile i ieirile pot fi variabile scalare, vectori sau matrice ale cror elemente depind de timp. Blocul efectueaz aceeai operaie asupra fiecrui semnal de intrare (analog vectorizrii funciilor n Matlab). In general, dimensiunea semnalelor de intrare i de ieire se poate verifica din dimensiunea parametrilor blocului. In cazul integratorului, condiia iniial trebuie s fie un numr, un vector sau o matrice. Dimensiunile condiiei iniiale trebuie s corespund celor ale semnalului de intrare, iar dimensiunea ieirii este egal cu dimensiunea intrrii. Opiunile Foreground color i Background color ale meniului contextual al elementului din Tabelul 3b permit alegerea culorii fondului i primplanului blocului. Opiunea Format a aceluiai meniu i meniul Format al editorului de modele permit alegerea fontului, rotirea blocului, reprezentarea n oglind a blocului sau numelui, etc.

12

a) Meniul Edit

b) Meniu contextual

Tabelul 3. Meniuri ale unui bloc selectat.

Submeniurile corespunznd acestor opiuni sunt artate respective n Tabelul 4a, Tabelul 4b.

a) Submeniurile Foreground color i Background color

b) Submeniul Format al blocului

Tabelul 4. Meniul contextual al unui bloc. Submeniurile Foreground color, Background color i Format.

13

1) Align Blocks

2) Distribute Blocks

a) Meniul Format

3) Resize Blocks b) Submeniuri

Tabelul 5. Meniul Format al editorului de modele.

Meniul Format al editorului de modele este artat n Tabelul 5. Cteva opiuni de aranjare a desenului sunt artate n Tabelul 6. Desen Opiune -

Align Centers Horizontally

Make Blocks Same Size

Make Horizontal Gaps Even


Tabelul 6. Opiuni de desenare a modelului.

14

Tabelul Tabelul 7 arat cteva opiuni de reprezentare a unui bloc. Reprezentare bloc Opiuni + Font bold, italic, dimensiunea12 + Culoare albastru + Nume bloc reprezentat n oglind (flip) + Bloc reprezentat n oglind (flip) + Bloc rotit
Tabelul 7. Opiuni de reprezentare a unui bloc.

Numele blocurilor se poate modifica pentru a corespunde semnificaiei din model. Se execut un clic pe numele blocului i se introduce numele dorit. Numele blocurilor se poate ascunde cu un clic pe opiunea Hide name a meniului Format al blocului din Tabelul 4b i se poate afia cu opiunea Show name a aceluiai meniu. Culoarea fondului modelului se prescrie prin selectarea opiunii Screen color din meniului Format al editorului de modele ce afiaz meniul din Tabelul 4a (de data aceasta pentru fondul modelului).

4.2

Legende

Legendele conin informaii despre model. Un model poate conine mai multe legende. Pentru a crea o legend se execut un clic dublu ntr-un punct al ferestrei i n caseta de text afiat se introduce legenda dorit. Textul legendei poate conine i caractere speciale i litere greceti definite cu regulile limbajului Latex, vezi capitolul privind reprezentrile grafice din Matlab. Stilul legendei se prescrie cu opiunile meniului Format vezi Tabelul 5 sau cu opiunile meniului contextual din Tabelul 8a afiat la un clic cu butonul drept pe legend. Stilul fontului legendei se alege cu opiunile Font, Enable Tex command i Text alignment. Culorile fondului i primplanului se aleg cu opiunile Background color i Foreground color. Opiunea Show drop shadow afiaz o umbr n jurul legendei.

15

a) la selectarea legendei

b) la selectarea textului legendei

Tabelul 8. Meniuri contextual ale unei legende.

Opiunile Cut i Copy din Tabelul 8a mut i respectiv copiaz n Clipboard legenda. Opiunea Clear terge legenda. O legend odat copiat n Clipboard poate fi copiat n orice loc din model cu opiunea Paste a meniului Edit al modelului. Meniul contextual din Tabelul 8b se afiaz cu un clic cu butonul drept pe legend, dup ce textul legendei a fost selectat. Opiunile Cut, Copy, Paste i Delete efectueaz operaiile aceleai operaii ca mai sus cu textul legendei. Opiunea Select All a aceluiai meniu selecteaz tot textul legendei.

4.3

Conectarea blocurilor. Semnale

Blocurile modelului sunt conectate de sgei. Sgeile corespund conexiunilor de la ieirile unor blocuri la intrrile altor blocuri. Fiecare sgeat corespunde unui semnal din model. Conectarea blocurilor se poate face n mai multe feluri : 1. conectarea automat a dou blocuri: se selecteaz blocul surs cu un clic, se apas tasta Ctrl i clic pe blocul destinaie cu butonul stng al mousului sau cu butonul drept al mousului, dup care se elibereaz tasta Ctrl. Simulink traseaz conexiunea ntre ieirea blocului surs i intrarea blobcului destinaie. In cazul n care blocul surs are mai multe ieiri i blocul destinaie mai multe ntrri, Simulink traseaz ct de multe conexiuni sunt posibile ntre cele dou blocuri. 2. conectarea manual a dou blocuri, prima metod se unete ieirea blocului surs cu intrarea blocului destinaie cu butonul stng al mousului sau cu butonul drept al mousului apsat. 3. conectarea manual a dou blocuri, a doua metod se unete intrarea blocului destinaie cu ieirea blocului surs cu butonul stng al mousului sau cu butonul drept al mousului apsat. In multe cazuri este nevoie de mai multe conexiuni de la ieirea unui bloc la mai multe intrri ale altor blocuri. Pentru a trasa o linie suplimentar de la o ieire a unui bloc la o intrare a altui bloc se procedeaz astfel : se poziioneaz cursorul pe linie n punctul de ramificare, se apas tasta Ctrl i cu butonul stng al mousului apsat se trage cursorul pn la intrarea blocului ce trebuie conectat, dup care se elibereaz tasta Ctrl i butonul mousului. Semnalele se pot selecta cu un clic pe sgeata corespunztoare. Menionm c, n general, blocurile Simulink au mai multe intrri i ieiri. Intrrile i ieirile pot fi variabile scalare, vectori sau matrice ale cror elemente depind de timp. 16

Este posibil de a afia dimensiunea semnalelor, iar semnalele nescalare se pot afia cu linie ngroat. Pentru a afia dimensiunea semnalelor multidimensionale se selecteaz un semnal i se execut cu clic pe opiunea Signal dimensions a meniului Format din Tabelul 4c. Pentru a desena ngroat semnalele multidimensionale se selecteaz un semnal i clic pe opiunea Wide nonscalar lines a meniului Format. Semnalele pot avea nume date de programator. Pentru a da un nume unui semnal se procedeaz n unul din urmtoarele moduri : clic cu butonul drept pe semnal i se afiaz meniul contextual din Tabelul 9a. La un clic pe opiunea Signal Properties se afiaz caseta Signal Properties din Tabelul 9b. In caseta de text Signal name se introduce numele dorit pentru semnal, se selecteaz semnalul cu un clic cu butonul stng pe semnal ; se execut un clic pe meniul Edit; un clic pe opiunea Signal Properties se afiaz caseta Signal Properties din Tabelul 9b.

a) meniu contextual

b) caseta Signal Properties

Tabelul 9. Meniu contextual i caseta cu proprietile semnalelor.

Se pot afia blocul surs sau blocurile destinaie pentru un semnal oarecare. Pentru aceasta se afiaz meniul contextual din Tabelul 9a i clic pe opiunea Highlight to source respectiv Highlight to destination. Se obin reprezentrile din Tabelul 10. Opiunea Remove highlightning anuleaz opiunile anterioare.

17

a) afiarea destinaiei semnalului

b) afiarea sursei semnalului

Tabelul 10. Afiarea sursei i destinaiei semnalelor.

In principiu, orice ieire a unui bloc trebuie conectat la intrarea unui alt bloc. In cazul cnd ieirea unui bloc nu trebuie conectat la intrarea altui bloc, aceast ieire se conecteaz la un bloc Terminator din Figura 10.

Figura 10. Blocul Terminator

4.4

Blocurile Integrator, Gain i Sum, Add, Subtract, Sum of Elements

Blocurile Integrator, Gain i Sum, Add, Subtract sunt des folosite la simularea sistemelor descrise de ecuaii difereniale ordinare. Blocurile Gain nmulete intrarea cu o constant. Intrarea i constanta pot fi scalari, vectori sau matrice. Blocurile Sum, Add, Subtract i Sum of Elements realizeaz funcii identice. Ele adun sau scad intrrile lor. Intrrile pot fi scalari, vectori sau matrice. Blocurile pot avea mai multe intrri i putem prescrie semnele intrrilor. Aceste blocuri sunt artate n Tabelul 11. Ele se gsesc n biblioteca Math Operations. Bloc Add Subtract Sum Sum of Elements Gain
Tabelul 11. Blocuri de nsumare i inmulire cu o constant.

Simbolizare

Exemplu. S calculm soluia ecuaiei difereniale ordinare x'' + 3x' + 2x = 0 n condiiile iniiale x0 = 1 i x'0 = 0 pe o durat de 5s. Modelul este artat n Figura 11. La intrarea integratorului x' trebuie s introducem mrimea x''. Din ecuaia diferenial deducem x'' = -3x' 2x Inmulirea mrimilor x i x' cu 2 i respectiv 3 se face cu blocuri Gain. Ele sunt nsumate n blocul Sum.

18

Figura 11. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.

In Figura 11 sunt adugate semnalelor numele x i respectiv x', pentru a corespunde semnificaiei din model. Aceasta se face cu procedura prezentat anterior: 1. clic cu butonul drept pe semnal, 2. n meniul contextual afiat clic pe opiunea Signal properties, 3. n caseta de text Signal name se introduce numele dorit. S-a adugat o legend a modelului. Pentru aceasta se execut un clic dublu ntr-un punct al ferestrei i n caseta de text afiat se introduce legenda dorit, n cazul nostru Modelul ecuaiei difereniale x + 3x + 2x= 0. Fontul legendei a fost modificat. Caseta de dialog cu parametrii blocului Sum este arta n Figura 12. In aceast caset se pot alege n zona Parameters: forma elementului, dreptunghi sau rotund, din caseta Icon shape, semnele semnalelor de intrare, + sau -. In lista respectiv se introduce plus dac semnalul va fi adunat i dac va fi sczut. Dup cum s-a spus mai nainte, caseta cu parametrii blocului conine n partea superioar descrierea blocului. In cazul blocului Sum se arat cum se completeaz lista de semne. Blocurile Add, Subtract i Sum of Elements au aceeai caseta cu parametrii ca blocul Sum.

19

Figura 12. Caseta de dialog cu parametrii elementului Sum.

Casetele de dialog cu parametrii blocurilor Integrator nu sunt artate. Caseta de dialog a blocului Gain este cea din Figura 13. In caseta de text Gain se introduce factorul de amplificare, n cazul celor dou blocuri din modelul nostru, 3 i respectiv 2. Blocul Gain poate avea mai multe intrri i ieiri. In acest caz parametrul blocului este o matrice, dup cum se va explica mai jos. Modul de prescriere al factorului de amplificare este specificat n partea superioar a casetei din Figura 13.

Figura 13. Caseta de dialog cu parametrii blocului Gain.

Menionm c blocurile Gain care nmulesc ieirile integratoarelor x cu 2 i respectiv x cu 3 sunt desenate iniial de ctre editorul de modele rotite cu 180 0 faa de desenul din Figura 11. Ele sunt rotite ca n Figura 11 astfel: 1. clic cu butonul drept pe blocul Gain i se afiaz Meniul contextual din Tabelul 3b, 2. clic pe opiunea Format i se afiaz meniul contextual din Tabelul 4b; clic pe opiunea Flip block i blocul este rotit cu 1800 i apare desenat ca n Figura 11. 20

Operaia de rotire a blocului poate fi realizat i din meniul Format al editorului de modele. Rezultatul simulrii modelului este cel din Figura 14.

Figura 14. Rezultatul simulrii sistemului din Figura 11.

Reamintim c, n general, blocurile Simulink au mai multe intrri i ieiri. Blocurile realizeaz aceeai operaie asupra tuturor semnalelor de intrare. De exemplu, intrarea unui bloc Integrator poate fi un scalar, un vector sau o matrice de semnale i ieirea acestui bloc are aceeai dimensiune cu intrarea. Fiecare semnal de intrare este integrat separat, iar condiiile iniiale se prescriu separat pentru fiecare semnal (un scalar, un vector sau o matrice). Blocul Gain necesit o discuie separat. Fie u intrarea n blocul Gain, y ieirea, iar K este factorul de amplificare. Intrarea i ieirea unui bloc Gain pot fi scalari, vectori sau matrice de semnale. Factorul de amplificare K poate fi un scalar, un vector sau o matrice. Blocul Gain poate realiza urmtoarele operaii, vezi Figura 13 i Figura 15: nmulire element cu element (Element-wise gain) y = K .* u nmulire matricial (Matrix gain): y=K*u y=u*K In cazul nmulirii element cu element, matricea K i intrarea u trebuie s aibe dimensiunile compatibile operaiei .*. In cazul nmulirii matriciale, K este o matrice compatibil pentru nmulirea cu intrarea u, nu neaprat o matrice patrat. Dimensiunea ieirii y este dimensiunea matricei rezultat. Tipul operaiei realizate de bloc se alege din lista Multiplication a casetei de dialog a blocului Gain, vezi Figura 15.

21

Figura 15. Lista Multiplication a blocului Gain.

Exemplu. Fie din nou ecuaia diferenial x + 3*x + 2x = 0 Vrem s calculm soluia ecuaiei n condiiile iniiale x0 = 1 i x0 = 0. Vom pune ecuaia sub forma unui sistem de ecuaii difereniale de ordin nti. Cu substituiile y = x1 y' = x2 obinem sistemul 1 0 y' = y 2 3 Modelul este cel din Figura 16, n care semnalele sunt vectori cu dimensiunea 2. In cazul semnalelor multidimensionale se poate afia dimensiunea semnalelor. Se selecteaz un semnal i se execut un clic pe opiunea Signal dimension a meniului Format. Dimensiunile semnalelor apar ca n Figura 16.

Figura 16. Modelul ecuaiei difereniale x + 3x + 2x = 0.

22

Parametrul blocului Gain este matricea 1 0 K = 2 3 Caseta de dialog a blocului Gain n acest caz este artat n Figura 17. In lista Multiplication s-a ales opiunea K * u.

Figura 17. Parametrii blocului Gain.

Rezultatul simulrii sistemului este artat n Figura 18.

Figura 18. Rezultatul simulrii sistemului din Figura 16.

23

3.1

Parametrii simulrii

Parametrii simulrii se prescriu cu opiunile meniului Simulation din Figura 19.

Figura 19. Meniul Simulation.

La un clic pe opiunea Simulation parameters se afiaz caseta de dialog Simulation Parameters seciunea Solver din Figura 20. In aceast caset se aleg: timpul iniial al simulrii (Start time) i timpul final (Stop time) n zona Simulation time, metoda de integrare i tipul metodei, cu pas fix sau variabil din listele Type ale zonei Solver options. n cazul metodelor cu pas variabil se pot alege erorile, relativ (Relative tolerance) i absolut (Absolute tolerance), dimensiunea iniial a pasului de integrare (Iniial step size), dimensiunile minim (Min step size) i maxim (Max step size) ale pasului de integrare, etc. Menionm c n dreapta jos a ferestrei modelului este afiat metoda de integrare utilizat.

Figura 20. Caseta de dialog Simulation Parameters, seciunea Solver.

24

Pentru a ncepe simularea clic pe opiunea Start a meniului Simulation din Figura 19 sau pe butonul din bara de instrumente. Pentru oprirea simulrii clic pe opiunea Stop a meniului Simulation sau pe butonul din bara de instrumente. Rezultatul simulrii se afiaz pe blocul Scope. Figura 14 prezint rezultatul simulrii sistemului din Figura 11. Este posibil ca rezultatele simulrii s fie transmise n spaiul de lucru Matlab pentru prelucrri ulterioare sau s se citeasc din spaiul Matlab starea iniial a modelului i intrri pentru anumite blocuri. Pentru aceasta se utilizeaz seciunea Workspace I/O a casetei de dialog Simulation Parameters din Figura 21.

Figura 21. Caseta de dialog Simulation parameters, seciunea Workspace I/O.

3.1.1 Scrierea strii i ieirilor porturilor n spaiul Matlab


In zona Save to Workspace se marcheaz datele ce vor fi transmise n spaiul de lucru Matlab: se marcheaz opiunea Time i se transmite vectorul tout cu momentele de timp n care s-a calculat soluia, se marcheaz opiunea States i se transmite matricea xout ce conine pe coloane valorile variabilelor de stare ce compun soluia (ieirile integratoarelor). se marcheaz opiunea Output i se transmite matricea yout ce conine pe coloane ieirile blocurilor tip Outport, porturile de ieire din model. Menionm c numele acestor variabile pot fi schimbate dup dorin n caseta de text corespunztoare. Pentru exemplul de mai sus s-au transmis n spaiul Matlab vectorul tout i matricea xout i s-a reprezentat soluia cu urmtorul program : >> plot(tout, xout) >> grid >> xlabel('time')

25

Rezultatul programului este cel din Figura 22.

Figura 22. Soluia sistemului din Figura 16 reprezentat n Matlab.

Fie acum modelul din Figura 23, n care ieirile unor blocuri sunt conectate la blocuri tip Outport, care sunt aici porturi de ieire ale modelului. Pentru a transmite ieirile blocurilor tip Outport, Out1 i Out2 n spaiul de lucru Matlab, se marcheaz opiunea Output din Figura 21.

26

Figura 23. Model cu blocuri tip Outport.

Rezultatele transmise n spaiul Matlab se reprezint grafic n Figura 24 cu programul urmtor: >> plot(tout, yout) >> grid >> xlabel('time') >> ylabel('1-cos(time), cos(time)') >> legend('1-cos(time)', 'cos(time)', 2) Menionm c s-a transmis n spaiul Matlab i vectorul tout cu momentele de timp la care s-a calculat soluia. In cazul nostru matricea yout are dou coloane cu ieirile celor dou blocuri tip Outport, Out1 i Out2. Cteva din elementele matricei yout sunt prezentate mai jos. >> yout yout = 0 0.0199 0.0789 0.1747 0.3033 0.4597 0.6376 0.8300 1.0292 1.2272 0 0.9933 0.9537 0.8761 0.7636 0.6206 0.4528 0.2671 0.0706 -0.1286

27

Figura 24. Soluia sistemului din Figura 23 reprezentat n Matlab.

3.1.2 Citirea strii iniiale i a intrrilor porturilor din spaiul Matlab


Este posibil de a prescrie ca stare iniial a modelului un vector din spaiul Matlab i de a importa date n forma unei matrice care conine n prima coloan valorile timpului n ordine cresctoare, iar n coloanele urmtoare valorile funciilor de timp ce vor fi importate care s fie intrrile blocurilor tip Inport din model (porturile de intrare ale modelului). Prescrierea strii iniiale a modelului se face astfel : 1. se valideaz opiunea opiunea Initial state din zona Load from workspace din Figura 21, 2. n spaiul de lucru Matlab se definete vectorul xInitial cu valorile dorite pentru starea iniial a modelului. Vom exemplifica acest lucru pe modelul din Figura 16. In caseta de dialog din Figura 25 se marcheaz opiunea Initial state.

28

Figura 25. Prescrierea strii iniiale a modelului n spaiul de lucru Matlab.

In spaiul Matlab prescriem vectorul strii iniiale xInitial ca mai jos: >> xInitial = [0 1]'; ce corespunde strii iniiale x0=0 i x0=1. Rezultatul simulrii este cel din Figura 26.

Figura 26. Rezultatul simulrii sistemului din Figura 16.

Este posibil de a importa date n forma unei matrice care conine n prima coloan valorile timpului n ordine cresctoare, iar n coloanele urmtoare valorile funciilor de timp ce vor fi importate, care vor fi intrrile elementelor tip Inport (porturile de intrare ale modelului). Fie modelul din Figura 27 n care vom integra o serie de timp citit din spaiul de lucru Matlab. In caseta Simulation Parameters, seciunea Workspace I/O din Figura 25 vom

29

marca opiunea Input din zona Load from workspace, iar n caseta de text corespunztoare vom scrie numele variabilelor din spaiul de lucru Matlab ce conin timpul i seria de timp citit. Numele implicite ale acestor variabile sunt [t, u]. In cazul nostru vom pstra numele implicite. Instruciunile Matlab ce dau valori acestor variabile sunt: >> t = (0: 0.1: 5)'; >> u = [sin(2 * t)]; In model aceste date sunt ieirea elementului Inport In1.

Figura 27. Importarea datelor din spaiul de lucru Matlab.

Figura 28. Rezultatul simulrii modelului din Figura 27.

30

2.1

Afiarea rezultatelor

Aplicaia Simulink are blocuri pentru reprezentarea grafic a rezultatelor, pentru scrierea rezultatelor ntr-un fiier sau pentru transmiterea lor n spaiul de lucru Matlab pentru prelucrri ulterioare. In acest paragraf vom prezenta blocurile pentru afiarea grafic a rezultatelor. Blocurile Scope, Floating Scope i XYGraph se utilizeaz pentru reprezentarea grafic a rezultatelor. Blocul Scope are intrri ce pot fi scalari, vectori sau matrice i reprezint rezultatele n funcie de variabila independent a simulrii, de regul timpul. Blocul XYGraph are dou intrri, X i Y i reprezint curbe de forma Y(X). Blocul Floating Scope nu este conectat la elemente. Blocul Display afiaz valoarea intrrii pe icoana blocului. Aceste blocuri sunt simbolizate ca n Tabelul 12. Ele se gsesc n biblioteca Sinks. Bloc Scope XY graph Floating Scope Display
Tabelul 12. Blocuri de afiare a rezultatelor.

Simbolizare

2.1.1 Blocul Scope


Fereastra blocului Scope a fost artat n Figura 14, Figura 18 i Figura 26. Butoanele barei de instrumente a blocului Scope au semnificaia din Tabelul 13. Buton Semnificaie Tiprire Parametrii blocului Zoom Zoom axa X Zoom axa Y Autoscale (Autoscalare)
Tabelul 13. Bara de instrumente a blocului Scope.

Butoanele Zoom permit extinderea anumitor zone ale figurii. Opiunea Autoscale (Autoscalare) extinde graficul la ntreaga fereastr. Acelai efect se obine cu un clic cu butonul drept pe axele figurii sau pe figur. Se afiaz meniul contextual din Tabelul 14 n care se poate activa opiunea Autoscale i se pot alege proprietile axelor. Acestea sunt : valorile minim i maxim pentru axa Y, Y-min i Y-max i titlul graficului.

31

a) Meniu contextual al blocului Scope

b) Alegerea proprietilor axelor

Tabelul 14. Alegerea parametrilor blocului Scope.

Butonul permite alegerea parametrilor blocului. La un clic pe buton se afiaz caseta de dialog din Tabelul 15 ; n seciunile ei se prescriu n seciunea General parametrii axelor, iar n seciunea Data history numrul de puncte reprezentate, dac se vor salva datele n spaiul Matlab, etc. Un parametru important este numrul de axe (implicit 1), care d numrul de intrri ale blocului Scope care este i numrul de ferestre ale blocului.

a) Seciunea General

b) Seciunea Parameters

Tabelul 15. Alegerea parametrilor blocului Scope.

Vom exemplifica utilizarea parametrilor blocului Scope la modelul de mai jos. Acesta este sistemul din Figura 11, repetat n Figura 29, pentru care dorim s reprezentm grafic mrimile x i x n dou ferestre. Pentru aceasta se modific parametrul Number of axes la 2 ca n Figura 30 ; acum blocul Scope are dou intrri i afiaz fiecare intrare ntr-o fereastr separat.

32

Figura 29. Modelul ecuaiei difereniale x+3x+2x=0.

Figura 30. Modificarea parametrilor blocului Scope.

Rezultatul simulrii este cel din Figura 31.

33

Figura 31. Rezultatul simulrii sistemului din Figura 29.

Pentru a transmite n spaiul de lucru Matlab rezultatele reprezentate grafic de blocul Scope se valideaz opiunea Save data to workspace din caseta de dialog Scopes parameters, seciunea Data history, vezi Tabelul 15b. In caseta de text corespunztoare se poate prescrie numele structurii de date ce va fi exportat n spaiul Matlab. Numele implicit al acestei structuri este ScopeData. Formatul ei poate fi ales din lista din Figura 32. In cazul cnd se alege formatul Structure sau Structure with time, elementele structurii sunt cele de mai jos. >> ScopeData ScopeData = time: [56x1 double] signals: [1x2 struct] blockName: 'ex1a/Scope' ScopeData.time este un vector cu momentele de timp ale soluiei. Elementul ScopeData.signals este o structur ce conine : valorile mrimilor reprezentate grafic, ScopeData.signals.values, numrul de mrimi reprezentate pe fiecare grafic, ScopeData.signals.dimensions, titlul, ScopeData.signals.title, etichetele graficelor, ScopeData.signals.label. Elementele structurii sunt afiate n Matlab ca mai jos. >> ScopeData.signals ans = 1x2 struct array with fields: values dimensions label title plotStyle

34

Figura 32. Alegerea tipului variabilei ScopeData.

In cazul nostru blocul Scope are dou ferestre. In consecin, structura ScopeData.signals are dou cmpuri, vezi mai sus. Valorile memorate n primul cmp se acceseaz cu indicele 1, ScopeData.signals(1).values, ScopeData.signals(1).label, etc. Avem de exemplu >> ScopeData.signals(1).label ans = x' >> ScopeData.signals(2).label ans = x Opiunea Array se poate alege doar dac blocul Scope are o singur intrare. Structura de date este asemntoare cu cea anterioar.

2.1.2 Blocul XYGraph


Este posibil s reprezentm traiectoria de faz x' = f(x) cu ajutorul blocului XYGraph. Blocul are dou intrri scalare, prima intrare corespunde axei X. Vom reprezenta planul fazelor pentru modelul din Figura 33 in condiiile iniiale x0=1 i x0=0. Ieirile x' i x sunt conectate la un bloc XYGraph.

35

Figura 33. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.

Traiectoria de faz a sistemului este cea din Figura 34.

Figura 34. Planul fazelor pentru ecuaia diferenial ordinar x'' + 3x' + 2x = 0.

Pentru a prescribe limitele axelor X i Y se selecteaz blocul i clic pe opiunea Mask Parameters a meniului Edit sau a meniului contextual al blocului.

2.1.3 Blocul Display


Blocul Display afiaz valoarea intrrii n icoana sa. Exemple de utilizare a acestui bloc vor fi prezentate ulterior.

36

2.1.4 Blocul Floating Scope


Blocul Floating Scope poate reprezenta semnalele de pe una sau mai multe linii. Pentru aceasta se include n model un bloc Floating Scope i se procedeaz astfel: 1. se selecteaz blocul cu un clic, 2. se selecteaz semnalele ce vor fi afiate de bloc innd apsat tasta Shift i executnd clic pe fiecare semnal ce va fi afiat. Se execut apoi simularea. Fie sistemul din Figura 35. Se calculeaz ieirea lui la o treapt aplicat la timpul 1.

Figura 35. Calculul ieirii unui sistem.

Semnalele sunt afiate de blocul Floating Scope ca n Figura 36. In Figura 35 se observ c blocul Floating Scope i semnalele u i y sunt selectate.

37

Figura 36. Blocul Floating Scope.

2.2

Salvarea datelor n fiiere i spaiul de lucru Matlab

Pentru a salva rezultatele simulrii n fiiere sau n spaiul de lucru Matlab se utilizeaz blocurile To File i To Workspace. Reamintim c putem transmite n spaiul de lucru Matlab starea sistemului, ieirile blocurilor tip Outport, etc. prescriind anumii parametri ai simulrii, ca ntr-un paragraf anterior. Aceste blocuri sunt simbolizate ca n Tabelul 16. Ele se gsesc n biblioteca Sinks. Bloc To File To Workspace
Tabelul 16. Blocuri de salvare a datelor n fiiere i n Matlab.

Simbolizare

Fie sistemul din Figura 37 care utilizeaz blocuri To Workspace i To File.

38

Figura 37. Blocurile To file i To simout.

Caseta cu parametrii blocului To File este artat n Figura 38. Parametrii blocului sunt urmtorii : Filename este numele fiierului n care se scriu datele. Blocul To File scrie o coloan la fiecare moment de timp, primul rnd este timpul, urmtoarele rnduri sunt datele simulrii (intrarea n blocul To File). Variable name este numele matricei cu date ce va fi scris n fiier. Numele implicit al matricei este ans.

Figura 38. Caseta de dialog cu parametrii blocului To file.

39

In exemplul de mai sus numele fiierului este data.mat, iar numele matricei ce va fi scris n acest fiier Matlab este sinrez. Primele coloane a matricei sinrez n cazul modelului din Figura 37 sunt reprezentate mai jos. Programul Matlab de mai jos ncarc datele din fiierul data.mat i afiaz matricea sinrez din acest fiier. >> load data.mat >> sinrez sinrez = Columns 1 through 7 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 -1.0000 -0.9801 -0.9211 -0.8253 -0.6967 -0.5403 -0.3624 Blocul To Workspace scrie datele n spaiul Matlab. Caseta de dialog a blocului este artat n Figura 39.

Figura 39. Caseta de dialog cu parametrii blocului To Workspace.

Parametrii blocului sunt urmtorii: n caseta de text Variable name se introduce numele structurii ce va conine datele ; numele implicit este simout, n lista Save format se alege formatul n care se vor salva datele. Formatul datelor este asemntor cu cel al blocului Scope. In cazul cnd formatul este Array datele se scriu ntr-o matrice cu valorile pe coloane. In celelalte cazuri formatul datelor este structura de mai jos. >> simout simout =

40

time: [51x1 double] signals: [1x1 struct] blockName: 'data/To Workspace' Dac formatul ales este StructureWithTime, componenta simout.time conine momentele de timp n care este calculat soluia. Componenta values conine datele simulrii. Ea are formatul de mai jos. >> simout.signals ans = values: [51x1 double] dimensions: 1 label: '' Componenta simout.signals.values conine datele simulrii.

2.3

Citirea datelor din fiiere i spaiul de lucru Matlab

Este posibil de a citi date din fiiere sau din spaiul de lucru Matlab pentru a fi utilizate ca ntrri ale unor blocuri din model. Blocurile utilizate sunt From Workspace i From File. Ele se gsesc n biblioteca Sources. Menionm c putem citi din spaiul Matlab starea iniial a sistemului i intrrile blocurilor tip Inport, prescriind anumii parametri ai simulrii, ca ntr-un paragraf anterior. Bloc From File From Workspace
Tabelul 17. Blocuri de citire a datelor din fiiere i Matlab.

Simbolizare

Modelul din Figura 40 utilizeaz blocul From Workspace.

41

Figura 40. Blocul From Workspace.

Caseta de dialog a blocului From Workspace este artat n Figura 41. In caseta Data se introduce numele matricei ce conine datele. Numele implicit al matricei este simin. Un format al datelor citite este acela de matrice care conine valorile timpului n prima coloan i valorile corespunztoare ale funciei de timp n a doua coloan.. In exemplul de mai sus matricea este generat cu instruciunile de mai jos >> t = (0: 0.1: 5)'; >> u = sin(t); >> simin = [t, u]; Rezultatul derivrii funciei sin(t) este artat n Figura 42.

42

Figura 41. Caseta de dialog a blocului From Workspace.

Figura 42. Rezultatul simulrii sistemului din Figura 40.

2.4

Simularea unui model Simulink n Matlab

Un model Simulink odat creat poate fi simulat n Matlab cu funcia sim [t, x, y] = sim('model', tspan, options, ut) Parametrii instruciunii sunt: 'model' este numele modelului (numele fiierului . mdl) tspan este vectorul [tstart, tfinal], cu timpii de nceput i de sfrit ai simulrii

43

options este un vector cu opiunile simulrii, cu perechi nume, valoare ut este o intrare extern opional, utilizat cnd modelul are porturi de intrare (blocuri de tip Inport). Rezultatul funciei sim este matrice ce conine t vector cu timpii soluiei, x matrice cu starea modelului, strile continue (ieirile integratoarelor) i strile discrete (ieirile elementelor discrete), y matrice cu ieirile porturilor modelului (blocuri de tip Outport). Ca exemplu vom simula n Matlab modelul ex1 din Figura 11. Programul [t, x, y] = sim('ex1', [0, 5], [], []); plot(t, x); grid xlabel('timp') ylabel('x', 'x''') legend('x', 'x''') are ca rezultat curbele din Figura 43.

Figura 43. Rezultatul simulrii ecuaiei x'' + 3x' + 2x = 0.

44

2.5

Blocurile Mux i Demux

In general, blocurile Simulink pot avea ca intrare un scalar, un vector, sau o matrice. Un asemenea bloc este integratorul. Pentru a lucra cu semnale multidimensionale exist blocul Mux, care grupeaz semnalele ntr-un vector de semnale, i blocul Demux, ce extrage semnalele grupate anterior. Blocurile Mux i Demux sunt simbolizate ca n Tabelul 18. Ele se gsesc n biblioteca Signal Routing. Bloc Mux Demux
Tabelul 18. Blocurile Mux i Demux.

Simbolizare

Semnalele de la intrrile i ieirile blocurilor Mux i Demux sunt, n general, multidimensionale. In model, putem evidenia aceste semnale astfel : Putem reprezenta aceste semnale ngroat, cu clic pe Format Port / Signal Display Wide Nonscalar Lines, Putem afia pe fiecare semnal din model dimensiunea lui, cu clic pe Format Port / Signal Display Signal Dimensions, Putem afia pe fiecare semnal tipul semnalului cu clic pe Format Port / Signal Display Port Data Types.

2.5.1 Crearea semnalelor cu blocul Mux


Blocul Mux are un parametru, Number of inputs, ce specific numrul de porturi de intrare n bloc. Dac acest parametru este un numr, el specific numrul de intrri n bloc i fiecare semnal de intrare poate fi scalar sau vector de orice dimensiune. Dc parametrul este un vector, numrul de componente ale vectorului d numrul de intrri ale blocului, i fiecare element al vectorului d dimensiunea semnalului la intrarea respectiv. Semnalele de intrare n blocul Mux pot fi scalari, vectori, de tip numeric. Ordinea semnalelor este cea n care ele apar la intrrile blocului Mux.

2.5.2 Extragerea semnalelor din blocul Demux


Blocul Demux are dou moduri de lucru : modul Bus Selection, n care blocul poate avea ca intrare un semnal creat de un bloc Mux, sau ieirea unui alt bloc Demux, modul Vector n care blocul poate avea ca semnal de intrare un semnal scalar, vector sau matrice, generat de un bloc de alt tip. Blocul Demux are un parametru Bus selection mode care arat modul de lucru al blocului. Dac parametrul este marcat, intrarea trebuie s fie generat de un bloc Mux, sau s fie ieirea unui alt bloc Demux. Blocul are un parametru Number of outputs n care se specific numrul de ieiri (porturi) ale blocului Demux i dimensiunea fiecrei ieiri. Modul de extragere a semnalelor din blocul Demux. depinde de modul de lucru al blocului.

45

2.5.2.1

Extragerea semnalelor n modul de lucru Vector

Extragerea semnalelor n modul de lucru Vector se face astfel : cnd valoarea parametrului Number of outputs este un numr p, egal cu numrul de intrri n, acest numr specific numrul de ieiri scalare ale blocului. Cnd valoarea parametrului Number of outputs este un numr p, mai mic dect numrul de intrri n, acest numr p specific numrul de ieiri. Dimensiunea fiecrei ieiri se calculeaz astfel : dac n mod p = 0, fiecare ieire are dimensiunea n / p, dac n mod p = m, m ieiri au n / p+1 elemente, celelalte p m ieiri au n / p elemente. Cnd parametrul Number of outputs este un vector, dimensiunea vectorului d numrul de ieiri (porturi), i fiecare component d dimensiunea semnalului unei ieiri a blocului. Fie de exemplu modelul din Figura 44, n care blocul Sin Wave genereaz trei semnale sinusoidale, decalate cu 2*pi/3. Vom reprezenta cele trei semnale pe acelai grafic, n blocul Scope3, i primele dou semnale pe un grafic n blocul Scope i al treilea semnal pe un grafic n blocul Scope1.

Figura 44. Demultiplexarea semnalelor.

Semnalele au fost desenate ngroat i cu dimensiunile lor, aa cum s-a artat mai sus. Parametrii blocului Demux sunt cei din Figura 45. Parametrul Number of outputs are ca valoare vectorul [2 1].

46

Figura 45. Parametrii blocului Demux.

Semnalele sunt cele din Figura 46, pentru blocul Scope3 cu cele trei semnale, i n Figura 47 i Figura 48 pentru semnalele demultiplexate.

Figura 46. Blocul Scope3 cu cele trei semnale.

47

Figura 47. Blocul Scope cu primele dou semnale.

Figura 48. Blocul Scope1 cu al treilea semnal.

2.5.2.2

Extragerea semnalelor n modul de lucru Bus Selection

Extragerea semnalelor n modul de lucru Bus Selection se face astfel : dac valoarea parametrului Number of outputs este un scalar, el d numrul de porturi de ieire. Acest numr trebuie s fie egal cu numrul de semnale de intrare n blocul Demux, dac parametrul Number of outputs este un vector, componentele vectorului dau numrul de semnale ale fiecrui port. Fie modelul din Figura 49, n care blocul Sin Wave genereaz un semnal cu dimensiunea trei, blocul Pulse Generator un semnal cu dimensiunea doi, iar blocul Random Number un semnal cu dimensiunea doi. Intrarea blocurilor tip Demux este ieirea blocului tip Mux. Se observ c linia ce conecteaz ieirea blocului Mux cu intrarea blocurilor Demux este diferit n acest mod de lucru fa de modul Vector. 48

Figura 49. Demultiplexarea semnalelor.

Pe liniile ce conecteaz blocurile Mux i Demux sunt marcate numrul de semnale i suma dimensiunilor acestor semnale. Parametrul Bus Selection Mode al blocurilor Demux este marcat. Blocul Demux are ca parametru Number of Outputs valoarea trei, care este numrul de semnale i deci numrul de porturi de ieire. Semnalele la cele trei ieiri ale blocului Demux sunt artate n Figura 50, Figura 51, Figura 52.

Figura 50. Primul port al blocului Demux.

49

Figura 51. Al doilea port al blocului Demux.

Figura 52. Al treilea port al blocului Demux.

Blocul Demux1 are ca parametru Number of Outputs vectorul [2 1], care arat c blocul are dou porturi (ieiri), la primul port sunt conectate primele dou semnale, la cel de al doilea port este conectat al treilea semnal. Figura 53 arat prima ieire a blocului Demux1, ce conine primele dou semnale. Figura 54 arat a doua ieire a blocului Demux1 cu al treilea semnal.

50

Figura 53. Primul port al blocului Demux1.

Figura 54. Al doilea port al blocului Demux1.

Vom exemplifica utilizarea blocurilor Mux i Demux la un model ce integreaz ecuaia diferenial x'' + 3x' + 2x = 0 n condiiile iniiale x0=1 i x0'=0. Ieirile blocului Integrator vor fi x i x', iar intrrile vor fi x' i x'' unde x'' = -3x' 2x Vom crea o magistral cu semnalele x i x cu un bloc Mux, ce va fi introdus la intrarea blocului integrator. Condiia iniial pentru elementul integrator este vectorul coloan [1 0]'. Pentru a crea semnalele x i x vom utiliza un bloc Demux ce extrage din magistral semnalele x i x. Modelul ecuaiei difereniale este cel din Figura 55. Parametrul Bus selection mode nu este marcat, deci blocul Demux lucreaz n modul Vector. Parametrul Number of outputs are valoarea doi.

51

Figura 55. Modelul ecuaiei difereniale x'' + 3x' + 2x = 0.

Intrarea n blocul Scope este ieirea integratorului, vectorul [x x]. Dimensiunea semnalelor multidimensionale este afiat selectnd un semnal i executnd clic pe opiunea Signal dimensions a meniului Format. Semnalele multidimensionale sunt desenate ngroat, selectnd un semnal i executnd clic pe opiunea Wide nonscalar lines a aceluiai meniu. Rezultatul simulrii modelului este cel din Figura 18.

2.6

Blocurile Bus Creator i Bus Selector

Un bus (magistral) este un semnal compus ce are o structur ierarhic. Semnalele componente pot fi, la rndul lor, semnale compuse i pot fi de tipuri diferite. Pentru a lucra cu semnale compuse de tip bus, exist trei blocuri: Blocul Bus Creator creaz un semnal tip bus din semnalele de la intrarea sa. Blocul Bus Selector selecteaz semnalele din bus. Blocul Bus Assignment atribuie valori semnalelor din bus. Ele sunt simbolizate ca n Tabelul 19 i se gsesc n biblioteca Signal Routing. Bloc Bus Creator Bus Selector Bus Assignment
Tabelul 19. Blocurile Bus Creator, Bus Selector, Bus Assignment.

Simbolizare

52

2.6.1 Crearea unui bus


Blocul Bus Creator creaz un bus din semnalele de la intrrile sale. Fiecare semnal are un nume, atribuit de bloc (implicit), sau de utilizator. Semnalul poate avea numele semnalului conectat la intrare (implicit), sau alt nume. Vom exemplifica utilizarea blocului Bus Creator pe modelul din Figura 56, n care crem un bus cu dou semnale, unul cu dimensiunea unu, creat de blocul Pulse Generator, altul cu dimensiunea doi, creat de blocul Sine Wave.

Figura 56. Crearea unei magistrale (bus).

Blocul Bus Creator are caseta cu parametri din Figura 57. In caseta Number of inputs introducem numrul de semnale, care este numrul de intrri n bloc. Numele semnalelor apar n lista Signals in bus. Aceste nume se aleg astfel: dac n list din zona Parameters alegem opiunea Inherit bus signal name from input ports, blocul atribuie semnalelor numele semnalelor conectate la porturi, sau numele inplicite signal1, signal2, , dac aceste semnale nu au nume. dac alegem opiunea Require input signal names to match signals below, putem alegem numele dorite pentru semnale. Pentru a modifica numele unui semnal se procedeaz astfel: 1. selectm opiunea Require input signal names to match signals below, 2. selectm semnalul n lista Signals in bus, 3. n lista Rename selected signal se introduce noul nume al semnalului, 4. clic pe butonul Apply.

53

Figura 57. Caseta cu parametrii a blocului Bus Creator.

Putem afla sursa unui semnal selectnd semnalul cu un clic i apoi clic pe butonul Find. In Figura 58 este afiat sursa semnalului signal1

54

Figura 58. Afiarea sursei unui semnal.

2.6.2 Selectarea semnalelor din bus


Blocul Bus Selector selecteaz semnalele din bus. Selectarea semnalelor la ieiri se face n caseta cu parametrii blocului din Figura 59. In lista Signals in the bus sunt afiate semnalele din bus cu numele lor, n ordinea n care au fost introduse n bus. In lista Selected signals sunt semnalele selectate pentru fiecare ieire, n ordinea dorit. Implicit, semnalele la ieiri au ordinea din bus. Selectarea semnalelor la ieiri, n ordinea n care vrem se face astfel: 1. se selecteaz un semnal n caseta Signals in the bus, 2. clic pe butonul Select, . Se poate terge un semnal din lista Selected Signals selectndu-l n lista Selected signals i apoi clic pe butonul i Down, . . Se poate naviga prin semnalele din lista Selected signals cu butoanele Up,

55

Figura 59. Caseta cu parametri a blocului Bus Selector.

56

3. Blocuri pentru generarea i analiza semnalelor


3.1 Blocuri pentru generarea semnalelor
In Simulink exist blocuri de semnal pentru generarea de semnale standard : treapt, ramp, sinusoid, zgomote aleatoare cu distribuie uniform i gaussian, etc. Cteva din aceste blocuri sunt prezentate n Tabelul 20. Ele se gsesc n biblioteca Sources. Bloc Ceasul simulrii Constant Treapt Ramp Generator de zgomot uniform Generator de zgomot gaussian Generator sinusoidal Generator de impulsuri Generator de zgomot alb cu band limitat
Tabelul 20. Blocuri de generare a semnalelor.

Simbolizare

O descriere a acestor blocuri este urmtoarea: blocul Ceasul simulrii genereaz timpul simulrii, blocul Constant genereaz o constant care poate fi scalar, vector sau matrice, blocul Treapt (Step), genereaz semnale treapt, scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii valoarea iniial, final i momentul saltului, blocul Ramp genereaz semnale ramp scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii momentul de ncepere, panta i valoarea iniial a semnalului, blocul Generator de zgomot uniform genereaz zgomote aleatoare uniforme scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii valoarea minim i maxim. Semnalele necesit un parametru suplimentar, un numr natural impar, blocul Generator de zgomot gaussian genereaz zgomote aleatoare gaussiene scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii valoarea medie i dispersia. Semnalele necesit un parametru suplimentar, un numr natural impar. blocul Generator sinusoidal (Sin Wave), genereaz semnale sinusoidale, scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii amplitudine, faza (rad) i frecvena (rad/s),

57

blocul Generator de impulsuri genereaz trenuri de impulsuri scalare, vectori sau matrice. Pentru fiecare semnal se prescriu parametrii amplitudine, perioada (s), limea impulsului (% din perioad) i ntrzierea de faz (s), blocul Generator de zgomot alb cu band limitat genereaz zgomot alb gaussian.

3.2

Blocuri pentru analiza semnalelor

Blocurile de analiza semnalelor sunt cele din Tabelul 21. Ele sunt definite n biblioteca Simulink Extras / Additional Sinks. Bloc Autocorelaie Corelaie Analizor de spectru
Tabelul 21. Blocuri de analiza semnalelor.

Simbolizare

Menionm c, pentru toate blocurile ce nu sunt definite n biblioteca Simulink, vezi Figura 5, putem afia biblioteca unui bloc n felul urmtor: 1. se selecteaz bloc, 2. clic pe Edit Link Options Go To Library Block, sau pe opiunile Link Options Go To Library Block ale meniului contextual al blocului. De exemplu, biblioteca Simulink Extras / Additional Sinks din Figura 60, se afiaz cu clic pe blocul Cross Correlator din Figura 61.

Figura 60. Biblioteca Simulink Extras / Additional Sinks.

58

Primul exemplu de utilizare a blocurilor de semnal este calculul corelaiei a dou semnale sinusoidale, sin(2t) i sin(2t) + n(t), unde n(t) este zgomot alb gaussian cu valoare medie nul i dispersia unu. Modelul sistemului este cel din Figura 61. Corelaia este calculat de blocul Cross Correlator care are ca intrri cele dou semnale. Funcia de corelaie este cea din Figura 62.

Figura 61. Calculul corelaiei a dou semnale sinusoidale.

59

Figura 62. Corelaia a dou semnale sinusoidale.

Al doilea exemplu este calculul funciei de autocorelaie a unui semnal sinusoidal. Funcia de autocorelaie a unui semnal se definete ca P 1 R( ) = lim f ( t ) f ( t + ) dt P 2 P P In cazul unei funcii periodice, se arat c se poate calcula integrala doar pe o perioad. Pentru funcia f ( t ) = A sin ( c t ) Funcia de autocorelaie este A2 R ( ) = cos( c ) 2 Fie de calculat funcia de autocorelaie pentru semnalul f ( t ) = sin ( 2t ) . Modelul este cel din Figura 63, iar rezultatul este cel din Figura 64.

60

Figura 63. calculul autocorelaiei unui semnal sinusoidal.

Figura 64. Autocorelaia unui semnal sinusoidal.

61

Al treilea exemplu este analiza spectrului semnalului la ieirea unei funcii de transfer. Modelul este cel din Figura 65, iar spectrul este cel din Figura 66. Parametrii blocului Band Limited White Noise sunt puterea zgomotului = 0.1, timpul de eantionare 0.1s. Parametrii blocului Spectrum Analyzer sunt dimensiunea transformatei Fourier 256 puncte, timpul de eantionare 0.1s.

Figura 65. Analiza spectrului unei funcii de transfer.

62

Figura 66. Spectrul unei funcii de transfer.

Vom reprezenta caracteristicile logaritmice de frecven ale funciei de transfer de mai sus. crem un obiect funcie de transfer >> M = [1]; >> N = [1 1]; >> tfa = tf(M, N); >> tfa Transfer function: 1 ----s+1 reprezentm grafic caracteristicile amplitudine i faz la scar logaritmic

63

>> bode(tfa) >> grid Rezultatul este cel din

Figura 67. Caracteristicile logaritmice ale funciei de transfer 1 / (s + 1).

3.3

Analiza modelelor la diverse intrri

Aplicaia Signal & Scope Manager ne permite s aplicm la intrarea unui model diverse intrri i s observm ieirea. Aplicaia se lanseaz cu clic pe Tools Signal & Scope Manager al ferestrei editorului de modele. Fereastra aplicaiei este cea din Figura 68. In partea stng exist fereastra Types cu tipurile de elemente generatoare de semnal i elemente de afiare a semnalelor. In partea dreapt sus exist fereastra Generators / Viewers in model, cu seciunile Generators i Viewers cu liste cu generatoarele de semnal i elemente de afiare a semnalelor ataate modelului. Fereastra are trei butoane: Open parameters for selection, elementului selectat, , care afiaz caseta cu parametri a

Edit signal connection for selection, , care afiaz caseta Port Selector pentru elementul selectat. In aceast caset alegem elemental din model la care conectm generatorul de semnal sau elementul de afiare selectat,

64

Delete selection, , care terge generatorul de semnal sau elementul de afiare selectat. In dreapta jos este lista Signals connected to generator / Viewer. La un clic pe un generator de semnal / element de afiare se afiaz semnalele conectate la generatorul de semnal / elementul de afiare.

Figura 68. Fereastra aplicaiei Signal & Scope Manager.

Fie de exemplu, modelul din Figura 69, la care aplicm o treapt unitar i nregistrm ieirea.

Figura 69. Model testat la intrare treapt.

Se adaug un generator de semnal la model astfel: 1. se expandeaz nodul Simulink i clic pe Constant, 2. clic pe butonul Attach to model. In seciunea Genarators apare blocul (generatorul de semnal) Constant1. In lista Signals connected to generator / Viewer se arat c ieirea blocului de semnal nu este conectat, vezi Figura 70, 65

Figura 70. Ataarea unui generator de semnal la model.

3. clic pe butonul Edit signal connection for selection, , care afiaz caseta Port Selector pentru elementul selectat. In fereastra din dreapta apar blocurile din model i se selecteaz cel la a crui intrare se aplic semnalul, vezi Figura 71,

Figura 71. Fereastra Port Selector pentru generatorul de semnal.

In lista Signals connected to generator / Viewer se arat c ieirea blocului de semnal este conectat la intrarea elementului Transfer Fcn, vezi Figura 72.

66

Figura 72. Generator de semnal conectat la model.

Se procedeaz n acelai mod i pentru elementul Scope: 1. se expandeaz nodul Simulink i clic pe Scope, 2. clic pe butonul Attach to model, 3. clic pe butonul Edit signal connection for selection, , care afiaz caseta Port Selector pentru elementul selectat. In fereastra din dreapta apar blocurile din model i se selecteaz cel la a crui ieire se afiaz, vezi Figura 73,

Figura 73. Fereastra Port Selector pentru elemental de afiare a semnalelor.

Modelul cu generatorul de semnal ataat este cel din Figura 74.

67

Figura 74. Modelul cu generatorul de semnal ataat.

Se simuleaz modelul. Se afiaz fereastra aplicaiei Signal & Scope Manager i clic pe butonul Open parameters for selection, 75. . Reazultatul simulrii este cel din Figura

Figura 75. Ieirea elementului Transfer Fcn.

Un generator de semnal are meniul contextual din Figura 76. Cu acest meniu putem modifica proprietile generatorului, deconecta sau terge generatorul, etc.

68

Figura 76. Meniul contextual al unui generator de semnal.

Ca un alt exemplu, fie blocurile tip Transfer Fcn din Figura 77 la intrarea crora aplicm acelai semnal treapt.

Figura 77. Model cu generator de semnal ataat.

Ieirile celor dou elemente la acelai semnal treapt unitar sunt cel din Figura 78.

69

Figura 78. Ieirile elementelor Transfer Fcn.

70

4. Blocuri de calcul
Simulink are blocuri de calcul ce realizeaz operaiile aritmetice i funciile matematice uzuale din Matlab. Cteva dintre ele sunt prezentate n Tabelul 22. Ele se gsesc n biblioteca Math Operations. Bloc Valoare absolut Gain Funcie matematic Reshape Produs Produs scalar Funcie trigonometric Sumator
Tabelul 22. Blocuri de calcul.

Simbolizare

Blocul Abs calculeaz valoarea absolut a intrrii. Blocurile Gain, Matrix Gain i Sumator au fost prezentate anterior. Blocul Reshape redimensioneaz o matrice. Blocul Produs nmulete sau mparte intrrile. Intrrile pot fi scalare, vectori sau matrice. Operaia se poate realiza : element cu element (Element-wise), matricial (Matrix) . Intrrile trebuie s aibe dimensiuni compatibile cu operaia realizat : n primul caz compatibile pentru operaia element cu element, n al doilea caz intrrile trebuie s aib dimensiuni compatibile pentru nmulirea matricelor sau pentru nmulirea cu matricea invers. In exemplul din Figura 79 se mpart dou mrimi scalare.

71

Figura 79. Inprirea a dou mrimi.

Figura 80. Caseta de dialog cu parametrii elementului Produs.

In caseta de text Number of inputs se introduce pentru fiecare intrare * pentru nmulire i / pentru mprire. In cazul n care n caseta de text Multiplication se alege opiunea Matrix se face nmulirea matricial a intrrilor n cazul operaiei de nmulire (*), sau nmulirea cu inversa n cazul operaiei de mprire (/). In cazul cnd toate intrrile se inmulesc, n caseta de text Number of inputs se poate scrie doar numrul intrrilor. In exemplul de mai sus parametrul Number of inputs are valoarea */ deoarece intrrile se mpart.

72

Blocul Produs scalar, (Dot product), calculeaz produsul scalar al celor dou intrri. Intrrile pot fi vectori linie sau coloan sau scalari. Blocul Funcie trigonometric realizeaz funcii trigonometrice sau hiperbolice. Funciile disponibile sunt cele din caseta Function artate n Figura 81.

Figura 81. Caseta de dialog cu parametrii blocului Funcie trigonometric.

Blocul Funcie matematic poate realiza funciile din Figura 82. Intrarea blocului poate fi scalar, vector sau funcie. Blocul aplic funcia ales asupra fiecrui element al intrrii.

Figura 82. Caseta de dialog cu parametrii blocului Funcie matematic.

Vom exemplifica aplicarea blocului calculnd ln(a) pentru matricea a = [1 2; 3 4] Rezultatul este prezentat n Figura 83.

73

Figura 83. Calculul matricei ln(a).

74

5. Blocuri neliniare
Matlab definete blocuri neliniare corespunznd neliniaritilor des ntlnite: saturaie, relee, zon moart, etc. Cteva din blocurile neliniare existente sunt cele din Tabelul 23. Ele se gsesc n biblioteca Discontinuities. Bloc Saturaie Releu Zon moart Cuantizare
Tabelul 23. Blocuri neliniare.

Simbolizare

O descriere a acestor blocuri este dat n continuare. blocul Saturaie realizeaz o caracteristic tip saturaie. Parametrii blocului sunt limita superioar i limita inferioar la care este limitat semnalul. Blocul poate avea mai multe intrri, blocul Releu realizeaz o caracteristic tip releu. Parametrii blocului sunt cele dou valori minim i maxim ale semnalului de intrare la care releul comut i cele dou valori ale ieirii la comutare, blocul Zon Moart realizeaz o caracteristic tip zon moart. Parametrii blocului sunt cele dou valori limit, minim i maxim ale zonei moarte. blocul Cuantizare realizeaz o caracteristic de cuantizare. Parametrul blocului este intervalul de cuantizare. Vom exemplifica utilizarea blocurilor neliniare prin simularea sistemului din Figura 84. In primul caz vom utiliza un releu ideal. Ieirea releului este +1 cnd intrarea este pozitiv i -1 cnd intrarea este negativ. In cazul al doilea utilizm un releu cu histerezis, ieirea releului este +1 sau -1, limitele cnd ieirea i schimb starea sunt 0.2 i respectiv -0.2. Traiectoriile de faz i ieirile sistemului pentru cele dou tipuri de relee sunt prezentate n Tabelul 24 i Tabelul 25. Reamintim c parametrii blocului XYGraph sunt limitele axelor. Aceti parametrii se pot prescrie n caseta respectiv afiat cu un clic pe opiunea Mask Parameters a meniului Edit sau a meniului contextual al elementului. Rezultatele pot fi salvate i n spaiul de lucru Matlab. Pentru aceasta se afiaz caseta Simulation Parameters cu un clic pe opiunea Simulation parameters a meniului Simulation din Figura 85. In seciunea Workspace I / O, zona Save to workspace se marcheaz opiunile Time i States.Valorile momentelor la care este calculat soluia sunt scrise n vectorul tout, iar valorile soluiei la aceste momente n matricea xout pe coloane. Figura 86 prezint traiectoria de faz a sistemului trasat n Matlab cu instruciunea plot(xout(:, 1), xout(:, 2))

75

Figura 84. Sistem neliniar.

a) releu ideal

b) releu cu histerezis

Tabelul 24. Traiectoria de faz a sistemului din Figura 84 pentru dou tipuri de relee.

a) releu ideal

b) releu cu histerezis

Tabelul 25. Rspunsul sistemului din Figura 84 pentru dou tipuri de relee.

76

Figura 85. Caseta Simulation Parameters.

Figura 86. Traiectoria de faz a sistemului din Figura 84 in cazul releului ideal.

Dou blocuri ce modeleaz convertoare analog-numerice, (CAN), i numeric-analogice, (CAN), sunt cele din Tabelul 26. Ele se gsesc n biblioteca Signal Processing Blockset / Quantizers.

77

Bloc Decoder uniform (CNA) Encoder uniform (CAN)

Simbolizare

Tabelul 26. Convertoare analog-numerice i numeric analogice.

Blocul Encoder uniform, (CAN), are la intrare un semnal continuu, iar la ieie un numr binar. Parametrii blocului sunt numrul de bii ai ieirii, 8, 16 sau 32 i tipul ieirii numr cu semn sau fr semn. Blocul Decoder uniform, (CAN), are la intrare un numr ntreg i la ieire un semnal continuu. Parametrii blocului sunt numrul de bii, 8, 16 sau 32 i valoarea de vrf corespunztoare numrului maxim la intrare (Peak). Un exemplu de conversie analog-numeric i apoi numeric analogic a unui semnal este cel din Figura 87. Numrul de bii ale celor dou convertoare s-a ales opt. Valoarea de vrf a blocului Decoder uniform este unu, egal cu amplitudinea sinusoidei generate de blocul Sine Wave.

Figura 87. Utilizarea blocurilor Decoder uniform i Encoder uniform.

Semnalul generat de blocul Sine Wave este artat n Figura 88.

78

Figura 88. Semnalul de intrare generat de blocul Sine Wave.

Semnalul de la ieirea blocului Encoder uniform este artat n Figura 89. Valoarea lui este cuprins ntre [-128, +127] corespunznd celor 8 bii ai convertorului.

Figura 89. Semnalul de ieire al blocului Encoder uniform.

Semanlul de la ieirea blocului Decoder uniform este artat n Figura 90. Ieirea blocului este cuprins ntre [-1, +1] conform valorii de vrf a ieirii blocului (parametrul Peak).

79

Figura 90. Semnalul de ieire al blocului Decoder uniform.

80

6. Funcii definite de utilizator


Utilizatorul poate defini propriile funcii utilizate n simulare. Pentru aceasta se utilizeaz blocurile din Tabelul 27. Ele se gsesc n biblioteca User Defined Functions. Bloc Funcie Funcie Matlab Funcie utilizator
Tabelul 27. Blocuri pentru funcii definite de utilizator.

Simbolizare

6.1

Funcii definite printr- o expresie

Utilizatorul poate defini propria funcie, ce const dintr-o expresie, cu blocul Fcn. Blocul poate avea ca intrare un scalar sau un vector i o ieire scalar. Funcia const ntr-o singur expresie aritmetic, n care se pot folosi funciile matematice standard din Matlab, aplicate asupra elementelor scalare ale intrrii. Intrarea este notat cu u. Fie de exemplu u un vector de intrare linie cu dou componente. O expresie posibil pentru blocul Fcn este u(1) * u(1) + u(2) * u(2) dar nu u * u. Ca exemplu, fie de integrat ecuaia diferenial Duffing Mx + Kx + Qx3=F sin(t) n condiii iniiale nule. Parametrii ecuaiei sunt K = 10, Q = -0.4, F = 5, =10 i M = 0.041. Modelul ecuaiei este prezentat n Figura 91. Expresia Kx + Qx3 este realizat cu un bloc Fcn. Caseta cu expresia blocului este artat n Figura 92. Ieirea modelului este artat n Figura 93.

81

Figura 91. Modelul ecuaiie difereniale Mx++Kx+Qx3=Fsin(t)

Figura 92. Funcie definit de utilizator.

82

Figura 93. Soluia sistemului din Figura 91.

6.2

Utilizarea funciilor Matlab

Utilizatorul poate folosi n simulare funcii Matlab definite n fiiere cu extensia m. Pentru aceasta se introduce n model un bloc MATLAB Fcn care apeleaz o funcie Matlab. Vom exemplifica utilizarea acestui bloc la calculul inversei unei matrice. Vom scrie funcia Matlab din Figura 94. Dup calculul matricei inverse, aceasta este convertit la un vector coloan cu funcia reshape, care pune coloanele ntr-un vector, una dup alta.

Figura 94. Funcie Matlab ce inverseaz o matrice.

Pentru a testa funcia din fiierul ainv.m, fie programul Matlab de mai jos, n care inversm matricea . 3 4 >> a = [1 2;3 4] a= 1 2 3 4 >> inv(a) ans = -2.0000 1.0000 1.5000 -0.5000 >> ainv(a) 83
1 2

ans = -2.0000 1.5000 1.0000 -0.5000 Modelul pentru calculul inversei unei matrice este cel din Figura 95. In blocul Constant se definete matricea [1 2; 3 4]. In blocul MATLAB Fcn se apeleaz funcia din fiierul ainv.m. Rezultatul blocului este matricea invers sub forma unui vector ce conine coloanele matricei. Blocul Reshape redimensioneaz matricea invers din vectorul furnizat de blocul MATLAB Fcn. Rezultatele sunt afiate de cele dou blocuri Display.

Figura 95. Calculul inversei unei matrice.

Caseta cu parametrii blocului MATLAB Fcn este artat n Figura 96.

84

Figura 96. Caseta de dialog cu parametrii blocului MATLAB Fcn.

Figura 97. Caseta de dialog cu parametrii blocului Reshape.

6.3

Funcii definite de utilizator (S-Funcii)

La simularea unui model descris de un sistem de ecuaii difereniale este posibil s definim funcia ce calculeaz derivatele (membrul drept al sistemului de ecuaii difereniale) ntr-un fiier Matlab i s definim un bloc ce utilizeaz aceast funcie pentru a calcula soluia sistemului de ecuaii difereniale n cadrul unui model. Vom arta cum se rezolv ecuaiile difereniale n Matlab cu exemplul urmtor. Fie de rezolvat ecuaia diferenial x'' + 3 x' + 2 x = u n condiiile iniiale x(0) = 0, x'(0) = 0 i u(t) = 1. Punem ecuaia sub forma sistemului de ordin I cu substituiile y1 = x, y2 = x', i avem sistemul
1 0 0 y= y + 1u 2 3

85

Pentru a rezolva sistemul n Matlab cu funcia ode45(), procedm n felul urmtor. Definim o funcie Matlab care calculeaz membrul drept al ecuaiei difereniale. Funcia are ca parametrii de intrare : 1. t, timpul la care se calculeaz derivata, 2. x, vector cu soluia la momentu t, 3. parametrii funciei, (opional), Funcia pentru exemplul de mai sus este definit n fiierul sfct.m, n care u este un parametru al funciei. function dx = fct(t, x, u) dx(1) = x(2); dx(2) = -2 * x(1) - 3 * x(2) + u; dx = dx'; Parametrii funciei ode45() ce integreaz ecuaii difereniale ordinare sunt urmtorii : 1. variabil tip handle a funciei ce calculeaz membrul drept al sistemului de ecuaii difereniale, 2. vector ce conine limitele intervalului de integrare, 3. vector cu condiiile iniiale, 4. variabil cu opiuni pentru funcia ode45(), de exemplu eroarea relativ sau absolut la integrare, etc., 5. vector cu parametrii ce vor fi pasai funciei ce calculeaz membrul drept al sistemului de ecuaii difereniale. Funcia are ca rezultat : 1. un vector coloan t, cu momentele de timp la care s-a calculat soluia, 2. matricea x ce conine pe coloane soluiile corespunztoare elementelor vectorului de stare. Apelm funcia ode45() astfel : ts = [0, 10] x0 = [0 0] [t, x] = ode45(@sfct, ts, x0, [], 1); Ultimul parametru al funcie are valoarea 1 i el corespunde intrrii u(t) = 1. Avem posibilitatea de a defini un bloc ce integreaz acelai sistem de difereniale i s-l utilizm n cadrul unui model. Blocul va apela funcia calculeaz membrul drept al sistemului de ecuaii difereniale la fiecare integrare. Acest bloc este de tipul S-Function n Tabelul 27. Pentru a defini un asemenea bloc procedm n felul urmtor. Definim o funcie cu informaii despre sistemul de ecuaii difereniale ce integrat, numit n continuare S-funcie. Funcia este apelat de Simulink la momente ale simulrii. Prototipul funciei este function [sys, x0, str, ts] =sfcn(t, x, u, flag, p1, p2, ) switch flag case 0 % initializare .. ecuaii sfct ce pas de trebuie diferite

86

case 1 % informatii despre derivate .. case 2 % informatii in cazul sistemelor discrete .. case 3 % informatii despre iesire case 4 % .. case 9 % calcule la sfarsitul simularii .. otherwise error([' unhandled flag = ', num2str(flag)]); end Parametrii de intrare ai funciei sunt : t- variabila timp, x vector cu soluia la momentul t, (variabilele de stare), u vector cu variabilele de intrare la momentul t, flag variabil cu valorile 0 se definesc dimensiunile vectorilor de intrare, ieire, etc. i vectorul condiiilor iniiale, 1 informaii despre derivate; funcia ce calculeaz membrul drept al sistemului de ecuaii difereniale, 2 utilizat pentru ecuaii discrete, 3 informatii despre iesire ; se definesc ieirile n funcie de vectorul x al variabilelor de stare, 49 calcule la sfritul simulrii. p1, p2, - parametri suplimentari ai funiei sfcn, introdui n caseta cu parametrii a blocului S-Function. Parametrii t, x, u, flag sunt pasai funciei de ctre Simulink. Parametrii de ieire ai funciei sunt : sys vector cu valori ce depind de parametrul flag, cu valorile : 0 - sys = [nsc, nsd, ne, ni, ne, nf, nst], unde : nsc numrul de stri continue (ordinul sistemului de ecuaii difereniale), nsd - numrul de stri discrete, ne numrul de ieiri, ni - numrul de intrri, ne = 0, nf 1 dac exist legtur direct de la intrare la ieire i 0 n caz contrar, nst 1 sys = vectorul derivatelor sistemului de ecuaii difereniale, 2 sys = , 3 sys = vectorul ieirilor, 4 sys = , 9 sys = . In cazul cnd sys este un vector vid, vom scrie sys = []. x0 vector cu condiiile iniiale, str = [] ts vector cu dou componente ce specific timpul de eantionare.

87

Informaiile din vectorul sys pentru flag = 0 se prescriu astfel. Se creaz o structur cu urmtoarele cmpuri : NumContStates - numrul de stri continue, NumDiscStates - numrul de stri discrete, NumOutputs - numrul de ieiri, NumInputs - numrul de intrri, DirFeedthrough - 1 dac exist legtur direct de la intrare la ieire i 0 n caz contrar, NumSampleTimes - numrul de Completarea vectorului sys pentru flag = 0 se face cu funcia simsizes astfel : 1. se creaz o structur s, neiniializat, cu instruciunea s = simsizes 2. se completeaz elementele structurii s, 3. se transform valorile structurii ntr-un vector cu instruciunea sys = simsizes(s) In cazul nostru, funcia este cea de mai jos i este definit n fiierul sfuns.m. function [sys, x0, str, ts] = sfuns(t, x, v, flag) switch flag case 0 % initializare str = []; ts = [0 0]; s = simsizes; s.NumContStates = 2; s.NumDiscStates = 0; s.NumOutputs = 2; s.NumInputs = 1; s.DirFeedthrough = 0; s.NumSampleTimes = 1; sys = simsizes(s); x0 = [0 0]; % vector cu condiiile iniiale case 1 % informatii despre derivate u = v; % valoarea parametrului u sys = sfct(t, x, u); % funcia ce calculeaz derivatele case 3 % informatii despre iesire sys = x; case {2 4 9} sys = []; otherwise error([' unhandled flag = ', num2str(flag)]); end

88

In cazul flag = 1, sys va conine vectorul derivatelor. Acesta este rezultatul funciei sfct care are ca parametru u intrarea sistemului, u. Aceasta este chiar intrarea n bloc, parametrul v al funciei sfuns. Avem deci instruciunile de mai jos. case 1 % informatii despre derivate u = v; % valoarea parametrului u sys = sfct(t, x, u); % funcia ce calculeaz derivatele In cazul flag = 3 sys conine vectorul ieirilor, n cazul nostru vectorul x. case 3 % informatii despre iesire sys = x; Modelul este cel din Figura 98.

Figura 98. Model cu bloc S-Function.

Caseta cu parametrii blocului este cea din Figura 99. Numele S-funciei se introduce n caseta S-function name. La clic pe butonul Edit, , se afiaz funcia n editorul Matlab, unde poate fi modificat. Parametrii suplimentari ai S-funciei se introduc n caseta S-function parameters.

89

Figura 99. Caseta cu parametrii a blocului S-Function.

Ieirea modelului este cea din Figura 100.

Figura 100. Rezultatul simulrii sistemului din Figura 98.

90

7. Simularea sistemelor liniare continue cu coeficieni constani


Vom considera sisteme descrise prin (sisteme de) ecuaii difereniale liniare cu coeficieni constani. Acestea pot fi simulate: construind modelul ecuaiilor difereniale ordinare, ca mai nainte, utiliznd blocuri Transfer-Fcn ce descriu funcii i matrice de transfer, utiliznd blocuri Zero-Pole ce descriu funcii i matrice de transfer, utiliznd blocuri State-Space ce descriu sisteme de ecuaii difereniale liniare. Blocurile corespunztoare sunt cele din Tabelul 28. Ele se gsesc n biblioteca Continuous. Bloc Matrice de transfer dat prin coeficienii polinoamelor Matrice de transfer dat prin poli i zerouri Ecuaii de stare
Tabelul 28. Blocuri de simulare a sistemelor liniare continue cu coeficieni constani.

Simbolizare

Exemplu. S calculm soluia ecuaiei difereniale ordinare x'' + 3x' + 2x = 1 n condiii iniiale nule, pe o durat de 5s. Modelul, construit cu elemente Integrator, Sum i Gain ca mai sus, este artat n Figura 101. Treapta unitar este generat de un bloc Constant.

Figura 101. Modelul ecuaiei difereniale ordinare x''+3x'+2x=1.

91

Rezultatul simulrii modelului este cel din Figura 102.

Figura 102. Rezultatul simularii sistemului din Figura 101.

7.1

Blocul Transfer Fcn

Blocul Transfer Fcn poate simula sisteme liniare descrise printr-o funcie sau matrice de transfer. Fie din nou ecuaia diferenial x'' + 3x' + 2x = 1 S calculm soluia ecuaiei difereniale n condiii iniiale nule.Funcia de transfer corespunztoare ecuaiei este
H ( s) =

Modelul corespunztor din Figura 103 este construit cu blocul Transfer Fcn.

1 s + 3s + 2
2

92

Figura 103. Modelul unei funcii de transfer.

Pentru a prescrie numrtorul i numitorul funciei de transfer se execut un clic cu butonul drept pe bloc i se afiaz caseta de dialog din Figura 104.

Figura 104. Caseta de dialog cu parametrii blocului Transfer Fcn.

Polinomul de la numitor se definete prin vectorul coeficienilor n ordinea descresctoare a puterilor lui s. Numrtorul funciei de transfer este definit n acelai fel, aici o matrice de dimensiune 1. Rezultatul simulrii este cel din Figura 102. 93

Blocul Transfer Fcn poate modela i matrice de transfer corespunznd unui sistem cu o intrare i mai multe ieiri la care funciile de transfer corespunztoare canalelor intrare ieire au acelai numitor. In acest caz numrtorul este o matrice, cu numrul de linii egal cu numrul de ieiri. Numitorul este vectorul corespunztor polinomului numitorului comun al tuturor canalelor intrare - ieire, cu coeficienii dai n ordinea descresctoare a puterilor lui s. Polinoamele numrtorilor fiecrui canal intrare ieire trebuie s aib acelai grad. Aceste polinoame sunt date tot n ordinea descresctoare a puterilor lui s, n liniile matricei de la numrtor. Fie de exemplu matricea de transfer s + 2 1 H ( s) = 2 s + 3s + 2 s + 1 Vom simula aceast matrice de transfer la intrare treapt n condiii iniiale nule. Modelul este cel din Figura 105.

Figura 105. Simularea unei matrice de transfer.

Caseta de dialog cu parametrii blocului este cea din Figura 106. Aceti parametrii sunt n cazul numrtorului matricea [1 2; 1 1] iar n cazul numrtorului vectorul [1 3 2] Rezultatul simulrii este prezentat n Figura 107.

94

Figura 106. Caseta de dialog cu parametrii blocului Transfer Fcn.

Figura 107. Rezultatul simulrii unei matrice de transfer.

Pentru a calcula valoarea staionar a ieirilor se poate aplica teorema valorii finale a transformatei Laplace. Transformata Laplace a intrrii este 1 U ( s) = s Transformata Laplace a ieirii este s + 2 1 1 Y ( s ) = H ( s )U ( s ) = s s 2 + 3s + 2 s + 1 2 1 1 sY ( s ) = = 2 1 0.5 s 0

lim

95

7.2

Blocul Zero-Pole

Blocul Zero-Pole poate simula sisteme liniare descrise printr-o matrice de transfer. Exemplu. Fie din nou ecuaia diferenial x'' + 3x' + 2x = 1 S calculm soluia ecuaiei difereniale n condiii iniiale nule. Funcia de transfer corespunztoare ecuaiei difereniale este
H ( s) =

Pentru modelarea funciei de transfer vom folosi blocul Zero-Pole care are ca parametrii polii, zerourile i factorul de amplificare ale funciei de transfer. Modelul corespunztor este cel din Figura 108. Caseta de dialog a blocului Zero-Pole este artat n Figura 109. In exemplu polii funciei de transfer sunt -1 i -2. Factorul de amplificare are valoarea 1. Deoarece nu avem nici un zero, matricea corespunztoare zerourilor este [].

1 s + 3s + 2
2

Figura 108. Modelul unei funcii de transfer.

96

Figura 109. Parametrii blocului Zero-Pole.

Blocul poate modela i o matrice de transfer a unui sistem cu o intrare i mai multe ieiri. In acest caz numrtorul este o matrice, cu numrul de linii egal cu numrul de ieiri la care funciile de transfer corespunztoare canalelor intrare ieire au acelai numitor. Numitorul este un vector ce conine polii corespunztori canalelor intrare ieire. Deoarece funciile de transfer corespunztoare canalelor intrare ieire au acelai numitor, polii sunt comuni. Zerourile sunt elementele unei matrice, fiecare linie a matricei conine zerourile corespunztoare unui canal intrare-ieire. Factorii de amplificare pentru fiecare canal intrare-ieire sunt elementele unui vector.

7.3

Blocul State-Space

Exemplu. Fie din nou ecuaia diferenial y'' + 3y' + 2y = 1 S calculm soluia ecuaiei difereniale n condiii iniiale nule.Vom scrie ecuaia diferenial sub forma unui sistem de ecuaii difereniale de ordinul I, liniar i cu coeficieni constani de forma: x' = Ax + Bu y = Cx + Du Cu substituiile: y = x1 y' = x2 avem
1 0 A= 2 3 0 B = C = [1 0] 1 D = [ 0]

Blocul utilizat n acest caz este State-Space. Modelul este cel din Figura 110.

97

Figura 110. Modelul unui sistem de ecuaii difereniale ordinare cu coeficieni constani.

Parametrii blocului State-Space sunt artai n Figura 111. Ei sunt cele patru matrice, A, B, C, D i condiiile iniiale, vectorul x0. Rezultatul simulrii este cel din Figura 102.

Figura 111. Parametrii blocului State-Space.

Este posibil ca parametrii blocului State-Space s fie citii din spaiul de lucru Matlab. Pentru acesta parametrii sunt definii ca nite variabile n spaiul Matlab i n caseta de dialog cu parametrii blocului se introduc aceste variabile n locul valorilor numerice.

98

Fie de exemplu parametrii modelului de mai sus definii n spaiul de lucru Matlab astfel : >> A = [0 1; -2 -3]; >> B = [0; 1]; >> C = [1 0]; >> D = 0; Caseta de dialog cu parametrii blocului este cea din Figura 112.

Figura 112. Caseta de dialog cu parametrii blocului State-Space.

99

8. Crearea de subsisteme
Simulink permite crearea de subsisteme care pot fi utilizate n mai multe locuri n sistem.

8.1

Crearea unui subsistem prin inserarea unui bloc Subsystem

Un mod de a crea un subsistem este prin inserarea unui bloc Subsystem simbolizat ca n Figura 113. La un clic pe acest bloc se deschide ferestra subsistemului n care se adaug blocurile ce formeaz subsistemul. Iniial subsistemul conine un bloc Inport ce constituie intrarea subsistemului, conectat la un bloc Outport ce constituie ieirea subsistemului, ca n Figura 113.

Figura 113. Blocul Subsystem.

Un subsistem poate avea oricte intrri i ieiri. Blocurile Inport reprezint intrrile n subsistem, blocurile Outport reprezint ieirile din subsistem, vezi Tabelul 29. Bloc Inport Outport
Tabelul 29. Blocurile Inport i Outport.

Simbolizare

100

Ele se gsesc n biblioteca Ports & Subsystems. Vom exemplifica crearea unui subsistem ce modeleaz funcia de transfer k Ts + 1 Vom scrie ecuaia diferenial corespunztoare funciei de transfer Ty ' (t ) + y (t ) = ku (t ) de unde deducem expresia derivatei 1 y ' (t ) = ( ku (t ) y (t ) ) T Subsistemul va avea o intrare, u(t) i doi coeficieni, k i T i este cel din Figura 114.

Figura 114. Subsistem ce modeleaz funcia de transfer k/(Ts+1).

Pentru a prescrie parametrii k i T putem proceda n dou moduri: se deschide fereastra subsistemului i se afiaz caseta de parametri a elementelor Gain n care se introduc valorile dorite, se definete o caseta de dialog a subsistemului n care se prescriu toi parametrii subsistemului. Definirea unei casete de dialog a subsistemului Subsistemul va avea o caset de dialog definit de programator pentru prescrierea celor doi parametri, k i T. In consecin, parametrii celor dou blocuri Gain sunt variabile, k i respectiv 1/T.

101

Figura 115. Parametrii blocurilor Gain ale subsistemului din Figura 114.

Un subsistem odat creat poate fi deschis astfel: 1. se selecteaz blocul cu un clic, 2. clic pe opiunea Open block a meniul Edit. Alternativ se procedeaz astfel: 1. se afiaz meniul contextual din Tabelul 30, 2. clic pe opiunea Open block sau pe opiunea Open block in new window.

a) meniul Edit

b) meniu contextual

Tabelul 30. Afiarea unui subsistem.

102

a) meniul Edit

b) meniu contextual

Tabelul 31. Creare casetei de dialog a unui subsistem.

Definirea casetei de dialog a subsistemului, n care se prescriu coeficienii k i T se face astfel : 1. se deschide caseta de dialog a editorului Mask din Figura 116 cu un clic pe opiunea Mask subsystem a meniului Edit sau a meniului contextual din Tabelul 31, 2. se afiaz seciunea Parameters a casetei de dialog din Figura 117, 3. n tabelul Dialog parameters din Figura 117 se introduc n coloana Prompt numele parametrilor i n coloana Variable numele variabilelor din modelul subsistemului ; acestea vor aprea n caseta de dialog a subsistemului.

103

Figura 116. Caseta de dialog a editorului Mask, seciunea Icon.

In cazul subsistemului din exemplu, tabelul Dialog parameters se completeaz ca n Figura 117. Pentru inserarea unei linii, tergerea unei linii i navigarea ntre liniile tabelei se utilizeaz butoanele din Tabelul 32. Caseta de dialog a subsistemului este cea din Figura 118.

104

Figura 117. Caseta de dialog a editorului Mask, seciunea Parameters.

Buton

Funcie Creaz o nou linie n tabel Sterge linia selectat din tabel Selecteaz linia precedent Selecteaz linia urmtoare

Tabelul 32. Butoanele editorului Mask, seciunea Parameters.

Figura 118. Caseta de dialog a subsistemului din Figura 114.

105

Vom utiliza subsistemul creat pentru a modela sistemul din Figura 119.

Figura 119. Sistem de reglare.

Vom studia stabilitatea sistemului cu metoda locului rdcilor. Vom determina polinoamele de la numrtor i de la numitor. Pentru nmulirea polinoamelor de la numitor se utilizeaz funcia conv. num = [1]; den1 = conv([0.1 1], [0.05 1]) ; den = [den1 0]; rlocus(num, den) ; Locul rdcinilor sistemului este cel din Figura 120.

Figura 120. Locul rdcilor sistemului din Figura 119.

Rspunsul sistemului la intrare treapt pentru factorul de amplificare din Figura 119 este cel din Figura 121.

106

Figura 121. Rspunsul sistemului din Figura 119 la intrare treapt.

In cazul n care factorul de amplificare se modific dup cum se arat n Figura 122, se obine rspunsul din Figura 123.

Figura 122. Sistem de reglare.

Figura 123. Rspunsul sistemului din Figura 122 la intrare treapt.

Un model ce conine subsisteme este un model ierarhic ce poate fi reprezentat sub forma unui arbore ca n Figura 124. Acesta se face clic pe View Model Browser Options Model Browser. La un clic pe un subsistem din arbore se afiaz modelul subsistemului ntr-o fereastr separat.

107

Figura 124. Reprezentarea unui model cu subsisteme.

8.2

Crearea unui subsistem prin gruparea blocurilor

Un alt mod de a crea un subsistem este acele de a grupa blocurile unui model ce vor constitui un subsistem. Ca exemplu, vom crea un subsistem ce modeleaz funcia de transfer k Ts + 1 Subsistemul va avea trei intrri, u(t) i coeficienii k i T. Vom construi modelul sistemului i al subsistemului ca mai jos : 1. se construiete modelul parial al sistemului din Figura 125 n care s-a reprezentat i blocurile ce vor constitui subsistemul, 2. se ncadreaz ntr-un dreptunghi blocurile subsistemului i conexiunile ntre ele cu butonul stng al mousului apsat, 3. se selecteaz opiunea Create subsystem a meniului Edit; Simulink creaz un subsistem ca n Figura 126, 4. se copiaz subsistemul unde este necesar i rezult modelul din Figura 119. In modelul parial al sistemului am introdus un bloc Outport cu numele Out1 doar pentru a marca semnalul de ieire ce va fi selectat. Dup crearea subsistemului el va fi ters.

108

Figura 125. Modelul parial al sistemului n care s-a reprezentat subsistemul.

Figura 126. Subsistem creat de Simulink.

109

Figura 127. Modelul sistemului din Figura 119.

Subsistemul creat de Simulink este artat n Figura 128.

Figura 128. Modelul subsistemului k/(Ts+1).

110

9. Descrierea fiierului creat de editorul de modele


Editorul de modele creaz un fiier cu extensia mdl din modelul sistemului n care sunt descrise interfaa grafic i caracteristicile elementelor. Vom prezenta fiierul creat de editorul de modele pentru modelul din Figura 11, repetat n Figura 129.

Figura 129. Modelul ecuaiei difereniale ordinare x'' + 3x' + 2x = 0.

Pentru fiecare bloc din model este definit o structur Block ce conine: tipul blocului, BlockType, numele atribuit de programator, Name, parametrii blocului din caseta Block Parameters: InitialCondition, Gain, etc., numrul de porturi de intrare i de ieire, Ports, i informaii pentru desenare: poziia n cadrul desenului, Position, orientarea, Orientation. Mai jos sunt artate structurile pentru trei blocuri din model.
Block { BlockType Name Position Orientation Gain } Block { BlockType Name Gain "Gain1" [170, 135, 200, 165] "left" "3"

Integrator "Integrator1"

111

Ports [1, 1] Position [260, 85, 290, 115] InitialCondition "1" Port { PortNumber 1 Name "x" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" DataLogging off DataLoggingNameMode "SignalName" DataLoggingDecimateData off DataLoggingDecimation "2" DataLoggingLimitDataPoints off DataLoggingMaxPoints "5000" } } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [120, 90, 140, 110] ShowName off IconShape "round" Inputs "--" InputSameDT off OutDataTypeMode "Inherit via internal rule" }

Editorul definete o structur Line pentru sgeile ce conecteaz blocurile n care se nscriu: blocul surs SrcBlock i portul surs ScrPort, blocul destinaie DstBlock i portul destinaie DstPort, numele semnalului Name, dac exist. Mai jos sunt artate structurile pentru dou linii, prima fr ramificaii, ce conecteaz blocul Sum cu blocul Integrator2 i a doua cu ramificaii, ce conecteaz blocul Integrator2 cu blocurile Integrator1 i Gain1.
Line { SrcBlock SrcPort DstBlock DstPort "Sum" 1 "Integrator2" 1

} Line {

Name Labels SrcBlock SrcPort Points Branch { DstBlock DstPort } Branch { Points

"x'" [0, 0] "Integrator2" 1 [20, 0] "Integrator1" 1 [0, 50]

112

DstBlock DstPort } }

"Gain1" 1

113

10. Secvena de calcul a elementelor modelului


Fie de integrat ecuaia diferenial x = f(x, t) x(0) = x0 care corespunde modelului din Figura 130.

Figura 130. Modelul unei ecuaii difereniale.

Presupunem c utilizm pentru integrare formula lui Euler cu pasul de integrare h. Integrarea ecuaiei se face astfel: se calculeaz derivate la momentul 0 x' ( 0 ) = f ( x0 ,0 ) se calculeaz soluia la momentul h x( h ) = x( 0 ) + h x' ( 0 ) se calculeaz derivate la momentul h x' ( h ) = f ( x( h ) , h ) se calculeaz soluia la momentul 2 h x( 2 h ) = x( h ) + h x ' ( h ) ceea ce corespunde calculului tuturor blocurilor din model ce nu sunt integratoare la momentul tn = n h, urmat de calculul ieirilor integratoarelor la momentul tn+1=tn+h. Considernd un model oarecare, trebuie s calculm la fiecare pas de integrare: 1. ieirile elementelor din model ce nu sunt integratoare (ceea ce nseamn calculul intrrilor integratoarelor la momentul tn = n h), 2. urmeaz calculul ieirilor integratoarelor la momentul tn+1=tn+h prin aplicarea formulei de integrare. Pentru calcului elementelor din model ce nu sunt integratoare aplicaia Simulonk trebuie s deduc secvena n care se calculeaz aceste elemente. Alegerea secvenei de calcul a elementelor unui model Secvena corect de calcul a elementelor unui model asigur c ieirea fiecrui element al modelului la momentul t este calculat pe baza valorilor intrrilor elementului la acelai moment t. Considernd momentul t = 0, la acest moment sunt cunoscute ieirile integratoarelor (egale cu condiiile iniiale), ieirile elementelor de ntrziere i intrrile externe. Variabila independent a simulrii, timpul, este de asemenea cunoscut n orice moment. Se pot calcula deci la momentul t = 0 elementele ce au ca intrri ieirile integratoarelor i ale elementelor de ntrziere i ntrri externe. Se calculeaz apoi ieirile altor elemente ce au ca intrri i ieirile elementelor deja calculate. Algoritmul de alegere a secvenei de calcul este urmtorul: 1. se pun ntr-o list integratoarele i elementele de ntrziere din model, 2. se pun ntr-o list intrrile externe n model,

114

3. se pun ntr-o list de elemente ordonate mai nti elementele ce au ca intrri ieirile integratoarelor, ale elementelor de ntrziere i intrri externe. Urmeaz apoi alte elemente ce au ca intrri i ieirile elementelor puse anterior n list. Pasul 3 al algoritmului se repet pn cnd toate elementele modelului au fost puse n list. Secvena de calcul se deduce doar pentru elementele ce nu sunt integratoare. Intrrile externe sunt blocurile de semnal din biblioteca Source: Constant, Clock (timpul simulrii), etc. Ieirile lor sunt cunoscute la nceputul unui nou pas de integrare. Fie de exemplu modelul din Figura 131.

Figura 131. Sistem de reglare.

Intrarea n sistem este este blocul Constant, ce genereaz o treapt unitar. Ieirea acestui bloc este cunoscut la orice moment de timp. Secvena de calcul a elementelor ce nu sunt integratoare i intrri externe este: Sum, Sum1, Gain, Saturation, Gain1 sau Saturation, Gain1, Sum, Sum1, Gain sau Sum, Saturation, Sum1, Gain1, Gain etc. Deci secvena de calcul a elementelor nu este unic. Secvena de calcul a elementelor n model se afiaz cu clic pe Format Bloc Displays Sorted Order. Secvena de calcul a elementelor n modelul de mai sus este artat n Figura 132. Pentru elementele ce nu sunt integratoare sau intrri externe, ea este Sum, Sum1, Gain, Saturation, Gain1 Blocul Constant este calculat primul, fiind intrare extern.

115

Figura 132. Secvena de calcul a elementelor n model.

116

11. Explorarea modelului


11.1 Explorarea modelului
Simulink are aplicaia Model Explorer care ne permite s explorm elementele unui model. Lansarea aplicaiei Model Explorer se face cu clic pe View Model Explorer a editorului de modele sau cu clic pe opiunea Explore a meniului contextual al unui element al modelului. Fie de exemplu modelul din Figura 29, repetat n Figura 133.

Figura 133. Modelul ecuaiei difereniale x + 3 x + 2 x = 0.Figura 133.

Fereastra aplicaiei Model Explorer este cea din Figura 134. Ea conine urmtoarele seciuni: Model Hierarchy, afiaz structura ierarhic a modelului, sub forma unui arbore, Content of : nodul selectat, afiaz coninutul elementului selectat n seciunea (arborele) Model Hierarchy, Model Properties afiaz proprietile elementului selectat. Seciunea Model Hierarchy conine nodul rdcin Simulink Root i nodurile Base Workspace ce reprezint spaiul Matlab, Modelul, reprezint configuraia modelului, Configuration Preferences, dac este marcat opiunea View Show Configuration Preferences n fereastra Model Explorer.

117

Figura 134. Fereastra aplicaiei Model Explorer.

Nodul Base Workspace reprezint spaiul Matlab i este spaiul de baz pentru Simulink. Orice variabil Matlab poate fi utilizat n orice model Simulink. La un clic pe acest nod, n seciunea Content of Base Workspace sunt afiate toate variabilele Matlab ce pot fi utilizate n model, cu numele i tipul lor. In cazul exemplului nostru, dup simularea lui, n seciunea Content of : Base Workspace apar variabilele ScopeData i tout, scrise n spaiul Matlab de ctre blocul Scope, vezi Figura 135.

Figura 135. Coninutul nodului Base Workspace.

Nodul Configuration Preferences conine parametrii modelului. La un clic pe acest nod n seciunea Content of : Configuration Preferences sunt afiate opiunile din caseta Configuration Parameters a modelului, afiat cu clic pe Simulation Configuration Parameters a editorului de modele. Nodul modelului conine configuraia modelului, elementele modelului i parametrii lor i semnalele cu nume. Ele sunt afiate n seciunea Content of : nodul selectat, vezi Figura 134. La clic pe un element, n seciunea Model Properties este afiat o caset cu parametrii elementului, aceiai parametrii ca n caseta afiat n editorul de modele, vezi Figura 136 pentru un exemplu.

118

Figura 136. Caseta de proprieti a elementului Integrator1.

In aceast caset putem modifica parametrii elementului. La un clic cu butonul drept pe un element se afiaz meniul contextual din Figura 137. Opiunea Properties a acestui meniu afiaz caseta de proprieti a elementului din editorul de modele, n care putem modifica parametrii elementului.

Figura 137. Meniul contextual al unui element.

Putem cuta elemente din model dup un anumit criteriu. Pentru aceasta se utilizeaz bara din Figura 138.

Figura 138. Bara de cutare.

Opiunile de cutare sunt cele din Tabelul 33. In lista Search din Tabelul 33a se alege modul de cutare, dup nume, dup tipul blocului, etc. In caseta din dreapta se introduce numele elementului, tipul blocului, etc. Opiunile de cutare se prescriu din meniul afiat cu butonul Search Options, , iniiaz o nou cutare. , din Tabelul 33b. Butonul Search,

119

a) modul de cutare

b) opiuni de cutare

Tabelul 33. Opiuni de cutare.

Un exemplu de cutare a elementelor cu numele Gain din model este artat n Figura 139.

Figura 139. Rezultatul cutrii elementelor cu numele Gain.

11.2 Navigarea n model


Navigarea n model se face cu aplicaia Model Browser, care se lanseaz cu clic pe View Model Browser Options Model Browser a editorului de modele. Pentru un exemplu vezi Figura 124.

120

12. Simularea unui motor asincron


In acest capitol vom prezenta un exemplu semnificativ, simularea unui motor asincron. Ecuaiile ce descriu motorul asincron sunt: di di ' Ls ds + Lsh dr = u ds Rs i ds dt dt ' di qs diqr Ls + Lsh = u qs Rs i qs dt dt di ' di ' ' ' L'r dr + Lsh ds = u dr Rr' idr L'r i qr + Lsh iqs dt dt ' di qr di qs ' ' ' L'r + Lsh = u qr Rr' iqr + L'r idr + Lsh i ds dt dt J d = M Mr p dt unde cuplul electromagnetic M are expresia 3 ' ' M = pLsh i qs idr ids i qr 2 i M r este cuplul rezistent. In cazul motorului avem

u ds = 2U n cos( 2ft ) u qs = 2U n sin ( 2ft )


' u dr = 0 ' u qr = 0

Ls = Ls + Lsh L'r = L'r + Lsh


' In ecuaiile de mai sus Ls i Lr sunt inductivitile de pierderi n stator i rotor, Lsh este inductivitatea mutual, Ls i L'r sunt inductivitile totale, iar Rs i Rr' sunt rezistenele electrice ale statorului i rotorului. J este momentul de inerie, p este numrul de perechi de poli. i ds i i qs sunt curenii din axa d, i dr , i qr sunt curenii din axa q, este viteza unghiular a cmpului nvrtitor. u ds i u qs sunt tensiunile ' ' statorice n axele de i q, u dr i u qr sunt tensiunile rotorice n axele d i q. f este frecvena tensiunii de alimentare. Parametrii motorului sunt: U n = 220V , f= 50 Hz, Rs = 1.16 , Rr' = 3.515 , Ls = 0.024 H , L'r = 0.0034 H , Lsh = 0.2986 H , p = 2, J = 0.024 kgm 2 Vectorul de stare al sistemului este ' ' i ds iqs idr i qr ' ' Vom considera acest vector de stare format din vectorul x = ids i qs i dr iqr i . Facem urmtoarele notaii:

121

Ls 0 A= Lsh 0

0 Ls 0 Lsh

Lsh 0 L'r 0

0 Rs 0 Lsh , R= 0 0 ' Lr 0

0 Rs 0 0

0 0 Rr' 0

0 0 , 0 Rr'

0 0 0 u ds 0 u 0 0 0 0 qs L= U = ' , u dr 0 Lsh 0 Lsh ' 0 Lsh 0 u qr Lsh Cu aceste notaii, rescriem sistemul de ecuaii difereniale de mai sus ca dx A = U Rx + Lx dt dx Pentru a calcula derivata trebuie s calculm matricea invers A-1. dt Pentru a calcula cuplul electromagnetic M vom defini matricea 0 0 0 1 0 0 1 0 MC = 0 0 0 0 0 0 0 0 ' ' i expresia i qs i dr ids iqr se calculeaz ca x MC x. Ecuaia de micare J d = M Mr p dt se va scrie ca d 1 3 = p pLsh x' MCx dt J 2 Vom defini aceste matrice n fiierul Matlab asyncmotsim.m de mai jos, n care matricele sunt declarate ca variabile globale.

function asyncmot global Ainv R L MC J rs = 1.16; rpr = 3.515; lss = 0.024; lprs = 0.0034; lsh = 0.2986; lpr = lsh + lprs; ls = lss + lsh; p = 2; J = 0.024; A = [ls 0 lsh 0 R = [rs 0 ls 0 lsh 0 lsh 0 lpr 0 0 0 lsh 0 lpr]; 0

122

0 0 0 L = [0 0 0 lsh

rs 0 0 0 0 -lsh 0

0 rpr 0 0 0 0 lsh

0 0 rpr]; 0 0 -lsh 0];

MC = [0 0 0 -1 0 0 1 0 0 0 0 0 0 0 0 0]; MC = MC * 1.5 * p * lsh * p; Ainv = inv(A);

In spaiul Matlab vom defini variabilele globale R, L, MC i J corespunznd matricelor de mai sus, Ainv care este A-1 i momentului de inerie J. Instruciunea global din spaiul Matlab este aceeai ca cea din funcia asyncmotsim. Apoi apelm funcia asyncmotsim. global Ainv R L MC J asyncmotsim Este posibil s definim variabile utilizate n model n spaiul Matlab. Ca exemplu, am putea defini n spaiul Matlab momentul de inerie J (fr s-l mai definim n funcie) J = 0.024; In acest caz, nu trebuie ca variabila respectiv s fie declarat ntr-o instruciune global, nici n spaiul Matlab i nici n funcie. Modelul simulink este cel din Figura 140.

123

Figura 140. Modelul motorului asincron.

Blocul Mux creaz un semnal cu patru componente, ce corespunde vectorului U. Parametrii celorlalte elemente din model sunt cei din Tabelul 34. Bloc Clock Gain cos sin Gain6 Gain1 Gain2 Gain3 Gain4 Gain5 Product Dot product Integrator Integrator1 Constant Sum Funcia Timpul simulrii 2*pi*50 cos sin 220*sqrt(2) Ainv R L MC 1/j Ieirea t 2*pi*50*t cos(2*pi*50*t) sin(2*pi*50*t) U = 220 * sqrt ( 2 ) * [ cos( 2 50t ) sin ( 2 50t ) 0 0]' dx = Ainv * (U R * x + * L * x ) dt R*x L*x MC * x d 1 = x'*MC * x dt j *L*x x * MC * x x

*L*x xMC x t dx dt dt + x( 0) 0

dt dt + ( 0)
0

0 U R*x +*L*x

0 Sum

Tabelul 34. Elementele modelului.

124

In blocurile Gain1, Gain2, Gain3, Gain4 factorul de amplificare este o matrice, ce nmulete intrarea n bloc, n acest caz un vector. In consecin, vom alege parametrul Multiplication ca Matrix (K*u) sau Matrix (K*u) (u vector), vezi Figura 15. Vom simula modelul pe o durat de 3 s, n condiii iniiale nule i M r = 0 . Parametrii configuraiei relative la exportul datelor n spaiul Matlab sunt cei din Figura 141.

Figura 141. Parametrii pentru exportul datelor.

S-au marcat opiunile Time i States i se vor salva n spaiul Matlab vectorul tout cu timpii soluiei i respectiv matricea xout cu cele cinci variabile de stare pe coloane. Curenii motorului sunt cei din Figura 142, iar turaia cea din Figura 143.

Figura 142. Curenii motorului asincron.

125

Figura 143. Turaia motorului asincron.

Rezultatele se pot prelucra ulterior n Matlab. De exemplu, curentul ids este memorat n prima coloan a matricei xout, i este reprezentat n Figura 144 cu instruciunile plot(tout, xout(:, 1)) grid xlabel(t [s]) ylabel(i_{ds} [A]) pause

126

Figura 144. Curentul ids.

127

13. Simularea mainilor electrice


Blocurile utilizate n simularea mainilor electrice sunt definite n bibliotecile grupate sub numele SimPowerSystems.

13.1 Maina asincron


Conveniile utilizate n scrierea ecuaiilor sunt urmtoarele: mrimile din axele d i q au indicii d i respectiv q, mrimile statorice i rotorice au indicii s i respectiv r. Inductivitile de pierderi au indicele l, inductivitatea de magnetizare are indicele m. Maina asincron este descris de ecuaiile: ' di ds di dr Ls + Lm = u ds Rs i ds dt dt ' di qs di qr Ls + Lm = u qs Rs i qs dt dt ' di ' di dr ' ' ' Lr + Lm ds = u dr Rr' i dr L'r iqr + Lm i qs dt dt ' di qr di qs ' ' ' L'r + Lm = u qr Rr' i qr + L'r i dr + Lm i ds dt dt d J = Te F Tm dt d = dt unde cuplul electromagnetic Te are expresia 3 ' ' M = pLm iqs idr ids iqr 2 Tm este cuplul mecanic i J este momentul de inerie, p este numrul de perechi de poli, F este coeficientul de frecare Coulomb. este viteza unghiular a rotorului iar este poziia rotorului. Cuplul de frecare Coulomb are expresia

T f = F

In ecuaiile de mai sus

Ls = Lls + Lm L'r = L'lr + Lm

Lls i L'lr sunt inductivitile de pierderi n stator i rotor, Lm este inductivitatea de magnetizare, Ls i L'r sunt inductivitile totale, iar Rs i Rr' sunt rezistenele electrice ale statorului i rotorului. i ds i i qs sunt curenii din axa d, i dr , i qr sunt curenii din axa q. Menionm c, relaia ntre viteza unghiular a rotorului, , i viteza unghiular a cmpului nvrtitor, , este =p In cazul motorului avem u ds = 2U n cos( 2ft ) u qs = 2U n sin ( 2ft )
' u dr = 0

128

' u qr = 0

Exist dou modele ale mainii asincrone, unul cu parametrii reali i altul cu parametrii raportai (per unit, pu), artate n Tabelul 35.

a) n uniti relative

b) n uniti SI

Tabelul 35. Modelele mainii asincrone.

Ele se afl n biblioteca SimPowerSystems / Machines. Maina poate funciona ca motor sau generator, dup cum Tm este pozitiv sau negativ. Dac Tm este pozitiv, maina funcioneaz n regime de motor, iar pentru Tm negativ n regime de generator. Parametrii mainii se prescriu n caseta din Figura 145. Aceti parametri sunt: 1. cuplul rezistent, n cazul motorului, sau cuplul de antrenare n cazul generatorului, n Nm; cuplul rezistent este pozitiv, cuplul de antrenare este negativ, 2. puterea nominal, Pn [VA], tensiunea de linie, U n [V], frecvena tensiunii de alimentare, f n [Hz], 3. rezistena i inductivitatea de pierderi ale statorului, Rs [], i Lls [H] , 4. rezistena i inductivitatea de pierderi ale rotorului, Rr' [], i Llr [H], 5. inductivitatea de magnetizare, Lm [H], 6. momentul de inerie J, [kg m2], coeficientul de frecare vscoas F, [Nms], i numrul de perechi de poli, p, 7. condiiile iniiale sunt [s, 0, isa, isb, isc ] unde s este alunecarea, 0 este poziia iniial a rotorului, isa, isb, isc sunt curenii statorici.

129

Figura 145. Caseta cu parametrii mainii asincrone.

Variabilele de ieire, n numr de 21, sunt urmtoarele: ' ' ' ' ' 1. i ra , i rb , i rc , i qr , i dr ,
' ' 2. qr , dr , ' ' 3. u qr , u dr ,

4. i sa , i sb , i sc , i qs , i ds , 5. qs , ds 6. u qs , u ds , 7. viteza rotorului, [rad/s], 8. cuplul electromagnetic, [Nm], 9. unghiul rotorului, [rad]. Vom prezenta rezultatele simulrii motorului din exemplul anterior, ai crui parametrii sunt repetai aici.

130

U n = 220V , fn= 50 Hz, Rs = 1.16 , Rr' = 3.515 , Lls = 0.024 H , L'lr = 0.0034 H , Lm = 0.2986 H , p = 2, J = 0.024 kgm 2 Cuplul mecanic Tm este luat 20 Nm. Modelul este cel din Figura 146.

Figura 146. Modelul motorului asincron.

Semnalul de la ieirea mainii, m n Figura 146, este un semnal virtual. El nu are semnificaie fizic sau matematic. El este demultiplexat i trimis la blocurile Scope cu un bloc Demux. In model mai utilizm o surs de tensiune trifazat programabil i un aparat de msurare a tensiunii ntre dou noduri, din Tabelul 36. Ele se gsesc n bibliotecile SimPowerSystems/Electrical Sources i respectiv Measurements. Bloc Surs de tensiune programabil trifazat Msoar tensiunea electric instantanee ntre dou noduri.
Tabelul 36. Blocuri utilizate n model.

Simbolizare

131

Figura 147. caseta cu parametrii sursei de tensiune trifazat programabil.

Turaia motorului este cea din Figura 148.

Figura 148. Turaia motorului.

Menionm c, n capitolul precedent, am reprezentat viteza unghiular a cmpului nvrtitor, , iar n exemplul de aici reprezentm viteza rotorului, . Vom transmite n Matlab variabila reprezentat n blocul Scope2. Pentru aceasta vom modifica parametri blocului ca n Figura 149.

132

Figura 149. Parametrii blocului Scope2.

In Matlab vom afia componentele structurii ScopeData2 i apoi vom reprezenta grafic turaia rotorului. Pentru numele structurii vezi caseta Variable name din Figura 149. >> ScopeData2 ScopeData2 = time: [10006x1 double] signals: [1x1 struct] blockName: 'asyncmodel2/Scope2' >> plot(ScopeData2.time, ScopeData2.signals.values(:,1)) >> grid >> xlabel('t[s]') >> ylabel('\Omega [rad/s]') Turaia este cea din Figura 150.

133

Figura 150. Turaia motorului reprezentat grafic n Matlab.

Curenii statorici ai motorului sunt cei din Figura 151.

Figura 151. Curenii statorici ai motorului asincron.

134

Vom transmite n Matlab componentele structurii ScopeData1 i apoi vom reprezenta grafic curentul ids. Conform celor de mai sus, curentul ids este al cincilea din cele nou componente reprezentate n blocul Scope1. >> ScopeData1 ScopeData1 = time: [10006x1 double] signals: [1x1 struct] blockName: 'asyncmodel2/Scope1' >> plot(ScopeData1.time, ScopeData1.signals.values(:,5)) >> grid >> xlabel('t[s]') >> ylabel('i_{ds} [A]')

Figura 152. Curentul ids al motorului asincron.

Cuplul dezvoltat de motor este cel din Figura 153.

135

Figura 153. Cuplul motorului asincron.

Pentru a vedea modelul motorului asincron se procedeaz astfel: 1. se afiaz meniul contextual al blocului cu clic pe bloc cu butonul drept i apoi clic pe Look Under Mask. 2. se selecteaz blocul i clic pe Edit look Under Mask. Se afiaz modelul din Figura 154.

136

Figura 154. Modelul motorului asincron.

Pentru afia modelele celor dou subsisteme, electric i mechanic, se procedeaz astfel 1. se afiaz meniul contextual al subsistemului i clic pe Open Bloc. 2. se selecteaz blocul i clic pe Edit Open Bloc. Modelele celor dou subsisteme, electric i mecanic, sunt cele din Figura 155 i Figura 156.

137

Figura 156. Modelul prii electrice a motorului asincron.

Figura 157. Modelul prii mecanice a motorului asincron.

13.2 Maina de curent continuu


Modelul mainii de curent continuu este o main cu excitaie separat.

Figura 158. Simbolizarea mainii de current continuu.

Terminalele F+ i F- corespund infurrii de excitaie, iar A+ i A- circuitului rotoric. Ecuaiile mainii sunt:

138

+ Rf if = U f dt di La a + R a i a = U a + K E dt d J = Te TL Bm T f dt Lf unde: i f , i a sunt curenii circuitului de excitaie i rotoric, este viteza rotorului, L f , R f sunt inductivitatea i rezistena circuitului de excitaie, La , Ra sunt inductivitatea i rezistena circuitului rotoric, U f , U a sunt tensiunile la bornele nfurrilor de excitaie i rotorice,
J este momentul de inerie n kg m2, Bm este coeficientul de frecare vscoas n N m s, T f este cuplul de frecare Coulomb n N m.

di f

Tensiunea contraelectromotoare este K E . Constanta K E este dat de relaia K E = Laf i f unde Laf este inductivitatea mutual excitaie-rotor . Cuplul dezvoltat de main este Te = K T ia unde KT = KE. Intrarea n model este cuplul aplicat la arbore, TL. Pentru Te TL > 0 maina funcioneaz nregim de motor, pentru Te TL < 0 n regime de generator. Simbolul mainii de curent continuu n biblioteca SimPowerSystems/Machines. este cel din Tabelul 37. Bloc Maina de current continuu
Tabelul 37. Maina de curent continuu.

Simbolizare

Caseta cu parametrii mainii de current continuu este artat n Figura 159. Parametrii sunt: 1. intrarea mecanic, cuplu, TL sau viteza, 2. rezistena i inductivitatea circuitului rotoric, Ra [], La [H], 3. rezistena i inductivitatea circuitului de excitaie, Rf [], Lf [H], 4. inductivitatea Laf [H], 5. momentul de inerie J [kg m2], 6. coeficientul de frecare vscoas, Bm [N m s], 7. cuplul de frecare Coulomb, Tf [N m]. Condiia iniial este viteza iniial n [rad/s]. Ieirea mainii este format din: 1. viteza unghiular a rotorului, , [rad/s], 2. curentul rotoric i a [A], 3. curentul de excitaie ie [A], 4. cuplul electric [N m]

139

Figura 159. Caseta cu parametrii mainii de curent continuu.

Vom exemplifica simularea unui motor de current continuu cu urmtorii parametri: Ua = 120 V, Ue = 120 V, Ra = 0.075 , La = 0.003 H, Rf = 30 , Lf = 30 H, KE = 0.75 H. Caseta cu parametrii modelului este cea din Figura 159, iar modelul cel din Figura 160.

140

Figura 160. Modelul motorului de curent continuu.

In model utilizm surse de curent continuu pentru tensiunea de excitaie i tensiunea de alimentare. Simbolizarea sursei de curent continuu i caseta cu parametri sunt cele din Tabelul 38 i Figura 161. Ea se gsete n biblioteca SimPowerSystems/Electrical Sources. Bloc Surs de current continuu.
Tabelul 38. Sursa de curent continuu.

Semnificaie

Figura 161. Caseta cu parametrii sursei de curent continuu.

141

Figura 162. Turaia morului de curent continuu.

13.3 Maina sincron


Modelele mainii sincrone descriu o main cu poli apareni sau necai. Coveniile utilizate n scrierea ecuaiilor sunt urmtoarele: mrimile din axele d i q au indicii d i respectiv q, mrimile din nfurrile de amortizare au indicele k, cele din nfurarea de excitaie au indicele f. Inductivitile de pierderi au indicele l, inductivitatea de magnetizare are indicele m. Maina sincron este descris de ecuaiile urmtoare: d d u d = Rs i d + q dt d q u q = Rs iq + + d dt d 'fd ' ' ' u fd = R fd i fd + dt ' d kd ' ' ' u kd = Rkd ikd + dt ' d kq1 ' ' ' u kq1 = Rkq1ikq1 + dt ' d kq 2 ' ' ' u kq 2 = Rkq 2 ikq 2 + dt ' In aceste ecuaii R s este rezistena infurrilor din axele d i q, R fd este rezistena
' ' ' nfurrii de excitaie, Rkd , Rkq1 , Rkq 2 sunt rezistenele nfurrior de amortizare din ' axele d i q. Fluxurile d , q din axele d i q, fd din nfurarea de excitaie i kd , ' ' kd 1 , kd 2 ale nfurrilor de amortizare au expresiile: ' d = Ld id + Lmd i 'fd + ikd '

' q = Lq iq + Lmq ikq

' 'fd = L' fd i 'fd + Lmd ( id + ikd )

142

' ' kd = L'kd i kd + Lmd ( i d + i 'fd )


' ' kq1 = L'kq1i kq1 + Lmq i q ' ' kq 2 = L'kq 2 i kq 2 + Lmq i q

unde Ld i Lq sunt inductivitile nfurrilor din axele d i q, Lmd i Lmq sunt


' inductivitile de magnetizare n axele d i q, L fd este inductivitatea nfurrii de

excitaie, L'kd , Lkq1 i Lkq 2 sunt inductivitile nfurrilor de amortizare din axele d i q. Aceste inductiviti sunt date de relaiile:
Ld = Ll + Lmd Lq = Ll + Lmq

'

'

L' fd = L'lfd + Lmd L'kd = L'lkd + Lmd L'kq1 = Llkq1 + Lmq L'kq 2 = Llkq 2 + Lmq

In relaiile de mai sus Ll, L'lfd, L'lkd, L'lkq1 i L'lkq2 sunt inductivitile de scpri. Ecuaia de micare este d J = Te T f Tm dt la care se adaug ecuaia d = dt unde cuplul electromagnetic Te are expresia Te = p ( i d q iq d ) J este momentul de inerie, p este numrul de perechi de poli, este viteza unghiular a rotorului, iar este poziia rotorului. Tm este cuplul mecanic la arborele mainii. Cuplul de frecare vscoas Tf are expresia Tf = F unde F este coeficientul de frecare Coulomb. In cazul mainii cu poli apareni, n axa q exist o singur nfurare de amortizare. Modelele mainii sincrone sunt cele din Tabelul 39.

143

Model

Semnificaie

Model simplificat n uniti SI Model simplificat n uniti pu Main cu magnei permaneni


Tabelul 39. Modelele mainii sincrone.

Maina poate funciona n regim de motor sau generator. Simbolizarea modelului fundamental al mainii sincrone cu parametrii n sistemul SI este cea din Figura 163.

Figura 163. Simbolizarea mainii sincrone.

In aceste modele uA, uB, uC sunt tensiunile statorice, uf este tensiunea nfurrii de excitaie, Pm este puterea mecanic. Modul de funcionare este dat de semnul puterii mecanice, Pm, pozitiv n caz generatorului, negativ n cazul motorului. Parametrii mainii se prescriu n caseta din Figura 166. Aceti parametri sunt 1. intrarea mecanic, puterea mecanic Pm sau viteza w. 2. tipul rotorului, cu poli apareni, sau cu poli necai, 3. puterea nominal, Pn [VA], tensiunea de linie nominal, Un [V], frecvena nominal, fn [Hz], curentul de excitaie nominal, ifn [A], 4. parametrii infurrii statorice, rezistena, Rs [], inductivitatea de pierderi, Ll [H], inductivitile de magnetizare, Lmd [H], Lmq [H], 5. parametrii infurrii de excitaie, rezistena, Rf' [], inductivitatea de pierderi, L'lfd [H], 6. parametrii infurrilor de amortizare, n axa d, rezistena, R'kd [], inductivitatea de pierderi, L'lkd [H], n axa q, Rkq1 [], L'lkq1 [H], Rkq2 [], L'lkq2 [H], 7. momentul de inerie J [kg m2], factorul de frecare F [Nm s], numrul de perechi de poli, p, 8. condiiile iniiale, deviaia iniial a vitezei, , n procente din viteza iniial, o unghiul electric al rotorului, e [ ] , curenii de linie ia, ib, ic [A], unghiurile iniiale ale fazelor, a , b , c , [o], tensiunea de excitaie iniial, Uf [V]. Tensiunea de excitaie iniial se introduce astfel: dac se cunoate curentul de excitaie nominal, (ultimul parametru din prima linie), se marcheaz opiunea Display Vfd which produces nominal Vt, care afiaz caseta din Figura 164. 144

Figura 164. Calculul tensiunii iniiale de excitaie.

In caz contrar se introduce curentul de excitaie nominal zero i se introduce tensiunea de excitaie n V cc raportat la stator. Variabilele de ieire, n numr de 22, sunt urmtoarele: 1. curenii statorici, isa, isb, isc, isq, isd, [A], 2. curentul de excitaie, ifd [A], 3. curenii infurrilor de amortizare n axa q, ikq1, ikq2, [A], 4. curenii infurrilor de amortizare n axa d ikd, [A], 5. fluxurile n axele q i d, mq , md , [V s], 6. tensiunile statorice n axele q i d, uq, ud [V], 7. deviaia unghiului rotorului [rad], 8. viteza unghiular [rad/s] , 9. puterea electric, Pe, [VA], 10. deviaia vitezei rotorului, [rad/s], 11. unghiul mecanic al rotorului, [rad], 12. cuplu electromagnetic, Te, [N m], 13. unghiul de sarcin, [Nm] 14. puterile activ i reactiv, Peo, Qeo, la ieire. Vom exemplifica utilizarea modelului pentru un motor cu parametrii: R s = 32.967m , R 'fd = 1.798m , L'kd = 92.046mH , L'kq1 = 0.921mH , L'kq 2 = 0 Lmd = 11.2mH , Lmq = 6.692 mH , p = 2, f = 50 Hz, J = 616 kg m2, F = 0, nn = 1500 rot/min Pn = 8000 Kw, Un = 2887 / 5000 V. Modelul este cel din Figura 165, iar caseta cu parametrii motorului este cea din Figura 166.

145

Figura 165. Modelul motorului sincron.

Am introdus curentul de excitaie nominal zero i tensiunea de excitaie este ufd = 2 V, puterea mecanic Pm = -1 w.

146

Figura 166. Parametrii mainii sincrone.

147

Figura 167. Variabilele de ieire ale motorului sincron.

Valorile lor au fost transmise n spaiul Matlab cu parametrii blocului Scope din Figura 168.

Figura 168. Parametrii blocului Scope.

In spaiul Matlab, n structura ScopeData este cea de mai jos. >> ScopeData ScopeData = time: [10006x1 double] signals: [1x1 struct] blockName: 'syncmodel2/Scope' Valorile pentru curentul id, viteza unghiular i cuplul electric sunt artate n figurile urmtoare.

148

Figura 169. Curentul id al motorului.

149

Figura 170. Viteza unghiular.

150

Figura 171. Cuplul electric.

151

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