3.11 Simularea pe computer

Simularea răspunsului unui sistem dinamic prin utilizarea unui computer digital este poate cea mai convenabilă și populară abordare a analizei răspunsului. Un avantaj important este că orice sistem complex, neliniar și variabil în timp poate fi analizat în acest mod. Dezavantajul principal este că soluția nu este analitică și este valabilă doar pentru o excitație specifică, în condiții inițiale particulare, pe un interval de timp limitat, etc. Desigur, sunt disponibile și abordări simbolice pentru obținerea de soluții analitice cu ajutorul unui computer digital. Vom avea în vedere aici doar simulări numerice.

Funcționarea cheie a simulării digitale este integrarea în timp. Aceasta implică de obicei integrarea unei ecuații diferențiale de forma

(3.75)

unde u este intrarea (excitație) și y este ieșirea (răspuns). Rețineți că funcția f este neliniară și variabilă în timp, în general. Cea mai simplă abordare a integrării digitale a acestei ecuații este folosirea regulii trapezoidale, care este metoda lui Euler, cum este dată de

(3.76)

Aici tn este al n-lea moment de timp, un = u(tn), yn = y(tn); și Δt este treapta de timp de integrare (Δt = tn+1 - tn). Această abordare este, în general, robustă. Dar, în funcție de natura funcției f, integrarea poate să se comporte prost. De asemenea, Δt trebuie să fie ales suficient de mic.

Pentru neliniarități complexe în f, o abordare mai bună a integrării digitale este metoda Runge-Kutta. În această abordare, în fiecare treaptă de timp, se calculează mai întâi următoarele patru cantități:

(3.77a)

(3.77b)

(3.77c)

(3.77d)

Atunci, treapta de integrare este realizată conform cu

(3.78)

Rețineți că

Sunt disponibile și alte abordări sofisticate ale simulării digitale.

3.11.1 Utilizarea Simulink® în simularea pe computer

Poate că cea mai convenabilă abordare bazată pe computer pentru simularea unui model dinamic este folosirea unui mediu grafic care utilizează diagrame bloc. Mai multe astfel de medii sunt disponibile comercial. Unul care este utilizat pe scară largă este Simulink* și este disponibil ca extensie la MATLAB* (a se vedea, de asemenea, anexa D). Oferă un mediu grafic pentru modelarea, simularea și analiza sistemelor dinamice liniare și neliniare. Utilizarea sa este destul de convenabilă. Mai întâi, pe ecranul computerului este dezvoltat un model de diagramă bloc adecvat al sistemului și stocat. Mediul Simulink oferă aproape orice bloc care este utilizat într-o diagramă bloc tipică. Acestea includ funcții de transfer, integratoare, câștiguri, joncțiuni de însumare, intrări (adică blocuri sursă) și ieșiri (adică blocuri grafice). Un astfel de bloc poate fi selectat și introdus în spațiul de lucru de câte ori este nevoie, făcând clic și glisând cu mouse-ul. Aceste blocuri pot fi convertite după cum este necesar, folosind linii direcționate. Se poate deschide un bloc făcând clic pe el și valorile parametrilor și textul pot fi inserate sau modificate după cum este necesar. Odată ce diagrama blocului de simulare este generată în acest mod, acesta poate fi rulat și răspunsul poate fi observat printr-un bloc de ieșire (bloc grafic). Deoarece Simulink este integrat cu MATLAB, datele pot fi transferate cu ușurință între programe în diferite instrumente și aplicații.

3.11.1.1 Pornirea Simulink®

Se intră mai întâi în mediul MATLAB. Veți avea prompterul de comandă MATLAB >>. Pentru a porni Simulink, introduceți comanda: simulink. Alternativ, puteți face clic pe butonul „Simulink” din partea de sus a ferestrei de comandă MATLAB. Fereastra Simulink Library Browser ar trebui să apară acum pe ecran. Majoritatea blocurilor necesare pentru modelarea sistemelor de bază pot fi găsite în subfolderele directorului Simulink principal.

3.11.1.2 Elemente de bază

Există două tipuri de elemente în Simulink: blocuri și linii. Blocurile sunt utilizate pentru a genera (sau introduce), modifica, combina, ieși și afișa semnale. Liniile sunt utilizate pentru a transfera semnale de la un bloc la altul.

Blocuri: subfolderele de sub folderul Simulink prezintă clasele generale de blocuri disponibile pentru utilizare. Ele sunt

• Continue: elemente de sistem liniar, continuu în timp (integratoare, funcții de transfer, modele spațiu-stare etc.)

• Discrete: elemente de sistem liniar, discret în timp (integratoare, funcții de transfer, modele spațiu-stare etc.)

• Funcții și tabele: funcții și tabele definite de utilizator pentru interpolarea valorilor funcțiilor

• Matematice: operatori matematici (sumă, câștig, produs, etc.)

• Neliniari: operatori neliniari (frecare Coulomb/vâscoasă, întrerupătoare, relee etc.)

• Semnale și sisteme: blocuri pentru controlul/monitorizarea semnalelor și pentru crearea subsistemelor

Sinks: pentru semnale de ieșire sau afișare (afișaje, ecrane, grafice etc.)

• Surse: Pentru a genera diferite tipuri de semnale (treaptă, rampă, sinusoidal etc.)

Blocurile pot avea zero sau mai multe terminale de intrare și zero sau mai multe terminale de ieșire.

Linii: Un segment de linie direcționată transmite semnale în direcția indicată de săgeata sa. De obicei, o linie trebuie să transmită semnale de la terminalul de ieșire al unui bloc la terminalul de intrare al altui bloc. O excepție la aceasta este că o linie poate fi folosită pentru a opri semnalul de la o altă linie. În acest fel, semnalul original oprit poate fi trimis către alte (unul sau mai multe) blocuri de destinație. Dar, o linie nu poate injecta niciodată un semnal în altă linie; combinarea (sau, însumarea) semnalelor trebuie făcută folosind o joncțiune de însumare. Un semnal poate fi un semnal scalar (un singur semnal) sau un semnal vectorial (mai multe semnale în paralel). Liniile utilizate pentru a transmite semnale scalare și semnale vectoriale sunt identice. Indiferent dacă este un scalar sau un vector este determinat de blocurile conectate de linie.

3.11.1.3 Construirea unei aplicații

Pentru a construi un sistem pentru simulare, mai întâi, creează o nouă fereastră de model pentru crearea diagramei bloc. Pentru a face acest lucru, faceți clic pe butonul „New Model” din bara de instrumente a lui Simulink Library Browser. Inițial, fereastra va fi goală. Apoi, construiți sistemul utilizând următorii trei pași:

1. Colectați blocuri

Din browserul Simulink Library, colectați blocurile de care aveți nevoie în modelul dvs. Acest lucru se poate face prin simplu clic pe un bloc necesar și glisându-l în spațiul de lucru.

2. Modificați blocurile

Simulink vă permite să modificați blocurile din modelul dvs. astfel încât acestea să reflecte cu exactitate caracteristicile sistemului dvs. Faceți dublu clic pe blocul de modificat. Puteți modifica parametrii blocului în fereastra „ Block Parameters”. Simulink oferă o scurtă explicație a funcției blocului din partea superioară a acestei ferestre.

3. Conectați blocurile

Diagrama bloc trebuie să reflecte cu exactitate sistemul de modelat. Blocurile Simulink selectate au fost conectate corespunzător prin linii, pentru a realiza diagrama bloc corectă. Desenați liniile necesare pentru traseele semnalului, trăgând mouse-ul din punctul de pornire al unui semnal (adică terminalul de ieșire al unui bloc) până la punctul terminal al semnalului (adică terminalul de intrare al altui bloc). Simulink convertește indicatorul mouse-ului într-un vizor (crosshair) atunci când este aproape de un terminal de ieșire, pentru a începe desenarea unei linii, iar indicatorul va deveni un crosshair dublu atunci când este suficient de aproape pentru a fi prins de un terminal de intrare. Când desenați o linie, calea pe care o urmați nu este importantă. Liniile se vor orienta automat. Punctele terminale sunt cele care contează. Odată ce blocurile sunt conectate, acestea pot fi mutate în jurul pentru a avea un aspect mai clar, cu un click și glisare la locul dorit (liniile de semnal vor rămâne conectate și se vor reorienta singure).

Poate fi necesar să ramificați un semnal și să îl transmiteți la mai multe terminale de intrare. Pentru a face acest lucru, așezați mai întâi cursorul mouse-ului în locația în care semnalul urmează să fie ramificat (oprit). Apoi, utilizând fie tasta CTRL împreună cu butonul stânga al mouse-ului sau doar butonul dreapta al mouse-ului, trageți noua linie către destinația dorită.

3.11.1.4 Rularea unei simulări

Odată construit modelul, sunteți gata să simulați sistemul. Pentru a face acest lucru, accesați meniul Simulation și faceți clic pe Start, sau doar faceți clic pe butonul „ Start/Pause Simulation” din bara de instrumente a ferestrei modelului (acesta va arăta ca butonul „ Play ” de pe un VCR). Simularea va fi realizată și vor fi generate semnalele necesare.

Sfaturi generale:

1. Puteți salva modelul dvs. selectând Save din meniul fișiere și făcând clic pe butonul OK (ar trebui să dați un nume fișierului).

2. Rezultatele unei simulări pot fi trimise la fereastra MATLAB prin utilizarea pictogramei „ to workshop” din fereastra Sinks.

3. Folosiți pictograma Demux (adică demultiplexare) pentru a converti un vector în mai multe linii scalare. Pictograma Mux ia mai multe intrări scalare și le multiplexează într-un vector. (Acest lucru este util, de exemplu, atunci când transferați rezultatele dintr-o simulare în spațiul de lucru MATLAB).

4. Un semn al pictogramei Sum poate fi modificat făcând dublu clic pe pictogramă și schimbând semnul. Numărul de intrări la o pictogramă Sum poate fi modificat făcând dublu clic pe pictogramă și setând corect numărul de intrări în fereastră.

5. Asigurați-vă că setați parametrii de integrare în meniul de simulare. În particular, dimensiunile treptelor minime și maxime implicite trebuie modificate (trebuie să fie în jur de 1/100 până la 1/10 din constanta de timp dominantă (adică cea mai lentă) a sistemului dvs.).

Exemplul 3.11

Considerați modelul din domeniu-timp dat de

Construim modelul Simulink, așa cum este prezentat în figura 3.41a.

Răspunsul sistemului la o intrare impuls este prezentat în figura 3.41b.

Exemplul 3.12

Considerați modelul unui sistem de cusut robotizat, așa cum este considerat în Exemplul 3.4 și Figura 3.20. Cu vectorul de stare

vectorul de intrare

și vectorul de ieșire

se obține următorul model spațiu-stare :

unde

FIGURA 3.41 (a) Model Simulink de diagramă bloc de simulare; (b) intrarea și răspunsul sistemului.

Pentru a realiza o simulare folosind Simulink, utilizăm următoarele valori ale parametrilor:

mc = 0,6 kg
kc = 100 N/m
bc = 0,3 N/m/s
mh = 1 kg
bh = 1 N/m/s

FIGURA 3.42 (a) Modelul Simulink al unei mașini de cusut robotizate; (b) rezultatele simulării

kr = 200 N/m
br = 1 N/m/s
Jr = 2 kg ∙ m2
r = 0,05 m

Matricele modelului liniar sunt obținute ca:

Modelul Simulink este construit, așa cum se arată în figura 3.42a.

Răspunsul sistemului la două intrări de impuls este prezentat în figura 3.42b.

3.12 Probleme