69
LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ELEKTROMOTORNIM POGONIMA LABORATORIJA ZA ELEKTRI^NU VU^U Naziv ve`be Laboratorijska stanica za ispitivanje algoritama upravljanja indirektno vektorski upravljanim asinhronim motorom VEKTRA Beograd, 2006.

LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ELEKTROMOTORNIM POGONIMA

LABORATORIJA ZA ELEKTRI^NU VU^U

Naziv ve`be

Laboratorijska stanica za ispitivanje algoritama upravljanja indirektno vektorski upravljanim asinhronim motorom

VEKTRA

Beograd, 2006.

Page 2: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

1

SADR@AJ

Strana

1. Uvod ..................................................................................................................................... 3

2. Pitanja za proveru znanja ................................................................................................. 6

3. Zadatak .............................................................................................................................. 7

3.1 Upoznavanje S/W laboratorijske stanice VEKTRA ................................................... 8

3.1.1 Program za generisanje Real-Time prekida (realtime.exe) ............................. 8

3.1.2 Program za ~itanje inkrementalnog enkodera (enc2000.exe) ........................ 8

3.1.3 Program za generisanje obrtnih vektora (sin2000.exe) ................................... 9

3.1.4 Program za indirektno vektorsko upravljanje asinhronim motorom

sa direktnim zadavanjem momenta (direct.exe) ............................................. 9

3.1.5 Program za indirektno vektorsko upravljanje asinhronim motorom

sa regulacijom brzine (speed.exe) ................................................................... 10

3.2 Eksperimentalni rad na laboratorijskoj stanici VEKTRA .......................................... 10

3.2.1 Snimanje valovitosti statorske struje asinhronog motora ............................... 10

3.2.2 Analiza uticaja promene temperature na ta~nost rada algoritma

indirektnog vektorskog upravljanja ................................................................ 11

3.3 Izmena S/W laboratorijske stanice VEKTRA ............................................................ 11

3.3.1 Izmena sinusne tabele u programu sin2000.exe (2000 u 501) ........................ 11

3.3.2 Izmena sinusne tabele u programu sin2000.exe (2000 u 126) ........................ 12

3.3.3 Izmena periode odabiranja regulatora brzine u programu speed.exe ............. 12

4. Teorijski osnovi .................................................................................................................. 13

4.1 Indirektno vektorsko upravljanje asinhronim motorom ............................................. 13

4.1.1 Svrha ............................................................................................................... 14

4.1.2 Implementacija ............................................................................................... 16

4.1.3 H/W zahtevi .................................................................................................... 19

4.1.4 S/W zahtevi ..................................................................................................... 20

4.1.5 Prakti~na realizacija ........................................................................................ 21

4.2 Nelinearna strujna regulacija ...................................................................................... 22

Page 3: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

2

5. Prakti~ni aspekti rada sa laboratorijskom stanicom VEKTRA ................................... 24

5.1 Opis H/W laboratorijske stanice VEKTRA ................................................................ 24

5.1.1 PC ra~unar i prilagodna kartica 1 ................................................................... 26

5.1.2 Prilagodna kartica 2 ........................................................................................ 28

5.1.3 Strujno regulisani naponski invertor ............................................................... 30

5.1.4 Asinhroni motor i optere}enje ........................................................................ 36

5.1.5 Inkrementalni opti~ki enkoder ........................................................................ 37

5.2 Opis S/W laboratorijske stanice VEKTRA ................................................................ 38

5.2.1 Program za generisanje Real-Time prekida (realtime.exe) ............................. 38

5.2.2 Program za ~itanje inkrementalnog enkodera (enc2000.exe) ......................... 39

5.2.3 Program za generisanje obrtnih vektora (sin2000.exe) .................................. 40

5.2.4 Program za indirektno vektorsko upravljanje asinhronim motorom

sa direktnim zadavanjem momenta (direct.exe) ............................................. 40

5.2.5 Program za indirektno vektorsko upravljanje asinhronim motorom

sa regulacijom brzine (speed.exe) ................................................................... 41

5.3 Procedura uklju~enja/isklju~enja laboratorijske stanice VEKTRA ............................ 42

5.4 Postupak merenja na laboratorijskoj stanici VEKTRA .............................................. 42

6. Prilozi ................................................................................................................................. 44

6.1 Elektri~ne {eme veza H/W laboratorijske stanice VEKTRA ...................................... 44

6.2 Izvorni kod S/W laboratorijske stanice VEKTRA ...................................................... 55

6.3 Simulink model brzinske regulacione petlje speed.mdl .............................................. 66

6.4 Opis programa vektor.exe ........................................................................................... 67

7. Literatura ............................................................................................................................ 68

Page 4: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

3

1. Uvod

Ve`ba je namenjena studentima koji poha|aju nastavu iz predmeta:

Mikroprocesorsko upravljanje elektromotornim pogonima (TE5MUE) Elektri~na vu~a (EG4EV)

Cilj ve`be: Upoznavanje studenata sa savremenim digitalno regulisanim servo pogonom koji za izvr{ni organ koristi indirektno vektorski upravljani asinhroni motor. U tu svrhu, predvi|eno je da studenti samostalno ve`baju na laboratorijskoj stanici VEKTRA, i kroz niz od 10 zadataka, prakti~no se upoznaju sa:

H/W resursima savremenog servo pogona Digitalnim kontrolerom D/A konvertorima Strujno regulisanim naponskim invertorom Asinhronim motorom Dava~em (inkrementalnim opti~kim enkoderom) Broja~em enkoderskih impulsa

S/W resursima savremenog servo pogona Real-time prekidnom rutinom Algoritmom za ~itanje inkrementalnog enkodera Algoritmom za generisanje obrtnih vektora Algoritmom indirektnog vektorskog upravljanja Digitalnim regulatorom brzine

Laboratorijska stanica VEKTRA se nalazi u Laboratoriji za Mikroprocesorsko upravljanje elektromotornim pogonima (ETF) u sobi 40a. Termini za ve`banje se odre|uju u dogovoru sa predmetnim asistentom. Za detaljne informacije obratiti se na:

lokal: 373 (soba 40a), ili 369 (soba 27) ili na:

binella@ etf.bg.ac.yu

Page 5: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

4

Sadr`aj: Ve`ba je organizovana u sedam poglavlja slede}eg sadr`aja:

Uvodne napomene date su u prvom poglavlju.

U drugom poglavlju, data su pitanja za proveru znanja.

U tre}em poglavlju, nazna~en je zadatak ve`be.

U ~etvrtom poglavlju, dati su teorijski osnovi neophodni za razumevanje i uspe{nu reali-zaciju ve`be. Izlo`eni su koncepti indirektnog vektorskog upravljanja asinhronim motorom i nelinearne strujne regulacije.

U petom poglavlju, detaljno su opisani H/W i S/W resursi laboratorijske stanice VEKTRA, pocedura uklju~enja/isklju~enja laboratorijske stanice VEKTRA i postupak merenja izlaznih veli~ina laboratorijske stanice VEKTRA.

U {estom poglavlju, date su elektri~ne {eme veza H/W i izvorni C kod S/W laboratorijske stanice VEKTRA. Opisani su Simulink model brzinske regulacione petlje speed.mdl i program za indirektno vektorsko upravljanje asinhronim motorom sa grafi~kim interfejsom vektor.exe.

Spisak referentne literature dat je u sedmom poglavlju. Postupak:

Pre dolaska na ve`bu: Pro~itati tekst ve`be Odgovoriti na pitanja za proveru znanja (vidi Poglavlje 2) Odgovore uneti u Izve{taj Re{iti zadatke iz Poglavlja 3.3 Re{enja zadataka uneti u Izve{taj

Po dolasku na ve`bu: Re{iti zadatake iz Poglavlja 3.1 i 3.2 Verifikovati re{enja zadataka iz Poglavlja 3.3

Po zavr{etku ve`banja: Re{enja zadataka prikazati u Izve{taju Izve{taj predati predmetnom asistentu

Potrebni alati (samo za studente TE5MUE):

PC ra~unar ANSI C kompajler za DOS Programski paket Matlab/Simulink (verzija 5.1 ili vi{e)

Potrebne datoteke (samo za studente TE5MUE):

Simulink model speed.mdl i Matlab komandna datoteka go_speed.m Izvorni kod S/W laboratorijske stanice VEKTRA source.zip Programi demo501.exe i demo126.exe

Pomenute datoteke su dostupne na WEB site-u:

Page 6: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

5

ddc.etf.bg.ac.yu

Page 7: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

6

2. Pitanja za proveru znanja

U ovom poglavlju, data su pitanja za proveru znanja na koja treba odgovoriti pre dolaska na ve`bu. Pitanja se odnose na laboratorijsku stanicu VEKTRA. Odgovore na pitanja uneti u Izve{taj. Pitanje 1: Za pogon lifta koristi se indirektno vektorski upravljani asinhroni motor sa podacima:

fnom = 50 Hz, nnom = 1400 ob/min, In = 20 A.

Ako je pobuda asinhronog motora nominalna (Id = Idnom), skicirati rukom talasni oblik jedne faze statorske struje asinhronog motora za slu~aj kada je:

a) n = 0 [ob/min], Mopt = Mnom

b) n = 1400 [ob/min], Mopt = Mnom

Na svakom od talasnih oblika nazna~iti kolika je amplituda i u~estanost statorske struje.

Pitanje 2: Koliko energetskih prekida~a ima u invertoru laboratorijske stanice VEKTRA?

Pitanje 3: ^emu slu`i otpornik za ko~enje i kada se on koristi?

Pitanje 4: Koliko iznosi mrtvo vreme (vreme potrebno za komutaciju dva energetska prekida~a u istoj grani invertora) i na koji na~in je ono realizovano u laboratorijskoj stanici VEKTRA.

Pitanje 5: Navesti pozitivna i negativna svojstva koncepta nelinearne strujne regulacije.

Pitanje 6:

Izlazni napon osmobitnog D/A konvertora uzima vrednosti iz opega [-10 ÷ 10] VDC. Ako se na ulaz D/A konvertora dovede broj 0040h, koliki napon }e se pojaviti na njegovom izlazu?

Pitanje 7: Inkrementalni opti~ki enkoder sa 1000 markera i dva detekciona kompleta koristi se kao dava~ u laboratorijskoj stanici VEKTRA. Ako je brzina obrtanja vratila asinhronog motora konstantna i iznosi n = 300 ob/min, skicirati rukom talasne oblike napona koji se javljaju na izlazima detekcionih kompleta i nazna~iti koliko iznosi njihova u~estanost.

Pitanje 8: Koliko ~esto se resetuje dvosmerni broja~ ekoderskih UP/DOWN impulsa u laboratorijskoj stanici VEKTRA pri brzini n = 300 ob/min? Obrazlo`iti.

Pitanje 9: Koliko iznosi perioda odabiranja regulatora brzine u laboratorijskoj stanici VEKTRA?

Pitanje 10: Napisati diferencne i algebarske jedna~ine algoritma indirektnog vektorskog upravljanja. Uzeti da je fluks nominalan i da su poznati parametri asinhronog motora.

Page 8: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

7

3. Zadatak

U ovom poglavlju, nazna~en je zadatak ve`be. Ve`banje se sastoji iz tri dela.

Prvi deo ve`banja ~ine zadaci nazna~eni u Poglavlju 3.1. Ve`banje je namenjeno studentima smera EG4EV i TE5MUE. Zadaci se re{avaju putem eksperimenta na laboratorijskoj stanici VEKTRA. Za ve`banje koristiti programe: realtime.exe, enc2000.exe, sin2000.exe, direct.exe i speed.exe. Pomenuti programi se nalaze na PC ra~unaru laboratorijske stanice VEKTRA u direktorijumu D:\TC\VEKTRA.

Drugi deo ve`banja ~ine zadaci nazna~eni u Poglavlju 3.2. Ve`banje je namenjeno studen-tima smera EG4EV i TE5MUE. Zadaci se re{avaju putem eksperimenta na laboratorijskoj stanici VEKTRA. Za ve`banje koristi program vektor.exe. Pomenuti program se nalazi na PC ra~unaru laboratorijske stanice VEKTRA u direktorijumu D:\TC\VEKTRA.

Tre}i deo ve`banja ~ine zadaci nazna~eni u Poglavlju 3.3. Ve`banje je namenjeno studen-tima smera TE5MUE. Zadaci su programskog tipa i njihovo re{avanje ne zahteva rad na laboratorijskoj stanici VEKTRA. Zadatke treba re{iti pre dolaska na ve`bu. Po dolasku na ve`bu, dobijene rezultate eksperimentalno verifikovati na laboratorijskoj stanici VEKTRA. Za ve`banje je potrebno imati (i) Simulink model speed.mdl i Matlab komandnu datoteku go_speed.m (ii) Programe demo501.exe i demo126.exe. Pomenuti programi i datoteke dati su su u prilog ve`bi.

Page 9: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

8

3.1 Upoznavanje S/W laboratorijske stanice VEKTRA

Cilj ve`banja: Upoznavanje studenata sa S/W resursima laboratorijske stanice VEKTRA:

Real-time prekidnom rutinom Algoritmom za ~itanje inkrementalnog enkodera Algoritmom za generisanje obrtnih vektora Algoritmom indirektnog vektorskog upravljanja Digitalnim regulatorom brzine

U nastavku, date su smernice za izradu prvog dela ve`banja. 3.1.1 Program za generisanje Real-Time prekida (realtime.exe)

Zadatak: (i) Snimiti izlaz programa realtime.exe (ii) Odgovoriti na pitanja

Postupak:

Pro~itati Poglavlje 5.2.1 (sadr`i detaljan opis programa realtime.exe) Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa realtime.exe Snimiti izlaz programa realtime.exe (povorku pravougaonih impulsa) Dobijeni talasni, rukom skicirati u Izve{taju Iza}i iz programa realtime.exe

Pitanja:

1. Koliko iznosi u~estanost prekida u programu realtime.exe 2. [ta je potrebno izmeniti u izvornom kodu programa realtime.exe da u~estanost prekida

bude 2 puta ve}a?

Odgovore na pitanja uneti u Izve{taj. 3.1.2 Program za ~itanje inkrementalnog enkodera (enc2000.exe)

Zadatak: (i) Snimiti izlaz programa enc2000.exe (ii) Odgovoriti na pitanja Postupak:

Pro~itati Poglavlje 5.2.2 (sadr`i detaljan opis programa enc2000.exe) Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa enc2000.exe Rukom okretati vratilo asinhronog motora Snimiti izlaz programa enc2000.exe (detektovanu poziciju) Dobijeni talasni oblik, rukom skicirati u Izve{taju Iza}i iz programa enc2000.exe

Pitanja:

1. Nazna~iti sekvencu u izvornom kodu programa enc2000.exe koja ~ita sadr`aj broja~a enkoderskih impulsa?

2. Objasniti ulogu kontrolnog signala ENABLE u ovoj sekvenci?

Odgovore na pitanja uneti u Izve{taj.

Page 10: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

9

3.1.3 Program za generisanje obrtnih vektora (sin2000.exe)

Zadatak: (i) Snimiti izlaz programa sin2000.exe (ii) Odgovoriti na pitanja Postupak:

Pro~itati Poglavlje 5.2.3 (detaljan opis programa sin2000.exe) Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa sin2000.exe Rukom okretati vratilo asinhronog motora Snimiti izlaz programa sin2000.exe (sinus detektovane pozicije) Dobijeni talasni oblik, rukom skicirati u Izve{taju

Iza}i iz programa sin2000.exe Pitanja:

1. Nazna~iti sekvencu u izvornom kodu programa sin2000.exe koja izra~unava sinus detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor?

2. Koliko odbiraka ima sinusna tabela i kako je ona organizovana?

Odgovore na pitanja uneti u Izve{taj. 3.1.4 Program za indirektno vektorsko upravljanje asinhronim motorom

sa direktnim zadavanjem momenta (direct.exe)

Zadatak: (i) Snimiti izlaz programa direct.exe (ii) Odgovoriti na pitanja Postupak:

Pro~itati poglavlje 5.2.4 (sadr`i detaljan opis programa direct.exe) Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa direct.exe U programu direct.exe, zadati odsko~nu promenu struje Iq sa 0 na 5 Snimiti izlaz programa direct.exe (brzina obrtanja vratila asinhronog motora) Dobijeni talasni oblik, rukom skicirati u Izve{taju Iza}i iz programa direct.exe

Pitanja:

1. Kakav je karakter odsko~nog odziva brzine i {ta on sugeri{e? 2. Nazna~iti sekvencu u izvornom kodu programa direct.exe koja realizuje algoritam

indirektnog vektorskog upravljanja asinhronim motorom? 3. Objasniti ulogu konstane SLIPGAIN u ovoj sekvenci?

Odgovore na pitanja uneti u Izve{taj.

Page 11: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

10

3.1.5 Program za indirektno vektorsko upravljanje asinhronim motorom sa regulacijom brzine (speed.exe) Zadatak: (i) Snimiti izlaz programa speed.exe (ii) Odgovoriti na pitanja Postupak:

Pro~itati Poglavlje 5.2.5 (sadr`i detaljan opis programa speed.exe) Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa speed.exe U programu speed.exe, zadati odsko~nu promenu brzine od 0 do 500 [ob/min] Snimiti izlaz programa speed.exe (brzina obrtanja vratila asinhronog motora) Dobijeni talasni oblik, rukom skicirati u Izve{taju Iza}i iz programa speed.exe

Pitanja:

1. Kakav je karakter odsko~nog odziva brzine? 2. Koliko traje prelazni proces zaletanja? 3. Koliko iznosi perioda odabiranja regulatora brzine?

Odgovore na pitanja uneti u Izve{taj.

3.2 Eksperimentalni rad na laboratorijskoj stanici VEKTRA

Cilj ve`banja: Upoznavanje studenata sa izgledom talasnog oblika struje statora asinhronog motora, uobli~ene putem histerezisnog strujnog regulatora i uticajem temperature na ta~nost rada algoritma indirektnog vektorskog upravljanja. U nastavku, date su smernice za izradu drugog dela ve`banja.

3.2.1 Snimanje valovitosti statorske struje asinhronog motora

Zadatak: (i) Snimiti talasni oblik struje statora asinhronog motora u laboratorijskoj stanici VEKTRA (ii) Odgovoriti na postavljena pitanja. Postupak:

Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa vektor.exe (vidi Poglavlje 6.4) Zadati referentnu brzinu n = 300 ob/min (motor je neoptere}en) Na mernom mestu 3, snimiti struju statora asinhronog motora (vidi Poglavlje 5.1.2) Dobijeni talasni oblik prikazati u Izve{taju Ponoviti zadnje tri ta~ke za slu~aj referentne brzine n = 0 ob/min. Iza}i iz programa vektor.exe

Pitanja:

1. Koliko iznosi u~estanost fundamentala struje statora pri brzini n = 300 ob/min? 2. Koliko iznosi u~estanost strujnog ripla pri brzini n = 0 ob/min? 3. Koliko iznosi amplituda strujnog ripla pri brzini n = 0 ob/min?

Page 12: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

11

3.2.2 Analiza uticaja promene temperature na ta~nost rada algoritma indirektnog vektorskog upravljanja

Zadatak: (i) Putem eksperimenta na laboratorijskoj stanici VEKTRA, analizirati uticaj temperature na ta~nost rada algoritma indirektnog vektorskog upravljanja (ii) Odgovoriti na postavljena pitanja. Postupak:

Uklju~iti laboratorijsku stanicu VEKTRA (vidi Poglavlje 5.3) Pokrenuti izvr{enje programa vektor.exe (vidi Poglavlje 6.4) U programu vektor.exe, zadati referentnu brzinu n = 300 ob/min (opcija 1.) Ko~ioni asinhroni motor opteretiti strujom Idc = 1.5 A (vidi Poglavlje 5.1.4) Na ekranu PC ra~unara, uo~iti talasni oblik pokreta~kog momenta i brzine Ne menjaju}i referentnu brzinu, postepeno smanjivati konstantu klizanja SLIPGAIN (opcija 9.), od po~etne vrednosti SLIPGAIN = 2634 ka nuli, sa korakom 100

Pri svakoj promeni konstante SLIPGAIN, uo~iti promene na talasnom obliku pokreta~kog momenta

Konstantu SLIPGAIN smanjivati sve dok brzina naglo ne opadne (skoro na nulu) Kada se to desi (incidentna situacija), OBAVEZNO (u roku od 30 sekundi) izlazni napon AT smanjiti na nulu, a konstantu SLIPGAIN vratiti na po~etnu vrednost (SLIPGAIN = 2634)

Struju Idc smanjiti na nulu Po potrebi, ogled ponoviti

Pitanja:

1. Prethodni ogled simululira rad indirektno vektorski upravljanog asinhronog motora u prisustvu (a) povi{ene radne temperature (b) sni`ene radne temperature?

2. Usled ~ega je do{lo do naglog smanjenja brzine? Obrazlo`iti. 3.3 Izmena S/W laboratorijske stanice VEKTRA

Cilj ve`banja: Upoznavanje studenata sa algoritmima za brzo izra~unavanje trigonometrij-skih funkcija SIN i COS, i uticajem koji smanjenje periode odabiranja digitalnog regulatora brzine ima na svojstva brzinske regulacione petlje. U nastavku, date su smernice za izradu tre}eg dela ve`banja.

3.3.1 Izmena sinusne tabele u programu sin2000.exe (2000 na 501)

Zadatak: Izmeniti program sin2000.exe tako da sinusna tabela ima 501 odbirak ¼ sinusnog talasnog oblika. Izra~unavanje trigonometrijskih funkcija SIN i COS prilagoditi novom formatu sinusne tabele. Tako dobijeni program nazvati sin501.exe. Postupak:

Pre dolaska na ve`bu: Pro~itati Poglavlje 4.1.4. Na~initi program sin501.exe

Page 13: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

12

Izvorni kod programa sin501.exe prikazati u Izve{taju

Po dolasku na ve`bu, eksperimentalno verifikovati rad programa sin501.exe.

U prilog ve`bi, dat je program demo501.exe (Win32). Program izra~unava SIN i COS digitalne pozicije [0 1999] na osnovu look-up tabele sa 501 odbirak ¼ sinusnog talasnog oblika. Studentima se preporu~uje da po ugledu na demo501.exe, zadatak re{e na PC ra~unaru a zatim, da korisne rutine prebace u sin501.exe.

3.3.2 Izmena sinusne tabele u programu sin2000.exe (2000 na 126)

Zadatak: Izmeniti program sin2000.exe tako da sinusna tabela ima 126 odbiraka ¼ sinusnog talasnog oblika. Izra~unavanje trigonometrijskih funkcija SIN i COS prilagoditi novom formatu sinusne tabele. Zbog redukovanog broja odbiraka u sinusnoj tabeli (R = 2), ta~nost prora~una SIN i COS obezbediti primenom linearne interpolacije. Tako dobijeni program nazvati sin126.exe. Postupak:

Pre dolaska na ve`bu: Pro~itati Poglavlje 4.1.4 Na~initi program sin126.exe Izvorni kod programa sin126.exe prikazati u Izve{taju

Po dolasku na ve`bu, eksperimentalno verifikovati rad programa sin126.exe.

U prilog ve`bi, dat je program demo126.exe (Win32). Program izra~unava SIN i COS digitalne pozicije [0 1999], na osnovu look-up tabele sa 126 odbiraka ¼ sinusnog talasnog oblika i linearne interpolacije. Studentima se preporu~uje da po ugledu na demo126.exe, zadatak re{e na PC ra~unaru a zatim, da korisne rutine prebace u sin126.exe.

3.3.3 Izmena periode odabiranja regulatora brzine u programu speed.exe

Zadatak: (i) Izmeniti program speed.exe tako da perioda odabiranja regulatora brzine bude T = 5 ms. Za novu vrednost periode T, izra~unati vrednosti parametra regulatora brzine KP i KI tako da propusni opseg brzinske regulacione petlje bude fbw = 3 Hz, a odsko~ni odziv brzine, striktno aperiodi~an (maksimalno brz, bez preba~aja). Tako dobijeni program nazvati speed5ms.exe (ii) Eksperimentalno verifikovati rad programa speed5ms.exe na laboratorij-skoj stanici VEKTRA. Postupak:

Pre dolaska na ve`bu:

Upoznati se sa Simulink modelom speed.mdl (vidi Poglavlje 6.3) U skladu sa zadatkom, modifikovati speed.mdl (dobijeni model nazvati speed5ms.mdl) Na osnovu speed5ms.mdl, na~initi program speed5ms.exe Izvorni kod programa speed5ms.exe prikazati u Izve{taju

Po dolasku na ve`bu, eksperimentalno verifikovati rad programa speed5ms.exe.

Page 14: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

13

4. Teorijski osnovi

U ovom poglavlju dati su teorijski osnovi neophodni za razumevanje i uspe{nu realizaciju vezbe. Izlo`eni su koncepti:

Indirektnog vektorskog upravljanja asinhronim motorom Nelinearne strujne regulacije

4.1 Indirektno vektorsko upravljanje asinhronim motorom

Zna~aj asinhronih ma{ina u industriji je veliki, a primena raznovrsna. Po pravilu, mre`om vo|ena asinhrona ma{ina se koristi kao izvr{ni organ (aktuator elektromagnetnog momenta) u pogonima od kojih se zahteva pouzdan rad u uslovima te{ke industrijske eksploatacije i gde ne postoje strogi zahtevi u pogledu kvaliteta izlaznog momenta. Primera radi, asinhrone ma{ine se koriste za pogon velikih pumpnih postrojenja u vodoprivredi i naftnoj industriji. Relevantne analize na~injene u 2001 godini [1] pokazuju da asinhrone ma{ine tro{e do 50% ukupno proizvedene elektri~ne energije.

U primenama u kojima postoje strogi zahtevi u pogledu kvaliteta izlaznog momenta (servo aplikacije i elektri~na vu~a), mre`om vo|ena asinhrona ma{ina se ne koristi jer ima izrazito nepovoljne regulacione karakteristike. Ovu ~injenicu najbolje ilustruje naredna simulacija. Simuliran je ogled zaletanja asinhronog motora koji se napaja mre`nim naponom, bez i u prisustvu optere}enja. Rezultat simulacije je prikazan na sl. 1.

Pod dejstvom mre`nog napona, motor se zale}e u praznom hodu a zatim se optere}uje nominalnim momentom. U toku zaletanja, odsko~ni odziv izlaznog momenta je oscilatoran kao posledica visokog reda diferencijalnih jedna~ina kojima se mo`e opisati dinami~ki model asinhronog motora. Iz tog razloga, mre`om vo|ena asinhrona ma{ina se ne koristi u elektri~noj vu~i i servo aplikacijama, gde se zahteva brz i precizan odziv aktuatora.

0.5 s/pod -2

-1

0

1

2

3

4

5

moment

brzina

Slika 1. Odsko~ni odziv mre`om vo|enog asinhronog motora.

Page 15: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

14

4.1.1 Svrha

Svrha indirektnog vektorskog upravljanja je da od asinhrone ma{ine na~ini linearni izvr{ni organ po ugledu na strujno napajanu ma{inu jednosmerne struje sa nezavisnom pobudom. Podsetimo, ma{ina jednosmerne struje (MJS) sa nezavisnom pobudom poseduje armaturno strujno kolo i pobudno strujno kolo (vidi sl. 2).

Slika 2. Zamenska elektri~na {ema MJS sa nezavisnom pobudom.

U linearnom re`imu rada i pri konstanoj pobudnoj struji ip, MJS se pona{a kao sistem prvog

reda upravljan naponom ua (vidi sl. 3).

Slika 3. Dinami~ki model MJS napajane iz naponskog izvora.

Ako se MJS napaja iz strujnog izvora, dinami~ki model na sl. 3 se dodatno upro{}ava. Na priklju~ne krajeve armaturnog namotaja (A i B), dovodi se jednosmerni napon ua tako da

armaturna struja ia sledi referentni ulaz ia*. Ako je strujni regulator dovoljno brz, opravdano

je uzeti da je ia = ia* . Tada je saglasno modelu na sl. 3, izlazni moment MJS direktno

proporcionalan referentnom ulazu ia*, pa se strujno napajana MJS mo`e smatrati linearnim izvr{nim organom.

M ua

ia

e

A

B ip

C D

Mem Ra La

Ψp = f(ip)

Rp, Lp

Σ ua

sLR aa +1

ω

ip

ia

Ψp

KmMem

Ke

sK

p

p

τ+1

Page 16: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

15

Dinami~ki model strujno napajane MJS sa nezavisnom pobudom prikazan je na sl. 4.

Slika 4. Dinami~ki model MJS napajane iz strujnog izvora.

U indirektnom vektorskom upravljanju, pomo}u trofaznog strujno regulisanog naponskog invertora (strujnog izvora), u asinhronu ma{inu se injektuje statorska struju odgovaraju}e amplitude i prostorne orijentacije (vidi sl. 5).

Slika 5. Indirektno vektorsko upravljanje asinhronim motorom.

Pomo}u ids komponente statorske struje, koja se injektuje u pravcu rotorskog fluksa Ψr,

upravlja se fluksom asinhrone ma{ine. Pomo}u iqs komponente statorske struje, koja se

injektuje normalno na pravac rotoskog fluksa Ψr, upravlja se izlaznim momentom asinhrone ma{ine. Pritom, upravljanje momentom i fluksom je raspregnuto, pa je indirektno vektorski upravljana asinhroni ma{ina, linearni izvr{ni organ pogodan za primenu u elektri~noj vu~i i servo aplikacijama.

Dinami~ki model indirektno vektorski upravljanog asinhronog motora prikazan je na sl. 6.

Slika 6. Dinami~ki model indirektno vektorski upravljanog asinhronog motora.

ip

ia*

Ψp

KmMem

sK

p

p

τ+1

d

q

α, A

β

is

ids iqs θm

θe θk

Ψr

polo`aj rotora

ids

iqs

Ψdr

Mem

sM

rτ+1

rLMp

223

Page 17: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

16

4.1.2 Implementacija

Jedna~ine naponskog balansa za stator i rotor asinhronog motora u sinhronom koordinatnom sistemu glase:

qssds

dssds tiRu ΨωΨ

−+=d

d (1a)

dssqs

qssqs tiRu Ψω

Ψ++=

dd

(1b)

qrkdr

drr tiR ΨωΨ

−+=d

d0 (1c)

drkqr

qrr tiR Ψω

Ψ++=

dd

0 (1d)

Ako se pretpostavi linearna karakteristika magne}enja, jedna~ine fluksnih obuhvata glase

drdssds MiiL +=Ψ , (2a)

qrqssqs MiiL +=Ψ , (2b)

dsdrrdr MiiL +=Ψ , (2c)

qsqrrqr MiiL +=Ψ , (2d)

gde su Ls i Lr, induktivnosti statora i rotora date izrazima

),( sss LMMLL γγ >>+= (3a)

).( rrr LMMLL γγ >>+= (3b)

Zadatak indirektnog vektorskog upravljanja je da omogu}i {to ta~nije upravljanje izlaznim momentom asinhronog motora:

)(22

3)(22

3dsqrqsdr

rdsqsqsdsssem ii

LMpiipiM ΨΨΨΨΨ −=−=×=

rr (4)

Da bi se to postiglo, potrebno je ostvariti

.0=qrΨ (5)

Tada je, saglasno izrazu (4)

qsdrr

em iLMpM Ψ

223

= . (6)

Klizanje pri kojem je zadovoljen uslov (5) dobija se iz izraza (1d) i (2d) i glasi

qsdrr

k MiΨτ

ω 11= , (7)

gde je τr, dominanta vremenska konstanta rotora data izrazom

r

rr R

L=τ . (8)

Page 18: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

17

Fluksom Ψdr upravlja se pomo}u struje ids. Iz izraza (1c) i (2c) uz uslov (5), dobija se

dsr

drr

dr Mit τ

Ψτ

Ψ 11d

d+−= (9)

Jedna~inama (6) i (9) odgovara dinami~ki model prikazan na sl. 6.

Dakle, uz uslove:

Motor je strujno napajan (propusni opseg strujne petlje je velik),

Poznata je orijentacija rotorskog fluksa (klizanje ωk), d-osa je orijentisana u pravcu rotorskog fluksa,

dinami~ki model asinhronog motora se svodi na model strujno napajane MJS sa nezavisnom pobudom.

Za realizaciju algoritma indirektnog vektorskog upravljanja, klju~no je poznavanje prostorne

orijentacije rotorskog fluksa (vidi sl. 5). Ugao θe se mo`e proceniti kao

kme θθθ += , (10)

gde je θm, ugaoni pomeraj rotora asinhrone ma{ine u odnosu na stator (meri pomo}u dava~a

pozicije koji se nalazi na vratilu asinhronog motora) i gde je θk ugao klizanja se pocenjuje na osnovu brzine klizanja (7) kao

ttt

kk ∫=0

d)(ωθ . (11)

Upravlja~ka struktura koja realizuje algoritam indirektnog vektorskog upravljanja asinhro-nim motorom, prikazana je na sl. 7.

Ulazi u algoritam indirektnog vektorskog upravljanja su:

Referentni moment M*

Referentni fluks Ψdr*

Polo`aj rotora asinhronog motora θm

Izlaz algoritma indirektnog vektorskog upravljanja su:

Strujne reference ia*, ib* i ic*

Strujne reference se prosle|uju strujno regulisanom naponskom invertoru (strujnom izvoru) koji na priklju~nim krajevima asinhrone ma{ine generi{e sistem trofaznih napona tako da statorske struje slede zadate strujne reference. Ako je propusni opseg strujne petlje dovoljno velik, izlazni moment asinhrone ma{ine jednak je referentnom momentu M*. Tada asinhrona ma{ina, kao i strujno napajana MJS sa nezavisnom pobudom, postaje linearni izvr{ni organ pogodan za primenu u elektri~noj vu~i i servo aplikacijama.

Page 19: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

18

Slika 7. Blok dijagram indirektno vektorski upravljanog asinhronog motora.

U brojnim primena algoritma indirektnog vektorskog upravljanja, elektromagnetni fluks asinhrone

ma{ine je konstantan i nominalan (Ψdr* = Ψn*). Tada se klizanje ωk, saglasno izrazima (7) i (9), mo`e proceniti kao

.*

qsn

qsknk i

iωω = (12)

U tom slu~aju, algoritam indirektnog vektorskog upravljanja ima izgled kao na sl. 8.

Slika 8. Algoritam indirektnog vektorskog upravljanja.

Ψdr*

M1

M* p2

32 ÷

r

dq/αβ 2F/3F

invertor sa

strujnom regulacijom

AM

rsτ+11 Σ∫

θm

θe

Parkova Klarkova

ids*

iqs*

drΨ

θe

Dava~

iα*

iβ*

ia*

ib*

ic*

÷

E

Algoritam indirektnog vektorskog upravljanja

D

kθkω

Ψn* M1

M* p2

32

qsn

kn

dq/αβ 2F/3F

Σ∫θm

θe

Parkova Klarkova

idsn*

iqs*

iα*

iβ*

ia*

ib*

ic*

÷ θe

Page 20: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

19

4.1.3 H/W zahtevi

Za realizaciju algoritma indirektnog vektorskog upravljanja prikazanog na sl. 8, potrebno je imati digitalni kontroler koji ima mogu}nost generisanja Real-Time prekida i koji poseduje (i) broja~ enkoderskih impulsa (ii) dva D/A konvertora (vidi sl. 9).

Slika 9. H/W zahtevi indirektnog vektorskog upravljanja.

Prekidna rutina u ekvidistantnim vremenskim intervalima sa periodom T, izvr{ava algoritam indirektnog vektorskog upravljanja. Algoritam na ulazu o~itava sadr`aj broja~a enkoderskih impulsa θm(k) i digitalne strujne reference ids*(k) i iqs*(k), koje sti`u iz nadre|ene brzinske ili

pozicione petlje. Na izlazu, algoritam generi{e digitalne strujne reference iα*(k) i iβ*(k) i prosle|uje ih D/A konvertorima. Pomo}u D/A konvertora, digitalne strujne reference iα*(k) i iβ*(k) se pretvaraju u analogne strujne reference iα*(t) i iβ*(t). Zadatak strujno regulisanog naponskog invertora je da zadate analogne strujne reference isprati {to br`e i {to preciznije.

Perioda odabiranja algoritma indirektnog vektorskog upravljanja T, mora biti barem za red veli~ine manja od vremenske konstante rotora (8). Tada strujni regulator ima mogu}nost da potisne sporopromenljivi poreme}aj u vidu indukovane elektromotorne sile statora i obezbedi zahtevanu dinamiku i ta~nost strujne regulacije. Tipi~no, vrednost periode T iznosi

od x10μs do x100μs. Ovo relativno kratko vreme name}e potrebu za brzim digitalnim kon-trolerima, koji u realnom vremenu mogu da obave slo`ena izra~unavanja. Pre svega, tu se misli na obrtnu transformaciju, jer podrazumeva prora~un trigonometrijskih funkcija SIN i COS.

Broja~ enkoderskih impulsa

iα*(t)

iβ*(t)

iα*(k)

iβ*(k)

θe(k)

θm(k)

DIGITALNI KONTROLER

faza A

faza B

)1()()( −−= kkk mmm θθθΔ

)(sin)()(cos)()( kkikkiki eqseds θθβ +=

)(sin)()(cos)()( kkikkiki eqseds θθα −= ids*(k)

iqs*(k)

D/A

D/A

)()()1()( kkkk kmee θΔθΔθ θ ++−=

Tkk kk )()( ωθ =Δ

Real-Time prekidna rutina

Page 21: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

20

4.1.4 S/W zahtevi

Za izra~unavanje trigonometrijskih funkcija SIN i COS u algoritmu indirektnog vektorskog upravljanja, naj~e{}e se koristi aproksimativni metod koji se zasniva na upotrebi sinusne (look-up) tabele. U ovom pristupu, odbirci 1/4 sinusnog talasnog oblika se u vidu tabele sme{taju u programsku memoriju digitalnog kontrolera. Na~in formiranja sinusne tabele prikazan je na sl. 10.

Slika 10. Tabeliranje 1/4 sinusnog talasnog oblika.

U fazi izvr{enja programa, za vrednost digitalnog ekvivalenta pozicije iz opsega [0 4N – 1], iz sinusne tabele direktno se o~itava sinus u Q15 formatu. Prednost ovog pristupa ogleda se u velikoj brzini rada. Mana je veliko zauze}e programske memorije.

Primenom linearne aproksimacije, mogu}e je smanjiti veli~inu sinusne tabele a da se pritom,

zna~ajno ne smanji ta~nost prora~una. Tipi~no, uzima se 2R puta manje odbiraka (R ≥ 2), jer tada programska realizacija linearne interpolacije zahteva deljenje faktorom 2R, {to se u digitalnom kontroleru jednostavno implementira (aritmeti~ko {iftovanje akumulatora za R mesta udesno). Primera radi, pri faktoru R = 2, za izra~unavanje trigonometrijske funkcije SIN koristi se obrazac prikazan na sl. 11.

Slika 11. Izra~unavanje SIN pomo}u sinusne tabele i linearne aproksimacije.

⎟⎠⎞

⎜⎝⎛=

Nkky

2sin2)( 15 π

0

. . .

N

. . .

1

k

. . .

y(k)

(4k) 4k + 3

y(k)

y(k + 1)

4k + 1 4k + 2 (4k + 4)

mod4 (k) mod4 (k + 1)

y(4k + 2)

Page 22: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

21

4.1.4 Prakti~na realizacija Polaze}i od upravlja~ke strukture na sl. 9, u laboratorijskoj stanici VEKTRA prakti~no je realizovan algoritam indirektnog vektorskog upravljanja asinhronim motorom (vidi Poglavlje 6.2). Parametri asinhronog motora dati su u Poglavlju 5.1.4. Za date parametre, izra~unate su dq komponente statorske struje u nominalnom radnom re`imu

A93.1A37.12 =⋅=dsni , (13a)

A24.2A59.122 22 =⋅=−= dsnsnqsn IIi . (13b)

U poglavlju 5.1.2 je pokazano da broju 255 upisanom u registar D/A konvertora odgovara izlazni napon od +10 VDC. Otuda, procesorski ekvivalenti struja idsn i iqsn uzimaju vrednosti

9852552 =⋅⋅=

AII dsnDNOM , (14a)

11452552 =⋅⋅=

AII qsnQNOM . (14b)

Polaze}i od izraza (12), izvodi se procesorka konstanta SLIPGAIN, koja defini{e zavisnost

prira{taja ugla klizanja Δθk od struje iqs*, u toku jedne periode odabiranja T

21082602SLIPGAIN 16 ==πω

nQNOM

kn KI

T, (15)

gde su:

ωk = 110 [ob/min], nominalna brzina klizanja

T = 0.001 [s], perioda odabiranja

Kn = 2000/2π, prenosni odnos inkrementalnog enkodera

Mno`enjem sa 216, obezbe|uje se 32-bit ta~nost prora~una.

Izvorni C kod koji realizuje algoritam indirektnog vektorskog upravljanja glasi:

TETA.WORD.HI += nIncPos; TETA.WORD.HI += nIncPos; nSlipInc = (long)SLIPGAIN*nIQref;

TETA.ALL += nSlipInc; TETA.ALL += nSlipInc; if(TETA.ALL > LONG1999) TETA.ALL -= LONG2000; if(TETA.ALL < 0) TETA.ALL += LONG2000; nTetaE = (UINT)TETA.WORD.HI; nSinTeta = SIN(nSineTable, nTetaE); nCosTeta = COS(nSineTable, nTetaE); ACC.ALL = (long)IDNOM*nCosTeta - (long)nIQref*nSinTeta; nIalfa = ACC.WORD.HI; // Strujne reference ACC.ALL = (long)IDNOM*nSinTeta + (long)nIQref*nCosTeta; nIbeta = ACC.WORD.HI; // Strujne reference

Page 23: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

22

4.2 Nelinearna strujna regulacija Zahtev indirektnog vektorskog upravljanja koji se odnosi na strujno napajanje asinhronog motora mo`e biti zadovoljen ako se za regulaciju statorske struje asinhronog motora koristi histerezisni regulator prikazan na sl. 12.

Slika 12. Nelinearna regulacija statorske struje asinhronog motora.

Princip rada:

Histerezisni regulator poredi referentnu struju ia* i faznu struju ia:

Kada ia padne na vrednost ia* – H, pali se prekida~ S1 (struja ia raste)

Kada ia dostigne vrednost ia* + H, pali se prekida~ S2 (struja ia opada)

Izgled statorske struje asinhronog motora, obli~ene putem histerezisnog strujnog regulatora, dat je na sl. 13.

Slika 13. Struja statora asinhronog motora uobli~ena putem histerezisnog strujnog regulatora.

Fazna struja ia osciluje u histerezisnom prozoru oko zadate reference ia* (vidi sl. 13) Pritom, uslov koji mora biti zadovoljen glasi

maxd*d

2 tiLemsE a

sγ+> . (16)

Σ

+E/2

Lγs ia*(t)

ia(t)

S1

S2 Ui

+/-H

-E/2

~ωΨr

ems

ia

+ H

- H

ia

ia* t

Page 24: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

23

Invertor mora imati dovoljnu naponsku marginu kako ne bi do{lo do izobli~enja statorske struje ia.

Amplituda strujnog ripla je konstantna i odre|ena je {irinom histerezisnog prozora H, dok se u~estanost menja. U literaturi [2] je pokazano da u~estanost strujnog ripla zavisi od indeksa

modulacije izlaznog napona m i parametara E i Lγs

)(2

)( 2mmHL

Emfs

sw −=γ

(14)

Prednosti: Histerezisni regulator trenutno reaguje na strujnu gre{ku, pa se mo`e smatrati da je propusni opseg strujne petlje teorijski beskona~an. Mane: Komutacije u invertorskom mostu nisu stacionarne. Saglasno izrazu (14), njihova u~estanost zavisi od indeksa modulacije m (vidi sl. 14).

Slika 15. Nestacionarne komutacije prekida~a u invertoru.

U~estanost komutacija je najmanja kada m → 0 i m → 1, a najve}a za m = 0.5.

Zbog nestacionarnih komutacija, spektru izlaznog napona ne poseduje samo harmonijsku komponentu na u~estanosti 1/T (kao kod PWM modulacije), ve} i mno{tvo vi{ih harmonika. Ovo za posledicu ima pove}anu buku i jako izra`ene elektromagnetne smetnje, koje je te{ko potisnuti. Komutaciona u~estanost raste u oblasti malih brzina kada je indukovana ems statora mala. U~estanost komutacija je odre|ena vremenom potrebnim da strujna gre{ka napravi ekskurziju 2H, i osim od H, zavisi i od strmine struje koja je uslovljena sa E, ems i

Lγs.

uisr

+E/2

+E

t

0

m = 0.5

m → 1

m → 0

t

~este komutacije

retke komutacije

ui

E

0

Page 25: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

24

5. Prakti~ni aspekti rada sa laboratorijskom stanicom VEKTRA U ovom poglavlju, dat je detaljan opis laboratorijske stanice VEKTRA. Opisani su:

H/W resursi laboratorijske stanice VEKTRA S/W resursi laboratorijske stanice VEKTRA Procedura uklju~enja/isklju~enja laboratorijske stanice VEKTRA Postupak merenja na laboratorijskoj stanici VEKTRA

5.1 Opis H/W resursa laboratorijske stanice VEKTRA

Izgled laboratorijske stanice VEKTRA dat je na sl. 16.

Slika 16. Laboratorijska stanica VEKTRA. Rednim brojevima na sl. 16, ozna~eni su H/W resursi laboratorijske stanice VEKTRA:

1. PC ra~unar sa prilagodnom karticom 1 2. Prilagodna kartica 2 3. Strujno regulisani naponski invertor 4. Asinhroni motor i optere}enje 5. Inkrementalni opti~ki enkoder

Osciloskop prikazan na sl. 16 deo je merne opreme laboratorijske stanice VEKTRA. Koristi se za snimanje izlaznih veli~ina laboratorijske stanice VEKTRA.

Funkcionalni blok dijagram laboratorijske stanice VEKTRA prikazan je na sl. 17. Ima za cilj da uka`e na uzajamnu povezanost H/W resursa laboratorijske stanice VEKTRA i osvetli tok najva`nih digitalnih i analognih signala u njoj. U tu svrhu, uzeto je da PC ra~unar izvr{ava program za indirektno vektorsko upravljanje asinhronim motorom sa regulacijom brzine speed.exe.

1

3

4 5

2

Page 26: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

25

Slika 17. Funkcionalni blok dijagram laboratorijske stanice VEKTRA.

Program speed.exe sadr`i rutinu main (program niskog prioriteta) i real-time prekidnu

rutinu new_timer_handler (vidi Poglavlje 5.2.5). Rutina main omogu}ava korisniku

zadavanje vrednosti referentne brzine i kontrolisani izlazak iz programa. Prekidna rutina se izvr{ava u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms. Ulazi u prekidnu rutinu su (i) referentna brzina (ii) digitalni ekvivalent pozicije enc(k) koji se dobija o~itavanjem sadr`aja broja~a enkoderskih impulsa. Na osnovu ovih ulaza, u prekidnoj rutini se izvr{avaju upravlja~ke rutine (regulacija brzine i indirektno vektorsko upravljanje) koje na izlazu daju (i) digitalne signale op{te namene var1(k) i var2(k) (ii) digitalne strujne reference iα*(k) i iβ*(k) (iii) digitalni kontrolni signal enable koji je aktivan pri ~itanju enc(k). Digitalni izlazi op{te namene se koriste za ispis digitalnih veli~ina na D/A konvertor. Tada se mogu posmatrati pomo}u osciloskopa. U slu~aju programa speed.exe, digitalni izlaz var1(k) je upotrebljen za ispis regulisane brzine dok se var2(k) ne koristi.

Prilagodna kartica 1 se nalazi na ISA magistrali PC ra~unara. Omogu}ava prenos digitalnih signala var1(k), var2(k), iα*(k), iβ*(k), enc(k) i enable izme|u PC ra~unara i prilagodne kartice 2. Prenos digitalnih signala se obavlja putem flat-kabla.

Prilagodna kartica 2 poseduje ~etiri D/A konvertora (DAC1 do DAC4), broja~ enkoderskih impulsa i tri merna mesta (MM1 do MM3). D/A konvertori DAC1 i DAC1 vr{e konverziju digitalnih signala op{te namene var1(k) i var2(k) u analogne signale var1(t) i var2(t), respektivno. Analogni izlazi var1(t) i var2(t) se posmatraju pomo}u osciloskopa na mernom mestu 2 (MM2). D/A konvertori DAC3 i DAC3 vr{e konverziju digitalnih strujnih referenci iα*(k) i iβ*(k) u analogne strujne reference iα*(t) i iβ*(t), respektivno. Analogne strujne

reference iα*(t) i iβ*(t) se prosle|uju strujno regulisanom naponskom invertoru. Posmatraju se pomo}u osciloskopa na mernom mestu 3 (MM3).

korisnik

program

1. 2.

iα*(k) iβ*(k)

enc(k)

enable

3x8255

DAC1

Broja~enkoderskih

impulsa

8-bit 8-bit

1-bit

12-bit

var1(k) var2(k)

8-bit 8-bit

DAC2DAC3DAC4

PK1

iα*(t) iβ*(t)

5.

Faza

A

Faza

B

AM

ia(t)

3.

4.

ib(t) ic(t)

u v wxy

z

main

MM2

MM3

MM1

~220V

AT

Prek

ida

rutin

a

iα(t) iβ(t)

Page 27: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

26

Strujno regulisani naponski invertor generi{e trofazni sistem napona na priklju~nim krajevi-ma asinhronog motora tako da statorske struje ia(t), ib(t) i ic(t) odnosno, iα(t) i iβ(t) slede

zadate analogne strujne reference iα*(t) i iβ*(t). Statorske struje iα(t) i iβ(t) posmatraju se pomo}u osciloskopa na mernom mestu 3 (MM3) prilagodne kartice 2.

Inkrementalni opti~ki enkoder sa 1000 impulsa po obrtu i dva detekciona kompleta (A i B) koristi se za merenje pozicije vratila asinhronog motora. Prilikom obrtanja vratila asinhronog motora, inkrementalni enkoder generi{e impulse ~ija je u~estanost direktno proporcionalana ugaonoj brzini obrtanja. Impulsi faza A i B inkrementalnog enkodera prosle|uju se broja~u enkoderskih impulsa. Posmatraju se pomo}u osciloskopa na mernom mestu 1 (MM1) prilagodne kartice 2.

Broja~ enkoderskih impulsa uobli~ava i broji impulse koji sti`u sa faza A i B inkremental-nog opti~kog enkodera. Rezultat brojanja impulsa-digitalni ekvivalent pozicije enc(k), nalazi se u dvosmernom broja~u u vidu 12-bitne digitalne re~i. Prilikom ~itanja digitalnog ulaza enc(k), kontrolni signal enable mora biti aktivan. Nakon ~itanja enc(k), kontrolni signal enable mora biti neaktivan. Stanje signala enable defini{e se programskim putem.

U poglavljima koja slede, dat je detaljan opis H/W resursa laboratorijske stanice VEKTRA.

5.1.1 PC ra~unar i prilagodna kartica 1

PC ra~unar i prilagodna kartica 1 (PK1) prikazani su na sl. 18.

Slika 18. PC ra~unar i prilagodna kartica 1.

Elektri~na {ema veza prilagodne kartice 1 data je u Poglavlju 6.1 na sl. 28.

PK1

Page 28: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

27

Prilagodna kartica 1 se nalazi na 8-bitnoj ISA magistrali PC ra~unara. Poseduje:

Tri paralelna porta 8255 (1P, 2P i 3P) Logiku za dekodovanje adresa iz opsega 0x0300 do 0x030B

Prilagodna kartica 1 poseduje jo{ i tajmer 8253 i dva A/D konvertora. Me|utim, kako ih laboratorijskoj stanici VEKTRA ne koristi, nisu prikazani na elektri~noj {emi veza prilagodne kartice 1.

Konfiguracioni registri (CON) i registri podataka (A, B, C) paralelnih portova (1P, 2P i 3P) mapirani su u I/O prostor PC ra~unara. Funkcije registara i njihove adrese nazna~ene su u Tabeli 1. Tabela 1. Funkcija registara 8255 paralelnih portova i njihove adrese.

Port Registar Adresa Funkcija registra (bita)

1P A 0x0300 Ne koristi se

1P B 0x0301 Ne koristi se

1P C 0x0302 1PC[7 – 4] → ulaz 1PC[3 – 0] → izlaz. 1PC1 je enable

1P CON 0x0303 Konfiguracioni registar

2P A 0x0304 2PA[7 – 0] → izlaz. [alje iα*(k) na DAC3

2P B 0x0305 2PB[7 – 0] → izlaz. [alje iβ*(k) na DAC4

2P C 0x0306 2PC[7 – 0] → izlaz. [alje var1(k) na DAC1

2P CON 0x0307 Konfiguracioni registar

3P A 0x0308 3PA[7 – 0] → ulaz. ^ita gornja 4-bita enc(k)

3P B 0x0309 3PB[7 – 0] → ulaz. ^ita donjih 8-bita enc(k)

3P C 0x030A 3PC[7 – 0] → izlaz. [alje var2(k) na DAC2

3P CON 0x030B Konfiguracioni registar

Oznake u Tabeli 1 slede notaciju:

S obzirom da su adrese registara nPA, nPB, nPC i nPCON (n = 1, 2 i 3) mapirane u I/O prostor PC ra~unara, za obra}anje ovim registarima (~itanje/upis) S/W laboratorijske stanice VEKTRA koristi makroe inp i outp programskog jezika C ~iji prototipovi glase:

int inp(int port, int byte_value);

int outp(int port, int byte_value);

P

Port (1, 2 ili 3)

Registar (A, B, C ili CON)

Bit [7 – 1]

Page 29: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

28

Sekvenca programskog koda koja inicijalizuje portove prilagodne kartice 1 na na~in opisan u Tabeli 1 glasi:

outp(0x0303, 0x92); outp(0x0307, 0x80); outp(0x030b, 0x9a);

5.1.2 Prilagodna kartica 2

Izgled prilagodne kartice 2 dat je na sl. 19.

Slika 19. Izgled prilagodne kartice 2.

Elektri~na {ema veza prilagodne kartice 2 data je u Poglavlju 6.1 na sl. 29(a), 29(b) i 29(c).

Prilagodna kartica 2 poseduje:

^etiri 8-bitna D/A konvertora (DAC1 do DAC4) Dvosmerni 12-bitni broja~ enkoderskih impulsa Tri merna mesta (MM1 do MM3) Konektor za flat-kabl (F)

Na sl. 19, oblast D/A konvertora ozna~ena je sa DAC a oblast broja~a enkoderskih impulsa sa E. Sa MM1, MM2 i MM3 ozna~ena su merna mesta 1, 2 i 3, respektivno.

D/A konvertori DAC1 i DAC1 vr{e konverziju digitalnih izlaza op{te namene var1(k) i var2(k) u analogne izlaze var1(t) i var2(t), respektivno. Analogni izlazi var1(t) i var2(t) se posmatraju pomo}u osciloskopa na mernom mestu 2 (MM2). Analogni izlazi D/A konver-tora DAC1 i DAC2 nisu galvanski izolovani od PC ra~unara.

E

DAC

MM1 MM2

MM3

F

Page 30: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

29

D/A konvertori DAC3 i DAC3 vr{e konverziju digitalnih strujnih referenci iα*(k) i iβ*(k) u analogne strujne reference iα*(t) i iβ*(t), respektivno. Analogne strujne reference iα*(t) i iβ*(t) se prosle|uju strujno regulisanom naponskom invertoru (vidi sl. 17). Posmatraju se pomo}u osciloskopa na mernom mestu 3 (MM3). Tako|e, na mernom mestu 3 mogu se posmatrati i struje statora asinhronog motora iα(t) i iβ(t). Analogni izlazi D/A konverta DAC3 i DAC4 galvanski su izolovani od PC ra~unara pomo}u optokaplera. Na ovaj na~in, PC ra~unar se {titi od pojave prenapona na invertoru. Izlazni napon 8-bitnih D/A konvertora DACn uzima vrednosti iz opsega [–10 +10] VDC. Ako se u prihvatni registar D/A konvertora upi{e broj 0, na njegovom izlazu }e se pojaviti napon – 10 VDC. Broju 128 odgovara napon 0 VDC a broju 255, napon +10 VDC.

Broja~ enkoderskih impulsa uobli~ava i broji impulse koji sti`u sa faza A i B inkremental-nog opti~kog enkodera. Enkoderski impulsi se uvode u prilagodnu karticu 2 preko opto-kaplera. Posmatraju se pomo}u osciloskopa na mernom mestu 1 (MM1). Logika za derivaciju UP/DOWN impulsa generi{e UP i DOWN impulse na osnovu uzlazne i silazne ivice jedne enkoderske faze i logi~kog stanja impulsa druge enkoderske faze [2]. Uobli~eni UP/DOWN impulsi se vode na ulaz dvosmernog broja. Broja~ je 12-bitni i broji od 0 do 2499. Pri stanju broja~a 2499, UP impuls postavlja vrednost broja~a na 0; DOWN impuls dekrementira sadr`aj broja~a. Pri stanju broja~a 0, DOWN impuls postavlja vrednost broja~a na 2499; UP impuls inkrementira sadr`aj broja~a. Sadr`aj broja~a enkoderskih impulsa enc(k) postaje transparentan ako je stanje kontrolnog signala enable = 1 i ako je stanje broja~a stabilno. Naime, interna logika broja~a onemogu}ava aktiviranje izlaznog latch-a dok traje promena stanja broja~a. Nakon ~itanja enc(k), kontrolni signal enable mora biti neaktivan (enable = 0). Stanje kontrolnog signala enable defini{e se programskim putem. U nastavku, nazna~ena je sekvenca programkog koda koja ~ita sadr`aj broja~a enkoderskih impulsa:

outp(0x0302, 0x02); /* enable = 1 */ EncHiByte = inp(0x0308); /* Cita gornjih 4 bita 12-bit brojaca */ EncLoByte = inp(0x0309); /* Cita donjih 8 bita 12-bit brojaca */ outp(0x0302, 0x00); /* enable = 0 */

Konektor (F) uvodi flat-kabl u prilagodnu karticu 2. Putem flat-kabla, ostvarena je veza izme|u prilagodne kartice 1 (PC ra~unara) i prilagodne kartice 2. U poglavlju 6.1 na sl. 29(d) nazna~ena je funkcija pinova na konektoru (F).

Comment [ZH1]: Predavanja iz MPU

Comment [ZH2]: Ovo mora sa necrta (iskopira)

Page 31: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

30

5.1.3 Strujno regulisani naponski invertor Generi{e trofazni sistem napona na priklju~nim krajevima asinhronog motora tako da struja statora sledi zadate strujne reference iα*(t) i iβ*(t). Struja statora i strujne reference iα*(t) i iβ*(t) posmatraju se pomo}u osciloskopa na mernom mestu 3 (MM3) prilagodne kartice 2.

Izgled strujno regulisanog naponskog invertora dat je na sl. 20.

Slika 20. Strujno regulisani naponski invertor. Strujno regulisani naponski invertor ~ine:

Monofazni autotransformator (AT) Upravlja~ko kolo invertora (UK) Energetsko kolo invertora (EK)

Izgled upravlja~kog kola invertora dat je na sl. 21.

Slika 21. Upravlja~ko kolo invertora.

K1 K2 K3 K4 K5 K6 K7 K8 K9

P2

AT UK

EK

P1

Page 32: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

31

Upravlja~ko kolo invertora sadr`i:

Napajanje upravlja~kog kola invertora (kartice K1 i K2) ^etiri upalja~ke kartice (kartice K3 do K6) Karticu prekostrujne i prenaponske za{tite (K7) Karticu strujne regulacije (K8) Karticu koja strujne reference iα*(t) i iβ*(t) uvodi u invertor (kartica K9) Prekida~ za konfigurisanje moda rada invertora (P1) Prekida~ za uklju~enje energetskog kola invertora (P2)

Izgled energetskog kola invertora dat je na sl. 22.

Slika 22. Energetsko kolo invertora.

Energetsko kolo invertora sadr`i:

Energetske bipolarne tranzistore invertorskog mosta (T1 do T6) Energetski bipolarni tranzistor za otporni~ko ko~enje (T7) Diodu za otporni~ko ko~enje (D) Diodni most za napajanje energetskog kola invertora (DE) Diodni most za napajanje upravlja~kog kola invertora (DU) Sabirnice jednosmernog me|ukola (SP – plus sabirnica, SM – minus sabirnica) [ant otpornik za merenje struje jednosmernog me|ukola ([ANT) Elektrolitske kondenzatore jednosmernog me|ukola Otpornik za ko~enje

Elektrolitski kondenzatori i otpornik za ko~enje deo su energerskog kola invertora iako se fizi~ki nalaze u industrijskom reku, zajedno sa upravlja~kim kolom invertora.

T1

T2

T3 T5

T4 T6

T7

DE

DU

D

SP

SM

[ANT

Page 33: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

32

Blok {ema strujno regulisanog naponskog invertora prikazana je na sl. 23.

Slika 23. Blok dijagram strujno regulisanog naponskog invertora.

AT

∼ 220 V Umax = 325 V

R

T7

D

[ANT

T4 T5 T6

T1 T2 T3 C

ia ib ic

AM

Kolo prenaponske

za{tite

+15 V

K6

Signal za paljenje T7

K3, K4, K5

Signali za paljenje T1-T6

B'1 B'2 B'3 B'4 B'5 B'6

Kolo prekostrujne

za{tite

Up

Blokira T1-T3

RESET

K7

Klarkova

3F/2F

Strujni regulator

Up

iα*

iβ*

Δiα Δiβ

Σ

Σ

K8

Page 34: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

33

Kartice K1 i K2 su identi~ne. Napajaju upravlja~ko kolo invertora. Kartice se napajaju iz zasebnog diodnog ispravlja~a (DU) (vidi sl. 22) sa 300VDC ~ime je razdvojeno napajanje upravlja~kog kola i energetskog kola invertora. Na svakoj kartici se nalaze izvori jednosmer-nog napona, me|usobno galvanski izolovani, i to po ~etiri izvora od +/– 5 VDC i po jedan od +/– 15 VDC. Izvori su galvanski izolovani zbog razli~itih naponskih nivoa na kojima se nalaze energetski tranzistori invertora. Spu{tanje napona i galvanska izolacija ostvareni su pomo}u DC/DC konvertora.

Elektri~na {ema veza kartica K1 i K2 data je u Poglavlju 6.1 na sl. 30. Kartice K3 do K6 su identi~ne. Uobli~avaju, poja~avaju i opti~ki izoluju signale za paljenje energetskih tranzistora u invertoru koji sti`u sa kartice strujne regulacije (K8). Kartice K3, K4 i K5 slu`e za paljenje energetskih tranzistora u invertorskom mostu (T1 do T6). Kartica K6 slu`i za paljenje energetskog tranzistora za ko~enje (T7). Svakoj kartica poseduje po dva upalja~a. Na karticama K3, K4 i K5 nalaze se upalja~i za tranzistore T1 do T6. Na kartici K3 se nalaze upalja~i za tranzistore T1 i T2, na kartici K4 upalja~i za tranzistore T3 i T4 a na kartici K5, upalja~i za tranzistore T5 i T6. Na kartici K6 se nalaze dva upalja~a, ali se samo jedan, donji upalja~, koristi za paljenje tranzistora za otporni~ko ko~enje (T7). Signali za paljenje tranzistora mogu se posmatrati pomo}u osciloskopa. Na prednjoj ivici svake kartice nalaze se po ~etiri izvoda, dva za baze i dva za emitere. Izvodi se vide na sl. 21.

Elektri~na {ema veza kartica K3 do K6 data je u Poglavlju 6.1 na sl. 31. Kartica K7. [titi energetsko kolo invertora od strujnog preoptere}enja i ograni~ava vrednost napona u jednosmernom me|ukolu. Izgled kartice dat je na sl. 24.

Slika 24. Kartica prekostrujne i prenaponske za{tite.

RESET

NL

Page 35: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

34

Prekostrujna za{tita reaguje kada struja jednosmernog me|ukola invertora dostigne strujni limit. Informacija o struji jednosmernog me|ukola na karticu K7 sti`e sa {ant otpornika ([ANT), vidi sl. 22. Napon na {antu UP direkto je proporcionalan vrednosti struje jedno-

smernog me|ukola. Napon UP se vodi na ulaz komparatora gde se poredi sa naponom reagovanja prekostrujne za{tite. Kada napon na {antu dostigne vrednost referentnog napona, blokiraju se donji tranzistori T1, T2 i T3, pa struja statora asinhronog motora pada na nulu (vreme opadanja statorske struje reda je nekoliko vremenskih konstanti rotorskog namotaja). Deblokada prekostrujne za{tite vr{i se pritiskom na taster RESET (vidi sl. 24)

Taster RESET se nalazi na prednjoj ivici kartice K7. Crvene je boje. Vidi se i na sl. 21.

Po uklju~enju pogona, donji tranzistori su blokirani kao da je reagovala prekostrujna za{tita, pa je potrebno pritisnuti taster RESET da bi se pogon pokrenuo.

U slu~aju da prekostrujna za{tita reaguje u toku rada, obavezno isklju~iti napajanje invertora i obavestiti asistenta!

Prenaponska za{tita reaguje kada napon jednosmernog me|ukola dostigne naponski limit definisan potenciometrom NL (vidi sl. 24). Naponski limit je pode{en na 325 VDC i ne treba ga menjati. Kada reaguje prenaponska za{tita, uklju~uje se tranzistor T7 i vi{ak energije se prazni preko otpornika za ko~enje R. Kada napon jednosmernog me|ukola padne ispod 325 VDC, tranzistor T7 se isklju~uje. Otpornik R ne mo`e da disipira veliku koli~inu energije, pa bi u slu~aju ~estih uklju~enja tranzistora T7, do{lo do njegovog pregorevanja. Napon jednosmernog me|ukola tada postaje previsok, pa dolazi do proboja na elektorolitskim kondezatorima. Do proboja mo`e do}i (i) usled ~estih reversa motora, kada se usled ko~enja ~esto uklju~uje tranzistor T7 (ii) ako je izlazni napon AT ve}i od 230V (napon jednosmernog me|ukola tada je ve}i od 325 VDC). Zato treba biti pa`ljiv prilikom pu{tanja u rad laboratorijske stanice VEKTRA.

Izlazni napon AT treba pove}avati postepeno i NIKADA preko 230V!

Elektri~na {ema veza kartica K7 data je u Poglavlju 6.1 na sl. 32.

Ulazni signali u karticu su PSZAS_5 (napon UP) i PNZAS_31 (napon jednosmernog me|u-kola). Masa kartice se nalazi na potencijalu donje grane invertorskog mosta. Izlazni signali iz kartice su PC_1 do PC_4, PC_6 i PC_7. Njima se blokira rad poja~ava~a okidnih impulsa u karticama K3, K4 i K5 koji uklju~uju donje tranzistore u invertorskom mostu. Izlazni signali kola prenaponske za{tite (PC_21 i PC_22) aktiviraju rad donjeg poja~ava~a impulsa u kartici K6 koji upravlja tranzistorom za ko~enje T7. Kartica K8 generi{e impulse za paljenje energetskih tranzistora u mostu invertora tako da

komponente struje statora iα(t) i iβ(t) slede zadate strujne reference iα*(t) i iβ*(t).

Elektri~na {ema veza kartice K8 data je u Poglavlju 6.1 na sl. 33.

Na ulaz kartice K8 dovode se (i) referentni naponi iα*(t) i iβ*(t) prethodno skalirani u kartici K9 sa faktorom 2/3 (ii) naponi sa {antova koji se nalaze u zvezdi{tu asinhronog motora (vidi sl. 23). Zvezdi{te motora sa {antovima nalazi se van motora, u industrijskom reku zajedno sa upravlja~kim kolom invertora.

Page 36: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

35

Primenom Klarkove transformacije, na osovu ia(t), ib(t) i ic(t) dobijaju se naponi iα(t) i iβ(t).

Podsetimo, veza izme|u αβ-komponente statorske struje i faznih struja glasi:

cba iiii21

21

−−=α (15a)

)(23

cb iii −=β (15b)

Histerezisni komparatori porede referentne napone iα*(t) i iβ*(t) i napone iα(t) i iβ(t), i zavisnosti od znaka i amplutude (strujne) gre{ke, generi{u signale za paljenje tranzistora T1 do T6. Mrtvo vreme (vreme potrebno za komutaciju dva energetska prekida~a u istoj grani invertora) jednako je vremenu potrebnom da napon u ta~ama Z1, Z2 i Z3 promeni polaritet od -6.5VDC do +6.5VDC i obratno, i zavisi od strmine promene izlaznog napona kompara-tora 741 (slew-rate SR).

Komparator 741 ima slew-rate SR = 1V/μs, pa }e se pri svakoj komutaciji izlaznog napona od -15VDC do +15VDC (signal za paljenje/ga{enje tranzistora T1 do T6), generisati mrtvo vreme od 13μs.

Masa kartice strujne regulacije K8 nalazi se na potencijalu zvezdi{ta asinhronog motora. Referentni naponi iα*(t) i iβ*(t) se u karticu uvode preko pinova 11DAC_1 i 12_DAC2 a naponi sa {antova preko pinova koji su ozna~eni sa SANT_A, SANT_B i SANT_C. Izlazni signali za paljenje energetskih tranzistora T1 do T7 ozna~eni su sa PB_1 do PB_14. Preko opti~ki izolovane veze, ovi signali se {alju do kartica K3 do K6.

Kartica K9 mno`i referente napone iα*(t) i iβ*(t) sa 2/3 i uvodi ih u karticu K8.

Faznoj struji ia = 5A odgovara napon na {antu ua = 5V (R[ = 1Ω) i saglasno izrazu (15),

napon uα = 3/2⋅5V = 7.5V. S druge strane, referentni naponi iα*(t) i iβ*(t) na izlazima D/A

konvertra DAC3 i DAC4 pripadaju opsegu [-10V +10V]. Otuda ih je pre uvo|enja u karticu strujne regulacije K8 potrebno pomno`iti faktorom 2/3. Tada referentnom naponu

iα*(t) = 10V odgovara fazna struja ia = 5A.

Prekida~ P1 konfiguri{e mod rada invertora. Izgled prekida~a P1 dat je na sl. 25.

Slika 25. Prekida~ P1 za konfigurisanje moda rada invertora.

1

2

3

4

5

6

7

8

9

ON

ON

ON

ON

ON

ON

ON

ON

ON

OFF

OFF

OFF

OFF

OFF

OFF

OFF

OFF

OFF

Page 37: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

36

Postoje dva moda rada: MOD1 i MOD2.

MOD1 (default) se koristi kada invertor koristi strujnu regulaciju odnosno, kada signale za paljenje energetskih tranzistora generi{e kartica strujne regulacije K8. U ovom modu rada, kontakti prekida~a P1 su stavljeni u polo`aj:

SW1(ON), SW2(ON), SW3(ON) i SW4(OFF), SW5(OFF), SW6 (OFF)

Plo`aj prekida~a SW7, SW8 i SW9 nije bitan.

MOD2 se koristi kada invertor ne koristi strujnu regulaciju odnosno, kada signale za palje-nje energetskih tranzistora generi{e kartica sa 8098 mikrokontrolerom. U ovom modu rada, kontakti prekida~a P1 su stavljeni u polo`aj:

SW1(OFF), SW2(OFF), SW3(OFF) i SW4(ON), SW5(ON), SW6 (ON)

Plo`aj prekida~a SW7, SW8 i SW9 nije bitan. Prekida~ P2 uklju~uje/isklju~uje energetsko kolo invertora.

5.1.4 Asinhroni motor i optere}enje

Asinhroni motor (AM1) i optere}enje (AM2) prikazani su na sl. 26.

Slika 26. Asinhroni motor i optere}enje.

Asinhroni motori AM1 i AM2 su identi~ni. Tipa su ZK80B4 (SEVER) sa parametrima:

Sprega Y, Un = 380V, In = 2.1 A, Pn = 0.75kW, cosϕ = 0.72, nnom = 1390 ob/min, fn = 50Hz

Moment inercije mehani~kog podsistema je JMPS = 0.0115 kgm2.

Parametri zamenske elektri~ne {eme asinhronog motora AM1 (AM2) su:

Otpornost statora Rs = 8.1 Ω, Otpornost rotora (svedena na stranu statora) Rr = 9.6 Ω Induktivnost rasipanja statora Lγs = 54 mH Induktivnost rasipanja rotora (svedena na stranu statora) Lγr = 36.95 mH Induktivnost magne}enja Lm = 768.4 mH

AM1 AM2

ENC

S

Page 38: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

37

Asinhroni motor AM1 je pokreta~ki motor. Napaja se trofaznim naponom kojeg generi{e strujno regulisani naponski invertor. Zvezdi{te motora sa {antovima za merenje faznih struja izvedeno je van motora i nalazi se u industrijskom reku, zajedno sa upravlja~kim kolom invertora. Na vratilu AM1 montiran je dava~ pozicije-inkrementalni opti~ki enkoder (ENC). Osovina AM1 je mehani~ki spregnuta sa osovinom AM2 pomo}u mehani~ke spojnice S. Asinhroni motor AM2 je opteretni motor. Ko~i se jednosmernom strujom na na~in prikazan na sl. 27.

Slika 27. Dinami~ko ko~enje AM jednosmernom strujom.

Postupak ko~enja AM2:

Uklju~iti laboratorijsku stanicu VEKTRA Pokrenuti izvr{enje programa vektor.exe Zadati referentnu brzinu Uklju~iti dvopolni uklopni prekida~ P Pri konstantnoj brzini obrtanja vratila AM1, postepenim pove}avanjem izlaznog napona AT, pove}avati vrednost jednosmerne struje IDC (ne vi{e od IDC = 1.5 In)

Na monitoru PC ra~unara, posmatrati porast Iq komponente statorske struje (momenta) Po zavr{etku ve`banja, smanjiti izlazni napon AT na nulu Isklju~iti dvopolni uklopni prekida~ P

Detaljan opis metoda dinami~kog ko~enja AM jednosmernom strujom i uputstvo za kori{}enje ogledne opreme prikazane na sl. 27, dati su u laboratorijskoj ve`bi: “Dinami~ko ko~enje vu~nog asinhronog motora”.

5.1.5 Inkrementalni opti~ki enkoder

Za merenje polo`aja vratila asinhronog motora u laboratorijskoj stanici VEKTRA koristi se inkrementalni opti~ki enkoder ENC (vidi sl. 26). Enkoder ima 1000 markera i dva detekcio-na kompleta (faze A i B). Impulsi enkoderskih faza vode se na ulaz prilagodne kartice 2, gde se poznatom metodom (i) uobli~avaju u UP/DOWN impulse (ii) broje pomo}u dvosmernog broja~a. Detaljan opis inkrementalnog opti~kog enkodera dat je u literaturi [2].

AM2V

A

Imax = 1.5 In

AT

SENC

AM1

Mopt Mpok

Invertor i prilagodna kartica 2

~220V

Page 39: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

38

5.2 S/W laboratorijske stanice VEKTRA

S/W laboratorijske stanice VEKTRA ~ine:

Program za generisanje Real-Time prekida (realtime.exe) Program za o~itavanje inkrementalnog enkodera (enc2000.exe) Program za generisanje obrtnih vektora (sin2000.exe) Program za indirektno vektorsko upravljanje asinhronim motorom sa direktnim

zadavanjem momenta (direct.exe) Program za indirektno vektorsko upravljanje asinhronim motorom sa regulacijom brzine

(speed.exe)

Program realtime.exe predstavlja osnovu S/W laboratorijske stanice VEKTRA. Ilustruje kako se organizuje Real-Time prekidna rutina na PC ra~unaru. Izvorni C kod programa realtime.exe dat je u Poglavlju 6.2 (Listing 1).

Program enc2000.exe predstavlja pro{irenje programa realtime.exe. Ilustruje kako se o~itava inkrementalni enkoder i kako se na osnovu o~itanog inkrementa pozicije formira apsolutna pozicija vratila asinhronog motora. Izvorni C kod programa enc2000.exe dat je u Poglavlju 6.2 (Listing 2).

Program sin2000.exe predstavlja pro{irenje programa enc2000.exe. Ilustruje kako se na osnovu detektovane pozicije i sinusne look-up tabele generi{u obrtni vektori SIN i COS. Izvorni C kod programa sin2000.exe dat je u Poglavlju 6.2 (Listing 3).

Program direct.exe predstavlja pro{irenje programa sin2000.exe. Ilustruje kako se program-skim putem realizuje algoritam indirektnog vektorskog upravljanja asinhronim motorom sa direktnim zadavanjem momenta. Izvorni C kod programa direct.exe dat je u Poglavlju 6.2 (Listing 4).

Program speed.exe predstavlja pro{irenje programa direct.exe. Ilustruje kako se program-skim putem realizuje algoritam indirektnog vektorskog upravljanja asinhronim motorom sa regulacijom brzine. Izvorni C kod programa speed.exe dat je u Poglavlju 6.2 (Listing 5).

U nastavku, dat je detaljan opis S/W laboratorijske stanice VEKTRA.

5.2.1 Program za generisanje Real-Time prekida (realtime.exe) Svrha: Prekidanje programa niskog prioriteta kako bi se u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms, u prekidnoj rutini sinhrono izvr{io skup upravlja~kih rutina: (i) generisanje povorke pravougaonih impulsa (ii) ispis generisane povorke na D/A konvertor radi prikaza na osciloskopu.

Organizacija: Izvorni kod realtime.c (vidi Poglavlje 6.2, Listing 1) sadr`i:

Rutinu main (program niskog prioriteta)

Prekidnu rutinu new_timer_handler

Zadatak rutine main:

Inicijalizacija portova Prilagodne kartice 1 Organizacija Real-Time prekidne rutine sa periodom TSPL = 1 ms Organizacija izlaska iz programa

Page 40: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

39

Zadatak prekidne rutine new_timer_handler:

Generisanje povorke pravougaonih impulsa Ispis povorke na D/A konvertor radi prikaza na osciloskopu Organizacija povratka iz prekidne rutine u program niskog prioriteta

Pokretanje: Program se pokre}e iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\realtime.exe <Enter>

Merenje: Izlaz programa realtime.exe dostupan je na mernom mestu 2 (MM2) prilagodne kartice 2 (vidi Poglavlje 5.1.2). Meri se pomo}u osciloskopa na na~in opisan u Poglavlju 5.4.

Zaustavljanje: Program se zaustavlja naredbom:

QUIT <Enter>

5.2.2 Program za ~itanje inkrementalnog enkodera (enc2000.exe) Svrha: Prekidanje programa niskog prioriteta kako bi se u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms, u prekidnoj rutini sinhrono izvr{io skup upravlja~kih rutina: (i) ~itanje inkrementalnog enkodera (ii) ispis detektovane pozicije na D/A konvertor radi prikaza na osciloskopu.

Organizacija: Izvorni kod enc2000.c (vidi Poglavlje 6.2, Listing 2) sadr`i:

Rutinu main (program niskog prioriteta)

Prekidnu rutinu new_timer_handler

Zadatak rutine main:

Inicijalizacija portova Prilagodne kartice 1 Organizacija Real-Time prekidne rutine sa periodom TSPL = 1 ms Organizacija izlaska iz programa

Zadatak prekidne rutine new_timer_handler:

^itanje inkrementalnog enkodera ^itanje dvosmernog broja~a enkoderskih impulsa Odre|ivanje inkrementa pozicije

Odre|ivanje pozicije vratila asinhronog motora Ispis detektovane pozicije na D/A konvertor radi prikaza na osciloskopu Organizacija povratka iz prekidne rutine u program niskog prioriteta

Pokretanje: Program se pokre}e iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\enc2000.exe <Enter>

Merenje: Izlaz programa enc2000.exe dostupan je na mernom mestu 2 (MM2) prilagodne kartice 2 (vidi Poglavlje 5.1.2). Meri se pomo}u osciloskopa na na~in opisan u Poglavlju 5.4.

Zaustavljanje: Program se zaustavlja naredbom:

QUIT <Enter>

Page 41: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

40

5.2.3 Program za generisanje obrtnih vektora (sin2000.exe) Svrha: Prekidanje programa niskog prioriteta kako bi se u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms, u prekidnoj rutini sinhrono izvr{io skup upravlja~kih rutina: (i) ~itanje inkrementalnog enkodera (ii) generisanje obrtnih vektora (iii) ispis obrtnih vektora na D/A konvertor radi prikaza na osciloskopu.

Organizacija: Izvorni kod sin2000.c (vidi Poglavlje 6.2, Listing 3) sadr`i:

Rutinu main (program niskog prioriteta)

Prekidnu rutinu new_timer_handler

Zadatak rutine main:

Generisanje sinusne tabele Inicijalizacija portova Prilagodne kartice 1 Organizacija Real-Time prekidne rutine sa periodom TSPL = 1 ms Organizacija izlaska iz programa

Zadatak prekidne rutine new_timer_handler: ^itanje inkrementalnog enkodera

^itanje dvosmernog broja~a enkoderskih impulsa Odre|ivanje inkrementa pozicije

Odre|ivanje pozicije vratila asinhronog motora Generisanje obrtnih vektora Ispis obrtnih vektora na D/A konvertor radi prikaza na osciloskopu Organizacija povratka iz prekidne rutine u program niskog prioriteta

Pokretanje: Program se pokre}e iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\sin2000.exe <Enter>

Merenje: Izlaz programa sin2000.exe dostupan je na mernom mestu 2 (MM2) prilagodne kartice 2 (vidi Poglavlje 5.1.2). Meri se pomo}u osciloskopa na na~in opisan u Poglavlju 5.4.

Zaustavljanje: Program se zaustavlja naredbom:

QUIT <Enter>

5.2.4 Program za indirektno vektorsko upravljanje asinhronim motorom sa direktnim zadavanjem momenta (direct.exe) Svrha: Prekidanje programa niskog prioriteta kako bi se u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms, u prekidnoj rutini sinhrono izvr{io skup upravlja~kih rutina: (i) ~itanje inkrementalnog enkodera (ii) odre|ivanje brzine obrtanja vratila asinhro-nog motora (iii) indirektno vektorsko upravljanje asinhronim motorom (iv) ispis brzine na D/A konvertor radi prikaza na osciloskopu.

Organizacija: Izvorni kod direct.c (vidi Poglavlje 6.2, Listing 4) sadr`i:

Rutinu main (program niskog prioriteta) Prekidnu rutinu new_timer_handler

Page 42: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

41

Zadatak rutine main:

Generisanje sinusne tabele Inicijalizacija portova Prilagodne kartice 1 Organizacija Real-Time prekidne rutine sa periodom TSPL = 1 ms Organizacija izlaska iz programa i unos referentne Iq-komponene statorske struje

Zadatak prekidne rutine new_timer_handler:

^itanje inkrementalnog enkodera ^itanje dvosmernog broja~a enkoderskih impulsa Odre|ivanje inkrementa pozicije

Odre|ivanje brzine obrtanja vratila asinhronog motora Indirektno vektorsko upravljanje asinhronim motorom Ispis brzine na D/A konvertor radi prikaza na osciloskopu Organizacija povratka iz prekidne rutine u program niskog prioriteta

Pokretanje: Program se pokre}e iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\direct.exe <Enter>

Merenje: Izlaz programa direct.exe je dostupan na mernom mestu 2 (MM2) prilagodne kartice 2 (vidi Poglavlje 5.1.2). Meri se pomo}u osciloskopa na na~in opisan u Poglavlju 5.4.

Zaustavljanje: Program se zaustavlja naredbom:

QUIT <Enter> 5.2.5 Program za indirektno vektorsko upravljanje asinhronim motorom sa regulacijom

brzine (speed.exe) Svrha: Prekidanje programa niskog prioriteta kako bi se u ekvidistantnim vremenskim intervalima sa periodom TSPL = 1 ms, u prekidnoj rutini sinhrono izvr{io skup upravlja~kih rutina: (i) ~itanje inkrementalnog enkodera (ii) odre|ivanje brzine obrtanja vratila asinhro-nog motora (iii) digitalna regulacija brzine (iv) indirektno vektorsko upravljanje asinhronim motorom (v) ispis digitalnih strujnih referenci i regulisane brzine na D/A konvertore.

Organizacija: Izvorni kod speed.c (vidi Poglavlje 6.2, Listing 5) sadr`i:

Rutinu main (program niskog prioriteta)

Prekidnu rutinu new_timer_handler

Zadatak rutine main:

Generisanje sinusne tabele Inicijalizacija portova Prilagodne kartice 1 Organizacija Real-Time prekidne rutine sa periodom TSPL = 1 ms Organizacija izlaska iz programa i unos referentne brzine

Zadatak prekidne rutine new_timer_handler:

^itanje inkrementalnog enkodera ^itanje dvosmernog broja~a enkoderskih impulsa Odre|ivanje inkrementa pozicije

Odre|ivanje brzine obrtanja vratila asinhronog motora

Page 43: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

42

Digitalna regulacija brzine Indirektno vektorsko upravljanje asinhronim motorom Ispis strujnih referenci na D/A konvertore DAC3 i DAC4, respektivno Ispis regulisane brzine na D/A konvertor DAC1 radi prikaza na osciloskopu

Pokretanje: Program se pokre}e iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\speed.exe <Enter>

Merenje: Izlaz programa speed.exe dostupan je na mernom mestu 2 (MM2) prilagodne kartice 2 (vidi Poglavlje 5.1.2). Meri se pomo}u osciloskopa na na~in opisan u Poglavlju 5.4.

Zaustavljanje: Program se zaustavlja naredbom:

QUIT <Enter> 5.3 Procedura uklju~enja/isklju~enja laboratorijske stanice VEKTRA

Procedura uklju~enja:

Uklju~iti glavni prekida~ na razvodnoj tabli u sobi 40 (nosi oznaku LAB 40a) Uklju~iti prekida~e na radnom stolu laboratorijske stanice VEKTRA Uklju~iti PC ra~unar Pokrenuti izvr{enje teku}eg programa Obrtni kontakt AT staviti u polo`aj 30V Resetovati prekostrujnu za{titu kartice strujne regulacije (vidi Poglavlje 5.1.3) Obrtni kontakt AT staviti u polo`aj 220V

Laboratorijska stanica je sada spremna za rad!

Od opisane procedure odstupiti samo u slu~aju kada teku}i program ne zahteva rad invertora, {to je slu~aj sa programima: realtime.exe, enc2000.exe i sin2000.exe.

U ovim slu~ajevima, presko~iti zadnje tri ta~ke u proceduri uklju~enja!

Procedura isklju~enja:

Obrtni kontakt AT staviti u polo`aj 0V Obustaviti izvr{enje teku}eg programa Isklju~iti PC ra~unar Isklju~iti prekida~e na radnom stolu laboratorijske stanice VEKTRA Isklju~iti glavni prekida~ na razvodnoj tabli u sobi 40 (nosi oznaku Lab 40a)

Laboratorijska stanica VEKTRA je sada isklju~ena! 5.4 Postupak merenja na laboratorijskoj stanici VEKTRA

Na prilagodnoj kartici 2 (vidi sl. 19), nalaze se tri merna mesta:

Merno mesto 1 (MM1) Merno mesto 2 (MM2)

Page 44: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

43

Merno mesto 3 (MM3)

Na MM1 posmatraju se impulsi faza A i B inkrementalnog enkodera.

Na MM2 posmatraju se digitalni izlazi op{te namene var1(t) i var2(t) (izlazi D/A konvertora DAC1 i DAC2).

Na MM3 posmatraju se referentne struje iα*(t) i iβ*(t) (izlazi D/A konvertora DAC3 i DAC4) i stvarne struje iα(t) i iβ(t).

Za merenje se koristi digitalni osciloskop prikazan na sl. 16. Sonde digitalnog osciloskopa se priklju~uju na izvode MM1, MM2 i MM3. Ispod svakog mernog mesta, nalazi se nalepnica sa odgovaraju}om oznakom:

Na MM1: faza A, faza B, MASA.

Na MM2: 774, 778, MASA

Na MM3: iα*, iβ*, iα, iβ, MASA

Pri merenju, osciloskop staviti u digitalni (STORAGE) mod. Tada se promena posmatranog talasnog oblika mo`e zaustaviti pritiskom na dugme HOLD.

Page 45: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

44

6. Prilozi

U prilog ve`bi dati su:

Elektri~ne {eme veza H/W laboratorijske stanice VEKTRA Izvorni kod S/W laboratorijske stanice VEKTRA Simulink model brzinske regulacione petlje speed.mdl Opis programa vektor.exe

6.1 Elektri~ne {eme veza H/W laboratorijske stanice VEKTRA

Slika 28: Elektri~na {ema veza prilagodne kartice 1 Elektri~na {ema veza prilagodne kartice 2

Slika 29(a): Logika za derivaciju i brojanje enkoderskih impulsa Slika 29(b): Logika za ~itanje dvosmernog broja~a enkoderskih impulsa Slika 29(c): Oblast D/A konvertora Slika 29(d): Konektor za flat-kabl

Slika 30: Elektri~na {ema veza kartica K1 i K2 (Napajanje upravlja~kog kola invertora) Slika 31: Elektri~na {ema veza upalja~kih kartica K3 do K6 Slika 32: Elektri~na {ema veza kartice K7 (Kartica prekostrujne i prenaponske za{tita) Slika 33: Elektri~na {ema veza kartice K8 (Kartica strujne regulacije) Slika 34: Elektri~na {ema veza invertorskog mosta

Page 46: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

45

Slika 28. Elektri~na {ema veza prilagodne kartice 1.

1PA_2

2PA_5

1PC_6

A3

0 0Thursday, November 19, 2020

Size Document Number Rev

Date: Sheet of

3PA_2

3PC_4

U6A

74LS04

1 2

1PB_3

2PA_7

DATA1PA_0

3PB_2

U10A

74LS08

1

23

1PA_1

U8A

74LS21

12

45

6

U11A

74LS04

1 2

1PA_4

3PB_3

2PA_3

CLOCK_0

U2A

74LS04

1 2

1PB_6

2PC_6

U5A

74LS04

1 2

U3A

74LS04

1 2

1PB_1

GATE_0

GATE_2

1PB_2

2PB_4

3PB_1

3PA_4

1PC_4

2PB_5

2PA_6

U1

74LS138

123

645

15141312111097

ABC

G1G2AG2B

Y0Y1Y2Y3Y4Y5Y6Y7

U13

74LS244

2468

11131517

119

181614129753

1A11A21A31A42A12A22A32A4

1G2G

1Y11Y21Y31Y42Y12Y22Y32Y4

2PC_3

1PB_5

2PA_2

PPI #2

8255

3433323130292827

53698

356

432140393837

1819202122232425

1415161713121110

D0D1D2D3D4D5D6D7

RDWRA0A1RESETCS

PA0PA1PA2PA3PA4PA5PA6PA7

PB0PB1PB2PB3PB4PB5PB6PB7

PC0PC1PC2PC3PC4PC5PC6PC7

U14

74LS244

2468

11131517

119

181614129753

1A11A21A31A42A12A22A32A4

1G2G

1Y11Y21Y31Y42Y12Y22Y32Y4

3PA_0

2PC_1

3PC_3

+5V

2PB_6

1PC_1

1PB_0

2PA_1

1PC_0

2PB_7

3PC_0

3PA_6

2PA_0

3PC_1

1PC_3

3PC_6

GATE_1

ADRES

3PA_1

U7A

74LS21

12

45

6

3PC_2

SHEMA PC KARTICE

PPI #3

8255

3433323130292827

53698

356

432140393837

1819202122232425

1415161713121110

D0D1D2D3D4D5D6D7

RDWRA0A1RESETCS

PA0PA1PA2PA3PA4PA5PA6PA7

PB0PB1PB2PB3PB4PB5PB6PB7

PC0PC1PC2PC3PC4PC5PC6PC7

3PB_7

3PA_3

2PB_1

1PC_2

1PA_6

2PC_2

1PA_7

1PC_7

3PB_6

2PB_0

3PC_7

2PC_42PC_5

1PA_3

CLOCK_1

1PC_5

8253

87654321

22231920

21

91110

151413

181617

D0D1D2D3D4D5D6D7

RDWRA0A1

CS

CLK0G0OUT0

CLK1G1OUT1

CLK2G2OUT2

3PA_5

2PA_4

3PC_5

3PA_7

3PB_4

U4A

74LS04

1 2

2PC_7

3PB_0CLOCK_2

U9A

74LS02

2

31

ADRES

2PB_2U15

74LS244

2468

11131517

119

181614129753

1A11A21A31A42A12A22A32A4

1G2G

1Y11Y21Y31Y42Y12Y22Y32Y4

PPI #1

8255

3433323130292827

53698

356

432140393837

1819202122232425

1415161713121110

D0D1D2D3D4D5D6D7

RDWRA0A1RESETCS

PA0PA1PA2PA3PA4PA5PA6PA7

PB0PB1PB2PB3PB4PB5PB6PB7

PC0PC1PC2PC3PC4PC5PC6PC7

1PA_5

1PB_4

3PB_5

2PB_3

1PB_7

2PC_0

Page 47: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

46

Slika 29(a). Elektri~na {ema veza prilagodne kartice 2 (Logika za derivaciju i brojanje enkoderskih impulsa).

IC5D

74LS32

12

1311

U?A

74LS04

1 2

IC11 IC17B74LS27

3456

1

1K

1K

3PB5

3K3

3K3

IC3C

74LS00

9108

ENABLE

3PB0

1

1K

IC18B74LS27

3456

1K

IC5A

74LS32

1

23

ENABLE

1

IC3B

74LS00

4

56FF_IC2

U?A

74LS04

1 2

IC1C

74LS14

5 6

IC5C

74LS32

9108

470 om

IC7

74LS54

12345910111213

6

ABCDEFGHIJ

Y

IC4B

74LS14

3 4

0

DOWN

IC16C

74LS14

56

0

1K

IC5B

74LS32

4

56

0

3PB3

940pF

3PB4

ISOBHCPL2630

4

3

5

6

8

3PA1

IC17_4

IMP_B

0

IC4C

74LS04

5 6

ISOAHCPL2630

1

2

5

7

8

IC18A74LS27

121312

IC1A

74LS14

1 2

3K3

0

1K

IC6

74LS5412345910111213

6

ABCDEFGHIJ

Y

68pF

UP

IC14

74LS30

1234

561112

8

3K3

3PA3

DOWN

A3

0 0Sunday, November 22, 2020

Size Document Number Rev

Date: Sheet of

1K

U21SN74LS75

2367134

1611514101198

D1D2D3D4C12

C34

Q1Q1Q2Q2Q3Q3Q4Q4

100pF

1

560pF

IC10

74LS193

151109

541114

3267

1213

ABCD

UPDN

LOADCLR

QAQBQCQD

COBO

IC1E

74LS14

11 10

IC16E

74LS14

1110

IC17A74LS27

121312

SET

3PB2

3K3

IC?A

74LS04

1 2

3K3

3PA2

IMP_A

940pF

IC1B

74LS14

3 4

U19

SN74LS75

2367134

1611514101198

D1D2D3D4C12

C34

Q1Q1Q2Q2Q3Q3Q4Q4

1

RESET

UP

IC1D

74LS14

9 8

3PA0

SET

IC9

74LS193

151109

541114

3267

1213

ABCD

UPDN

LOADCLR

QAQBQCQD

COBO

IC3D

74LS00

121311

dipl

3PB1

470 om

SET

SHEMA ENCODER-A (BROJACI)

IC4D

74LS04

9 8

560pF

IC8

74LS193

151109

541114

3267

1213

ABCD

UPDN

LOADCLR

QAQBQCQD

COBO

1

3PB6

IC17_10

3PB7

100pF

3K3

U20

SN74LS75

2367134

1611514101198

D1D2D3D4C12

C34

Q1Q1Q2Q2Q3Q3Q4Q4

RESET

ENABLE

1

EN_IC4

0

IC?A

74LS04

1 2

MSB

RESET

1

Page 48: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

47

Slika 29(b). Elektri~na {ema veza prilagodne kartice 2 (Logika za ~itanje dvosmernog broja~a enkoderskih impulsa).

IC4F

74LS14

13 12

IC28A

74LS86

1

23

IC3A

74LS00

1

23

3K3

IC4F

74LS14

13 12

IC19A

74LS14

1 2

3K3

1K

1K

RESET

EN_IC4

dipl

SET

IC2A

74LS86

1

23

ENABLE

FF_IC2

IC19B

74LS14

3 4

IC17B

74LS74

12

11

9

8

1013

D

CLK

Q

Q

PRCL

IC20B

74LS00

4

56

300pF

SHEMA ENCODER-A (FLIP-FLOPOVI)

1PC_1

A3

0 0Sunday, November 22, 2020

Size Document Number Rev

Date: Sheet of

IC19C

74LS14

5 6

1K

IC4A

74LS14

1 2

IC17_4

IC17A

74LS74

2

3

5

64

1

D

CLK

Q

QPR

CL

IC17_10

3K3100pF

IC21A

74LS74

2

3

5

6

41

D

CLK

Q

Q

PRCL

300pF

IC1E

74LS14

11 10

Page 49: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

48

Slika 29(c). Elektri~na {ema veza prilagodne kartice 2 (Oblast D/A konvertora).

390

+23

55

57

6

8

+5V

+

2PA_5

390

UXB

74LS04

34

UYE

74LS04

1110

390390

9

74LS04

+23

55

57

6

8+23

55

57

6

8

+5V

+

UZA

74LS04

12

100nF

390

2PB_4

AM1408L8

1K

4K

2K

390

UZB

74LS04

34

A3

0 0Thursday, November 19, 2020

Size Document Number Rev

Date: Sheet of

390

UXD

74LS04

98

390

+23

55

57

6

8+23

55

57

6

8 +23

55

57

6

8

HCPL2601

UXC

74LS04

56

+

DAC1

390

+23

55

57

6

8

8

U1A

74LS04

12

100nF

UZD

74LS04

98

390

5

390

13

+23

55

57

6

8100nF

+23

55

57

6

8 +23

55

57

6

8

7

100nF

+23

55

57

6

8+23

55

57

6

8

+

+23

55

57

6

8

3

390

12DAC_2

+ +

100nF

UYD

74LS04

98

390

390

6

U3D

74LS04

98

100nF

UYF

74LS04

1312

+23

55

57

6

8

2PB_5

U1F

74LS04

1312

+

+23

55

57

6

8

5

-15V

+23

55

57

6

8

+ -

U2LM741 3 2

6

71

45

100nF

1nF

2PA_7

14

+

390

-15V

11DAC_1

AM1408L8

16

+23

55

57

6

8 +23

55

57

6

8

2PB_1

U1E

74LS04

1110

U3C

74LS04

56

4

UXF

74LS04

1312

13 1

390

+23

55

57

6

8

+

+23

55

57

6

8

2PB_6

+23

55

57

6

8

100nF

UYC

74LS04

56

UZC

74LS04

56

12

3 2

100nF

+23

55

57

6

8

390

+23

55

57

6

8

+5V

+23

55

57

6

8

390

+

100nF

1K

U3B

74LS043

4

11

+23

55

57

6

8

16 15

4K

+23

55

57

6

8

+5V

U1C

74LS04

56

+23

55

57

6

8

100nF

UXA

74LS04

12

100nF

2PB_0

2PA_2

+

1nF

+5V

+23

55

57

6

8

390

10

2PB_22PA_6

390

+23

55

57

6

8

390

1 14

DAC2

100nF

390

2PA_3

+5V

390390

+23

55

57

6

8

+

U1D

74LS04

98

+23

55

57

6

8

2PA_4

100nF

U12C

74LS04

56

2PB_7

9

2 4

dipl

390390

+

8

U2A

74LS04

12

390

U1B

74LS04

34

390

12

SHEMA D/A KONVERZIJE

+23

55

57

6

8

U2E

74LS04

1110

U2B

74LS04

34

U2D

74LS04

98

+

7

UYA

74LS04

12

+23

55

57

6

8

2K

100nF

1K

11

74LS04

1K

+23

55

57

6

8

+ -

U1LM741 3 2

6

71

45

390390

2PB_3

100nF

UXE

74LS04

1110

15

+

390

U2F

74LS04

1312

UYB

74LS04

34

2PA_0

6

390

10

HCPL2601

+

U3A

74LS04

12

2PA_1

Page 50: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

49

Slika 29(d). Elektri~na {ema veza prilagodne kartice 2 (Konektor za flat-kabl).

pin 1b pin 2b pin 3b pin 4b pin 5b pin 6b pin 7b pin 8b pin 9b pin 10b pin 11b pin 12b pin 13b pin 14b pin 15b pin 16b pin 17b pin 18b pin 19b pin 20b pin 21b pin 22b pin 23b pin 24b pin 25b pin 26b pin 27b pin 28b pin 29b pin 30b pin 31b pin 32b

pin 1a pin 2a pin 3a pin 4a pin 5a pin 6a pin 7a pin 8a pin 9a pin 10a pin 11a pin 12a pin 13a pin 14a pin 15a pin 16a pin 17a pin 18a pin 19a pin 20a pin 21a pin 22a pin 23a pin 24a pin 25a pin 26a pin 27a pin 28a pin 29a pin 30a pin 31a pin 32a

PC masa 3PC3 3PC1 3PC4 3PC6 3PA0 CLK 1 = CLK 0 GATE 0 = GATE 2

3PA4 3PA6 3PB7 3PB5 3PB3 3PB1 3PA3 2PB7 2PB5 2PB3 2PB1 2PC3 2PC1 2PC4 2PC6 2PA4 2PA7 2PA1 2PA3 1PC0 PC + 5V

NEISKORI[]ENO

PC masa 3PC2 3PC0 3PC5 3PC7 3PA1

CLK 2 GATE 1

3PA5 3PA7 3PB6 3PB4 3PB2 3PB0 3PA2 2PB6 2PB4 2PB2 2PB0 2PC2 2PC0 2PC5 2PC7 2PA5 2PA6 2PA0 2PA2 1PC1

PC + 5V

NEISKORI[]EN analogni ulaz ka prilagodnoj kartici 1

analogni ulaz ka prilagodnoj kartici 2

Ka tajmeru 8253 na PK1

Ka tajmeru 8253 na PK1

Page 51: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

50

Slika 30. Elektri~na {ema veza kartica K1 i K2 (Napajanje upravlja~kog kola invertora).

SHEMA ZUCE (DC-DC NAPAJANJE)

-15V

T3

12

TR2N'

330KR1

1000nFC2

0.22mFC4

A4

0 0Thursday, November 19, 2020

Size Document Number Rev

Date: Sheet of

D3

+15V

56omR3

BU208T2

D1

2

TR2N"

PB_19

PB_15

0.22mFC6

PB_17

- +

TR1

7915

E

DC+_32

BU208T1

D2

F

TR1T4

0.22mFC5

0.22mFC7

MC

D6

DC-_2

MC 3

DIAC

D7

3

D4

D1

N'"

4700nFC1

220KR2

D

0V

dipl

D5

7815

22nFC3

1

TR1

Page 52: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

51

Slika 31. Elektri~na {ema veza upalja~kih kartica K3 do K6

6K3BC286

100

12

BC107

2K2

A3

0 0Thursday, November 19, 2020

Size Document Number Rev

Date: Sheet of

BC287

E_1

BC107

1K

PB_5

22nF

450

dipl

47

PB_1

B_2

450

1N4001

SHEMA UPALJACA TRANZISTORA

680pF

22nF

1K

4N28

6K3

12K

PB_2

E_2

BC286

BC107

12K

2K2

BC287

1N4001

100

1K

BC287

BC287

47

12

BD233

1K

4N28

PG_9

PB_6

BC107

0.47mF

1N4001

BD234

100

12

100

0.47mF16V

1N4001

BD234

0.47mF16V

BD233

1000.47mF

12

B_1

100PG_19

680pF

Page 53: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

52

Slika 32. Elektri~na {ema veza kartice K7 (Kartica prekostrujne i prenaponske za{tite).

BC286

470

PC_7

PC_21

1K2

1K

33

2N2955

100K

ZF6.8

BAY80

10K

PC_19

2K2

220pF250V

330

BC286

+15V

2.2nF100V

6K8

PC_15

-15V

1K2

A3

0 0Sunday, November 22, 2020

Size Document Number Rev

Date: Sheet of

1K

470

1K

+

-

U3

LM741

3

26

7 14 5

+15V

2N2955

4K7

+

-

U1

LM741

3

26

7 14 5

47

PC_3

+

-

U2

LM741

3

26

7 14 5

PC_6

PC_22

10K

+15V

1N4001

100K

2N2955

PC_2

PC_1

1K

220

1K

PSZAS_5

0.1mF25V

PC_4

-15V

0.1mF25V

dipl

+15V

100nF63V

6.8nF

RESET

1K

470

ZF6.8

10K

PRENAPONSKA I PREKOSTRUJNA ZASTITA

BC286

1K

ZF5.6

33

100K

ZF6.8

10K

BC286

PNZAS_31

1K

BC286

1K

33

1K

10K

PSZAS_17

3K3

Page 54: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

53

Slika 33. Elektri~na {ema veza kartice K8 (Kartica strujne regulacije).

110

110

Ix

-15V

220 5.6

1K

PB_15

BC286

100K

47

220100nF

220

4K

+

-

U7

LM741

3

26

7 14 5

BC286

Ix*

-15V

100nF

3K464

PB_16

2K

PB_1

PB_3

3K464

PB_13

47

2K

47

ZVEZDISTE

BC287

2K

+15V

A3

0 0Thursday, November 19, 2020

Size Document Number Rev

Date: Sheet of

4K

+

-

U5

LM741

3

26

7 14 5

100K

dipl

1K

P210k

2K

4K

SHANT_A

5.6

47

5.6

PB_18

+0.1mF

SHEMA STRUJNOG REGULATORA

+15V

+15V

+

-

U6

LM741

3

26

7 14 5

PB_14

1K

BC287

5.6

220

PB_6

2K

BC286

PB_2

Iy*

PB_7

100nF

10K

P3

+15V

220

1K3K464

47+

-

U4

LM741

3

26

7 14 5

2K

SHANT_B

3K464

-15V

+15V

110

3K464

PB_20

+ 0.1mF

+15V

110

+

-

U2

LM741

3

26

7 14 5

-15V

110

BC287

5.6

110

5.6

PB_4

PB_17

2K

PB_5

+15V

47

10K

P4

SHANT_C

+

-

U3

LM741

3

26

7 14 5

3K464

12DAC_2

-15V

-15V

220

-15V

PB_10

+

-

U1

LM741

3

26

7 14 5

Iy

1K

11DAC_1

PB_9

PB_19

P110K

PB_8

Page 55: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

54

Slika 34. Elektri~na {ema veza invertorskog mosta.

Q6QM100HY-H

B_6

Q3

E_7

DC-_2

Q4

FAZA_A

PSZAS_17

-+

BRIDGE

Q7

Q1

E_1

B_2

E_4

SHEMA ENERGETSKOG KOLA INVERTORA

B_7

dipl

B_1

VS_4

E_2

PSZAS_5

VS_2

BYT30D1

E_5

PNZAS_31

39om

10W

47omRd

C11.1mF

DC+_32

E_6

C21.1mF

Q5QM100HY-H

-+

BRIDGE

0.33mFC3

B_3

B_4

E_3

B_5

VS_1

25A

Rs1

A4

0 0Sunday, November 15, 2020

Size Document Number Rev

Date: Sheet of

Q2

VS_3

FAZA_C

60W

Rs2

FAZA_B

Page 56: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

55

6.2. Izvorni kod S/W laboratorijske stanice VEKTRA Listing1. Izvorni C kod programa realtime.exe #include <stdio.h> #include <conio.h> #include <dos.h> #include <math.h> typedef unsigned int UINT; void interrupt (*old_timer_handler)(); void interrupt new_timer_handler(); int main(void) { char str[16]; /* Incijalizacija portova Prilagodne kartice 1 */ outp(0x303,0x92); /* 1PA-in, 1PB-in, 1PCup-in, 1PClo-out */ outp(0x307,0x80); /* 2PA-out, 2PB-out, 2PC-out */ outp(0x30b,0x9a); /* 3PA-in, 3PB-in, 3PC-out */ /* Organizacija Real-Time prekidne rutine sa periodom T = 1 ms */

disable(); old_timer_handler = getvect(0x1c);

outp(0x043, 0x36); /* Novi sistemski tajmer (cntr #0 mode 3) */ outp(0x040, 0xa8); /* LSB za T = 1ms */ outp(0x040, 0x04); /* MSB za T = 1ms */ setvect(0x1c, new_timer_handler); enable(); /* Kontrolisani izlazak iz programa */

while(1) { printf("> Enter QUIT to exit: "); gets(str); if(!(strcmp(str, "QUIT"))) { disable(); setvect(0x1c,old_timer_handler); outp(0x043,0x36); /* Stari sistemski tajmer (cntr #0 mode 3) */ outp(0x040,0xff); /* Default LSB */ outp(0x040,0xff); /* Default MSB */ enable(); return(0); } } } void interrupt new_timer_handler() { static UINT nTicTac = 0; /* Generisanje povorke pravougaonih impulsa */ nTicTac++; nTicTac &= 0x0001; /* Prikaz generisane povorke na digitalnom osciloskopu */

Page 57: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

56

outp(0x306, (nTicTac) ? 255 : 128); } Listing 2. Izvorni C kod programa enc2000.exe #include <stdio.h> #include <conio.h> #include <dos.h> #include <math.h> typedef unsigned int UINT; void interrupt (*old_timer_handler)(); void interrupt new_timer_handler(); int main(void) { char str[16]; /* Incijalizacija portova Prilagodne kartice 1 */ outp(0x303,0x92); /* 1PA-in, 1PB-in, 1PCup-in, 1PClo-out */ outp(0x307,0x80); /* 2PA-out, 2PB-out, 2PC-out */ outp(0x30b,0x9a); /* 3PA-in, 3PB-in, 3PC-out */ /* Organizacija Real-Time prekidne rutine sa periodom T = 1 ms */

disable(); old_timer_handler = getvect(0x1c);

outp(0x043, 0x36); /* Novi sistemski tajmer (cntr #0 mode 3) */ outp(0x040, 0xa8); /* LSB za T = 1ms */ outp(0x040, 0x04); /* MSB za T = 1ms */ setvect(0x1c, new_timer_handler); enable(); /* Kontrolisani izlazak iz programa */

while(1) { printf("> Enter QUIT to exit: "); gets(str); if(!(strcmp(str, "QUIT"))) { disable(); setvect(0x1c,old_timer_handler); outp(0x043,0x36); /* Stari sistemski tajmer (cntr #0 mode 3) */ outp(0x040,0xff); /* Default LSB */ outp(0x040,0xff); /* Default MSB */ enable(); return(0); } } } void interrupt new_timer_handler() { static UINT nEncHiByte, nEncLoByte, nNewEnc,

Page 58: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

57

nOldEnc = 0; static int nTeta = 0, nIncPos; /* Citanje dvosmernog brojaca enkoderskih impulsa */ outp(0x302, 0x02); /* Disable Encoder latch (output) */ nEncHiByte = inp(0x308); /* Cita visih 4 bita 12-bit latch-a */ nEncLoByte = inp(0x309); /* Cita nizih 8 bita 12-bit latch-a */ outp(0x302, 0x00); /* Enable Encoder latch (output) */ nNewEnc = nEncHiByte << 8; nNewEnc |= nEncLoByte; /* Odredjivanje inkrementa pozicije */ nIncPos = nNewEnc - nOldEnc; nOldEnc = nNewEnc; if(nIncPos > 1250) nIncPos -= 2500; if(nIncPos < -1250) nIncPos += 2500; /* Odredjivanje pozicije vratila asinhronog motora */ nTeta += nIncPos; if(nTeta > 1999) nTeta -= 2000; if(nTeta < 0) nTeta += 2000; /* Prikaz detektovane pozicije na digitalnom osciloskopu */ outp(0x306, (nTeta >> 5) + 128); } Listing 3. Izvorni C kod programa sin2000.exe #include <stdio.h> #include <conio.h> #include <dos.h> #include <math.h> typedef unsigned int UINT; #define PI 3.1415927 #define HIBYTE(w) (w >> 8) void interrupt (*old_timer_handler)(); void interrupt new_timer_handler(); void fill_sine_table(int*); int SIN(const int*, const UINT); int COS(const int*, const UINT); int nSineTable[2000]; int main(void) { char str[16]; fill_sine_table(nSineTable); /* Incijalizacija portova Prilagodne kartice 1 */ outp(0x303,0x92); /* 1PA-in, 1PB-in, 1PCup-in, 1PClo-out */ outp(0x307,0x80); /* 2PA-out, 2PB-out, 2PC-out */ outp(0x30b,0x9a); /* 3PA-in, 3PB-in, 3PC-out */ /* Organizacija Real-Time prekidne rutine sa periodom T = 1 ms */

Page 59: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

58

disable(); old_timer_handler = getvect(0x1c); outp(0x043, 0x36); /* Novi sistemski tajmer (cntr #0 mode 3) */ outp(0x040, 0xa8); /* LSB za T = 1ms */ outp(0x040, 0x04); /* MSB za T = 1ms */ setvect(0x1c, new_timer_handler);

enable(); /* Kontrolisani izlazak iz programa */

while(1) { printf("> Enter QUIT to exit: "); gets(str); if(!(strcmp(str, "QUIT"))) { disable(); setvect(0x1c,old_timer_handler); outp(0x043,0x36); /* Stari sistemski tajmer (cntr #0 mode 3) */ outp(0x040,0xff); /* Default LSB */ outp(0x040,0xff); /* Default MSB */ enable(); return(0); } } } void interrupt new_timer_handler() {

static UINT nEncHiByte, nEncLoByte, nNewEnc, nOldEnc = 0; static int nTeta, nIncPos, nSinTeta, nCosTeta; /* Citanje dvosmernog brojaca enkoderskih impulsa */ outp(0x302, 0x02); /* Disable Encoder latch (output) */ nEncHiByte = inp(0x308); /* Cita visih 4 bita 12-bit latch-a */ nEncLoByte = inp(0x309); /* Cita nizih 8 bita 12-bit latch-a */ outp(0x302, 0x00); /* Enable Encoder latch (output) */ nNewEnc = nEncHiByte << 8; nNewEnc |= nEncLoByte; /* Odredjivanje inkrementa pozicije */ nIncPos = nNewEnc - nOldEnc; nOldEnc = nNewEnc; if(nIncPos > 1250) nIncPos -= 2500; if(nIncPos < -1250) nIncPos += 2500; /* Odredjivanje pozicije vratila asinhronog motora */ nTeta += nIncPos; if(nTeta > 1999) nTeta -= 2000; if(nTeta < 0) nTeta += 2000;

Page 60: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

59

/* Generisanje obrtnih vektora */ nSinTeta = SIN(nSineTable, nTeta); nCosTeta = COS(nSineTable, nTeta); /* Prikaz obrtnih vektora na digitalnom osciloskopu */ outp(0x306, HIBYTE(nSinTeta) + 128); } void fill_sine_table(int *SineTable) { register UINT i; for(i = 0; i < 1000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) + 0.5); } for(i = 1000; i < 2000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) - 0.5); } } int SIN(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; return SineTable[nTeta]; } int COS(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; nTeta += 500; if(nTeta >= 2000) nTeta -= 2000; return SineTable[nTeta]; } Listing 4. Izvorni C kod programa direct.exe #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <dos.h> #include <ctype.h> #include <math.h> #define IDNOM 98 #define IQNOM 114 #define SLIPGAIN 2108 #define LONG1999 131006464 #define LONG2000 131072000 #define IQMAX 119537664 #define TRUE 1 #define FALSE 0 #define PI 3.1415927 typedef unsigned int UINT; typedef unsigned char BOOL;

Page 61: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

60

union LONG { long ALL; struct { int LO; int HI; } WORD; }; void interrupt (*old_timer_handler)(); void interrupt new_timer_handler(); void fill_sine_table(int*); int SIN(const int*, const UINT); int COS(const int*, const UINT); int nSineTable[2000]; int nIQref = 0; int main(void) { char str[16]; /* Generisanje sinusne tabele */ fill_sine_table(nSineTable); /* Incijalizacija portova Prilagodne kartice 1 */ outp(0x303,0x92); /* 1PA-in, 1PB-in, 1PCup-in, 1PClo-out */ outp(0x307,0x80); /* 2PA-out, 2PB-out, 2PC-out */ outp(0x30b,0x9a); /* 3PA-in, 3PB-in, 3PC-out */ /* Organizacija Real-Time prekidne rutine sa periodom T = 1 ms */ disable(); old_timer_handler = getvect(0x1c); outp(0x043, 0x36); /* Novi sistemski tajmer (cntr #0 mode 3) */ outp(0x040, 0xa8); /* LSB za T = 1ms */ outp(0x040, 0x04); /* MSB za T = 1ms */ setvect(0x1c, new_timer_handler); enable(); /* Kontrolisani izlazak iz programa i zadavanje Iq-referentne struje */ while(1) { printf("> Iqref or QUIT to exit: "); gets(str); if(!(strcmp(str, "QUIT"))) { disable(); outp(0x304, 128); /* Ialfa = 0 */ outp(0x305, 128); /* Ibeta = 0 */ setvect(0x1c,old_timer_handler); outp(0x043,0x36); /* Stari sistemski tajmer (cntr #0 mode 3) */ outp(0x040,0xff); /* Default LSB */ outp(0x040,0xff); /* Default MSB */ enable(); return(0);

Page 62: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

61

} nIQref = atoi(str); if(nIQref > 10) { nIQref = 10; printf("> Limit +10!\n"); } if(nIQref < -10) { nIQref = -10; printf("> Limit -10!\n"); } } } void interrupt new_timer_handler() { static UINT nEncHiByte, nEncLoByte, nNewEnc, nOldEnc = 0, nLoopID = 10; static int nTetaE, nIncPos, nPosDif = 0, nSinTeta, nCosTeta, nIalfa, nIbeta; static long nSlipInc; static union LONG ACC, TETA = {0}; if(nLoopID == 10) { /* Prikaz detektovane brzine na digitalnom osciloskopu */ outp(0x306, (nPosDif >> 2) + 128); nPosDif = 0; } if(--nLoopID == 0) nLoopID = 10; /* Citanje dvosmernog brojaca enkoderskih impulsa */ outp(0x302, 0x02); /* Disable Encoder latch (output) */ nEncHiByte = inp(0x308); /* Cita visih 4 bita 12-bit latch-a */ nEncLoByte = inp(0x309); /* Cita nizih 8 bita 12-bit latch-a */ outp(0x302, 0x00); /* Enable Encoder latch (output) */ nNewEnc = nEncHiByte << 8; nNewEnc |= nEncLoByte; /* Odredjivanje inkrementa pozicije */ nIncPos = nNewEnc - nOldEnc; nOldEnc = nNewEnc; if(nIncPos > 1250) nIncPos -= 2500; if(nIncPos < -1250) nIncPos += 2500; /* Procena brzine obrtanja vratila asinhronog motora */ nPosDif += nIncPos;

Page 63: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

62

/* Indirektno vektorsko upravljanje asinhronim motorom */ TETA.WORD.HI += nIncPos; TETA.WORD.HI += nIncPos; nSlipInc = (long)SLIPGAIN*nIQref; TETA.ALL += nSlipInc; TETA.ALL += nSlipInc; if(TETA.ALL > LONG1999) TETA.ALL -= LONG2000; if(TETA.ALL < 0) TETA.ALL += LONG2000; nTetaE = (UINT)TETA.WORD.HI; nSinTeta = SIN(nSineTable, nTetaE); nCosTeta = COS(nSineTable, nTetaE); ACC.ALL = (long)IDNOM*nCosTeta - (long)nIQref*nSinTeta; nIalfa = ACC.WORD.HI; /* Referentna struja Ialfa */ ACC.ALL = (long)IDNOM*nSinTeta + (long)nIQref*nCosTeta; nIbeta = ACC.WORD.HI; /* Referentna struja Ibeta */ outp(0x304, nIalfa + 128); outp(0x305, nIbeta + 128); } void fill_sine_table(int *SineTable) { register UINT i; for(i = 0; i < 1000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) + 0.5); } for(i = 1000; i < 2000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) - 0.5); } } int SIN(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; return SineTable[nTeta]; } int COS(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; nTeta += 500; if(nTeta >= 2000) nTeta -= 2000; return SineTable[nTeta]; }

Page 64: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

63

Listing 5. Izvorni C kod programa speed.exe #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <dos.h> #include <ctype.h> #include <math.h> #define IDNOM 98 #define IQNOM 114 #define SLIPGAIN 2108 #define LONG1999 131006464 #define LONG2000 131072000 #define IQMAX 119537664 #define TRUE 1 #define FALSE 0 #define PI 3.1415927 typedef unsigned int UINT; typedef unsigned char BOOL; union LONG { long ALL; struct { int LO; int HI; } WORD; }; void interrupt (*old_timer_handler)(); void interrupt new_timer_handler(); void fill_sine_table(int*); int SIN(const int*, const UINT); int COS(const int*, const UINT); int nSineTable[2000]; UINT KP = 2393, /* P-dejstvo regulatora brzine (vidi speed.mdl) */ KI = 150; /* I-dejstvo regulatora brzine (vidi speed.mdl) */ long nSpeedRef = 0; /* Referentna brzina */ int main(void) { char str[16]; int nRetVal; fill_sine_table(nSineTable); /* Incijalizacija portova Prilagodne kartice 1 */ outp(0x303,0x92); /* 1PA-in, 1PB-in, 1PCup-in, 1PClo-out */ outp(0x307,0x80); /* 2PA-out, 2PB-out, 2PC-out */ outp(0x30b,0x9a); /* 3PA-in, 3PB-in, 3PC-out */ /* Organizacija Real-Time prekidne rutine sa periodom T = 1 ms */ disable(); old_timer_handler = getvect(0x1c);

Page 65: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

64

outp(0x043, 0x36); /* Novi sistemski tajmer (cntr #0 mode 3) */ outp(0x040, 0xa8); /* LSB za T = 1ms */ outp(0x040, 0x04); /* MSB za T = 1ms */ setvect(0x1c, new_timer_handler); enable(); /* Kontrolisani izlazak iz programa i zadavanje referentne brzine */ while(1) { printf("> Speed[rpm] or QUIT to exit: "); gets(str); if(!(strcmp(str, "QUIT"))) { disable(); outp(0x304, 128); /* Ialfa = 0 */ outp(0x305, 128); /* Ibeta = 0 */ setvect(0x1c,old_timer_handler); outp(0x043,0x36); /* Stari sistemski tajmer (cntr #0 mode 3) */ outp(0x040,0xff); /* Default LSB */ outp(0x040,0xff); /* Default MSB */ enable(); return(0); } nRetVal = atoi(str); if(nRetVal > 800) { nRetVal = 800; printf("> Limit +800 [rpm]!\n"); } if(nRetVal < -800) { nRetVal = -800; printf("> Limit -800 [rpm]!\n"); } nSpeedRef = (long)100*nRetVal; } } void interrupt new_timer_handler() { static UINT nEncHiByte, nEncLoByte, nNewEnc, nOldEnc = 0, nLoopID = 10; static int nTetaE, nIncPos, nPosDif = 0, nIQref, nSinTeta, nCosTeta, nIalfa, nIbeta;

Page 66: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

65

static long nSlipInc, nSpeedDif = 0, nSpeedFdb, nSpeedErr, nSpeedOld = 0, nOldAcc = 0; static union LONG ACC, TETA = {0}; if(nLoopID == 10) { /* Prikaz regulisane brzine na digitalnom osciloskopu */ outp(0x306, (nPosDif >> 2) + 128); /* Digitalna regulacija brzine (vidi SIMULINK model speed.mdl) */ nSpeedFdb = (long)300*nPosDif; nPosDif = 0; nSpeedErr = nSpeedRef - nSpeedFdb; nSpeedDif = nSpeedFdb - nSpeedOld; nSpeedOld = nSpeedFdb; ACC.ALL = (long)nOldAcc + (long)KI*nSpeedErr - (long)KP*nSpeedDif; if(ACC.ALL > +IQMAX) ACC.ALL = +IQMAX; if(ACC.ALL < -IQMAX) ACC.ALL = -IQMAX; nOldAcc = ACC.ALL; nIQref = ACC.WORD.HI >> 3; } if(--nLoopID == 0) nLoopID = 10; /* Citanje dvosmernog brojaca enkoderskih impulsa */ outp(0x302, 0x02); /* Disable Encoder latch (output) */ nEncHiByte = inp(0x308); /* Cita visih 4 bita 12-bit latch-a */ nEncLoByte = inp(0x309); /* Cita nizih 8 bita 12-bit latch-a */ outp(0x302, 0x00); /* Enable Encoder latch (output) */ nNewEnc = nEncHiByte << 8; nNewEnc |= nEncLoByte; /* Odredjivanje inkrementa pozicije */ nIncPos = nNewEnc - nOldEnc; nOldEnc = nNewEnc; if(nIncPos > 1250) nIncPos -= 2500; if(nIncPos < -1250) nIncPos += 2500; /* Procena brzine obrtanja vratila asinhronog motora */ nPosDif += nIncPos; /* Indirektno vektorsko upravljanje asinhronim motorom */ TETA.WORD.HI += nIncPos; TETA.WORD.HI += nIncPos; nSlipInc = (long)SLIPGAIN*nIQref; TETA.ALL += nSlipInc; TETA.ALL += nSlipInc; if(TETA.ALL > LONG1999) TETA.ALL -= LONG2000; if(TETA.ALL < 0) TETA.ALL += LONG2000;

Page 67: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

66

nTetaE = (UINT)TETA.WORD.HI; nSinTeta = SIN(nSineTable, nTetaE); nCosTeta = COS(nSineTable, nTetaE); ACC.ALL = (long)IDNOM*nCosTeta - (long)nIQref*nSinTeta; nIalfa = ACC.WORD.HI; /* Referentna struja Ialfa */ ACC.ALL = (long)IDNOM*nSinTeta + (long)nIQref*nCosTeta; nIbeta = ACC.WORD.HI; /* Referentna struja Ibeta */ outp(0x304, nIalfa + 128); outp(0x305, nIbeta + 128); } void fill_sine_table(int *SineTable) { register UINT i; for(i = 0; i < 1000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) + 0.5); } for(i = 1000; i < 2000; i++) { SineTable[i] = (int)(32767*sin(2*PI*i/2000) - 0.5); } } int SIN(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; return SineTable[nTeta]; } int COS(const int *SineTable, const UINT Teta) { UINT nTeta = Teta; nTeta += 500; if(nTeta >= 2000) nTeta -= 2000; return SineTable[nTeta]; } 6.3 Simulink model brzinske regulacione petlje speed.mdl

Simulink model brzinske regulacione petlje u laboratorijskoj stanici VEKTRA speed.mdl izveden je iz SIMULINK modela A.mdl, koji je detaljno opisan u okviru laboratorijske ve`be: "Ispitivanje dinami~kih svojstava digitalno regulisanog brzinskog servomehanizma putem ra~unarskih simulacije".

Pokre}e se izvr{enjem komandne datoteke go_speed.m iz komandne linije MATLAB-a:

go_speed <Enter>

Napomena: SIMULINK model speed.mdl i komandna datoteka go_speed.m moraju biti na stazi vidljivoj MATLAB-u.

Page 68: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

67

6.4 Opis programa vektor.exe Program za indirektno vektorsko upravljanje asinhronim motorom sa grafi~kim interfejsom vektor.exe nalazi se u direktorijumu D:\TC\VEKTRA, na PC ra~unaru laboratorijske stanice VEKTRA. Poseduje grafi~ki interfejs koji omogu}ava posmatranje talasnih oblika momenta, brzine i pozicije u realnom vremenu.

Pokre}e se iz komandne linije DOS-a naredbom:

D:\TC\VEKTRA\vektor.exe <Enter>

Po pokretanju programa, aktivan je PI regulator brzine. Pomo}u opcije SEMAFOR, mogu}e je izabrati nelinearni PID regulator pozicije ili, direktno zadavanje momenta. Zadavanjem vrednosti SEMAFOR = 1, aktivira se PI regulator brzine (default vrednost); zadavanjem vrednosti SEMAFOR = 2, aktivira se nelinearni PID regulator pozicije; zadavanjem vrednosti SEMAFOR = 3, direktno se zadaje vrednost momenta asinhronog motora.

U toku rada, mogu}e je menjati parametre regulatora brzine (KP i KI), pozicije (KP, KI i KD) i algoritma indirektnog vektorskog upravljanja (SLIPGAIN) i zadavati vrednost i trenutak delovanja odko~ne pobude (momenta, brzine i pozicije).

Talasni oblici momenta, brzine i pozicije koji se ispisuju na monitoru PC ra~unara, mogu se sa~uvati u vidu ASCII datoteke sa ekstenzijom *.prn. Najpre se pomo}u opcije FREEZ, zaustavi dalja promena talasnih oblika na ekranu; pomo}u opcije ZOOM, nazna~i se i uve}a deo ekrana od interesa a zatim se, izborom opcije SAVE SCREEN, taj deo ~uva u tekstualni fajl sa ekstenzijom *.prn. Dobijeni fajl se nalazi u direktorijumu D:\TC\VEKTRA.

Page 69: LABORATORIJA ZA MIKROPROCESORSKO UPRAVLJANJE ...ddc.etf.rs/vektra.pdf · detektovane pozicije i izra~unatu vrednost ispisuje na D/A konvertor? 2. Koliko odbiraka ima sinusna tabela

Laboratorijska stanica VEKTRA

68

7. Literatura [1] Slobodan N. Vukosavi}: "Digitalno upravljanje elektri~nim pogonima ", Akademska misao,

ETF Beograd, 2003.

[2] Slobodan N. Vukosavi}: "Predavanja iz predmeta Mikroprocesorsko upravljanje

elektromotornim pogonima ", Elektrotehni~ki fakultet, Beograd, 1996.