P 7- Matlab

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View P 7- Matlab as PDF for free.

More details

  • Words: 1,582
  • Pages: 6
7. PRAKTIKA

INDUSTRI PROZESUEN AUTOMATIZAZIOA LABORATEGIA

MATLAB

Matlab

1

1. Sarrera Praktika honen helburua, Matlab tresna informatikoa (Control eta Simulink toolboxekin batera) erabiltzen hasteko gida modura, oinarriak eta baliabideak azaldu, eta norberak gero sakonago aritzeko behar den ezagutza nahikoa ematea da. Sistemen Ingeniaritza I irakasgaiari dagozkion laborategiko praktiketan Matlab izango da kalkulu matematiko eta simulaziorako ingurune bezala erabiliko dena, teorian ikasitako sistemen analisia egin eta kontrolagailuak diseinatzeko. Praktika honetan hauxe da ikasi behar dena: ƒ ƒ ƒ ƒ ƒ

Matlab-en H(s) transferentzi funtzio bat sortzen Transferentzi funtzioa eraldatzen (zenbakitzailea, izendatzailea, zeroak, poloak, irabazpena) Sistema batek sarrera seinale ezberdinei emango dien erantzuna lortzen (inpultsua, maila) Lortutako emaitzaren ezaugarriak aztertzen (egoera iraunkorreko irabazpena, gaindiketa, igoera, puntako eta egonkortze denborak) Ingurunean, laguntza testuak bilatzen

2. Ereduen sorkuntza Matlab hasten Windows mahaigainean, irudiko ikonoa bilatu eta klik bikoitza egin saguari.

Aginduen lerroa Matlab hasterakoan zenbait leiho ezberdin azal daitezke (View menu bidez kudea daitezkeenak): command window, workspace, current directory, command history eta launch pad. Garrantzitsuena aginduen leihoa da, bertatik exekutatzen baitira Matlab aginduak.

Sistemen Ingeniaritza eta Automatika Saila

Ingeniarien Goi Eskola (EHU)

Matlab

2

Agindu baten sintaxi orokorra hauxe da: [Irteera_1, Irteera_2, ...] = Agindu_izena (Sarrera_1, Sarrera_2, ...)

Aginduaren atzetik eta parentesi artean, sarrera parametroen balioak zehazten dira. Aginduaren exekuzioak ematen duen emaitza aldagairen baten gorde nahi baldin badugu, berdinketa ikurraren ezkerraldean, aldagaiaren izena zehaztu behar da. Emaitza gordetzeko aldagai bat baino gehiago erabiltzen denean, kortxete artean eta komaz bananduta zehazten dira. Halere, agindu guztiek ez dute aldagaietan gorde beharreko emaitzarik ematen, eta interesatzen ez denean, gorde ahal izanda ere ez dago zertan gorde beharrik. Matlab aldagai bat sortzeko ere, sintaxi berbera erabiltzen da. Froga ezazu datorrena idazten, eta aldagai bakun bat eta bektore bat sortuko dituzu: >> >>

zenbakia = 2 bektorea = [ 1

2

3 ]

Matlab inguruneak, edozein eragiketa egiteko behar dugun aldagai multzoa sortuz goazela, ‘Lan-esparruan’ (Workspace) biltzen ditu. Begira ezazu Workspace leihoa, eta sortu berri dituzun aldagai ezberdinen dimentsioa eta behar duten memoria kopuruaz ohar zaitez. Eta aldagai baten gainean klik bikoitza eginez, edukia alda diezaiokegu. Æ Alda ezazu aldagaiaren edukia 4, 5 eta 6 balioak gorde ditzan. Aldagai baten edukia ikusteko nahikoa da aginduen lerroan aldagaiaren izena idaztea. Æ Begira ezazu aginduen lerrotik bektorea aldagaiak orain duen edukia. Edozein Matlab funtzioren deskribapena lortzeko (nola erabil daitekeen, sarrera/irteera parametroak zeintzuk diren, dituen erabilera ezberdinak,…) help agindua erabiltzen da, funtzioaren izena atzean idatzita. Æ Ikasi eta praktikatu ondorengo funtzioen erabilera: cd, dir, roots, poly, conv Agindu-lerro guztiak, exekutatu ahala, buffer baten gordetzen dira. Buffer honen edukia gorako eta beherako hezien bidez (↑ eta ↓) berreskura daiteke; oso erabilgarria da agindulerro bat errepikatu edo zuzendu nahi denean adibidez, berriro idatzi beharraren alperra gainditzeko. Exekutatutako aginduak berreskuratzeko ↑ tekla sakatzea nahikoa da. Karaktere zehatz batzuekin hasten den agindu-lerro bat berreskuratzeko ere, karaktereak idatzi eta ↑ tekla behin baino gehiagotan sakatuta aurki dezakegu. Æ Berreskura ezazu bektorea aldagaia definitzen zuen agindu-lerroa. Alda ezazu 6, 7 eta 8 balioak gorde ditzan. LTI ereduen sorkuntza Control toolbox-eko funtzio guztien zerrenda ikusteko idatz ezazu: >> help control

Kontrolerako funtzio multzo honek, lau LTI (LTI: Lineal Time-Invariant) eredu mota ezberdin erabil dezake: ƒ Transferentzi funtzio eredua (TF)

Sistemen Ingeniaritza eta Automatika Saila

Ingeniarien Goi Eskola (EHU)

Matlab

ƒ ƒ ƒ

3 Zero-polo-irabazpen eredua (ZPK) Egoera eremuko eredua (SS) Erantzun frekuentzial erako eredua (FRD)

Irakasgai honetan lehenengo adierazpide biak erabiliko ditugu bakarrik: ƒ TF : transferentzi funtzio erako adierazpidea. Eredua bi polinomio bidez adieraziko da, izendatzailea eta zenbakitzailea. tf funtzioak mota honetako ereduak sortzeko balio du. ƒ ZPK : zero-polo-irabazpen erako adierazpidea. Irabazpena, zeroak eta poloen bidez adierazten da eredua. zpk funtzioak mota honetako ereduak sortzeko balio du. (zeroak = zenbakitzailearen erroak, poloak = izendatzailearen erroak) tf eta zpk funtzioek, sarrera bezala ereduaren datuak hartzen dituzte (bektore eran), eta ereduaren informazio osoa duen Matlab aldagai baten itzultzen dute, objektu erakoa. Froga ezazu, H(s) eta G(s) ereduak sortzeko ondorengo azalpenei jarraituz:

H ( s) =

s s + 2·s + 10 2

G( s) =

−2 ( s − 2)·( s 2 − 2·s + 2)

Æ tf eta zpk funtzioen laguntza-testuak irakur itzazu (help tf; help zpk) >> zen = [ 1 0 ] % zenbakitzailearen koefizienteak dituen bektorea >> izen = [ 1 2 10 ] % izendatzailearen koefizienteak dituen bektorea >> H = tf (zen, izen) % H eredua sortu TF erara >> >> >> >>

z p k G

= = = =

[ ] [ 2 1+i 1-i ] [ -2 ] zpk (z, p, k)

% % % %

zeroen bektore hutsa, G(s)-k ez du zerorik poloen bektorea irabazpena G eredua sortu ZPK erara

Sistema sortuta daukagula, ereduaren parametroak edozein unetan irakur ditzakegu, baita bektoreetan gorde ere. Ondorengo lerroak idatz itzazu, H(s) ereduak gordetzen duen informazioa ikusteko: Æ tfdata eta zpkdata funtzioen laguntza-testuak irakur itzazu (help tfdata; help zpkdata) >> [n1, d1] = tfdata (H,’v’) % zenbakitzailea eta izendatzailea atera >> [z1, p1, k1] = zpkdata (H,’v’) % zeroak, poloak eta irabazpena atera

Æ Gorde itzazu G(s)-ren polinomio zenbakitzailea eta izendatzailea n2 eta d2 bektoreetan, eta zeroak, poloak eta irabazpena, z2, p2 eta k2 bektoreetan. Hasieran aipatu ditugun zpk eta tf funtzioak erabil daitezke berriro ereduaren beste adierazpide bat lortzeko: >> tf(G)

% G(s) TF erara erakusten du

3. Ereduen konexioa Normalean sistema errazak konektatuz sistema konplexuagoak eraikiz goaz. Badira horretarako funtzio aproposak, series, parallel eta feedback, sistema biren konexio ezberdinen transferentzi funtzio baliokidea ematen dutelarik, jarraian, paraleloan eta begizta itxian.

Sistemen Ingeniaritza eta Automatika Saila

Ingeniarien Goi Eskola (EHU)

Matlab

4

Æ series, parallel eta feedback funtzioen laguntza-testuak irakur itzazu Idatz itzazu ondorengo lerroak H(s) eta G(s) paraleloki konektatzeko: >> parallel (H,G) % Transferentzi funtzio baliokidea >> tf (parallel (H,G)) % Zenbakitzaile/izendatzaile erara zuzenean

Æ Kalkula itzazu, zenbakitzaile/izendatzaile eran, ondorengo bloke-diagramatako transferentzi funtzio baliokideak, M1(s) eta M2(s): H(s) H(s)

G(s)

H(s) G(s)

H(s)

Aurreragoko praktika baten ikusiko dugu bloke diagrama konplexuagoak egiteko Simulink erabil daitekeela.

4. Ereduen denbora eremuko analisia Æ Erabil itzazu A eta B izeneko aldagaiak, ondorengo transferentzi funtzioak definitzeko:

A( s ) =

10·( s + 3) s 2 + 2·s + 10

B( s ) =

2 ( s + 2)

step funtzioa, sistema baten maila unitario erantzuna marrazteko erabiltzen da impulse funtzioa, inpultsu unitario erantzuna marrazteko erabiltzen da. pzmap funtzioa, poloen eta zeroen kokapena marrazteko. Æ step, impulse eta pzmap funtzioen laguntza-testuak irakur itzazu Æ Lor ezazu A(s) sistemaren maila unitario erantzuna Lortu duzun azken erantzun honen gainean: Æ Jar ezazu saguaren erakuslea erantzunaren edozein puntutan, eta une horretako anplitudea ematen du numerikoki. Æ Grafiko gainean, saguaren eskuineko botoiari sakatu eta hauta ezazu sekuentzialki Characteristics Æ Peak response, setting time, rise time eta steady state, gaindiketa maximoaren datuak, egonkortze eta igoera denborak eta iraunkorreko balioa lortzeko. Saguarekin puntu urdinak pintxatuta erantzunaren denbora-ezaugarri horiek erakusten dira. Æ grid aktibatu saguaren eskuineko botoia sakatuta. Æ Lor ezazu alde batetik A(s) sistemaren inpultsu unitario erantzuna, eta bestetik bere denbora-ezaugarriak (puntako eta egonkortze denborak), saguaren eskuineko botoia sakatuta. Æ Lor itzazu alde batetik B(s) sistemaren inpultsu eta maila unitario erantzunak, eta bestetik erantzun bakoitzaren denbora-ezaugarriak. Æ A(s) eta B(s) sistemen poloen eta zeroen kokapenak bila itzazu. Sagua poloen/zeroen gainean kokatuta, balio numerikoa, moteldura-koefizientea (damping) eta maiztasun naturala erakusten dizkigu.

Sistemen Ingeniaritza eta Automatika Saila

Ingeniarien Goi Eskola (EHU)

Matlab

5

Funtzio guzti hauek (eta beste asko) ltiview ingurunean biltzen dira, denboran aldatzen ez diren sistema linealen analisirako erabiliko duguna. Æ ltiview funtzioaren laguntza-testua irakur ezazu. Aginduen lerroan ltiview tekleatzean, leiho berri bat zabaltzen da. Ezer baino lehen, aztertuko diren sistemen ereduak inportatu behar ditugu: • •

Hauta ezazu File Æ Import Lan-esparruan (workspace) agertzen diren sistemen artean hauta itzazu A eta B. (pintxatu A eta CTRL tekla sakatuta mantenduz pintxatu B).

Pantailan, A(s) eta B(s) sistemen maila unitario erantzunak azalduko dira berehala. Grafiko hauen gainean, lehen step funtzioarekin bezala, denbora-ezaugarrien balioak lor ditzakegu (puntako balioa, egonkortze, igoera eta egoera iraunkorreko balioa), saguaren eskuineko botoia sakatuta ere. Gainera, grid egin dezakegu erantzun batean, edo bietan, eta aldi berean erantzun bat baino gehiago ikusteko aukera ematen du ere (systems). Grafikoan aldaketak egin nahi baditugu, edo beste mota bateko grafikoak ikusi, inpultsu erantzuna edo polo/zero diagrama adibidez, saguaren eskuineko botoia sakatuta agertzen den menuak (plot types) aukera ematen digu. Aipatu ditugun grafiko mota hauez gain, aurrerago ikasiko ditugun beste erantzun mota batzuk ikusteko aukera eskaintzen du ere. Azkenik, Edit menuan, Plot configurations aukera dago. Honen bitartez, leihoa panel ezberdinetan bana dezakegu, aldi berean grafiko mota gehiago ikusi ahal izateko. Æ Ikus itzazu leiho berean (hiru panel erabiliz) A(s) eta B(s) sistemen maila eta inpultsu erantzunak, eta polo/zeroen diagrama Pentsa ezazu sistemen analisia egiten ari garela, eta halako baten horietako sistemaren batetako parametro bat aldatu beharrean aurkitzen garela. Eta zer gertatzen da orain arte egin dugunarekin?, errepikatu behar al dugu orain arte egindakoa?. Ba ez. Egin beharreko aldaketa aginduen lerroan egin besterik ez dago, eta gero Edit Æ Refresh systems hautatu, aldaketak adierazpide ezberdinei eragin diezaien.

5. Sistema fisko baten analisiaren adibidea Æ rlcdemo funtzioaren laguntza lortu Æ rlcdemo tekleatu rlcdemo funtzioak, sistema fisiko bat aztertzeko aukera ematen du. Sistema honen eredu matematikoa transferentzi erara ematen da, G(s), sistema fisikoaren R, L eta C parametro elektrikoen funtzio bezala adierazten delarik. Hauetako parametroren bat aldatzen denean, sistema aldatu egiten da, eta aldaketa horrek maila erantzunari eta polo/zero diagramei zelan eragiten dien ikus daiteke. Demo-ak, lau iragazki mota eta bi topologia ezberdin konbinatuz, balizko sistema guztien azterketa egiteko aukera eskaintzen du.

6. Beste agindu batzuk • •

Damp (sistema baten maiztasun natural eta moteldura-koefizientea) Residue (sistema baten poloen ondarrak)

Sistemen Ingeniaritza eta Automatika Saila

Ingeniarien Goi Eskola (EHU)

Related Documents

P 7- Matlab
October 2019 5
Matlab 7 Learning 2008
October 2019 5
Matlab
July 2020 24
Matlab
May 2020 31
Matlab
April 2020 36
Matlab
May 2020 39