Zadatak - emp.etf.rsemp.etf.rs/radovi/Diplomski/zoran_nikolic.pdf · kojima je rezolver spregnut sa...

68
Zadatak Proučiti konstrukciju, statička i dinamicka svojstva elektromagnetnog rezolvera. Analizirati različite načine za derivaciju brzine i pozicije iz signala SIN i COS rezolvera. Prouciti funkcionisanje konvencionalnih (2S82) R/D kovertora i diskutovati nedostatke. Formirati hardversku postavku sposobnu za generisanje eksitacije rezolvera i akviziciju SIN/COS signala sa dovoljnom brzinom i rezolucijom. Projektovati VHDL ili SCH program koji će uz pomoć FPGA kola emulirati R/D konvertor 2S82. Uočiti statičke i dinamičke nesavršenosti. Definisati performanse na osnovu kojih se može vršiti upoređenje.

Transcript of Zadatak - emp.etf.rsemp.etf.rs/radovi/Diplomski/zoran_nikolic.pdf · kojima je rezolver spregnut sa...

Zadatak Proučiti konstrukciju, statička i dinamicka svojstva elektromagnetnog rezolvera. Analizirati različite načine za derivaciju brzine i pozicije iz signala SIN i COS rezolvera. Prouciti funkcionisanje konvencionalnih (2S82) R/D kovertora i diskutovati nedostatke. Formirati hardversku postavku sposobnu za generisanje eksitacije rezolvera i akviziciju SIN/COS signala sa dovoljnom brzinom i rezolucijom. Projektovati VHDL ili SCH program koji će uz pomoć FPGA kola emulirati R/D konvertor 2S82. Uočiti statičke i dinamičke nesavršenosti. Definisati performanse na osnovu kojih se može vršiti upoređenje.

Sadržaj:

1. UVOD.................................................................................................................

1

2. ELEKTROMAGNETNI REZOLVER..................................................................

4

3. STANDARDNI R/D KONVERTOR (AD2S82)...................................................

8

4. DIGITALNI R/D KONVERTOR..........................................................................

13

4.1 Struktura digitalnog R/D konvertora.....................................................

14

4.2 Sinteza digitalnog R/D konvertora.......................................................

17

4.2.1 Realizacija množenja.............................................................

17

4.2.2 Realizacija sinusne i kosinusne funkcije................................

17

4.2.3 Sinteza digitalnog NF filtra i izbor učestanosti odabiranja......

17

4.2.4 Sinteza digitalnog PI regulatora.............................................

21

4.2.5 Sinteza akumulatora..............................................................

22

4.2.6 Izbor aritmetike sistema.........................................................

23

4.3 Model R/D konvertora, simulacija i podešavanje parametara..............

24

4.4 Sinteza generatora pobude rezolvera..................................................

30

5. HARDVERSKA REALIZACIJA DIGITALNOG R/D KONVERTORA................

37

5.1 Realizacija redno-paralelnog množača................................................

41

5.2 Realizacija bloka QMP20NA12............................................................

43

5.3 Realizacija digitalnog NF filtra..............................................................

44

5.4 Realizacija digitalnog PI regulatora......................................................

44

5.5 Realizacija akumulatorskog registra....................................................

45

5.6 Realizacija bloka PSINCOS.................................................................

45

5.7 Realizacija upravljačke jedinice...........................................................

48

5.8 Realizacija generatora učestanosti odabiranja....................................

55

5.9 Realizacija pobude rezolvera...............................................................

56

5.10 Realizacija look-up tabele sa odbircima sinusoide............................

59

5.11 Realizacija hardverske postavke.......................................................

60

5.12 Učitavanje FPGA dizajna u XS40 karticu...........................................

63

6. ZAKLJUČAK.....................................................................................................

65

7. LITERATURA....................................................................................................

66

8. PRILOG (na disketi).........................................................................................

67

1. Uvod Jedan od osnovnih delova svakog regulisanog elektromotornog pogona je pretvarač ugaone brzine i/ili pozicije vratila elektromotora u odgovarajući električni signal. Zavisno od toga kakve performanse treba da ima sistem koji se projektuje, koja se veličina u njemu reguliše, u kakvim uslovima treba da radi, kolika je cena koštanja sistema, vrši se izbor pretvarača (tahogenerator, inkrementalni enkoder, elektromagnetni rezolver…). Ako je potrebno merenje velikih ugaonih brzina, ako je potrebno merenje pozicije vratila elektromotora sa velikom tačnošću, ako sistem radi u teškim uslovima (zaprljana radna sredina, velike varijacije temperature ambijenta...) onda se u sistem ugrađuje elektromagnetni rezolver. Rezolver se proizvodi u obliku male električne mašine čvrste i jednostavne konstrukcije. Na njegov ulaz se dovode mehanička koordinata vratila elektromotora koja se meri, i prostoperiodični pobudni signal učestanosti mnogo veće od učestanosti mehaničkih pojava u sistemu. Kao rezultat transformacije mehaničkih veličina u električne na izlazu rezolvera se pojavljuju dva amplitudski modulisana signala. Nosioc ovih signala je prostoperiodični signal sa frekvencijom jednakom frekvenciji pobudnog signala rezolvera, a njihova anvelopa je sinusna odnosno kosinusna funkcija ulazne ugaone koordinate. Izdvajanje ugaone pozicije iz ovih signala se može izvršiti na više načina. U praksi se za to koriste integrisani prateći R/D (Resolver to Digital) konvertori. Na ulaz ovih kola se pored modulisanih signala sa rezolvera dovodi i pobudni signal rezolvera, a na njihovom izlazu se pojavljuje merena ugaona koordinata u digitalnom obliku. Ova kola su tako projektovana da korisnik dodavanjem malog broja pasivnih komponenti (otpornika i kondenzatora) na jednostavan način može da podesi odgovarajuću rezoluciju i dinamičke karakteristike sistema. Standardni R/D konvertori pored svojih dobrih osobina imaju nedostatke koji proizilaze iz same konstrukcije ovih kola. Na njihovom ulazu se nalazi otpornička mreža visoke tačnosti koja vrši određene trigonometrijske transformacije rezolverskih signala i koja znatno poskupljuje proizvodnju ovih kola. Prisustvo analognih delova umanjuje imunost na šum i unosi grešku usled postojanja struja polarizacije i ofseta. Primena klasičnih R/D konvertora podrazumeva upotrebu posebnog harmonijskog oscilatora za generisanje pobude rezolvera, pri čemu se javljaju fazni pomeraji, kako između pobudnog signala i rezolverskih signala, tako i među samim rezolverskim signalima, što umanjuje tačnost merenja. Uticaj navedenih smetnji se može umanjiti dodavanjem spoljašnjih pasivnih komponenti. Propusni opseg, odnosno dinamičke karakteristike sistema se takođe podešavaju dodavanjem određenih otpornika i kondenzatora. Svaka promena uslova rada ili potreba za korekcijom dinamičkih karakteristika sistema sa standardnim R/D konvertorima podrazumeva odgovarajuću intervenciju na hardveru. Naknadna promena hardvera u složenim sistemima može da bude teško izvodljiva, što znatno umanjuje fleksibilnost ovakvih sistema. Navedeni problemi bi se mogli umanjiti ili potpuno ukloniti konstruisanjem digitalnog R/D konvertora. Gore pomenute trigonometrijske transformacije signala se mogu u

ovakvim sistemima izvršiti primenom množača, sabirača i odgovarajućih look-up tabela. Digitalni sistemi pokazuju veću imunost na šum od analognih i u njima ne postoji problem struja polarizacije i ofseta. Pored toga digitalni sistem daje mogućnost generisanja pobude rezolvera sa poznatim faznim stavom koji se može podesiti tako da se kompenzuju eventualna kašnjenja rezolverskih signala. Digitalni sistem se može realizovati hardverski ili softverski, što podrazumeva implementaciju određenog digitalnog algoritma na nekom mikroprocesoru. Softverske realizacije se odlikuju velikom fleksibilnošću, u smislu da svaka promena bilo strukture bilo parametara sistema zahteva samo intervencije na softveru, ali zbog tehnoloških ograničenja, u smislu maksimalne brzine rada procesora, ovako realizovani sistemi se retko koriste za digitalnu obradu brzih signala u realnom vremenu. Sistemi za digitalnu obradu brzih signala u realnom vremenu se realizuju hardverskim putem ili primenom specijalizovanih digitalnih signal procesora. Primena digitalnih signal procesora ima smisla ako je digitalni algoritam koji se realizuje određenog nivoa složenosti dok se manje složeni algoritmi mogu realizovati hardverskim putem. Naročito pogodan način za hardversku implementaciju digitalnih algoritama je upotreba programabilnih FPGA (Field-Programmable Gate Arrays) logičkih kola visokog stepena integracije. Ovako realizovani sistemi objedinjuju fleksibilnost softverske realizacije i veliku brzinu obrade signala koja je karakteristična za hardverski realizovane sisteme. Celokupno projektovanje sistema se vrši softverskim putem. Pored toga svaka kasnija izmena strukture i parametara sistema se takođe može izvršiti softverskom intervencijom. Savremene FPGA komponente se odlikuju velikim kapacitetom tako da se u njima mogu realizovati digitalni sistemi velike složenosti. Ovo daje mogućnost da se ovako realizovani R/D konvertor uklopi kao modul u neki širi sistem za regulaciju brzine i pozicije vratila motora realizovan takođe u FPGA tehnologiji. Zadatak ovog rada je da se izvrši sinteza digitalnog R/D konvertora i njegova implementacija pomoću FPGA čipa i da se sagledaju karakteristike ovako realizovanog sistema. Rad pored uvoda sadrži sedam glava. Izlaganje je započeto opisom elektromagnetnog rezolvera kao senzora, i opisom postojećih standardnih R/D konvertora. Zatim je predložena realizacija R/D konvertora kao digitalnog sistema i izvršena njegova sinteza sa svim neophodnim proračunima i simulacijom. Na osnovu rezultata sinteze je izvršena hardverska implementacija sistema uz pomoć FPGA čipa i odgovarajućih elektronskih kola (A/D i D/A konvertori, filtarski i pojačavački stepen) kojima je sistem spregnut sa okruženjem. Električne šeme realizovane postavke sa šemama i VHDL kodovima digitalnog dela sistema realizovanog u FPGA čipu su date na disketi u prilogu. U drugoj glavi je opisan elektromagnetni rezolver. Objašnjena je njegova mehanička i električna konstrukcija kao i princip rada. Dato je detaljno izvođenje izraza koji opisuju izlazne signale rezolvera i predlog postupaka za izdvajanje ugaone pozicije iz ovih signala.

U trećoj glavi su opisani standardni prateći R/D konvertori (posebno AD2S82). Objašnjen je njihov princip rada i navedene su njihove dobre i loše osobine. U četvrtoj glavi je predložena realizacija R/D konvertora kao digitalnog sistema. U paragrafu 4.1 je formiran strukturni dijagram sistema, a u paragrafu 4.2 je kroz šest tačaka izvršena sinteza prenosnih funkcija svakog od blokova. Formiranje modela sistema sa simulacijom i podešavanjem parametara je opisano u paragrafu 4.3. Paragraf 4.4 sadrži opis sinteze generatora prostoperiodičnog signala za pobudu rezolvera. U petoj glavi je prikazana hardverska realizacija digitalnog R/D konvertora sa PWM generatorom sinusnog napona za pobudu rezolvera na XILINX-ovom FPGA čipu montiranom na XS40 V1.2 kartici istog proizvođača. Sistem je prvo formiran na nivou blok šeme na osnovu rezultata sinteze iz predhodne glave, a zatim je u prvih devet paragrafa objašnjen postupak realizacije svakog od logičkih blokova u XILINX-ovom Foundation Series 1.5 softverskom paketu namenjenom za dizajniranje logičkih kola u FPGA i CPLD programabilnim čipovima visokog stepena integracije. Deveti paragraf pored opisa digitalnog PWM modulatora realizovanog u FPGA čipu daje opis filtarskog i pojačavačkog stepena koji transformišu PWM signale iz modulatora u pobudni signal rezolvera. U desetom paragrafu je prikazan postupak za formiranje look-up tabele sa odbircima sinusoide u EPROM-u koji se koriste u procesu R/D konverzije. Jedanaesti paragraf sadrži opis realizovane hardverske postavke sa opisom šema datih u prilogu. Prilog sadrži šeme na kojima je prikazan napajački blok sistema, A/D konvertori kojima je rezolver spregnut sa digitalnim R/D konvertorom, D/A konvertor posredstvom kojeg se prikazuju rezultati R/D konverzije i filtarski i pojačavački stepen u kome se formira pobudni signal rezolvera. U prilogu je takođe data šema XILINX-ove XS40 kartice sa FPGA čipom u kome je realizovan digitalni R/D konvertor. Šeme i VHDL kodovi R/D konvertora i njegovih blokova realizovanih u FPGA čipu su priloženi na disketi.

2. Elektromagnetni rezolver Jedan od osnovnih elemenata u sistemima za praćenje i regulaciju brzine i pozicije vratila elektromotora u elektromotornim pogonima je elektromehanički pretvarač. Njegov zadatak je da mehaničku koordinatu vratila motora ili njegovu ugaonu brzinu pretvori u odgovarajući električni signal pogodan za dalju obradu. Postoji više vrsta elektromehaničkih pretvarača. Po tipu izlaznog signala mogu se podeliti na anlogne i impulsne, po veličini koju pretvaraju na brzinske i pozicione, po konstrukciji na elektromagnetne, optoelektronske, na one sa četkicama ili bez njih itd. Koju vrstu pretvarača ćemo upotrebiti u nekoj konkretnoj realizaciji zavisi od više faktora kao što su: veličina koja se reguliše (brzina ili pozicija), vrsta sistema koji vrši regulaciju (kontinualni ili diskretni), performanse sistema koje treba postići, uslovi rada i cena koštanja sistema. Rezolveri spadaju u grupu elektromagnetnih pozicionih senzora sa analognim izlaznim signalima. Primenom rezolvera kao merača ugla može se postići velika tačnost merenja, čak i pri krajnje velikim brzinama obrtanja. Zbog svoje jednostavne i čvrste konstukcije mogu da rade u teškim uslovima rada (električna vuča, brusilice, glodalice; odnosno svuda gde su prljavi uslovi rada). Pošto ne sadrže elektronske komponente mogu da rade u širokom temperaturnom opsegu. Rezolver je mala električna mašina sa tri namotaja na statoru i dva na rotoru. Slike 2.1 i 2.2 prikazuju njegovu mehaničku konstrukciju (poprečni i uzdužni presek) dok je na slici 2.3 prikazana njegova električna šema.

pobU

COSUθ

r

α

β

SINU

RPNSPNRN

SINN

COSNRPiSPi

slika 2.3 Električna šema rezolvera

slika 2.1 Poprečni presek rezolvera slika 2.2 Uzdužni presek rezolvera

Statorski namotaj NSP i rotorski namotaj NRP su motani tako da su im ose kolinearne sa vratilom mašine dok su statorski namotaji NSIN i NCOS kao i rotorski namotaj NR motani tako da im je osa normalna na vratilo mašine. Namotaji NSIN i NCOS su međusobno normalni. Vremenski promenljivi napon, najčešće sinusni, za pobudu rezolvera se dovodi na statorski namotaj NSP. Ovaj namotaj sa rotorskim namotajem NRP čini transformatorsku strukturu pomoću koje se pobudni signal sa statora bezkontaktnim putem prenosi na rotor. Rotorski namotaj NRP napaja rotorski namotaj NR. Struja koja protiče kroz namotaj NR stvara u njemu promenljivi magnetni fluks ΨP normalan na vrtilo mašine. Ovaj promenljivi fluks indukuje u statorskim namotajima NSIN i NCOS odgovarajuće napone USIN(t) i UCOS(t). Neka je na namotaj NSP doveden napon sledećeg oblika:

( ) tUtU pobmSPpob ωsin⋅= (2.1)

pobpob fπω 2= (2.2)

tada primenom drugog Kirhofovog za ovaj namotaj uz zanemarenje njegove otpornosti dobijamo izraz za magnetni fluks u transformatorskom delu rezolvera: ( ) tt pob

mTT ωcos⋅Ψ−=Ψ . (2.3)

Ovaj promenljivi fluks indukuje u namotaju NRP struju: ( ) tIti pob

mPRP ωcos⋅−= (2.4)

koja protiče i kroz namotaj NR stvarajući u njemu fluks: tpob

mPP ωcos⋅Ψ−=Ψ . (2.5)

Sa slike 2.1 se vidi da se fluksevi u namotajima NSIN i NCOS mogu izraziti na sledeći način: θcos⋅Ψ⋅=Ψ PCOS k (2.6) θsin⋅Ψ⋅=Ψ PSIN k (2.7) Ako za namotaje NSIN i NCOS napišemo relacije po drugom Kirhofovom zakonu i pri tom zanemarimo njihove omske otpornosti dobijamo sledeće izraze za napone USIN(t) i UCOS(t):

[ ]θω coscos ⋅⋅Ψ⋅−= tkdtdU pob

mPCOS i (2.8)

[ ]θω sincos ⋅⋅Ψ⋅−= tkdtdU pob

mPSIN (2.9)

Nakon primene operatora diferenciranja dobijamo: [ ]θωωθωω sincoscossin ⋅⋅+⋅⋅⋅Ψ⋅= ttkU pobmpobpob

mPCOS (2.10)

[ ]θωωθωω coscossinsin ⋅⋅−⋅⋅⋅Ψ⋅= ttkU pobmpobpob

mPSIN (2.11)

gde je

dtd

mθω = (2.12)

mehanička brzina obrtanja rotra rezolvera. Učestanost pobude rezolvera fpob je reda 10 KHz pa je u praksi uvek zadovoljen uslov da je ωm<<ωpob. Na osnovu toga možemo pojednostaviti izraze 2.10 i 2.11 na sledeći način: θωω cossin ⋅⋅⋅Ψ⋅= tkU pobpob

mPCOS (2.13)

θωω sinsin ⋅⋅⋅Ψ⋅= tkU pobpob

mPSIN (2.14)

Talasni oblici signala UCOS(t), USIN(t) i pobudnog signala rezolvera Upob(t) prikazani su na slici 2.4. [8]

COSU

SINU

pobU

slika 2.4. Talasni oblici signala na rezolveru

Sa slike 2.4 se vidi da signali USIN(t) i UCOS(t) imaju oblik modulisanih signala. Noseći signal je pobudni signal rezolvera, dok su modulišući signali sinusna odnosno kosinusna funkcija ugaone pozicije vratila. Jedan od načina da se odredi ugaona pozicija vratila θ je da se izvrši deljenje odbiraka napona USIN(t) i UCOS(t). Na taj način dobijamo:

COS

SIN

UU

tg =θ (2.15)

Sada ugaoni pomeraj možemo očitati iz look up tabele. Ovaj način se retko nalazi u praktičnoj upotrebi jer tačnost merenja zavisi od stepena zaprljanosti šumom signala USIN(t) i UCOS(t). Pored uobičajenog šuma za rezolver su karakteristične smetnje koje potiču od aksijalne komponenete polja motora sa kojim je rezolver spregnut kao i smetnje koje se javljaju usled nesimetričnosti njegovih namotaja. Da bi se smanjio uticaj smetnji i šuma kvantizacije usled A/D konverzije odabiranje signala USIN(t) i UCOS(t) treba vršiti u trenucima maksimuma signala nosioca. U praksi se za izdvajanje ugla θ iz signala USIN(t) i UCOS(t) koriste prateći R/D konvertori (Resolver-to-Digital Converter). Princip rada ovih konvertora je opisan u sledećoj glavi.

3. Standardni R/D konvertor (AD2S82) Pratreći R/D konvertor ima zadatak da iz signala USIN(t) i UCOS(t) sa rezolvera izdvoji podatak o poziciji vratila motora. Pored pomenutih signala ovom kolu se na ulaz dovodi i signal pobude rezolvera Upob(t) dok ono na izlazu daje digitalizovanu vrednost pozicije vratila θD. Blok šema R/D konvertora je data na slici 3.1. Sistem sačinjava pet osnovnih blokova: - otpornička mreža visoke tačnosti koja prihvata modulisane signale USIN(t) i UCOS(t) sa rezolvera i od njih formira signal:

( ) ( ) ( ) DCOSDSIN tUtUtX θθ sincos ⋅−⋅= (3.1) Uvrštavanjem izraza 2.13 i 2.14 u izraz 3.1 i primenom trigonometrijskih identiteta dobijamo: ( ) ( )DpobtktX θθω −⋅⋅= sinsin1 , gde je pob

mPkk ω⋅Ψ⋅=1 (3.2)

Iz relacije 3.2 se vidi da je signal X(t) takođe modulisani signal. Njegov nosioc je pobudni signal rezolvera a modulišući signal je sinus razlike trenutne pozicije vratila θ i njene merene vrednosti sa izlaza sistema θD. Ukoliko je razlika između θ i θD dovoljno mala signal X(t) predstavlja modulisani signal greške sistema. - demodulator vrši demodulaciju signala X(t). Signal X(t) se prvo množi pobudnim signalom rezolvera Upob(t) i na taj način formira signal: ( ) ( )DpobtktY θθω −⋅⋅= sinsin 2

1 (3.3)

Primenom trigonometrijskih identiteta ovaj izraz možemo napisati u sledećem obliku:

USIN(t)

UCOS(t)

OTPORNIČKA MREŽA KOJA REALIZUJE FUNKCIJU:

θθ ˆsinˆcos ⋅−⋅ COSSIN UUNF

FILTARANALOGNI PI REGULATOR

DEMODULATOR

VCO12-BITNI REGISTAR BROJAČ GORE

DOLE

X(t) Y(t) E(t)

Upob(t) BRZINA

slika 3.1 Principska blok šema R/D konvertora

( ) ( ) ( ) tkktY pobDD ωθθθθ 2cossin21sin

21

11 ⋅−⋅⋅−−⋅⋅= . (3.4)

Iz jednačine 3.4 se vidi da se signal Y(t) sastoji od dve komponente. Prva komponenta predstavlja koristan signal dok je druga nepoželjan produkt demodulacije na dvostruko većoj učestanosti od učestanosti nosioca i ona se odstranjuje NF filtrom. Na izlazu iz demodulatora imamo signal:

( ) ( )DktE θθ −⋅= sin2 (3.5)

Ukoliko je razlika između stvarne pozicije θ i njene merene vrednosti θD dovoljno mala iz izraza 3.5 sledi da je signal E(t) praktično signal greške sistema. - analogni PI regulator uobličava dinamičke karakteristike sistema. On u kombinaciji sa registrom-brojačem unosi dvostruki stepen astatizma u funkciju povratnog prenosa i na taj način daje mogućnost sistemu da signal greške E(t) svede na nulu pri brzinskoj pobudi na ulazu. Dodavanjem spoljnih pasivnih R i C elemenata vrši se podešavanje propusnog opsega sistema u zatvorenoj petlji. Na izlazu ovog bloka se javlja analogni napon direktno proporcionalan brzini obrtanja vratila koji se može iskoristiti kao zamena za tahogenerator. - naponski kontrolisani oscilator (VCO) je blok koji, zavisno od znaka ulaznog napona na jednom od svojih izlaza, daje povorku pravougaonih impulsa čija je učestanost proporcionalna amplitudi ulaznog napona. - registar-brojač zavisno od signala koje prima iz naponski kontrolisanog oscilatora broji na gore ili na dole odnosno uvećava ili umanjuje svoj sadržaj. Sadržaj ovog registra θD je digitalizovana vrednost merene pozicije vratila motora θ. Sistem funkcioniše tako da svojim izlazom θD prati vrednost ulaznog ugla θ i pri tome teži da njihovu razliku svede na nulu. Postojeći sistemi uspevaju da razliku između ulaznog ugla θ i njegove procene θD svedu na nekoliko lučnih minuta. Ovde primenjen raciometrijski način konverzije omogućava da tačnost merenja ne zavisi od apsolutnih nivoa signala i maksimalno umanjuje uticaj šuma i harmonijskih izobličenja signala sa rezolvera USIN(t) i UCOS(t) kao i pobudnog signala Upob(t). Pored digitalnog izlaza θD i analognog brzinskog izlaza koji odgovara izlazu tahogeneratora ovi sistemi mogu da generišu signale koji odgovaraju fazama A i B inkrementalnog enkodera. [8] Ovi signali se mogu jednostavno formirati od bilo koja dva susedna bita digitalne reči Dθ , ( )0111011 ...... bbbbbb nnD −=θ , na sledeći način:

slika 3.2 Enkoderske faze A i B

faza A

faza B

učestanost - fBW

pojača

nje

0.02 0 04 0.1 0.2 0.4 0 2-12

-9

-6 -3 0 3 6

912

faza

0 02 0.04 0 1 0.2 0 4 0 2učestanost - fBW

-180-135-90-45

04590

135180

slika 3.3 Amplitudski i fazni frekvencijski dijagrami kola AD2S82

1−← nbA i (3.6) nn bbB ⊕← −1 (3.7) Iz gore pomenutog sledi da se rezolver u kombinaciji sa R/D konvertorom može ugraditi u već postojeće sisteme za regulaciju brzine i položaja elektromotornog pogona umesto tahogeneratora ili inkrementalnog enkodera bez potrebe za izmenom strukture sistema. AD2S82 je monolitni prateći R/D konvertor proizvođača ANALOG DEVICES [7]. Daje mogućnost korisniku da pomoću dva selekciona bita podesi rezoluciju na 10,12,14 ili 16 bita zavino od potrebe u konkretnoj primeni. Dinamičke performanse (propusni opseg, maksimalna brzina praćenja, ...) se podešavaju izborom odgovarajućih otpornika i kondenzatora. Ima analogni izlaz proporcionalan brzini. Dinamičke karakteristike 2S82 kovertora su opisane sledećom prenosnom funkcijom:

( )

( )( )8.54.34.2114

2 ++++⋅

=NNN

N

UL

IZL

ssss

θθ

(3.8)

gde je

BWN f

ss ⋅=π2 (3.9)

normalizovana učestanost a fBW propusni opseg sistema definisan gore pomenutim izborom pasivnih komponenti. Konstanta ubrzanja je približno data formulom: 22 sec6 −⋅≈ BWA fK (3.10)

Normalizovani amplitudski i fazni frekvencijski dijagrami su dati na slici: Izbor propusnog opsega R/D konvertora AD2S82 vrši korisnik zavisno od učestanosti pobude rezolvera. Njegova širina iznosi nekoliko stotina Hz, najviše do 1KHz.

Odziv na malu odskočnu pobudu je dat na sledećoj slici: gde se vremena t1 i t2 približno izračunavaju na sledeći način:

BWf

t 11 ≈ (3.11)

12

52

Rf

tBW

⋅≈ (3.12)

gde je R-rezolucija konvertora (R = 10,12,14 ili 16) Po podacima proizvođača odziv na odskočnu pobudu od 179 stepeni bi imao oko tri puta duže vreme dostizanja prvog premašaja u odnosu na odziv na malu pobudu. Prateći kovertor u sistemima za regulaciju brzine i položaja elektromotornog pogona mora imati astatizam drugog reda, odnosno, ne sme da unosi grešku pri konstantnoj brzini vratila motora. Pri ubrzanom kretanju dolazi do izvesne razdešenosti ulaza i izlaza sistema. Ova razdešenost se opisuje konstantom ubrzanja KA R/D kovertora koju proizvođač definiše kao količnik ubrzanja motora i apsolutne greške izlaznog ugla:

D

mA

aK

θθ −= (3.13)

Konstanta ubrzanja ne određuje maksimalno ubrzanje koje sistem može da prati. Maksimalno ubrzanje je određeno veličinom dopustive greške izlaza i iznosi:

dopustivoDAKa θθ −⋅=max (3.14)

Na primer, 2S82 pri ubrzanju od 2200 sradπ , 26107,2 −⋅= sK A i 12-bitnoj rezoluciji

ima grešku od 5,47 ′′ (lučnih sekundi). Pored gore pomenutog povećanju greške doprinosi:

t

t2

t1

slika 3.4 Odziv kola AD2S82 na malu odskočnu pobudu

- offset analognog PI regulatora koji se može kompenzovati dodavanjem spoljnih pasivnih komponenti. Greška usled offset-a tipično iznosi 1′ (lučna minuta) preko celog temperaturnog opsega od interesa. -fazni pomeraj između rezolverskih signala USIN(t) i UCOS(t) kao i fazni pomeraj između ovih signala i signala pobude. Do pomenutih faznih pomeraja dolazi usled nesavršenosti rezolvera, nesimetričnosti vodova kojima se pobudni signal dovodi do rezolvera i signali USIN(t) i UCOS(t) odvode sa rezolvera. Da bi se umanjio fazni pomeraj među pomenutim signalima kao i uticaj elektromagnetnih smetnji veze rezolvera sa okruženjem moraju biti kvalitetno izvedene. Greška koju unose pomenute nesavršenosti iznosi nekoliko lučnih minuta.

Integrisani R/D kovertori su konstruisani tako da je njihova praktična upotreba jednostavna. Za njihov rad je pored simetričnog napajanja i generatora pobudnog signala potrebno povezati nekoliko otpornika i kondenzatora koji se proračunavaju na osnovu preporuka proizvođača datih u katalogu. Analogni ulazi su prilagođeni standardnom naponskom nivou rezolverskih signala, dok su digitalni ulazi i izlazi TTL kompatibilni. Rezolucija konvertora može biti jednostavno podešena kao 10,12,14 ili 16-bitna zavisno od konkretne primene. Na tržištu se može naći i varijanta rezolvera sa R/D kovertorom u jednom kućištu.

4. Digitalni R/D konvertor Pored navedenih dobrih osobina postojeći R/D konvertori imaju nedostatke koji proizilaze iz same konstrukcije ovih kola. Na njihovom ulazu se nalazi otpornička mreža visoke tačnosti koja vrši neophodne trigonometrijske transformacije signala sa rezolvera, izraz 3.1. Tehnološki postupak proizvodnje ovakvih mreža u integrisanim kolima je složen, a njihova proizvodnja skupa. Prisustvo analognih delova umanjuje imunost na šum i unosi grešku usled postojanja struja polarizacije i ofseta. Ovi uticaji se mogu donekle kompenzovati primenom spoljašnjih otpornika i kondenzatora u nekom određenom temperaturnom opsegu. Primena klasičnih R/D konvertora podrazumeva upotrebu posebnog harmonijskog oscilatora za generisanje pobude rezolvera. Ovde se javljaju fazni pomeraji, kako između pobudnog signala i rezolverskih signala, tako i među samim rezolverskim signalima, što umanjuje tačnost merenja. Uticaj ovih smetnji se može umanjiti dodavanjem spoljašnjih pasivnih komponenti. Propusni opseg, odnosno dinamičke karakteristike sistema se takođe podešavaju dodavanjem određenih otpornika i kondenzatora. U toku projektovanja sistema se za određene uslove rada proračunavaju sve gore pomenute pasivne komponente, a zatim se pristupa montaži sistema na štampanu ploču. Svaka promena uslova rada ili potreba za korekcijom dinamičkih karakteristika sistema podrazumeva odgovarajuću intervenciju na hardveru. Naknadna promena hardvera u složenim sistemima može da bude teško izvodljiva, što znatno umanjuje fleksibilnost ovakvih sistema. Gore pomenuti problemi bi se mogli umanjiti ili potpuno ukloniti konstruisanjem digitalnog R/D konvertora. Neophodne trigonometrijske transformacije signala sa rezolvera se mogu u ovakvim sistemima realizovati izvršavanjem aritmetičkih operacija sabiranja i množenja između njihovih odbiraka i koeficijenata iz odgovarajućih look-up tabela formiranih u nekom memorijskom prostoru. Digitalni sistemi pokazuju veću imunost na šum od analognih. U njima ne postoji problem struja polarizacije i ofseta. Ovakvi sistemi daju mogućnost generisanja pobude rezolvera sa poznatim faznim stavom koji se softverski može podesiti tako da se kompenzuju eventualna kašnjenja rezolverskih signala. Digitalni sistem se može realizovati hardverski ili softverski, što podrazumeva implementaciju određenog digitalnog algoritma na nekom mikroprocesoru. Softverske realizacije se odlikuju velikom fleksibilnošću, u smislu da svaka promena bilo strukture, bilo parametara sistema zahteva samo intervencije na softveru. Na ovaj način se realizuju sitemi za regulaciju elektromotornih pogona i industrijskih procesa. Zbog tehnoloških ograničenja, u smislu maksimalne brzine rada procesora, softverski realizovani sistemi se retko koriste za digitalnu obradu signala u realnom vremenu. Sistemi za digitalnu obradu signala u realnom vremenu se realizuju hardverski ili primenom specijalizovanih digitalnih signal procesora. Digitalni signal procesori sa svojim okruženjem sačinjavaju složen i skup sistem i njihova upotreba ima smisla ako je digitalni algoritam koji se pomoću njih rešava određenog nivoa složenosti.

Manje složeni algoritmi za digitalnu obradu signala mogu se realizovati hardverskim putem. Naročito pogodan način za hardversku implementaciju digitalnih algoritama je upotreba programabilnih logičkih FPGA (Field-Programmable Gate Arrays) integrisanih kola. Sistemi realizovani pomoću ovih komponenti objedinjuju dobre osobine softverske i hardverske realizacije. Celokupno projektovanje sistema se vrši softverski, crtanjem šema ili pisanjem HDL ili VHDL kodova u za to specijalizovanim softverskim paketima, što kasnije daje mogućnost izmene strukture i parametara sistema softverskim putem. [6] Sa druge strane ovo su hardverski realizovani sistemi za koje je karakteristična velika brzina rada. Savremene FPGA komponente se odlikuju velikim kapacitetom tako da se u njima mogu realizovati digitalni sistemi velike složenosti. Ovo daje mogućnost da se ovako realizovani R/D konvertor uklopi kao modul u neki širi sistem za regulaciju brzine i pozicije vratila motora realizovan takođe u FPGA tehnologiji. Programski paketi koji podržavaju dizajniranje digitalnih kola u FPGA čipovima daju mogućnost da se iz realizovanog FPGA projekta izdvoje podaci potrebni za kreiranje maski za proizvodnju odgovarajućih logičkih kola. 4.1 Struktura digitalnog R/D kovertora Projektovanje digitalnog sistema započinje utvrđivanjem digitalnog algoritma koji sistem treba da odradi. Od svakog digitalnog sistema se zahteva : - da ulazne signale obradi po unapred utvrđenom matematičkom modelu - da bude stabilan - da greška sistema u ustaljenom stanju bude svedena na nulu - da ima što bolje dinamičke karakteristike Do matamatičkog algoritma za izdvajanje merene pozicije iz rezolverskih signala možemo doći posmatranjem samih signala sa rezolvera (sl.2.4 i izrazi 2.13 i 2.14) kao i principske šeme klasičnog R/D konvertora (sl.3.1). Blok dijagram ovog algoritma je prikazan na slici 4.1: Signali USIN(t) i UCOS(t) su klasični amplitudski modulisani signali. Njihovom diskretizacijom dobijamo signale ( )nTU D

SIN i ( )nTU DCOS , gde je T perioda odabiranja i

slika 4.1 Blok dijagram algoritma za izdvajanje merene pozicije iz rezolverskih signala

A/D +

-NF AKUMULATOR

COS

DSINU

DCOSU

USIN

UCOS A/D

D Dθ θD

SIN

sin(ωpobnT)

Q

P

R

Zn∈ . Množenjem ovih signala sa sinusom i kosinusom digitalizovane mehaničke koordinate θD dobijamo signale: ( ) ( ) ( ) DpobD

DSIN TnAnTUnTQ θθωθ cossinsincos ⋅⋅⋅⋅⋅=⋅= (4.1)

( ) ( ) ( ) DpobD

DCOS TnAnTUnTP θθωθ sincossinsin ⋅⋅⋅⋅⋅=⋅= (4.2)

gde je m

PDA kkA Ψ⋅⋅= / i (4.3) DAk / - pojačanje A/D konvertora.

Oduzimanjem signala P(nT) od signala Q(nT) i primenom trigonometrijskih identiteta dobijamo signal: ( ) ( ) ( )TnAnTR pobD ⋅⋅⋅−⋅= ωθθ sinsin (4.4)

Množenjem signala R(nT) sa digitalizovanom vrednošću pobude rezolvera dobijamo:

( ) ( ) ( ) ( )TnAAnTD pobDD ⋅⋅⋅⋅−⋅⋅−−⋅⋅= ωθθθθ 2cossin21sin

21 (4.5)

Iz relacije 4.5 se vidi da se signal D(nT) sastoji od dve komponente. Prvi sabirak je korisna komponeneta i predstavlja sinus razlike između ulazne i izlazne ugaone koordinate vratila motora, dok je drugi sabirak nepotrebni produkt demodulacije na dvostruko većoj učestanosti od učestanosti pobude rezolvera. Propuštanjem signala D(nT) kroz digitalni NF filtar dobijamo signal:

( ) ( )DAnTD θθθ −⋅⋅= sin21 (4.6)

U ustaljenom stanju sistema (pri konstantnoj brzini obrtanja motora, uključujući i nultu brzinu) razlika između stvarne i merene vrednosti ugla θ je mala pa je signal Dθ(nT) jednak digitalnom priraštaju ugla θ između dva uzastopna trenutka odabiranja. Ovaj signal se vodi na ulaz akumulatorskog registra, čiji sadržaj predstavlja merenu vrednost θD. Na ovaj način se u svakoj periodi odabiranja vrši korekcija sadržaja akumulatora za iznos pomenutog priraštaja merenog ugla. Iz navedenog se vidi da sistem sa ovakvom strukturom nije u mogućnosti da svojim izlazom dostigne vrednost ulaznog ugla. On svojim izlazom prati ulaz sa greškom Dθ(nT). Ova greška nije konstantna nego se povećava sa porastom ugaone brzine vratila čija se pozicija meri.

Od pratećeg R/D konvertora se zahteva da razlika između ulaza i izlaza sistema pri konstantnoj brzini obrtanja vratila motora bude nula. Ulaz sistema je ugaona pozicija vratila motora θ. Pri konstantnoj brzini obrtanja ugao θ se linearno menja. Iz teorije sistema automatskog upravljanja [1] je poznato da je jedino sistem sa dvostrukim integralnom dejstvom u direktnoj grani sposoban da signal greške pri brzinskoj pobudi svede na nulu. Sistem sa slike 4.1 ima jednostruko integralno dejstvo u vidu akumulatorskog registra. Da bi se greška sistema pri konstantnoj brzini obrtanja vratila motora svela na nulu u sistem se mora redno sa NF filtrom ugraditi digitalni PI (proporcionalno-integralni) regulator, slika 4.2. Sada na izlazu NF filtra imamo demodulisani signal greške sistema E(t). PI regulator svojim izlazom utiče na ostatak sistema tako da tokom prelaznog procesa , pri konstantnoj brzini obrtanja na ulazu, signal greške biva sveden na nulu. 4.2 Sinteza digitalnog R/D konvertora Klasična sinteza digitalnih sistema se u opštem slučaju svodi na određivanje prenosne funkcije sistema u Z transformaciji. Ovde se takav postupak ne može primeniti jer sistem sa slike 4.1 sadrži nelinearne blokove. Pored nelinearnih blokova (množači, sinusna i kosinusna funkcija) u sistemu se nalaze i linearni blokovi (sabirači, NF filtar, PI regulator i akumulator). Sinteza linearnih blokova neće biti izvedena klasičnim metodama, nego na način koji obezbeđuje da oni zauzmu minimalan prostor na FPGA čipu i da rade sa maksimalnom mogućom brzinom.

4.2.1 Realizacija množenja Operacija množenja se može hardverski implementirati na više načina. Postoje paralelni i redno-paralelni množači. [3]

slika 4.2 Struktura R/D konvertora kao diskretnog sistema

A/D +

-AKUMULATOR

COS

DSINU

DCOSU

USIN

UCOS A/D

D Dθ θD

SIN

sin(ωpobnT)

NF PI EQ R

P

Paralelni množači se odlikuju velikom brzinom rada. Realizovani su u vidu kombinacionih mreža. Kod njih se oba operanda dovode istovremeno na ulaz dok se na izlazu pojavljuje njihov proizvod sa kašnjenjem jednakim vremenu propagacije signala kroz množač. Ovakve realizacije zauzimaju mnogo hardverskih resursa. Redno-paralelni množači su sekvancijalne mreže. Množenje se realizuje tako što se množenik množi svakom cifrom množioca a parcijalni proizvodi se sabiraju pomereni za po jedno mesto. Kod ovakve realizacije množača množenje traje zantno duže nago kod paralelne, ali su sa druge strane zahtevi za hardverom daleko manji. Uzimajući u obzir raspoloživi prostor na FPGA čipu i složenost ostalih komponenti sistema sve operacije množenja će ovde biti realizovane primenom jednog redno-paralelnog množača. Detaljno objašnjenje rada ovog množača je dato u paragrafu 5.1.

4.2.2 Realizacija sinusne i kosinusne fukcije Nelinearne funkcije se u digitalnim sistemima mogu predstaviti konačnim brojem sabiraka njihovog razvoja u stepeni red ili formiranjem tzv. look-up tabela. Prvi način zahteva izvođenje velikog broja računskih operacija i nije prihvatljiv za hardversku realizaciju. Look-up tabele se formiraju izračunavanjem određenog broja odbiraka funkcije u intervalu od interesa i njihovim upisivanjem u memoriju. Vrednost funkcije za određenu vrednost argumenta se određuje očitavanjem odgovarajuće memorijske lokacije. Ovakav postupak se odlikuje velikom brzinom izračunavanja tražene vrednosti funkcije, a tačnost zavisi od broja odbiraka upisanih u tabelu i od broja bita kojim je svaki odbirak predstavljen. Detaljno objašnjenje realizacije sinusne i kosinusne funkcije dato je u paragrafima 5.6 i 5.10.

4.2.3 Sinteza digitalnog NF filtra i izbor učestanosti odabiranja

Klasične metode projektovanja digitalnih filtara polaze od zadavanja njihovih specifikacija kao što su: granica propusnog opsega, granica nepropusnog opsega, slabljenje u propusnom opsegu i slabljenje u nepropusnom opsegu. Pored toga se postavlja uslov da realizovani filtar mora biti stabilan sistem. Zatim se nekom od metoda [3] dolazi do željene prenosne funkcije sistema. Opšti oblik prenosne funkcije je dat relacijom:

( )01

11

011

1

......

bzbzbzbazazaza

zW pp

pp

kk

kk

++++++++

= −−

−− (4.7)

gde su kiai ,...,0, = i pjb j ,...,0, = u opštem slučaju realni brojevi različiti od

jedinice. Implementacija ovakve prenosne funkcije podrazumeva između ostalog izvođenje p+k+2 operacije množenja signala koeficijentima polinoma prenosne funkcije W(z) što se ovde ne može prihvatiti obzirom na raspoloživi prostor na FPGA čipu.

Jedino prihvatljivo rešenje je da se nađe takva prenosna funkcija u kojoj figurišu koeficijenti oblika 2 -m, m=0,1,2,... . Na ovaj način se potpuno izbegava potreba za množačima jer se množenje sa koeficijentom 2 -m realizuje aritmetičkim pomeranjem množenika za m mesta u desno. Do ovakve prenosne funkcije se može doći sledećim razmatranjem: Na ulaz filtra se dovodi signal D(nT), slika 4.2 i izraz 4.5.

( ) ( ) ( ) ( )TnAAnTD pobDD ⋅⋅⋅⋅−⋅⋅−−⋅⋅= ωθθθθ 2cossin21sin

21 (4.8)

Iz navedenog izraza se vidi da signal D(nT) ima dve komponente: koristan signal i visokofrekventni produkt demodulacije. Visokofrekventna komponenta signala D(nT) ima spektar skoncentrisan oko dvostruke učestanosti pobude rezolvera. Pošto je učestanost mehaničkih pojava u sistemu praktično uvek mnogo manja od učestanosti pobude rezolvera, možemo smatrati da je visokofrekventna komponenta signala D(nT) koju treba ukloniti NF filtrom prostoperiodična funkcija učestanosti 2fpob. Da bi se mogao realizovati gore pomenuti filtar sa jediničnim koeficijentima učestanost odabiranja fs u sistemu se mora odabrati tako da zadovoljava sledeći uslov: ,...2,1,2 =⋅⋅= nfnf pobs (4.9)

odnosno da jedna perioda signala učestanosti 2fpob sadrži ceo broj perioda odabiranja. Sa povećanjem brzine odabiranja poboljšavaju se dinamičke karakteristike sistema. Sa druge strane ukoliko je ona prevelika može doći do izražaja nemodelovana dinamika sistema i može se desiti da sistem ne bude u mogućnosti da radi u realnom vremenu [1]. Rezolver koji je ugrađen u ovde realizovanom R/D konvertoru zahteva učestanost pobudnog signala od 10 kHz, a vreme trajanja jednog ciklusa obrade digitalnog algoritma sa slike 4.2 na raspoloživom hardveru (XILIX-ovo XC4010E FPGA programabilno logičko kolo, frekvencija takta 12MHz) iznosi oko 6µs. Uzimajući u obzir zahtev za radom u realnom vremenu i uslov 4.9 usvajamo učestanost odabiranja od 160 kHz. Iz gore navedenog se može zaključiti da je visokofrekventna komponenta signala D(nT) koju treba odstraniti filtrom prostoperiodični signal učestanosti 20 kHz. Na slici 4.3 je prikazan signal dobijen odabiranjem sinusnog signala frekvencije 20 kHz sa periodom odabiranja od 6,25µs (160 kHz).

x 10 –4 s

Sa slike se vidi da se ovakav signal može potpuno potisnuti sabiranjem njegovih osam uzastopnih odbiraka. Ova operacija se može realizovati na dva načina.

1. Pomoću FIR filtra sa jediničnim koeficijentima čiji je model u Z transformaciji prikazan na slici 4.4. Ovakva struktura sinhrono sa frekvencijom odabiranja od 160 kHz izračunava zbir osam uzastopnih odbiraka signala D(nT), i na taj način potiskuje njegovu visokofrekventnu komponentu a koristan signal pojačava osam puta. Pojačavaki blok K na izlazu unosi slabljenje od osam puta (8=2 –3) tako da ceo filtar ima jedinično pojačanje korisnog signala. Za hardversku implementaciju ovog rešenja je potrebno sedam registara i osam sabirača.

2. Drugi način je da se izvrši sabiranje paketa od po osam uzastopnih odbiraka signala D(nT) a zatim dobijeni zbir podeli sa osam. Rezultat ovakve obrade je isti kao u gore pomenutom slučaju: visokofrekventna komponenta ulaznog signala biva potisnuta a korisna propuštena sa jediničnim pojačanjem. Jedina razlika je u tome što se u ovom slučaju odbirci izlaznog signala pojavljuju sa frekvencijom od 20 kHz. Ovde je primenjen postupak redukcije učestanosti odabiranja ili decimacija [3]. Ovakav postupak filtriranja se može modelovati slično predhodnom slučaju, slika 4.5. Razlika je u tome što se ovde na izlazu filtra nalazi delitelj učestanosti-decimator. Decimator je modelovan kao diskretna prenosna funkcija sa jediničnim pojačanjem, polinomima nultog stepena u brojiocu i imeniocu i frekvencijom odabiranja od 20kHz. Ovo rešenje je vrlo jednostavno sa harversku implementaciju jer se ceo filtar može realizovati u vidu akumulatorskog registra. Dakle, za realizaciju ovog

D(nT)

E(nT)

slika 4.4 Model filtra sa brzinom filtriranja od 160 kHz

rešenja je potrebno rezervisati jedan registar, jedan sabirač i jedan trobitni brojač za kontrolu rada filtra.

U oba slučaja osnovu filtra čini FIR struktura pa njihove prenosne funkcije nemaju polova van jediničnog kruga u Z ravni što dalje znači da su to stabilni sistemi [3]. Ako na ulaz modela ovih filtara formiranih u SIMULINK-u dovedemo test signal dobijen sabiranjem sinusne funkcije amplitude 10 i učestanosti 100 Hz i sinusne funkcije sa amplitudom 2 i frekvencijom 20 kHz, slika 4.6. na njihovim izlazima dobijamo signale prikazane na sledećim slikama:

D(nT)

E(nT)

slika 4.5 Model filtra sa brzinom filtriranja od 20 kHz

slika 4.6 Test signal na ulazu filtra

Na slici 4.7 je prikazan odziv filtra sa brzinom filtriranja od 160 kHz a na slici 4.8 odziv filtra sa brzinom od 20 kHz. Sa slika se vidi da obe varijante filtra potiskuju visokofrekventnu komponentu ulaznog signala u potpunosti. Postavlja se pitanje koju od ove dve varijante digitalnog filtra ugraditi u R/D konvertor s obzirom na to da se prvo rešenje odlikuje velikom brzinom izračunavanja i zahteva velike hardverske resurse, a sa druge strane drugo rešenje ima osam puta manju brzinu izračunavanja i isto toliko puta manje hardverske zahteve. Odluka o tome se može doneti tek nakon simulacije sistema u oba slučaja i sagledavanja dobijenih rezultata, što će biti urađeno u paragrafu 4.3

4.2.4 Sinteza digitalnog PI regulatora

Smisao uvođenja digitalnog PI regulatora u strukturu R/D konvertora, kako je navedeno u paragrafu 4.1, je pre svega u tome da se obezbedi dvostruki stepen integralnog dejstva u sistemu kako bi on bio u stanju da signal greške pri brzinskoj pobudi na ulazu svede tokom prelaznog procesa na nulu. Pored toga, podešavanjem odgovarajućih pojačanja u okviru samog regulatora mogu se podesiti i dinamičke karakteristike sistema. Blok dijagram modela PI regulatora u Z domenu je prikazan na slici 4.9 a njegova prenosna funkcija je data sledećim izrazom:

( )( ) 1−

+=zK

KzEzD I

Pθ (4.12)

Sa slike 4.9 se vidi da PI regulator sačinjavaju dve paralelne grane. Grana sa pojačanjem KP realizuje proporcionalno dejstvo dok grana sa akumulatorom (sabirač i blok z-1) i pojačanjem KI realizuje integralno dejstvo. Zastupljenost pojedinih

slika 4.9 Model PI regulatora

E(nT) Dθ(nT)

dejstava u regulatoru opisano je veličinom proporcionalne KP odnosno integralne KI konstante. Na ulaz PI regulatora se dovodi signal greške sistema E(nT). Izlaz integralnog bloka tokom prelaznog procesa menja svoju vrednost u vremenu i time utiče na ostatak sistema sve dok signal greške ne svede na nulu. Parametri KI i KP PI regulatora se mogu, za regulatore koji se ugrađuju u linearne digitalne sisteme, odrediti nekom od poznatih analitičkih metoda za kompenzaciju sistema (na primer metodom geometrijskog mesta korena). [1] Pošto je R/D konvertor sa slike 4.2 nelinearan sistem konstante KP i KI se ne mogu odrediti pomenutim metodama nego simulacijom sistema na digitalnom računaru. Postupak simulacije sistema i određivanje konstanti PI regulatora je prikazan u paragrafu 4.3. Ovde treba napomenuti, kao i u slučaju digitalnog filtra, da zbog minimizacije potrebnog hardvera i potrebe za što većom brzinom izvršavanja operacija konstante KP i KI moraju biti odabrane tako da se izbegne upotreba množača za realizovanje prenosne funkcije PI regulatora, odnosno Ki i Kp moraju biti oblika 2 -m, m=0,1,2,... .

4.2.5 Sinteza akumulatora i njegove prenosne funkcije Akumulatorski registar ima zadatak, kako je rečeno u paragrafu 4.1, da akumulira priraštaj mehaničke koordinate θ između dva trenutka odabiranja i na taj način svojim sadržajem θD prati stvarnu vrednost ugla θ. Njegovo funkcionisanje se može opisati sledećom relacijom: ( ) ( ) ( )11 −+−= nDnn DD θθθ (4.10) Ako na ovaj izraz primenimo Z transformaciju dobijamo prenosnu funkciju akumulatora:

( )( ) 1

1−

=zzD

zD

θθ (4.11)

Iz izraza 4.11 se vidi da se akumulatorski registar ponaša kao digitalni integrator. Model prenosne funkcije akumulatorskog registra u Z domenu se može predstaviti sledećim blok dijagramom:

slika 4.10 Model akumulatorskog registra

Dθ(nT) θD(nT)

4.2.6 Izbor aritmetike sistema Pre nego što se počne sa simulacijom sistema i određivanjem parametara, a zatim i njegovom hardverskom implementacijom mora se odrediti aritmetika sistema, odnosno način predstavljanja brojeva i opseg u kome se oni nalaze. Dva osnovna načina za prikazivanje brojeva u računarskim sistemima su predstave sa fiksnom i pokretnom decimalnom tačkom. Predstava broja sa pokretnom decimalnom tačkom (u obliku cba ±⋅±= 10 ) daje mogućnost predstavljanja brojeva iz veoma širokog opsega. Sa druge strane manipulisanje ovakvim brojevima u toku izvođenja računskih operacija je komplikovano pa oni nisu pogodni za primenu u jednostavnim hardverski realizovanim sistemima. Predstava broja sa fiksnom decimalnom tačkom je takva da je broj bita predviđen za predstavljanje celobrojnog i razlomljenog dela broja unapred određen i fiksan. Ovaj način zapisivanja brojeva daje mogućnost predstavljanja brojeva iz užeg opsega nego što je to slučaj sa pokretnom tačkom, ali sa druge strane manipulisanje ovako zapisanim brojevima je daleko jednostavnije. Poseban slučaj predstavljanja brojeva sa fiksnom tačkom koji daje mogućnost predstavljanja samo celih brojeva se najčešće koristi u jednostavnim digitalnim sistemima. Osnovni razlog za to je jednostavno manipulisanje ovim brojevima prilikom izvođenja računskih operacija. Odbacivanje razlomljenog dela broja unosi grešku kvatnizacije, koja u izvesnoj meri degradira performanse sistema. Uticaj greške kvantizacije se umanjuje rezervisanjem većeg broja bita za predstavljanje rezultata računskih operacija. Sa druge strane, zbog ograničenosti hardverskih resursa i zbog neophodnog pojednostavljenja samog digitalnog sistema često smo primorani da vršimo odsecanje rezultata izračunavanja u sistemu svodeći ih na unapred određenu veličinu. Odavde se vidi da su zahtevi za što boljim preformansama sistema sa jedne strane i jednostavnost hardverske realizacije sa druge strane međusobno protivurečni, pa se u praksi pronalaze kompromisna rešenja. Za realizaciju R/D konvertora u ovom radu je usvojena 12-bitna aritmetika. Ovaj izbor se pokazao kao optimalan obzirom na raspoloživi prostor na 4010 FPGA čipu. 4.3 Model R/D konvertora, simulacija i podešavanje parametara Izrada detaljnog modela sistema koji se sastoji od rezolvera i R/D kovertora je složen zadatak. Ovakav model bi morao da obuhvati statičke i dinamičke karakteristike rezolvera, karakteristike vodova kojim je rezolver spregnut sa sistemom, karakteristike rezolvera, kao i mnoštvo uticajnih veličina. Ovde je dovoljno formirati takav model koji će omogućiti da se simulacijom izvrši optimalan izbor pojačanja PI regulatora tako da sistem bude stabilan, da vrednosti pojedinih promenljivih ne izlaze iz usvojenog 12-bitnog opsega, da mu je signal greške pri

brzinskoj pobudi u ustaljenom stanju jednak nuli, da prelazni proces traje što kraće uz što manje izražene oscilatorne procese. Za ovako definisane ciljeve simulacije može se formirati pojednostavljeni model sistema u SIMULINK-u prikazan na slici 4.11. Rezolver je modelovan samo kao davač modulisanih signala USIN i UCOS, slika 4.12. Blokovi A/D_sin i A/D_cos modeluju preslikavanje analognih rezolverskih signala posredstvom dvanaestobitnih A/D konvertora u celobrojni opseg (-2048, 2047), a blok RAM_pob očitavanje celobrojnih odbiraka sinusne pobude rezolvera iz odgovarajuće look-up tabele formirane u osmobitnoj memoriji. Njihova unutrašnja struktura je prikazana na slikama 4.13 i 4.14. Na sličan način je modelovano, pomoću blokova RAM_sin i RAM_cos, izračunavanje celobrojnih vrednosti sinusne odnosno kosinusne funkcije izlazne promenljive θD

slika 4.12 Model rezolvera

slika 4.11 Model R/D konvertora sa rezolverom

Slika 4.13 Struktura blokova A/D_sin i A/D_cos Slika 4.14 Struktura bloka RAM_pob

očitavanjem odgovarajućih vrednosti iz gore pomenute look-up tabele formirane u osmobitnoj memoriji. Struktura ovih blokova je prikazana na slikama 4.15 i 4.16. Sa slike 4.11 se vidi da se na ulaz množača mn1 i mn2 dovode 12-bitni odbirci rezolverskih signala iz A/D konvertora i 8-bitne vrednosti sinusa i kosinusa izlaznog ugla iz gore pomenute look-up tabele. Rezultat njihovog množenja je 20-bitni broj. Blokovi 1/256A i 1/256B vrše skaliranje, odnosno svođenje 20-bitnih proizvoda u 12-bitni celobrojni opseg. Ovim blokovima se praktično modeluje aritmetičko pomeranje opranda za osam mesta u desno. Struktura ovih blokova je prikazana na slici 4.17. Pojačavački blok 2pi/4096 preslikava sadržaj akumulatora iz opsega (0, 4095) u opseg (0, 2π ). U tački 4.2.3 su predložene dve mogućnosti realizacije digitalnog filtra: jedna koja se odlikuje brzinom izračunavanja odbiraka od 160 kHz i zahteva velike hardverske resurse i druga koja ima osam puta manju brzinu izračunavanja i zahteva isto toliko puta manje hardverskih resursa. Odluka o izboru jedne od pomenutih varijanti filtarske funkcije se može doneti nakon postupka simulacije i sagledavanja njihovog uticaja na performanse sistema u celini. Digitalni PI regulator je predstavljen modelom prikazanim na slici 4.9, a akumulator modelom datim na slici 4.10. Ovde treba napomenuti da učestanosti odabiranja PI regulatora i akumulatora moraju biti usklađene tj. jednake sa učestanošću odabiranja filtarskog bloka. Ako se u model sistema sa slike 4.11 ugradi filtarska funkcija čiji je model dat na slici 4.4 a zatim postupkom simuliranja izvrši optimalan izbor parametara sistema dobijaju se sledeći rezultati: - vrednosti konstanti proporcionalnog i integralnog dejstva PI regulatora su date sledećim izrazima:

641

=IK i (4.12)

Slika 4.15 Struktura bloka RAM_sin Slika 4.16 Struktura bloka RAM_cos

Slika 4.17 Struktura blokova 1/256A i 1/1256B

21

=PK . (4.13)

-odziv sistema na odskočnu pobudu od 3 radijana i brzinsku pobudu od 20000 obrtaja u minuti su prikazani na slikama 4.18 i 4.19 respektivno. Sa slike 4.18 se vidi da je vreme uspona odziva na odskočnu pobudu kao i celog prelaznog procesa daleko kraće nego kod klasičnog R/D konvertora 2S82, slika 3.4. Signal greške, odnosno izlazni signal iz NF filtra, pri brzinskoj pobudi sistema je prikazan na sledećoj slici: Sa slike se vidi da signal greške nakon prelaznog procesa nije sveden na nulu nego su njegove oscilacije prigušene u tolikoj meri da on osciluje sa svoja dva najniža bita. Nemogućnost sistema da signal greške svede na nulu se javlja kao posledica grubog svođenja 20-bitnih proizvoda sa izlaza množača u 12-bitni opseg. Sa slike 4.18 se vidi da vreme uspona odskočnog odziva, odnosno promena ovog signala od 10% do 90% njegove vrednositi u ustaljenom stanju, traje oko 90µs. Na osnovu ovog podatka se može izvršiti procena širine propusnog opsega sistema na sledeći način [2]:

Hzst

fU

g 55,55559021

21

=⋅

=⋅

(4.14)

Slika 4.18 Odskočni odziv sistemax10-3 x10-3

Slika 4.19 Brzinski odziv sistema

x10-3

Slika 4.20 Signal greške sistema pri brzinskoj pobudi od 20000 ob/min

Ako se u model sistema sa slike 4.11 ugradi filtarska funkcija predstavljena modelom sa slike 4.5 a zatim kao u predhodnom slučaju simulacijom izvrši optimalan izbor pojačanja PI regulatora dobijaju se sledeći rezultati: -vrednosti konstanti proporcionalnog i integralnog dejstva su date sledećim izrazima: 1=PK i (4.15)

161

=IK . (4.16)

-odziv sistema na odskočnu pobudu od 3 radijana i brzinsku pobudu od 20000 obrtaja u minuti su prikazani na slikama 4.21 i 4.22 respektivno. Sa slike 4.21 se vidi da prelazni proces u ovom slučaju traje oko pet puta duže u odnosu na predhodnu varijantu filtriranja. Signal greške, odnosno izlazni signal iz NF filtra, pri brzinskoj pobudi sistema je prikazan na sledećoj slici:

Slika 4.21 Odziv na odskočnu pobudu Slika 4.22 Odziv na brzinsku pobudu

Slika 4.23 Signal greške sistema pri brzinskoj pobudi od 20000 ob/min

Sa slike se vidi da signal greške, kao i u predhodnom slučaju, nakon prelaznog procesa nije sveden na nulu nego su njegove oscilacije prigušene u tolikoj meri da on osciluje sa svoja dva najniža bita. Nemogućnost sistema da grešku svede na nulu je i u ovom slučaju posledica grubog svođenja 20-bitnih proizvoda sa izlaza množača u 12-bitni opseg. Sa slike 4.21 se vidi da vreme uspona odskočnog odziva, odnosno porast od 10% do 90% njegove vrednositi u ustaljenom stanju, traje oko 400µs. Na osnovu ovog podatka se može, kao i u predhodnom slučaju, izvršiti procena širine propusnog opsega sistema [2]:

Hzst

fU

g 125040021

21

=⋅

=⋅

(4.17)

Na osnovu rezultata simulacije se sada može izvršiti poređenje performansi sistema za oba gore navedena slučaja. Sistem sa prvom varijantom filtarske funkcije ima 4, 44 puta širi propusni opseg u odnosu na sistem sa drugom varijantom filtra. Sa druge strane za implementaciju druge varijante filtra je potrebno osam puta manje hardverskih resursa. Pored toga može se uočiti da sistem sa drugom varijantom filtarske funkcije, zbog prisustva decimatora, bolje potiskuje oscilacije izlaznog signala koje se javljaju kao posledica svođenja međurezultata izračunavanja digitalnog algoritma na 12-bitni opseg. Iz izloženog se vidi da prva varijanta filtra u daleko većoj meri, proširenjem propusnog opsega poboljšava dinamičke karakteristike sistema nego što to čini druga varijanta potiskivanjem šuma kvantizacije. Dakle u sistem će biti ugrađena filtarska funkcija sa frekvencijom odabiranja od 160 kHz. Na slici 4.24 je prikazan signal Dθ(nT) na ulazu akumulatorskog registra pri pobudi sistema brzinskom funkcijom od 20000 obrtaja u minuti.

x10-3

Slika 4.24 Signal na ulazu akumulatora-brzinski signal

Tokom simulacije je utvrđeno da ovaj signal, za zadatu pobudu, u ustaljenom stanju osciluje oko vrednosti 8,53. Kako je rečeno u paragrafu 4.1 vrednost signala Dθ(nT) je jednaka priraštaju digitalizovanog ugla θD između dva trenutka odabiranja. Veza između priraštaja mehaničke koordinate θ na ulazu sistema i signala Dθ(nT) se može opisati sledećom proporcijom: θθπ D:4096:2 =∆ (4.18) gde je ∆θ priraštaj ugla na ulazu sistema. Signal Dθ sada možemo izraziti na sledeći način:

π

θθ2

4096 ∆⋅=D . (4.19)

Ako izraz 4.19 podelimo sa periodom odabiranja Ts dobijamo:

ωπ

θ⋅=

24096

sTD (4.20)

gde je

sTθω ∆

= (4.21)

ugaona brzina obrtanja rezolvera izražena u rad/s. Iz izraza 4.20 možemo izraziti ugaonu brzinu kao:

sTDθπω ⋅=

40962 (4.22)

u rad/s ili kao:

θDfn s ⋅⋅=1024

15 (4.23)

u obrtajima u minuti, gde je

s

s Tf 1

= (4.24)

učestanost odabiranja. Ako u izraz 4.23 uvrstimo vrednost 8,53 koju signal Dθ dostiže u ustaljenom stanju dobijamo da brzina obrtanja iznosi:

min/2000016053,81024

15 obKHzn =⋅⋅= (4.25)

koliko je i bilo zadato na ulazu. Iz izvedenog proračuna sledi da se signal Dθ može iskoristiti za generisanje brzinskog signala. Jedan od načina da se ovo izvede je da se signal Dθ(nT) ili neka njegova linearna transformacija vodi na D/A konvertor na čijem izlazu bi se dobijao analogni napon srazmeran brzini obrtanja motora. 4.4 Sinteza generatora pobude rezolvera Jedna od prednosti realizacije digitalnog R/D kovertora u FPGA tehnologiji je mogućnost da se uz pomoć istog čipa pored konvertora realizuje i generator pobude rezolvera. FPGA čip je logičko kolo koje operiše sa digitalnim signalima, dok je rezolver električna mašina koja zahteva analogni sinusni pobudni signal. Iz ovoga sledi da se u FPGA čipu mogu generisati samo impulsni signali koji na neki način (kao digitalizovani odbirci ili svojom spektralnom strukturom) opisuju sinusnu funkciju, a da se zatim izvrši njihova transformacija u analogni sinusni signal. Jedan od načina da se izvrši digitalno generisanje sinusoide je da se u nekom memorijskom prostoru formira tabela sa odbircima sinusne funkcije, a zatim vrši slanje tih odbiraka na D/A konvertor. Izlazni signal D/A konvertora treba isfiltrirati i pojačati a zatim poslati na rezolver. Pobuda rezolvera se može generisati i uz pomoć impulsno-širinskog (PWM) modulatora realizovanog u FPGA čipu. Ovaj modulator na svom izlazu formira odgovarajuće PWM funkcije koje se zatim u filtarskom i pojačavačkom stepenu uobličavaju u sinusni signal. Ovo rešenje ima prednost u odnosu na predhodno jer je u njemu izbegnuta upotreba D/A konvertora. Pored toga ovo rešenje zahteva manje prostora na FPGA čipu. Zbog gore navedenih prednosti pobuda rezolvera će ovde biti realizovana pomoću PWM modulatora. Blok šema PWM generatora pobude rezolvera data je na sledećoj slici: slika 4.25 Blok šema PWM generatora pobude rezolvera

GENERATOR PERIODE NOSIOCA

AUTOMAT SA

TABELOM PWM

INTERVALA

BROJAČ

PLUS

MINUS

+

-

POJAČAVAČ i

NF FILTAR

POJAČAVAČ SNAGE

REZOLVER FPGA PWM MODULATOR

SPWM

TPWM

Upob(t)

Sa slike 4.25 se vidi da se PWM generator sinusoide sastoji od dva osnovna dela: PWM modulatora realizovanog na FPGA čipu i pojačavačkog i filtarskog stepena. PWM modulator generiše logičke signale PLUS i MINUS prikazane na slici 4.26 odnosno 4.27. U oduzimaču realizovanom van FPGA čipa se vrši oduzimanje signala MINUS od signala PLUS i time formira signal SPWM prikazan na slici 4.28. Signal SPWM sa slike 4.28 je klasičan sinusni PWM signal. Filtriranjem i pojačavanjem ovog signala, u filtarskom i pojačavačkom bloku, formira se pobudni

slika 4.27 Signal MINUS na izlazu PWM modulatora x10-4s

slika 4.26 Signal PLUS na izlazu PWM modulatora x10-4s

slika 4.28 Signal SPWM x10-4s

signal rezolvera Upob(t). U ovom paragrafu će biti objašnjen postupak generisanja PWM prekidačkih funkcija PLUS i MINUS. Realizacija PWM modulatora na FPGA čipu sa realizacijom pojačavačkog i filtarskog stepena opisana je u paragrafu 5.9. Izlazne funkcije PWM modulatora se formiraju poređenjem nosećeg testerastog signala UT(t) sa modulišućim (referentnim) sinusnim signalom Uref(t). [4] Signal PLUS možemo dobiti poređenjem pozitivne poluperiode referentnog sinusnog signala Uref(t) sa testerastim signalom UT(t), slika 4.29. Ukoliko je trenutna vrednost testerastog signala UT(t) veća od trenutne vrednosti sinusnog signala Uref(t) prekidačkoj funkciji PLUS dodeljujemo vrednost logičke nule, a u suprotnom slučaju vrednost logičke jedinice. Signal PLUS možemo definisati sledećom relacijom:

( ) ( )( ) ( )

<

>=

tUtU

tUtUPLUS

Tpobref

Tpobref

ω

ω

0

1 (4.26)

pri čemu je kružna učestanost referentnog sinusnog signala jednaka kružnoj učestanosti pobudnog signala rezolvera ωpob i važi sledeći uslov: ωpobt∈(0, π). Prekidačku funkciju MINUS možemo dobiti faznim pomeranjem prekidačke funkcije PLUS za π radijana, odnosno možemo je matematički formulisati na sledeći način:

( ) ( )( ) ( )

<

>=

tUtU

tUtUMINUS

Tpobref

Tpobref

ω

ω

0

1 (4.27)

pri čemu je ωpobt∈(π, 2π). Bez namere da se ulazi u detaljno objašnjavanje osobina signala dobijenih impulsno-širinskom modulacijom ovde treba reći sledeće:

1. amplituda sinusnog signala Upob(t) generisanog PWM postupkom zavisi od indeksa amplitudske modulacije, odnosno od usvojenog odnosa amplituda

slika 4.29 Referentni i noseći signal PWM modulatora x10-5s

testerastog signala UT(t) i referentnog sinusnog signala Uref(t) , pri čemu uvek važi m

Tmref UU ≤ . Kada je m

Tmref UU = dobija se maksimalni sinusni napon na

izlazu generatora. Varijacija indeksa amplitudske modulacije se koristi u sistemima regulacije gde je potrebno u toku rada menjati efektivnu vrednost izlaznog napona. Ovde se PWM generator sinusoide koristi za napajanje rezolvera koji zahteva pobudni napon konstantne efektivne vrednosti pa će za indeks modulacije biti usvojena jedinična vrednost. 2. spektralna stuktura SPWM signala zavisi od indeksa frekvencijske modulacije definisanog kao odnos učestanosti nosećeg testerastog signala fPWM i modulišućeg sinusnog signala fpob. Što je ovaj odnos veći nepotrebne komponente spektra modulisanog signala SPWM su više odmaknute od korisne komponente pa se filtriranje može jednostavnije i kvalitetnije izvesti. Ovde je za indeks frekvencijske modulacije usvojena vrednost 20. [4]

PWM modulator sa slike 4.25 se sastoji od sledećih blokova: - GENERATORA PERIODE NOSIOCA - ovaj blok generiše periodu TPWM nosećeg testerastog signala, odnosno sinhronizuje rad modulatora. - AUTOMATA SA TABELOM PWM INTERVALA - ovaj blok sadrži u sebi look-up tabelu u kojoj su zapisane širine pojedinih impulsa od kojih se sastoje signali PLUS i MINUS. Kada generator periode TPWM na svom izlazu generiše sinhronizacioni impuls automat, zavisno od toga koji od impulsa treba generisati, upisuje u brojač broj koji predstavlja ekvivalent širine pomenutog impulsa, postavlja jedan od izlaznih signala (PLUS ili MINUS) na jedinicu i aktivira brojač. Kada brojač uđe u zasićenje generiše impuls kojim obaveštava automat o novonastalom stanju. Automat kada prihvati ovaj impuls, postavlja izlaz koji je ranije aktivirao (PLUS ili MINUS) na logičku nulu i čeka sledeći sinhronizacioni impuls iz generatora periode nosioca. - BROJAČA - ovo je brojač na gore sa paralelnim upisom i izlazom za signalizaciju zasićenja. U njega automat upisuje početnu vrednost od koje počinje brojanje. Ova početna vrednost se određuje tako da je vreme potrebno brojaču da izabroji do zasićenja jednako širini odgovarajućeg impulsa iz signala PLUS ili MINUS. Da bi se zaokružila sinteza PWM modulatora treba još formirati niz digitalnih ekvivalenata trajanja pojedinih impulsa signala PLUS i MINUS. Ova niz se može formirati sledećim razmatranjem: Posmatarajmo jednu periodu testerastog signala sa slike 4.29, slika 4.30:

t t

constU ref ≈

mTU

+ PWMref TkU

21

( )Tk 1+kTA

B

CD

E

Ako je indeks frekvencijske modulacije dovoljno velik može se smatrati da je referentna sinusoida pibližno konstantna u toku jedne periode nosećeg testerastog signala, slika 4.30. Na osnovu sličnosti trouglova ∆ABC i ∆AED se može napisati sledeća relacija:

( ) 1,...,0,:21: −==

+ FkktTTkUU UPWMPWMref

mT (4.28)

gde je tU vreme za koje odgovarajuća prekidačka funkcija (PLUS ili MINUS) ima vrednost jedan, a F indeks frekvencijske modulacije. Iz relacije 4.28 možemo izraziti vreme tU na sledeći način:

( )

+⋅= PWMpob

mrefm

T

PWMU TkU

UT

kt21sin ω . (4.29)

Ako usvojimo da je indeks amplitudske modulacije jednak jedinici dobijamo:

( )

+⋅= PWMpobPWMU TkTkt

21sin ω . (4.30)

Ovaj vremenski interval generiše brojač sa slike 4.25. Broj stanja kroz koja brojač prolazi u toku intervala tU(k) se može izraziti na sledeći način:

( ) ( ) ( ) OUO

U fktTkt

kN ⋅== (4.31)

gde je f0 učestanost takata koji se dovodi na brojač. Ako u izraz 4.31 uvrstimo izraz 4.30 dobijamo:

( ) ,21sin

+⋅⋅= PWMpobOPWM TkfTkN ω 1,...,1,0 −= Fk . (4.32)

Rezolver ugrađen u ovaj sistem zahteva pobudni signal učestanosti 10 kHz. FPGA čip se nalazi na XILINX-ovoj XS40 V1.2 ploči koja ima ugrađen kvarcni oscilator kao generator takta od 12 MHz. Uzimajući ove podatke u obzir kao i usvojeni indeks frekvencijske modulacije dobijamo: ( ) ( )( ) 19,...,1,0,5,01,0sin60 =+⋅⋅⋅= kkkN π (4.33) Iz izraza 4.33 se vidi da je maksimalan broj stanja brojača potreban za generisanje pojedinih impulsa PWM signala 60. Dakle, dovoljno je da brojač sa slike 4.25 bude šestobitan. Sada na osnovu gore usvojenog treba odrediti izraz za početni sadržaj brojača NB(k) koji se upisuje iz automata, slika 4.25. Ako je N(k)=0 tada brojač treba da izbroji nula stanja, odnosno treba da odmah nakon upisa početnog sadržaja ode u zasićenje. Ovo će se desiti ako je NB(k)=63. Sa druge strane, ako je N(k)=60 brojač nakon upisa treba da prođe kroz 60 stanja i da nakon toga uđe u zasićenje. U ovom slučaju to se postiže ako se u brojač upiše vrednost NB(k)=3. Imajući ovo u vidu, vrednost sadržaja NB(k) koji se upisuje u brojač, u opštem slučaju se može izraziti na sledeći način: ( ) ( )( ) 19,...,1,0,5,01,0sin6063 =+⋅⋅⋅−= kkkNB π (4.34)

Iz izraza 4.34 se dobijaju vrednosti koje treba upisati u look-up tabelu automata sa slike 4.25. ( ) 540 =NB ( ) 5410 =NB ( ) 361 =NB ( ) 3611 =NB ( ) 212 =NB ( ) 2112 =NB ( ) 103 =NB ( ) 1013 =NB ( ) 44 =NB ( ) 414 =NB ( ) 45 =NB ( ) 415 =NB ( ) 106 =NB ( ) 1016 =NB ( ) 217 =NB ( ) 2117 =NB ( ) 368 =NB ( ) 3618 =NB ( ) 549 =NB ( ) 5419 =NB

Tabela 4.1

5. Hardverska realizacija digitalnog R/D konvertora Digitalni R/D konvertor sa sinusnim PWM generatorom za pobudu rezolvera je realizovan uz pomoć XILINX-ovog 4010 FPGA čipa i 32KB RAM memorije sa XS40 V1.2 ploče istog proizvođača. Pored FPGA čipa na ploči se nalazi mikrokontroler 8031 i kvarcni oscilator za generisanje takta od 12 MHz, a napajanje ploče od +5V i +3,3V je izvedeno pomoću linearnih stabilizatora napona 7805 i LM317. Na ploči je predviđeno i mesto za ugradnju serijskog EEPROM-a. Detaljni podaci o ploči, sa električnom šemom i softverskim alatima za njeno testiranje i programiranje su priloženi na disketi XSTOOLS u prilogu. R/D konvertor realizovan na XS40 ploči je spregnut sa rezolverom preko četiri A/D konvertora (AD7876) koji vrše digitalizaciju rezolverskih signala. Na ploči se nalazi i PWM modulator koji generiše odgovarajuće prekidačke funkcije koje kada se uobliče u filtarskom i pojačavačkom stepenu formiraju sinusni signal za pobudu rezolvera. Rezultat R/D konverzije, odnosno digitalizovana vrednost pozicije vratila rezolvera θD ili njegova ugaona brzina ω prikazuju se u vidu odgovarajućeg analognog napona na izlazu D/A konvertora (AD767). Raspored pojedinih blokova R/D konvertora realizovanih na XS40 ploči i njihove međusobne veze prikazan je na slici 5.2. Na slici 5.2 su prikazani D/A i A/D konvertori iako se oni ne nalaze na samoj XS40 ploči. To je učinjeno zbog toga što upravljačka jedinica realizovana u FPGA čipu

slika 5.1 Blok šema hardverskog rešenja

REZOLVER

FILTAR I POJAČAVAČ

A/D

A/D

A/D

A/D

R/D

KONVERTOR

PWM MODULATOR

XS40 V1.2 PLOČA

D/A

UPRAVLJANJE

θD

θD/ω

upravlja pomenutim konvertorima tako da oni sa ostatkom sistema na ploči sačinjavaju logičku celinu, odnosno digitalni podsistem. Za digitalizaciju rezolverskih signala (USIN(t) i UCOS(t)) su upotrebljena četiri A/D konvertora (po dva u paraleli) proizvođača Analog Devices AD7876, koji se odlikuju maksimalnom brzinom odabiranja od 100 KHz, što omogućava postizanje efektivne, gore usvojene, učestanosti odabiranja od 160 KHz, a maksimalno do 200 KHz. Digitalni izlazi ovih A/D konvertora su povezani na zajedničku 12-bitnu magistralu AD12 posredstvom koje se diskertizovani signali USIN i UCOS dovode do FPGA čipa. Za relizaciju sve tri operacije množenja signala se koristi jedan redno-paralelni množač, što je ostvareno upotrebom multipleksera i prihvatnog registra kao i odgovarajućim vremenskim rasporedom očitavanja A/D konvertora i RAM memorije. Detaljno objašnjenje ovog postupka dato je u paragrafima 5.2 i 5.7. Oduzimač na izlazu množača vrši oduzimanje 20-bitnog operanda P20 od 20-bitnog operanda Q20, a zatim otsecanje donjih 8 bita razlike, i na taj način formira 12-bitni signal R12. Ovaj se signal zavisno od stanja upravljačkog automata vodi na ulaz množača posredstvom multipleksera ili na ulaz bloka koji vrši NF filtriranje i PI regulaciju. Izlaz iz filtarskog bloka je 12-bitni signal Dθ12 koji predstavlja digitalizovani priraštaj ugla između dva trenutka odbiranja. Signal Dθ12 se vodi na akumulatorski registar koji na izlazu daje digitalizovanu 12-bitnu vrednost ugla θD12. Generator PWM prekidačkih funkcija u kombinaciji sa filtarskim i pojačavačkim stepenom pobuđuje rezolver. Za proces izdvajanja ugla θ iz rezolverskih signala USIN i UCOS neophodna je i digitalizovana vrednost pobude rezolvera. Da bi se izbegla diskretizacija pobudnog signala rezolvera i time uštedeo jedan A/D konvertor potrebni odbirci sinusoide se očitavaju iz look-up tabele formirane u RAM memoriji. Primenom ovog postupka se mogu kompenzovati eventualna fazna kašnjenja između signala USIN i UCOS i pobude rezolvera korigovanjem adresa sa kojih se očitavaju odbirci pomenute sinusoide. Blok POBUDA, SIN( ), COS( ), BRZINA na osnovu signala θD12 i upravljačkih signala izračunava adrese u RAM memoriji na kojima se nalaze odbirci pobude rezolvera, sinθD i cosθD . Ovaj blok, takođe, transformiše signale θD12 i Dθ12 na način pogodan za prikazivanje pozicije i brzine u vidu odgovarajućeg analognog napona na D/A kovnertoru. 15-bitni izlaz ovog bloka se vodi na adresne ulaze RAM-a a njegovih donjih 12 bita na ulaz D/A konvertora. Njegovim radom upravlja upravljačka jedinica. Detaljno objašnjenje rada ovog bloka i njegovih delova dato je u paragrafu 5.6. Generator učestanosti odabiranja sinhronizuje rad R/D kovertora sa učestanošću od 160 KHz. Ovaj blok je opisan u paragrafu 5.8. Generator PWM prekidačkih funkcija, odnosno PWM modulator, generiše dve povorke impulsa. Povorka PLUS, kako je rečeno u paragrafu 4.4, odgovara pozitivnoj poluperiodi sinusnog napona za pobudu rezolvera, a povorka MINUS negativnoj. Hardverska realizacija generatora pobude rezolvera je opisana u paragrafu 5.9. Upravljačka jedinica sinhronizovana učestanošću odabiranja fs od 160 KHz upravlja radom A/D i D/A konvertora, očitavanjem RAM-a i izvršavanjem pojedinih računskih operacija određujući njihov redosled. Detaljno objašnjenje rada ovog bloka dato je u paragrafu 5.7.

θ 12U

UC

+

AD1

RA

ADR1

A

A

A

A/

D

RA

MNOŽ

NF FILTAR I PI

AKUMULAPOBU

DA θ

P2

RMU

FP

U UPRAVLJ

θ1

4010

KONTROLA

CS I RD

GENERATOR

SELEK

DOZVOLA UPISA UDOZVOLA UPISA

Q

REGI S

GENERATOR PWM

PL

MIN

slika 5 2 Blok šema digitalnog R/D konvertora

Umesto ove prazne strane prilikom sastavljanja teksta treba ubaciti dokument 5.2 text

XILINX je pored programabilnih logičkih čipova FPGA i CPLD tipa proizveo i seriju softverskih alata za njihovo programiranje (Foundation Series). Projektovanje R/D konvertora je izvedeno u paketu Foundation Series 1.5. Ovaj alat omogućava projektovanje svih vrsta logičkih kola, proveru ispravnosti realizovanih logičkih funkcija, implementaciju projekta, njegovu simulaciju u vremenu, programiranje FPGA ili CPLD čipa, proveru ispravnosti rada ovako hardverski realizovanog sistema i pomoć pri otklanjanju grešaka. Ovaj alat daje mogućnost projektovanja logičkih kola u formi električne šeme, gotovih optimizovanih standardnih logičkih modula, VHDL ili HDL koda ili dijagrama stanja. Električne šeme se organizuju hijerarhijski sa proizvoljnim brojem nivoa na jednostavan način. Električna šema nekog hijerarhijskog nivoa u opštem slučaju sadrži osnovna logička kola, i makroe kojima su predstavljeni složeniji logički blokovi. Ovi makroi se mogu opisati kao električne šeme nižeg hijerarhijskog nivoa, kao standardni optimizovani logički blokovi realizovani pomoću LOGI BLOX sofverskog modula u okviru Foundation Series 1.5 paketa, kao VHDL ili HDL kod ili kao dijagram stanja. Foundation Series 1.5 nudi i niz gotovih rešenja standardnih logičkih blokova (sabirači, registri, koderi, dekoderi, multiplekseri,...) koji se nakon jednostavnih podešavanja veoma lako ugrađuju u projekat. Detaljan opis mogućnosti Foundation Series 1.5 i uputstvo za upotrebu ovog paketa se nalazi u [6] i u help sistemu samog paketa. Realizacija digitalnog R/D konvertora, odnosno električne šeme i VHDL kodovi pojedinih blokova i sistema u celini su prikazani u okviru projekta realizovanog u Foundation Series 1.5 paketu koji je priložen na disketi u prilogu. Glavna šema RDKONV1 je sastavljena od međusobno povezanih makroa i svojim izgledom podseća na blok šemu sistema sa slike 5.2 (sa izuzetkom D/A i A/D konvertora i RAM-a). Podaci sa A/D konvertora se dovode na 12-bitni ulaz AD12, a podaci iz RAM-a na 8-bitni ulaz RAM. Rezultat R/D konverzije i adrese za adresiranje RAM-a se pojavljuju na 15-bitnom izlazu ADR15. U daljem tekstu će redom biti opisana struktura i način funkcionisanja svakog makroa i njegova veza sa ostatkom sistema. Za uspešno praćenje izlaganja koje sledi potrebno je pomoću Foundation 1.5 paketa pokrenuti priloženi projekat i kretati se kroz njegovu hijerarhijsku strukturu saglasno dole navedenom tekstu. 5.1 Ralizacija redno-paralelnog množača Redno-paralelni množač MNOZ8P12 je realizovan tako da omogućava množenje 12-bitnog operanda (B) u komplementu dvojke sa 8-bitnim operandom (A) takođe u komplementu dvojke. Izlaz množača je 20-bitni broj u komplementu dvojke. Radom množača upravlja upravljačka jedinica posredstvom sledećih upravljačkih signala: - SA - signal dozvole sinhronog upisa 8-bitnog i 12-bitnog operanda , - UPIS, POMERI - signali za kontrolu procesa množenja i - CLK - signal takta. Stukturu množača sačinjavaju sledeći blokovi:

1. 2U1KOMPL8 - Ovaj blok prihvata 8-bitni operand u komplementu dvojke i formira njegovu apsolutnu vrednost. Blok ODUZIMAC8 (8-bitni oduzimač) i XOR8 (8-bitno ekskluzivno ili kolo) su realizovani u LOGI BLOX modulu Foundation paketa, pa ne postoji mogućnost prikazivanja njihove unutrašnje strukture.

2. POMREG8 - 8-bitni pomerački registar sa paralelnim ulazom (D), serijskim izlazom Sout. Radom registra se upravlja pomoću sledećih signala: - UPIS - signal dozvole sinhronog upisa - POMERI - signal dozvole logičkog pomeranja u desno - CLK - signal takta. Sa šeme registra se vidi da on nakon prihvatanja 8-bitnog broja vrši njegovo logičko pomeranje u desno za osam bita. 3. 2U1KOMPL - Ovaj blok prihvata 12-bitni operand u komplementu dvojke i formira njegovu apsolutnu vrednost. Blok ODUZIMAC12 (12-bitni oduzimač) i XOR12 (12-bitno ekskluzivno ili kolo) su realizovani u LOGI BLOX modulu Foundation paketa, pa ne postoji mogućnost prikazivanja njihove unutrašnje strukture. 4. REG12 - 12-bitni registar prihvata apsolutnu vrednost 12-bitnog operanda. Radom ovog registra se upravlja pomoću signala - CLK_EN - signal dozvole sinhronog upisa - CLK - signal takta. REG12 je takođe realizovan u LOGI BLOX modulu pa se njegova stuktura ne može prikazati. 5. AND12 - logičko I kolo koje vrši logičku I operaciju između svakog bita upisanog u POMREG8 i sadržaja registra REG12. I ovo kolo je realizovzno u LOGI BLOX modulu. 6. SABIRAC12 - 12-bitni sabirač sa izlazom za prenos. Realizovan je u LOGI BLOX modulu. 7. POMREG12 12-bitni pomerački registar sa serijskim (Sin) i paralelnim (D) ulazom i sa serijskim (Sout) i paralelnim (PH) izlazom. Radom registra se upravlja pomoću sledećih signala: - UPIS - signal dozvole sinhronog paralelnog upisa,

- POMERI - signal dozvole logičkog pomeranja u desno. Pri pomeranju se na mesto najvišeg bita u registru upisuje bit na serijskom ulazu, a najniži bit se pojavljuje na serijskom izlazu. - CLR - reset signal, - CLK - signal takta.

8. PLPOMERAC - 8-bitni pomerački registar sa serijskim ulazom i paralelnim izlazom. Radom ovog registra se upravlja pomoću signala: - POMERI - signal dozvole logičkog pomeranja u desno, - CLR - reset signal, - CLK - signal takta. 9. PHPLPU - blok koji prihvata 12-bitni izlaz iz registra POMREG12 i 8-bitni izlaz iz registra PLPOMERAC i formira od njih 20-bitni izlaz. 10. 1U2KOMPL - blok koji prihvata 20-bitnu apsolutnu vrednost proizvoda i na osnovu znaka ulaznih operanada formira vrednost proizvoda u komplementu dvojke. Komponente XOR20, SABIRAC20 i NULA su realizovane u LOGI BLOX modulu. Upravljački signali za jedan ciklus množenja su dati su dati na sledećoj slici:

Pre početka množenja se pod komandom signala SA izvrši upisivanje 8-bitnog (RAM7=28 hex) i 12-bitnog (AD11=7DD hex) operanda u odgovarajuće registre. Kolo AND12 formira parcijalne proizvode pojedinih bita 8-bitnog operanda sa 12-bitnim operandom. SABIRAC12, D flip-flop (FDC), POMREG12 i PLPOMERAC sačinjavaju strukturu za pomeranje i sabiranje ovih parcijalnih proizvoda. Pod uticajem signala UPIS u POMREG12 se na rastuću ivicu takta upisuje sadržaj sabirača SABIRAC12, a u flip-flop bit prenosa pri sabiranju. Signal POMERI upravlja pomeranjem sadržaja registara POMREG8, POMREG12 i PLPOMERAC pri čemu se bit prenosa iz D flip-flopa upisuje na MSB mesto registra POMREG12, a LSB bit istog registra na MSB mesto registra PLPOMERAC. Da bi se izvršila operacija množenja potrebno je ovaj postupak ponoviti 8 puta, kako je prikazano na slici. Po završetku operacije množenja na izlazu množača se pojavljuje 20-bitni proizvod ( hexADDP 881328719 =⋅= ) a automat za kontrolu množenja generiše impuls KRAJ. 5.2 Realizacija bloka QMP20NA12 Blok QMP20NA12 obuhvata registar i oduzimač na izlazu množača sa slike 5.2. Ovaj blok treba da omogući oduzimanje dva uzastopna 20-bitna proizvoda, svođenje dobijene razlike na 12-bitni broj otsecanjem donjih osam bita, a zatim da propusti treći po redu 20-bitni proizvod uz otsecanje njegovih donjih osam bita. Njegovim radom upravlja upravljačka jedinica posredstvom upravljačkih signala PROPUSTI i SB. Komponente XOR20, REG20 i SABIRAC20 su realizovane u LOGI BLOX modulu Foundation 1.5 paketa i njihove šeme nisu dostupne. Princip rada ovog bloka se sastoji u sledećem: Kada množač završi prvo množenje upravljačka jedinica posredstvom signala SB zapiše proizvod u registar REG20. Ekskluzivno ili kolo XOR20, pri vrednosti signala PROPUSTI jednakoj logičkoj nuli, u kombinaciji sa 20-bitnim sabiračem formira 20-bitni oduzimač koji realizuje oduzimanje signala P sa izlaza množača od signala Q na izlazu registra po principu: 1++=− PQPQ (5.1)

slika 5.3 Upravljački signali za jedan ciklus množenja

Kada množač završi drugo množenje, izvršava se gore pomenuto oduzimanje. Razlika signala Q i P se vodi na blok 20NA12 koji vrši otsecanje donjih osam bita i na taj način formira 12-bitni izlaz. Ako se vrednost signala PROPUSTI postavi na logičku jedinicu blok QMP20NA12 vrši samo otsecanje osam donjih bita signala sa izlaza množača, odnosno propušta njegovih gornjih dvanaest bita na izlaz. 5.3 Realizacija digitalnog NF filtra Princip rada digitalnog filtra je objašnjen u tački 4.2.3. Sa šeme se vidi da je ona gotovo identična sa modelom filtra sa slike 4.4. Registri REG12 i sabirači SAB12, su realizovani u LOGI BLOX modulu Foundation 1.5 paketa. Registar na ulazu filtra ne učestvuje u realizovanju filtarske funkcije, on je tu postavljen da spreči propagaciju signala sa ulaza na izlaz bez kontrole upravljačkog signala. Radom filtra upravlja upravljačka jedinica posredstvom signala FILTAR. 5.4 Realizacija digitalnog PI regulatora Princip rada PI regulatora opisan je u tački 4.2.4. Integralno dejstvo je realizovano pomoću akumulatorskog registra AKUMUL12 realizovanog u LOGI BLOX modulu Foundation 1.5 softvera. Konstante proporcionalnog i integralnog dejstva, čije su vrednosti određene u paragrafu 4.3 i date izrazima:

21

=PK i (5.2)

641

=IK (5.3)

su realizovane u podblokovima KP i KI. Blok KP vrši aritmetičko pomeranje ulaznog 12-bitnog signala za jedno mesto u desno, dok blok KI aritmetički pomera ulaz za šest mesta u desno. Radom PI regulatora upravlja upravljačka jedinica posredstvom signala FILTAR. 5.5 Realizacija akumulatorskog registra Princip rada akumulatora je objašnjen u tački 4.2.5. On je realizovan kao jedinstven 12-bitni blok AKUMUL12 u LOGI BLOX modulu Foundation 1.5 paketa. Radom ovog bloka upravlja upravljačka jedinica posredstvom signala FILTAR.

5.6 Relizacija bloka PSINCOS Blok PSINCOS predstavlja hardversku relizaciju bloka POBUDA SIN( ) COS( ) BRZINA sa slike 5.2. On u kombinaciji sa RAM memorijom treba da obezbedi:

- izračunavanje sinusa i kosinusa digitalizovanog ugla θD datog sadržajem akumulatorskog registra AKUMUL12. Ove vrednosti se mogu dobiti očitavanjem iz look-up tabele formirane u RAM-u. Pošto je akumulator 12-bitni registar njegov sadržaj, odnosno argument sinusne i kosinusne funkcije, može da ima 212=4096 različitih vrednosti. Iz ovoga sledi da look-up tabelu treba popuniti sa 4096 odbiraka jedne periode sinusne funkcije. Sada sadržaj akumulatora predstavlja adresu na kojoj se nalazi vrednost njegovog sinusa. Vrednost njegovog kosinusa se nalazi na lokaciji koja je pomerena za 1024 mesta u tabeli (digitalno π/2). - generisanje odbiraka sinusoide. Kako je ranije rečeno (paragraf 4.1), u procesu demodulacije rezolverskih signala neophodno je raspolagati odbircima pobude rezolvera. Da bi se izbegla upotreba A/D konvertora ovi odbirci se mogu generisati očitavanjem gore pomenute look-up tabele formirane u RAM memoriji. Usvojena učestanost odabiranja R/D konvertora je 160 KHz, a nazivna učestanost pobude rezolvera 10 KHz. Odavde se vidi da je potrebno očitati 16 odbiraka po periodi pobude rezolvera, što znači da look-up tabelu treba očitavati sa korakom 256. - prikazivanje rezultata merenja. Digitalizovana vrednost ugaone pozicije vratila rezolvera θD je predstavljena sadržajem akumulatora, dok je njegova ugaona brzina direktno proporcionalna signalu Dθ sa izalza PI regulatora (izraz 4.23). Ove dve izlazne veličine (brzina i pozicija) se mogu prikazati u vidu analognog napona posredstvom D/A konvertora. Sadržaj akumulatora se za promenu pozicije vratila rezolvera od 0 do 2π rad promeni od 0 do 4095. Kada se ovde primenjeni 12-bitni D/A konvertor AD767 pobudi ovakvim digitalnim ulazom, pri konstantnoj brzini obrtanja rezolvera, na njegovom analognom izlazu će se pojaviti testerasti signal čija je amplituda jednaka maksimalnom izlaznom naponu D/A konvertora, a učestanost mehaničkoj učestanosti obrtanja vratila rezolvera. Signal Dθ sa izlaza PI regulatora i pri velikim brzinama obrtanja vratila rezolvera uzima male vrednosti (izraz 4.25). Ako bi se ovaj signal direktno vodio na digitalni ulaz 12-bitnog D/A konvertora na njegovom izlazu bi se dobio mali analogni napon, a rezolucija sa kojom bi se prikazivala brzina obrtanja rezolvera bi bila nedopustivo mala. Rezolucija se može povećati ako se izvrši akumulacija određenog broja uzastopnih odbiraka signala Dθ tako da se pri nekoj unapred usvojenoj maksimalnoj brzini obrtanja na D/A konvertor šalje maksimalna akumulisana vrednost 12-bitnog označenog broja 2048. Potreban broj odbiraka koji treba akumulisati može da se odredi uz pomoć izraza 4.23:

θDfn S ⋅⋅=1024

15 . (5.4)

gde je n brzina obrtanja rezolvera izražena u obrtajima u minuti. Akumulisani sadržaj koji se šalje na D/A konvertor se može opisati sledećom relacijom: θλ DNA ⋅= (5.5) gde je λ broj akumulisanih odbiraka signala Dθ. Kombinovanjem izraza 5.4 i 5.5 dobijamo:

MAX

SMAXA

nfN

⋅⋅⋅

=1024

15λ , (5.6)

gde je nmax unapred usvojena maksimalna vrednost brzine obrtanja vratila rezolvera, a MAX

AN maksimalna apsolutna vrednost broja zapisanog u komplementu dvojke koji se može upisati u akumulatorski registar. U konkretnom slučaju 12-bitne aritmetike MAX

AN iznosi 2048. Sada za razne vrednosti nmax možemo odrediti ogovarajuće λ: - za ,960min5000 5000 == λobnMAX (5.7)

- za ,480min10000 10000 == λobnMAX (5.8)

- za .240min20000 20000 == λobnMAX (5.9)

Ovde će biti usvojena vrednost 9605000 =λ .

Broj odbiraka signala Dθ koji se akumulišu, odnosno maksimalana brzina obrtanja koju može da prati realizovani R/D konvertor se naknadno može lako podesiti softverskim putem (izmenom projekta u Foundation 1.5 paketu, a zatim ponovnim učitavanjem u FPGA čip) bez potrebe za intervencijom na hardveru.

Ulazni signali bloka PSINCOS su: - TETA - sadržaj akumulatorskog registra, odnosno digitalizovana ugaona pozicja vratila rezolvera, - DT - signal sa ulaza akumulatora, odnosno digitalizovani priraštaj ugaone koordinate vratila rezolvera između dva uzastopna trenutka odabiranja - X0 i X1 - selekcioni signali - FS - sinhro signal učestanosti odbiranja

- BRZ_POZ - signal kojim se vrši izbor veličine koja se prikazuje na D/A konvertoru (brzina ili pozicija) - FILTAR - signal kojim upravljačka jedinica sinhronizuje izračunavanje odbiraka signala DT i TETA u filtru, PI regulatoru i akumulatoru. - CLK - signal takta.

Izlazni signali ovog bloka su: - ADR - 15-bitni signal koji zavisno od selekcionih signala X0 i X1 uzima vrednost:

a) adrese memorijske lokacije na kojoj se nalazi odbirak pobude rezolvera b) adrese memorijske lokacije na kojoj se nalazi odbirak sinusne funkcije digitalizovanog ugla c) adrese memorijske lokacije na kojoj se nalazi odbirak kosinusne funkcije digitalizovanog ugla d) odbirka pozicije ili brzine vratila rezolvera u formatu pogodnom za prikazivanje na D/A konvertoru

Sa šeme bloka PSINCOS se vidi da se on sastoji od sledećih podblokova:

- POBUDA - ovaj blok izračunava adrese odbiraka pobude rezolvera iz RAM memorije. Sa njegove šeme se vidi da se on sastoji od akumulatorskog registra AKUMUL12C i 12-bitne konstante CONST256 koji su realizovani u LOGI BLOX modulu Foundation 1.5 paketa.

- SAB12 i PIPOLA - ova dva bloka izračunavaju adresu na kojoj se nalazi kosinus sadržaja akumulatora. Realizovani su u LOGI BLOX modulu Foundation 1.5 paketa. SAB12 je 12-bitni sabirač a PIPOLA 12-bitna konstanta vrednosti 1024.

- DTAKUMUL - ovaj blok vrši transformaciju signala DT i TETA u oblik pogodan za prikazivanje pozicije odnosno brzine obrtanja vratila rezolvera u vidu analognog napona posredstvom D/A konvertora AD767. Princip rada ovog bloka se može opisati na sledeći način: U akumulatorskom registru AKUMULBR12 se u svakoj periodi odabiranja pod uticajem signala FILTAR izvrši akumulacija jednog odbirka signala DT. Blok BRBROJAC je realizovan kao brojač po modulu 960 sa signalom zasićenja BR. Na njegov takt ulaz se dovodi invertovani signal FILTAR tako da BRBROJAC vrši brojanje akumuliranih odbiraka signala DT u akumulatoru AKUMULBR12. Kada BRBROJAC uđe u zasićenje u akumulatoru AKUMUL12BR se nalazi zbir 960 uzastopnih odbirka signala DT. Na rastuću ivicu signala BR dolazi do setovanja flip-flopa FDC, odnosno postavljanja signala XBR na vrednost logičke jedinice. Prelazak signala XBR u stanje logičke jedinice inicira automat BRZAUTO koji posredstvom signala REG sadržaj akumulatora se upisuje u prihvatni registar REG12, a zatim signaliom RST resetuje akumulator AKUMULBR12 i flip-flop FDC. Sadržaj registra REG12, koji je digitalni ekvivalent brzine i signal TETA koji je digitalizovana pozicija vratila rezolvera se dovode na ulaz multipleksera MUX12_2NA1. Izbor veličine koja će se prikazivati na D/A konvertoru (brzina ili

pozicija) vrši se pomoću tastera BRZINA/POZICIJA prikazanog na SEMI1 datoj na disketi u prilogu. Svakim pritiskom na taster menja se stanje flip-flopa prikazanog na šemi bloka DTAKUMUL, a samim tim i selekcioni signal multipleksera MUX12_2NA1. Pre nego što se signal sa izlaza multipleksera odvede na D/A konvertor mora se izvršiti invertovanje njegovog najvišeg bita. Ovo je neophodno uraditi zbog toga što su signali DT i TETA zapisani u drugom komplementu a prenosna karakteristika D/A konvertora AD767 je takva da on za sve nule na ulazu daje minimalan negativan napon na izlazu, a za sve jedinice na ulazu maksimalan pozitivan izlazni napon.

- MUX12_4NA1 - ovo je multiplekser koji zavisno od selekcionih signala S0 i S1, koje generiše upravljačka jedinica, na izlaz bloka PSINCOS propušta odgovarajući signal za adresiranje RAM-a ili signal za prikazivanje na D/A konvertoru. Ovaj blok je realizovan u LOGI BLOX modulu Foundation 1.5 paketa, a selekcija je kodovana prirodnim binarnim kodom:

- za S1=0 i S0=0 na izlaz multipleksera se propušta adresa odbirka pobude rezolvera - za S1=0 i S0=1 na izlaz multipleksera se propušta adresa na kojoj se nalazi vrednost sinusne fukcije ulaznog signala TETA - za S1=1 i S0=0 na izlaz multipleksera se propušta adresa na kojoj se nalazi vrednost kosinusne fukcije ulaznog signala TETA -za S1=1 i S0=1 na izlaz multipleksera se propušta digitalni ekvivalent ugaone brzine ili pozicije vratila rezolvera koji se prikazuje na D/A konvertoru.

5.7 Realizacija upravljačke jedinice Upravljačka jedinica sinhronizovana generatorom učestanosti odabiranja upravlja radom celog sistema po unapred utvrđenom vremenskom redosledu. Ona inicira rad A/D kovertora, očitva rezultate A/D konverzije, očitava potrebne podatke iz RAM-a, upisuje operande u množač, usmerava međurezultate računskih operacija, sinhronizuje rad digitalnog filtra, PI regulatora i akumulatora, upravlja postupkom izračunavanja adresa i adresiranjem RAM-a i upravlja prikazivanjem rezultata R/D konverzije. Upravljačka jedinica je realizovana u okviru bloka UPRAVLJANJE prikazanog na priloženoj šemi R/D konvertora. Sa unutrašnje šeme upravljačke jedinice se vidi da se ona sastoji od sledećih blokova:

- AUTO1 - ovaj blok upravlja radom redno-paralelnog množača (MNOZ8P12) opisanog u paragrafu 5.1. Njegovi ulazni signali su: - MNOZI - komandni siganal za početak procesa množenja, - CLK - signal takta. Izlazni signali ovog automata su: - UPIS i POMERI - signali koji upravljaju radom množača, - KRAJ - signal koji označava kraj množenja. Algoritam po kome funkcioniše AUTO1 je dat na slici 5.4:

23

POČETAK

1 NE

Princip rada ovog bloka se može opisati na sledeći način: AUTO1 se nalazi u stanju čekanja dok mu blok AUTO3 ne pošalje, posredstvom signala MNOZI, komandu za početak množenja. U toku jedne operacije množenja AUTO1 osam puta ponovi sledeći ciklus: - postavi signal UPIS na logičku jedinicu u trajanju jednog taktnog intervala,

- u sledećem taktnom intervalu postavi signal POMERI na logičku jedinicu, a zatim po završetku osmog ciklusa postavi izlazni signal KRAJ na logičku jedinicu čime obaveštava blok AUTO3 da je množenje završeno. Vremenski dijagram signala ovog automata je prikazan na slici 5.3. Blok AUTO1 je realizovan u vidu VHDL koda datog u prilogu. Iz priloženog se vidi da je automat opisan pomoću dva procesa. Proces KM opisuje kombinacionu mrežu automata, dok proces MEM opisuje njegovu memoriju. - AUTO2 - ovaj blok sinhronizovan frekvencijom odabiranja generiše upravljačke signale posredstvom kojih inicira početak rada A/D konvertora. Signali koji upravljaju radom ovog bloka su:

- FS - signal učestanosti odabiranja, - CLK - signal takta.

Izlazni signali ovog bloka su: - CONV13 - komandni signal posredstvom kojeg AUTO2 inicira početak A/D konverzije u A/D konvertorima A/D1 i A/D3 sa slike 5.2. - CONV24 - komandni signal posredstvom kojeg AUTO2 inicira početak A/D konverzije u A/D konvertorima A/D2 i A/D4, sa slike 5.2.

Algoritam po kome funkcioniše automat AUTO2 je dat na slici 5.5:

POČETAK

113 ←CONV

124 ←CONV NE 3

113 ←CONV

2

A/D konvertori AD7876 imaju više režima rada [9]. Ovde se koristi MOD1 u kojem da bi se pokrenula A/D konverzija signal CONV treba prvo oboriti na logičku nulu za vreme t1 koje minimalno iznosi 50ns, a zatim ga vratiti u stanje logičke jedinice, slika 5.6. Na rastuću ivicu signala CONV započinje A/D konverzija. Po završetku konverzije A/D konvertor postavlja signal INT u stanje logičke nule i time obaveštava okruženje da je rezultat konverzije spreman za očitavanje. Postavljanjem signala CS i RD na vrednost logičke nule sadržaj A/D konvertora se pojavljuje na njegovom 12-bitnom DATA izlazu. Na opadajuću ivicu ovih signala signal INT se vraća u stanje logičke jedinice. Po završetku očitavanja signal RD kao i signal CS treba vratiti u neaktivno stanje logičke jedinice.

slika 5.6 Signali A/D konvertora AD7876 u modu 1

Princip rada ovog automata se može opisati na sledeći način: AUTO2 po nailasku sinhro-impulsa FS iz generatora periode odabiranja obara signal CONV13 na vrednost logičke nule, a zatim ga u sledećem taktnom intervalu vraća u početno stanje logičke jedinice i odlazi u stanje čekanja sledećeg sinhro-impulsa. Kako je gore rečeno, na rastuću ivicu signala CONV13 započinje A/D konverzija u konvertorima A/D1 i A/D3. Nailaskom sledećeg sinhro-impulsa FS AUTO2 obara signal CONV24 na vrednost logičke nule, a zatim ga slično predhodnom slučaju, u sledećem taktnom intervalu vraća na vrednost logičke jedinice i odlazi u stanje čekanja sledećeg sinhro-impulsa. Na rastuću ivicu signala CONV24 započinje A/D konverzija u konvertorima A/D2 i A/D4. Nailaskom sledećeg sinhro-impulsa AUTO2 ponovo postavlja signal CONV13 na logičku nulu itd. Vremenski dijagram ulaznih i izlaznih signala automata AUTO2 je dat na slici 5.7: AUTO2 je ralizovan u vidu VHDL koda datog u prilogu. Iz priloženog koda se vidi da se on sastoji iz dva procesa. Proces KM opisuje kombinacionu mrežu automata, dok proces MEM opisuje memorijski deo automata. - AUTO3 - ovaj blok posredstvom svojih upravljačkih signala upravlja očitavanjem sadržaja A/D konvertora, usmerava odgovarajuće adrese na adresnu magistralu RAM-a i upravlja očitavanjem potrebnih podataka iz RAM-a, kontroliše upisivanje operanada u množač, usmerava međurezultate tokom procesa obrade signala, kontroliše rad digitalnog filtra, PI regulatora i akumulatora, upravlja prikazivanjem rezultata R/D konverzije i generiše signale pomoću kojih upravlja radom ostalih automata u okviru upravljačke jedinice. Ulazni signali ovog bloka su:

- INT1, INT2, INT3 i INT4 - ovo su gore pomenuti signali koje generišu A/D konvertori. Ovi signali se dovode u parovima preko dvoulaznih logičkih ILI kola. Na ovaj način se ne dozvoljava započinjanje ciklusa R/D konverzije sve dok se ne završi A/D konverzija oba rezolverska signala. Tek kada odgovarajući par A/D konvertora (A/D1 i A/D3 ili A/D2 i A/D4) završi konverziju na jednom od izlaza ILI kola se pojavljuje logička nula koja inicira početak R/D konverzije. Ovde treba napomenuti da su konvertori povezani sa ostatkom sistema tako da par A/D1 i A/D2 vrši diskretizaciju signala USIN, dok par A/D3 i A/D4 vrši diskretizaciju signala UCOS. - KRAJ - signal koji generiše automat AUTO1 za kontrolu množenja. Postavljanjem ovog signala na logičku jedinicu AUTO1 obveštava AUTO3 da je završena operacija množenja.

slika 5.7 Vremenski dijagram signala automata AUTO2

- CLK - signal takta. Blok AUTO3 na svom izlazu generiše sledeće signale:

- RD1, RD2, RD3 i RD4 - signali pomoću kojih se očitava sadržaj A/D konvertora. - SA - signal dozvole upisa operanda iz RAM-a u 8-bitni registar množača i iz A/D konvertora u 12-bitni registar množača (paragraf 5.1) - SB - signal dozvole upisa 20-bitnog izlaza množača u prihvatni registar bloka QMP20NA12, (paragraf 5.2) - X0 i X1 - kontrolni signali koji upravljaju blokom PSINCOS (paragraf 5.6) - MNOZI - signal pomoću kojeg AUTO3 šalje komandu za započinjanje procesa množenja automatu AUTO1 - FILTAR - signal koji sinhronizuje rad digitalnog NF filtra, PI regulatora i akumulatorskog registra sa ostatkom sistema - SEL - selekcioni signal koji upravlja radom multipleksera MUX12_2NA1 na 12-bitnom ulazu množača. Zavisno od vrednosti ovog signala na ulaz množača se dovodi sadržaj nekog od A/D konvertora ili signal sa izlaza bloka QMP20NA12. - PROPUSTI - signal posredstvom kojeg se upravlja blokom QMP20NA12 (paragraf 5.2). Zavisno od vrednosti ovog signala blok QMP20NA12 realizuje odzimanje dva uzastopna 20-bitna proizvoda sa izalza množača i otseca razliku na 12 bita ili samo otseca donjih osam bita 20-bitnog izlaza množača - CSDA - signal posredstvom kojeg se upisuje digitalni ekvivalent brzine obrtanja rezolvera i njegove pozicije u D/A konvertor

Algoritam po kome funkcioniše automat AUTO3 je dat na slici 5.8:

2ADB←

DA θcos←

BAP ∗←

7

8NE

DA

KRAJ = 1

PQ←

4ADB←

DA θsin←

BAP ∗←

POČETAK

1 NE

INT13 = 0

DA

1ADB←

DA θcos←

BAP ∗←

2

DA

KRAJ = 1

NE

PQ←

3ADB←

tA e ⋅← ωsin

BAP ∗←

5NE

KRAJ = 1

12PQR +←

∑λ

nnD

nD Dθθθ +← −1

4

( )RNFPID n ←θ

DA

0←Q

( )RNFPID n ←θ

RB←

tA e ⋅← ωsin

BAP ∗←

nD

nD Dθθθ +← −1

11NE

DA

KRAJ = 1

10

0←Q

12PQR +←

Princip rada ovog automta se može opisati na sledeći način: AUTO3 se nalazi u stanju čekanja sve dok signali INT1 i INT3 ne uzmu vrednost logičke nule, odnosno dok A/D konvertori A/D1 i A/D3 ne završe proces konverzije. Kada AUTO3 dobije informaciju o završetku A/D konverzije posredstvom signala RD1 i SA očitava digitalizovanu vrednost signala USIN iz A/D konvertora A/D1 i upisuje je u 12-bitni prihvatni registar množača, istovremeno posredstvom signala X0, X1 i SA iz RAM-a očitava vrednost kosinusa digitalizovanog ugla θD i upisuje u 8-bitni registar množača. Nakon upisivanja operanada u množač postavljanjem signala MNOZI na logičku jedinicu AUTO3 pokreće proces množenja (pod kontrolom automata AUTO1) i prelazi u stanje čekanja do završetka rada množača. Kada se završi proces množenja automat AUTO1 postavi signal KRAJ na logičku jedinicu i time obaveštava AUTO3 da je množenje završeno. Po prijemu ovog signala AUTO3 postavljanjem signala SB na logičku jedinicu, upisuje rezultat množenja u prihvatni registar bloka QMP20NA12, a zatim posredstvom signala RD3 i SA očitava digitalizovanu vrednost signala UCOS iz A/D konvertora A/D3 i upisuje je u množač. Istovremeno sa očitavanjem A/D konvertora AUTO3 posredstvom signala X0, X1 i SA očitava vrednost sinusa digitlizovanog ugla θD iz RAM-a i upisuje je u 8-bitni registar množača. Po završetku upisivanja operanada u množač postavljanjem signala MNOZI na logičku jedinicu pokreće novi proces množenja i odlazi u stanje čekanja. Po završetku operacije množenja blok QMP20NA12, pri vrednosti signala PROPUSTI jednakoj logičkoj nuli (paragraf 5.2), vrši oduzimanje upravo izračunatog proizvoda od predhodnog rezultata množenja zapamćenog u prihvatnom registru istog bloka i nakon toga otsecanje donjih osam bita razlike formirajući 12-bitni izlaz. Sada AUTO3 postavlja signal SEL na logičku nulu i na taj način dovodi signal sa izlaza bloka QMP20NA12 na 12-bitni ulaz množača, a zatim postavljanjem signala SA na logičku jedinicu vrši njegovo upisivanje u množač. Istovremeno posredstvom signala X0, X1 i SA AUTO3 kontroliše očitavanje odbirka pobude rezolvera iz RAM-a i njegovo upisivanje u množač, a nakon toga postavljanjem signala MNOZI na logičku jedinicu pokreće proces množenja.

Pre završetka operacije množenja AUTO3 postavlja signal PROPUSTI na logičku jedinicu i na taj način dovodi blok QMP20NA12 u drugi režim rada u kojem ovaj blok vrši samo otsecanje donjih osam bita izlaza množača (paragraf 5.2). Kada se završi množenje, odnosno kada signal KRAJ uzme vrednost logičke jedinice, AUTO3 postavlja signal FILTAR na logičku jedinicu čime dozvoljava upis izlaznog signala iz bloka QMP20NA12 u digitalni NF filtar i samim tim izračunavanje priraštaja ugaone koordinate u NF filtru i PI regulatoru kao i akumulisanje izračunatog priraštaja u akumulatorskom registru. Nakon formiranja nove vrednosti digitalizovane ugaone koordinate vratila rezolvera θD u akumulatorskom registru i formiranja digitalnog ekvivalenta brzine u bloku DTAKUMUL , AUTO3 postavljanjem signala X0 i X1 na logičku jedinicu i signala CSDA na logičlu nulu vrši upisivanje pomenutog ekvivalenta brzine obrtanja rezolvera ili njegove pozicije (zavisno od signala BRZ_POZ, paragraf 5.6) u D/A konvertor u cilju formiranja odgovarajućeg analognog napona. Po upisivanju sadržaja u D/A konvertor AUTO3 odlazi u stanje čekanja do završetka procesa A/D konverzije u drugom paru A/D konvertora (A/D2 i A/D4). Po završetku A/D koverzije ovi A/D konvertori postavljaju svoje INT izlaze na logičku nulu i time iniciraju novi ciklus R/D konverzije. Vremenski dijagrami signala ovog automata su prikazani na slici 5.9. Automat AUTO3 je realizovan u vidu VHDL koda datog u prilogu. Iz priloženog koda se vidi da se on sastoji iz dva procesa. Proces KM opisuje kombinacionu mrežu automata dok proces MEM opisuje memorijski deo automata. 5.8 Realizacija generatora učestanosti odabiranja Funkciju generatora učestanosti odabiranja obavlja blok FSGENERATOR. Ovaj blok je realizovan u LOGI BLOX modulu Foundation 1.5 paketa kao delitelj učestanosti. Njegovi parametri su odabrani tako da on učestanost takta od 12 MHz koju generiše kvarcni oscilator na XS40 kartici deli sa 75, i na taj način fomira signal učestanosti

slika 5.9 Vremenski dijagram signala automata AUTO3

160 KHz. Faktor ispune izlaznog signala je podešen tako da on ima vrednost logičke jedinice u trajanju jedne periode ulaznog signala takta. 5.9 Realizacija generatora pobude rezolvera Generator pobude rezolvera se sastoji od dva osnovna bloka: PWM modulatora relizovanog u FPGA čipu i filtarskog i pojačavačkog bloka realizovanog van XS40 kartice. Princip rada PWM modulatora i sinteza njegovih izlaznih signala je objašnjen u paragrafu 4.4. Sam modulator je u FPGA čipu realizovan u okviru makroa PWMAUTO prikazanog na glavnoj šemi R/D konvertora datoj u prilogu. Njegova unutrašnja struktura je prikazana na šemi koja se takođe nalazi u prilogu. Sa šeme se vidi da se PWM modulator sastoji od četiri bloka: - PWM - blok je realizacija automata sa slike 4.15. Ovaj makro je relizovan u vidu VHDL koda datog u prilogu. Iz priloženog koda se vidi da se on sastoji od sledećih procesa:

- KMS - ovaj proces opisuje kombinacionu mrežu u okviru koje je formirana look-up tabela sa ekvivalentima trajanja pojedinih impulsa u PWM signalima PLUS i MINUS. Sadržaj ove tabele se adresira pomoću ulazne promenljive S . Iz priloženog koda se vidi da su upisane vrednosti ekvivalenata iste sa onima prikazanim u tabeli 4.1 sa jednim izuzetkom. Vrednosti za k= 4,5,14 i 15 izračunate u paragrafu 4.4 iznose 4 a u kombinacionoj mreži one su zamenjene sa 6. To je učinjeno zbog toga što automat PWM ne uspeva da odradi zadati algoritam za vrednosti ekvivalenata manje od 6. Ovim, kao i zaokruživanjem brojeva iz tabele 4.1 prilikom njihovog izračunavanja, se unose izvesna ali i neizbežna izobličenja u generisani sinusni signal.

- KMA i MEM - ova dva procesa opisuju automat koji upravlja radom

celog PWM modulatora. Ulazni signali automata su: - s - promenljiva kojom se adresira sadržaj look-up tabele, - a - vektor stanja automata,

- TPWM - signal koji koji generiše generator periode nosećeg (testerastog) signala, TPWM. (paragraf 4.4) - KRAJ - signal kojim brojač signalizira da je ušao u zasićenje

Automat se sastoji iz dva dela. Prvi deo za svaku vrednost promenljive S iz skupa 0,1,...,9 generiše upravljačke signale za brojač (UPIS-signal dozvole sinhronog upisa i CLKE-signal dozvole brojanja) i postavlja signal PLUS na logičku jednicu odnosno logičku nulu. Drugi deo za svaku vrednost promenljive S iz skupa 10,11,...,19 takođe generiše upravljačke signale za brojač (UPIS i CLKE) i formira izlazni signal MINUS. Za svaku vrednost promenljive s od 0 do 19 automat izvršava sledeći ciklus:

1. po nailasku signala TPWM postavi odgovarajući izlaz (PLUS ili MINUS) na logičku jedinicu, 2. upiše odgovarajući sadržaj u brojač i pokrene brojanje 3. po nailasku signala KRAJ zaustavi brojač i postavi odgovarajući izlaz (PLUS ili MINUS) na nulu. - KMSN - ovaj proces opisuje brojač po modulu 20 koji svojim

sadržajem s adresira sabržaj look-up tabele.

- BROJAČ - je makro opisan VHDL kodom datim u prilogu. Ovaj blok je implementacija brojača prikazanog na slici 4.15. Iz priloženog koda se vidi da je ovo brojač na gore po modulu 64, sa sinhronim paralelnim upisom (signal UPIS) i signalom dozvole brojanja (CLKE). - KRJ - je kombinaciona mreža koja generiše signal KRAJ kada brojač uđe u zasićenje. VHDL kod ove mreže je dat u prilogu. - TPWMCLK - blok je implementacija generatora periode nosioca. Ovaj blok je realizovan u LOGI BLOX modulu Foundation 1.5 paketa kao delitelj učestanosti. Njegovi parametri su odabrani tako da on učestanost takta od 12 MHz koju generiše kvarcni oscilator na XS40 kartici deli sa 60 i na taj način formira signal učestanosti 200 KHz. Faktor ispune izlaznog signala je podešen tako da on ima vrednost logičke jedinice u trajanju jedne periode ulaznog signala takta. Signal TPWM koji generiše blok TPWMCLK i izlazni signali PLUS i MINUS iz PWM modulatora prikazani na slici 5.10. Da bi se formirao signal SPWM od signala PLUS i MINUS potrebno je izvršiti oduzimanje signala MINUS od signala PLUS (paragraf 4.4). Signal SPWM se dalje filtrira i pojačava a zatim vodi na rezolver. Šema elektronskog kola koje izvršava gore pomenute transformacije signala PLUS i MINUS u sinusni signal pogodan za napajanje rezolvera data je na disketi PRILOG, SEMA3. Signali PLUS i MINUS, amplitude oko 5V, se dovode na ulaz diferencijalnog pojačavača (ulazni portovi J3-69 i J3-70) sa jediničnim pojačanjem realizovanog pomoću operacionog pojačavača TL072.[11] Ovaj stepen vrši oduzimanje signala MINUS od signala PLUS. Uticaj selw rate-a primenjenog operacionog pojačavača (tipično sV µ13 ) je ovde sveden na najmanju moguću meru usvajanjem jediničnog pojačanja odnosno održavanjem male amplitude impulsnog signala SPWM koji se javlja na izlazu oduzimača. [5]

slika 5.10 Signali PWM modulatora

Signal SPWM se dalje vodi na dva redno vezana NF filtarska stepena relizovana takođe pomoću opreracionog pojačavača TL072. Prenosne funkcije ovih filtara su date sledećim relacijama:

( ) 2

7

82

2

7

81

121

1

1

+⋅

−⋅+

+=

RCs

RR

RCs

RCRR

sA (5.10)

( ) 2

11

122

2

11

122

121

1

1

+⋅

−⋅+

+=

RCs

RR

RCs

RCRRsA (5.11)

gde je Ω===== KRRRRR 1510965 i nFCCCCC 5,14321 ===== . Prelomna učestanost ovih filtara je data relacijom:

,444,444441srad

RCpr ==ω (5.12)

odnosno Hzf pr 55.7073= . (5.13)

Za vrednosti otpornika Ω=Ω=Ω=Ω= KRiKRKRKR 2215,27,47 121187 pojačanja filtara u propusnom opsegu iznose: ( ) 574.101 =A i (5.14) ( ) 466.202 =A . (5.15) Ovako dimenzionisani filtri uspevaju da potisnu nepotrebni deo spektra, odnosno da iz signala SPWM izdvoje sinusni signal od 10 KHz. Sinusni signal se dalje vodi na pojačavač snage relizovan pomoću operacionog pojačavača TL072 u kombinaciji sa tranzistorskim stepenom izvedenim pomoću tranzistora BC546 i BC556. Kolo povratne sprege uzima signal sa emitora izlaznih tranzistora i preko naponskog razdelnika (TR3+R14 i R13) vraća signal na ulaz pojačavača. Na ovaj način je izbegnuta potreba za predpolarizacijom tranzistora u cilju eliminisanja crossover izobličenja. Promenom otpornosti trimer potenciometra TR3 vrednost izlaznog napona pojačavača opterećenog rezolverom treba podesiti na nominalnih 7VRMS. Kondenzator C5 i otpornik R15 imaju ulogu da uklone eventualnu

jednosmernu komponentu izlaznog napona i da zaštite pojačavač od naponskih premašenja koja bi mogla da prouzrokuje ulazna induktivnost rezolvera. Operacioni pojačavači i tranzistorski stepen se napajaju iz jednosmernog izvora ±12V. Između napajanja operacionog pojačavača pomoću kojeg je realizovan jedinični diferencijalni pojačavač i mase povezani su keramički kondenzatori od 100nF. To je učinjeno sa ciljem da se premoste parazitne induktivnosti u napajanju koje bi ublažile strminu ivica signala SPWM i time unele dodatna izobličenja u generisani sinusni signal. 5.10 Realizacija tabele sa odbircima sinusoide u RAM memoriji U procesu obrade rezolverskih signala, kako je objašnjeno u paragrafu 4.1, postoji potreba za izračunavanjem vrednosti sinusne i kosinusne funkcije digitalizovane ugaone koordinate θD. Vrednost sinusa ili kosinusa nekog broja se u digitalnom sistemu može odrediti na više načina kako je navedeno u tački 4.2.2. U ovde realizovanom R/D konvertoru pomenuta izračunavanja se vrše uz pomoć look-up tabele formirane u RAM memoriji koja se nalazi na XS40 kartici. Kako je objašnjeno u paragrafu 5.6 look-up tabela treba da sadrži 4096 ekvidistantnih odbiraka jedne periode sinusne funkcije. Odbirci su zapisani kao 8-bitni brojevi u komplementu dvojke. RAM koji se nalazi na XS40 ploči je od strane proizvođača predviđen za čuvanje programa za mikrokontroler. Softverski alat XSTOOLS, koji se koristi za učitavanje konfiguracionog fajla u FPGA čip i podataka u RAM na XS40 kartici, tretira fajl koji se učitava u RAM kao asemblerski program za mikrokontroler i zahteva da on bude u Intel-ovom HEX formatu. Postupak formiranja potrebne look-up tabele se sastoji u sledećem: 1. pomoću nekog od viših programskih jezika se formira tekstualna datoteka u obliku programa za mikrokontroler. Program treba da definiše niz od 4096 osmobitnih konstanti u komplementu dvojke, odnosno dobiraka sinusoide zapisanih u memoriji počevši od nulte lokacije. Svaka od linija programa ima sledeći oblik: .db <8-bitni odbirak sinusoide> h. Ovu datoteku treba snimiti sa ekstenzijom .asm. 2. ovako formirani .asm fajl se pomoću Intelovog programa za asembler ASM51 transformiše u Intel-ov HEX format, odnosno fajl sa ekstenzijom .hex. 5.11 Realizacija hardverske postavke

Hardverska postavka se sastoji od delova prikazanih na blok šemi 5.2. Mehanička skica postavke (pogled odozgo) je prikazana na sledećoj slici: Električna šema postavke je prikazana na šemama 1, 2 i 3 koje se nalaze na disketi PRILOG dok je šema XS40 kartice data na disketi XSTOOLS . Šema 1, disketa PRILOG, SEMA1: Elektronski deo sistema se napaja simetričnim jednosmernim naponom, tačke:

AD767

TR1 TR2

POJAČAVAČKI I FILTARSKI

STEPEN

TR3

7809

7905

7805

TASTER BRZINA/POZICIJA

+12V

0

-12V

AD7876 AD7876

AD7876 AD7876

XS40 V1.2 KARTICA

NAPAJANJE ZA MOTOR

24VDCmax

0

CS

DA

INT1

IN

T2

INT3

INT4

CS

AD

1

CS

AD

2

CS

AD

3

CS

AD

4 ωθ

RD

AD1

RD

AD2

RD

AD

3

RD

AD4

PLU

S

MIN

US

SP

WM

US

IN

UC

OS

Upo

b

ka p

aral

elno

m

portu

raču

nara

REZOLVER

DC MOTOR

slika 5.11 Mehanička skica hardverske postavke

VCC= +12V 0= 0V VEE= -12V.

Ovaj napon se direktno vodi na D/A konvertor AD767 i filtarski i pojačavački stepen. Napajanje XS40 ploče od 9V je izvedeno pomoću stabilizatora napona 7809. A/D konvertori AD7876 se napajaju simetričnim naponom VDD=+5V i VSS= -5V preko linearnih stabilizatora napona 7805L i 7905L. Rezolver je sa elektronskim delom sistema spregnut pomoću devetopinskog DB konektora. Pomoću tastera BRZINA/POZICIJA se vrši izbor veličine koja će se prikazivati na D/A konvertoru kao rezultat R/D konverzije (brzina obrtanja ili ugaona pozicija vratila rezolvera). Svaki put kada se taster pritisne dolazi do promene veličine koja se prikazuje. Napajanje jednosmernog elektromotora, nominalnog napona 24V, je galvanski odvojeno od ostatka sistema i dovodi se na za to predviđene priključke. Šema 2, disketa PRILOG, SEMA2: Na ovoj šemi su prikazani A/D konvertori AD7876 i D/A konvertor AD767. Na analogne ulaze A/D konvertora se dovode rezolverski signali USIN i UCOS , a sa analognog izlaza D/A konvertora se preuzima analogni napon srazmeran brzini obrtanja ili ugaonoj poziciji vratila rezolvera. Da bi se obezbedilo napajanje sa što manjom izlaznom impedansom paralelno sa napajanjem svakog A/D i D/A konvertora su vezani keramički kondenzatori od 100nF. Trimer potenciometri TR1 i TR2 služe za podešavanje ofseta D/A konvertora, a kondenzator C11 za uobličavanje analognog napona na izlazu. [10] Digitalni ulazi i izlazi A/D i D/A konvertora su spregnuti sa XS40 pločom preko pinova njenog J3 porta. Raspored signala po pinovima porta J3 je dat u tabelom u prilogu, TABELA1. Šema3, disketa PRILOG, SEMA3: Na ovoj šemi je prikazano elektronsko kolo koje vrši transformaciju signala PLUS i MINUS iz PWM modulatora u sinusni signal za pobudu rezolvera. Prvi stepen je diferencijalni pojačavač sa jediničnim pojačanjem koji vrši oduzimanje signala MINUS od signala PLUS i na taj način formira signal SPWM. Sledeća dva stepena filtriraju signal SPWM i na taj način formiraju sinusni signal. Treći stepen je pojačavač snage. Ovo kolo sa svojim karakteristikama je opisano u paragrafu 5.9. Na ploči na kojoj su montirane elektronske komponente sistema izvedene su merne tačke u kojima se mogu meriti ulazni, izlazni i upravljački signali u sistemu (slika 5.11). Preko mernih tački se mogu pratiti sledeći signali:

- CONV1 – signal za pokretanje A/D konverzije. Obaranjem ovog signala na logičku nulu a zatim vraćanjem na vrednost logičke jedinice, odnosno na njegovu rastuću ivicu započinje proces A/D konverzije u A/D konvertoru A/D1. - CONV2 – signal za pokretanje A/D konverzije. Obaranjem ovog signala na logičku nulu a zatim vraćanjem na vrednost logičke jedinice, odnosno na njegovu rastuću ivicu započinje proces A/D konverzije u A/D konvertoru A/D2. - CONV3 – signal za pokretanje A/D konverzije. Obaranjem ovog signala na logičku nulu a zatim vraćanjem na vrednost logičke jedinice, odnosno na njegovu rastuću ivicu započinje proces A/D konverzije u A/D konvertoru A/D3. - CONV4 – signal za pokretanje A/D konverzije. Obaranjem ovog signala na logičku nulu a zatim vraćanjem na vrednost logičke jedinice, odnosno na njegovu rastuću ivicu započinje proces A/D konverzije u A/D konvertoru A/D4. -RDAD1 - signal za očitavanje sadržaja A/D konvertora A/D1. Rezultatu A/D konverzije se pristupa postavljanjem ovog signala na logičku nulu. Kada se završi očitavanje ovaj signal treba postaviti na logičku jedinicu. -RDAD2 - signal za očitavanje sadržaja A/D konvertora A/D2. Rezultatu A/D konverzije se pristupa postavljanjem ovog signala na logičku nulu. Kada se završi očitavanje ovaj signal treba postaviti na logičku jedinicu. -RDAD3 - signal za očitavanje sadržaja A/D konvertora A/D3. Rezultatu A/D konverzije se pristupa postavljanjem ovog signala na logičku nulu. Kada se završi očitavanje ovaj signal treba postaviti na logičku jedinicu. -RDAD4 - signal za očitavanje sadržaja A/D konvertora A/D4. Rezultatu A/D konverzije se pristupa postavljanjem ovog signala na logičku nulu. Kada se završi očitavanje ovaj signal treba postaviti na logičku jedinicu. -INT1 - signal kojim A/D konvertor A/D1 signalizira da je završena A/D konverzija. U stanju mirovanja i tokom konverzije ovaj signal ima vrednost logičke jedinice. Po završetku konverzije on signal uzima vrednost logičke nule a zatim tokom postupka očitavanja biva resetovan na vrednost logičke jedinice opadajućom ivicom signala RDAD1. -INT2 - signal kojim A/D konvertor A/D2 signalizira da je završena A/D konverzija. U stanju mirovanja i tokom konverzije ovaj signal ima vrednost logičke jedinice. Po završetku konverzije on signal uzima vrednost logičke nule a zatim tokom postupka očitavanja biva resetovan na vrednost logičke jedinice opadajućom ivicom signala RDAD2. -INT3 - signal kojim A/D konvertor A/D3 signalizira da je završena A/D konverzija. U stanju mirovanja i tokom konverzije ovaj signal ima vrednost logičke jedinice. Po završetku konverzije on signal uzima vrednost logičke nule a zatim tokom postupka očitavanja biva resetovan na vrednost logičke jedinice opadajućom ivicom signala RDAD3. -INT4 - signal kojim A/D konvertor A/D4 signalizira da je završena A/D konverzija. U stanju mirovanja i tokom konverzije ovaj signal ima vrednost logičke jedinice. Po završetku konverzije on signal uzima vrednost logičke nule a zatim tokom postupka očitavanja biva resetovan na vrednost logičke jedinice opadajućom ivicom signala RDAD4. - CSDA - čip selekt signal D/A konvertora. Kada se ovaj signal postavi na logičku nulu započinje upisivanje digitalnog sadržaja u prihvatni leč D/A

konvertora, a postavljanjem ovog signala na logičku jedinicu započinje proces D/A konverzije učitanog sardžaja. - PLUS - signal koji generiše PWM modulator realizovan u FPGA čipu. Ovaj signal je komponenta signala SPWM koja odgovara pozitivnoj poluperiodi sinusnog signala za pobudu rezolvera. - MINUS - signal koji generiše PWM modulator realizovan u FPGA čipu. Ovaj signal je komponenta signala SPWM koja odgovara negativnoj poluperiodi sinusnog signala za pobudu rezolvera. - SPWM - signal koji se dobija oduzimanjem signala MINUS od signala PLUS. Filtriranjem i pojačavanjem ovog signala se dobija pobudni signal rezolvera. - Upob - sinusni signal učestanosti 10K Hz i efektivne vrednosti 7V za pobudu rezolvera - Ucos - kosinusna faza rezolvera. Ovo je sinusni signal učestanosti 10 KHz modulisan kosinusnom funkcijom ugaone koordinate vratila rezolvera. - Usin - sinusna faza rezolvera. Ovo je sinusni signal učestanosti 10 KHz modulisan sinusnom funkcijom ugaone koordinate vratila rezolvera. - θ/ω - analogni izlazni signal iz D/A konvertora srazmeran ugaonoj koordinati ili brzini obrtanja vratila rezolvera (izbor veličine koja se posmatra se vrši pritiskom na taster BRZINA/POZICIJA). - 0 - tačka nutog potencijala, odnosno masa na koju su priključeni i analogni i digitalni deo sistema.

5.12 Učitavanje FPGA dizajna u XS40 karticu Postupak projektovanja logičkih kola u FPGA tehnologiji se izvodi pomoću odgovarajućih softverskih alata (Foundation Series) i sastoji od nekoliko faza. U prvoj fazi se sistem sa njegovim podblokovima opiše u formi električnih šema, VHDL ili HDL koda ili dijagrama stanja. Ukoliko je neki blok opisan VHDL kodom ili dijagramom stanja pre njegove ugradnje u sistem mora se izvršiti kompajliranje unetog opisa i formiranje makroa. Kada se kompletira šema logičkog sistema ispravnost realizovanih logičkih funkcija se može proveriti simulacijom (pri čemu se ne može steći uvid o vremenskim karakteristikama sistema jer implementacija sistema još nije izvršena). Ako simulacija pokaže zadovoljavajuće rezultate, pristupa se fazi implementacije projektovanog sistema na konkretnom FPGA čipu. Pre nego što se pokrene softver za implementaciju mora se izvršiti izbor konkretnog FPGA čipa, i navesti ograničenja poput maksimalno dozvoljenog kašnjenja pojedinih signala i njihovog vezivanja za određene ulazno-izlazne pinove. U toku implementacije, na zahtev korisnika, softverski alat izračunava vremena prostiranja svih signala unutar FPGA čipa. Kao rezultat implementacionog procesa softver generiše konfiguracioni fajl (BIT fajl sa ekstenzijom .bit (npr. sema.bit)) koji se učitava u odabrani FPGA čip, kao i izveštaje o stepenu iskorištenja resursa na samom čipu, o stepenu ispunjenja postavljenih ograničenja, o rasporedu ulaznih i izlaznih signala po pinovima i o maksimalno dozvoljenoj učestanosti takta. Nakon implementacije se može izvršiti simulacija sistema u vremenu. Ako ova simulacija pokaže zadovoljavajuće rezultate pristupa se učitavanju formiranog konfiguracionog fajla u FPGA čip.

XILINX je uz XS40 karticu razvio i softverski alat XSTOOLS za obradu i učitavanje podataka u FPGA čip i RAM memoriju koja se nalazi na samoj kartici. Kako je rečeno u paragrafu 5.10 ovaj softver tretira sadržaj koji se učitava u RAM kao program za mikrokontroler i zahteva da on bude u Intel-ovom HEX formatu. Pre učitavanja saržaja u karticu treba priključiti napajanje i spregnuti karticu sa računarom preko njegovog paralelnog porta predviđenog za štampač. Pokretanjem alata XSTOOLS i izborom sledeće naredbe: XSLOAD sinus.hex sema.bit vrši se prvo učitavanje fajla sinus.hex (look-up tabela sa 4096 odbiraka sinusoide) u RAM na kartici a zatim učitavanje fajla sema.bit u FPGA čip. Po završetku učitavanja sistem počinje sa radom.

6. Zaključak U radu je prikazan elektromagnetni rezolver kao senzor ugaone pozicije i brzine. Date su njegove statičke i dinamičke osobine i razmotrene mogućnosti za izdvajanje podataka o merenoj poziciji iz njegovih izlaznih signala. Prikazani su standardni R/D konvertori sa svojim dobrim i lošim karakteristikama, sa posebnim osvrtom na AD2S82. U cilju otklanjanja nedostataka standardnih R/D konvertora i postizanja boljih dinamičkih karakteristika predložena je realizacija R/D konvertora kao digitalnog sistema. Zatim je izvršena sinteza i simulacija ovog digitalnog sistema sa podešavanjem parametara, a nakon toga hardverska implementacija u XILINX-ovom 4010 FPGA čipu. Simulacija ovog sistema je pokazala da on ima dobre statičke i dinamičke osobine. Čak i pri vrlo velikim brzinama vratila elektromotora uspeva da svojim izlazom prati ulaz. Propusni opseg realizovanog digitalnog sistema je oko deset puta širi od propusnog opsega standardnih R/D konvertora. Digitalni sistemi realizovani u FPGA tehnologiji poseduju fleksibilnost softverski realizovanih digitalnih sistema, i brzinu rada hardverski realizovanih sistema. Ovakva realizacija R/D konvertora daje mogućnost korekcije strukture sistema i njegovih parametara, softverskim putem, u cilju minimizacije ili potpune kompenzacije dejstva uticajnih veličina. Pored toga, promena rezolucije i dinamičkih karakteristika sistema se takođe vrši softverskim putem bez potrebe za intervencijom na hardveru. Pored R/D konvertora u okviru FPGA čipa je realizovan i PWM modulator za generisanje pobudnog signala rezolvera što daje mogućnost potpune kompenzacije faznog kašnjenja na vodovima između rezolvera i R/D konvertora softverskim putem. Osnovni nedostatak ovde realizovanog digitalnog R/D konvertora je greška koja se javlja usled odsecanja donjih osam bita 20-bitnog proizvoda sa izlaza rednoparalelnog množača (parafraf 5.2). Ovo prouzrokuje oscilacije donja tri bita izlaznog 12-bitnog akumulatorskog registra, odnosno digitalizovane vrednosti ugaone pozicije koja se meri. Ove oscilacije se mogu umanjiti povećanjem dužine pojedinih registara, pri čemu se mora voditi računa o raspoloživom prostoru na FPGA čipu.

7. Literatura: [1] Milić R. Stojić: Digitalni sistemi upravljanja, Nauka, Beograd 1994,

[2] Milić R. Stojić: Kontinualni sistemi upravljanja, Nauka, Beograd 1993,

[3] Miodrag V. Popović: Digitalna obrada signala, Nauka, Beograd 1997,

[4] Vladimir A. Katić: Energetska elektronika, zbirka rešenih zadataka, Univerzitet u

Novom Sadu, Novi Sad 1998,

[5] Laslo F. Nađ: Impulsna elektronika, beleške sa predavanja, Novi Sad 1995,

[6] XILINX: FOUNDATION Series Software, Quick Start Guide 1.5, The

Programmable

Logic Company, San Jose, U.S.A.

[7] ANALOG DEVICES: Variable resolution, Monolitic Resolver-to- Digital Converters

AD2S81/AD2S82A, Norwood, U.S.A.

[8] ANALOG DEVICES: Low Cost, Complete 12-Bit Resolver-to-digital Converter

AD2S90, Norwood, U.S.A.

[9] ANALOG DEVICES: LC2 MOS Complete, 12-bit, 100kHz, Sampling ADCs,

AD7870/AD7875/AD7876, Norwood, U.S.A.

[10] ANALOG DEVICES: Microprocessor-Compatible 12-Bit D/A Converter, AD767,

Norwood, U.S.A.

[11] TEXAS INSTRUMENTS: TL071, TL071A, TL071B, TL072, TL072A, TL072B,

TL074, TL074A, TL074B, LOW-NOISE JFET-INPUT OPERATIONAL

AMPLIFIRES,

Dallas, Texas, U.S.A.

8. Prilog Tabela 1: Raspored signala po pinovima J3 porta XS40 V1.2 kartice

Signali podataka sa A/D konvertora

AD0 J3 – 28 AD1 J3 – 7 AD2 J3 – 46 AD3 J3 – 47 AD4 J3 – 26 AD5 J3 – 25 AD6 J3 – 24 AD7 J3 – 23 AD8 J3 – 67 AD9 J3 – 66

AD10 J3 – 20 AD11 J3 – 18 Signali podataka iz RAM

memorije RAM0 J3 – 10 RAM1 J3 – 80 RAM2 J3 – 81 RAM3 J3 – 41 RAM4 J3 – 40 RAM5 J3 – 39 RAM6 J3 – 38 RAM7 J3 – 35

Signali prekida sa A/D konvertoraINT1 J3 – 8 INT2 J3 – 9 INT3 J3 – 27 INT4 J3 –14

Signali za pokretanje A/D konverzije

CONV1 J3 – 29 CONV2 J3 – 49 CONV3 J3 – 15 CONV4 J3 – 48

Signal za sinhronizaciju pobude rezolvera sa očitavanjem obiraka

pobude iz RAM – a Tp J3 – 72

Signali za očitavanje sadržaja A/D konvertora

RDAD1 J3 – 17 RDAD2 J3 – 37 RDAD3 J3 – 6 RDAD4 J3 – 45

Čip selekt signal D/A konvertora CSDA J3 – 44

PWM signali PLUS J3 – 69

MINUS J3 – 70 Reset signal mikrokontrolera

RSTMK J3 – 36 Kontrolni signali RAM memorije

WER J3 – 62 CSR J3 – 65 RDR J3 – 61

Signal za selekciju veličine koja se prikazuje na D/A konvertoru

BRZPOZ J3 – 68 Signal takta

CLKU J3 – 13 Adresni signali RAM – a ADR0 J3 – 78 ADR1 J3 – 79 ADR2 J3 – 82 ADR3 J3 – 84 ADR4 J3 – 3 ADR5 J3 – 5 ADR6 J3 – 60 ADR7 J3 – 56 ADR8 J3 – 58 ADR9 J3 – 59

ADR10 J3 – 83 ADR11 J3 – 4 ADR12 J3 – 50 ADR13 J3 – 57 ADR14 J3 – 51