Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i...

26
UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Praktikum iz merno- akvizicionih sistema Doc. dr Milica Janković [email protected] Marija Novičić, dipl. inž. [email protected] http://automatika.etf.rs/ http://bmit.etf.rs/ Doc. dr Marko Barjaktarović [email protected] Petar Atanasijević, dipl. inž. [email protected] http://nobel.etf.bg.ac.rs/

Transcript of Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i...

Page 1: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

UNIVERZITET U BEOGRADUELEKTROTEHNIČKI FAKULTET

Praktikum iz merno-akvizicionih sistema

Doc. dr Milica Janković[email protected]

Marija Novičić, dipl. inž[email protected]

http://automatika.etf.rs/http://bmit.etf.rs/

Doc. dr Marko Barjaktarović[email protected]

Petar Atanasijević, dipl. inž[email protected]

http://nobel.etf.bg.ac.rs/

Page 2: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ARDUINO I LABVIEW

Page 3: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PROBLEMI SA DOSTUPNIM ALATIMA

Serial Monitor

• Nije grafički prijatno korisničko okruženje.

• Ne dozvoljava skiciranje podataka.

Serial Plotter

• Ne omogućava rad sa tekstom.

• Ne omogućava slanje podataka tokom skiciranja.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 4: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZAŠTO POVEZUJEMO ARDUINO SA LABVIEW-OM?

• Omogućava simultanu manipulaciju sa tekstom i brojevnim vrednostima.

• Omogućava skiciranje signala u realnom vremenu.

• Moguća je realizacija programa koji skiciraju više signala istovremeno.

• Dozvoljena je komunikacija u oba smera. (Računar Arduino)

• Omogućava bržu i kompleksniju obradu podataka u realnom vremenu.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 5: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

DOSTUPNE OPCIJE ZA POVEZIVANJE

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

• LIFA: LabVIEW interface for Arduino. (Nije više preporučena opcija)

• LINX: Trenutno preporučeno gotovo rešenje. Omogućava pristup periferijama i

interfejsima popularnih „embedded“ platformi. Ograničene mogućnosti.

• VISA: Direktna komunikacija sa „embedded“ platformom preko serijskog

porta.

Page 6: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

LIFA

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 7: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

LINX

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 8: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PRIMER – LINX

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 9: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PREDNOSTI I MANE KORIŠĆENJA LIFA I LINX

Prednosti:

• Brzo i jednostavno programiranje u slučaju jednostavnih aplikacija.

• Nije potrebno izlaziti izvan LabVIEW okruženja.

• Izvršavanje je diktirano izvršavanjem na računaru.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Mane:

• Ograničena funkcionalnost.

• Korišćenje biblioteka?

• Manja zajednica inženjera koji

se bave ovom problematikom.

Page 10: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

VISA

• VI – jevi koji omogućavaju komunikaciju sa uređajima, povezanim na serijski

port.

• Funkcije opšte namene (nisu vezane za Arduino).

• Omogućavaju modularnost realizovanih programa (moguća je jednostavna

promena sa platforme na platformu).

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 11: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

VISA PALETA I SERIAL PALETA

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 12: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

IZVRŠAVANJE KODA

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Arduino kod:loop

LabVIEW kod:While

Page 13: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PRIMER ARDUINO KODA

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Sekcija za čitanje poruka poslatih sa računara

Sekcija za slanje poruka računaru

Kašnjenje koje približno definiše frekvenciju izvršavanja Arduino koda.

Page 14: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ČITANJE SA SERIJSKOG PORTA – POLLING

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 15: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

UPISIVANJE NA SERIJSKI PORT

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 16: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZADATAK 1

• Kreirati „Serial Monitor“ za Arduino u LabVIEW okruženju, korišćenjem polling

metode.

• Varitati frekvencije izvršavanja Arduino i LabVIEW kodova i uočiti efekat koji se

javlja ukoliko se vrednosti sa Arduina šalju brže nego što ih LabVIEW može obraditi.

• Nakon završenog zadatka, program prekinuti nasilno, pritiskom na Abort execution.

• Probajte da pokrenete program ponovo.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 17: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZATVARANJE RESURSA

• Kada je program prekinut nasilno, funkcija „VISA Close“ ne stiže da se izvrši i

COM port više nije upotrebljiv.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 18: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZATVARANJE RESURSA

• Ponovna upotrebljivost COM porta se postiže pokretanjem posebnog VI-ja u

kome se forsirano vrši zatvaranje komunikacije. Tada je COM port ponovo

dostupan za rad u regularnom programu.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 19: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

“EVENT DRIVEN” KOMUNIKACIJA

• Paleta sa funkcijama koje detektuju događaje na serijskom portu.

• Omogućava čitanje vrednosti tek kada informacija pristigne na računar.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 20: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

“EVENT DRIVEN” ČITANJE SA PORTA

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 21: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PARALELNO ČITANJE I UPISIVANJE

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 22: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PRIKAZIVANJE BROJNIH VREDNOSTI NA GRAFIKU

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 23: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

PROBLEMI U PRIMENI

• Byte count: moramo imati u vidu maksimalan broj bajtova koji očekujemo da primimo. VISA Read daje izlaznu vrednost tek kada pročita odgovarajući broj bajtova, ili kada pročita „line feed“ karakter! Iz ovog razloga je preferabilno koristiti Serial.println() funkciju naspram Serial.print() funkcije. U slučaju druge funkcije, računaru se ne šalje „line feed“ konstanta na kraju poruke, te može doći do spajanja poruka i lošeg očitavanja.

• Timeout

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 24: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZADATAK 2

• Napraviti program koji omogućava korisniku da preko kontrole u vidu točkića

na front panelu kontroliše poziciju servo motora, povezanog na pin 9 Arduino

UNO ploče.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 25: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZADATAK 3

• Realizovati „Event driven“ program koji omogućava kontinualnu analognu

akviziciju, kao i trenutnu kontrolu nad ugrađenom svetlećom diodom Arduino

UNO ploče (Svetlećoj diodi se pristupa preko digitalnog pina 13 na ploči).

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018

Page 26: Arduino i LabVIEW - PMS2nobel.etf.bg.ac.rs/studiranje/kursevi/of2pis/materijali/2018/Arduino i Labview.pdf · 352%/(0, 6$ '267831,0 $/$7,0$ 6huldo 0rqlwru 1lmh judil nl sulmdwqr nrulvql

ZADATAK 4

• Realizovati program koji omogućava istovremeno iscrtavanje signala sve tri

ose akcelerometra. Koristiti modifikovane Arduino kodove, korišćene na

prethodnom času.

PRAKTIKUM IZ MERNO-AKVIZICIONIH SISTEMA 2017/2018