55
Digitalno regulisani pogoni jednosmerne struje Primena mikroprocesora u energetici predavanje 7 (Novembar 2009)

Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Embed Size (px)

Citation preview

Page 1: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno regulisani pogoni jednosmerne struje

Primena mikroprocesora u energeticipredavanje 7

(Novembar 2009)

Page 2: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

1 Šta regulišemo u pogonima ?2 Prekidački izvori jednosmernog napona3 Digitalno upravljanje jednosmernim motorima

3.1 Dizajn hardvera 3.2 Dizajn programa3.3 Generisanje PWM signala 3.4 Merenje brzine 3.5 Merenje položaja i procena brzine

Sadržaj

Digitalno upravljani pogoni jednosmerne struje 2/30

3.5 Merenje položaja i procena brzine 3.6 Merenje struje i napona 3.7 Digitalni zakon upravljanja 3.8 Blok dijagram programa za reg. brzine dc motora 3.9 C- program za reg. brzine dc motora

Page 3: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Šta regulišemo u pogonima ?

Page 4: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

---PWM

Petlja momentaPetlja brzinePetlja pozicije

Regulacione petlje u pogonu

Kako se reguliše momenat, kako brzina a kako položaj?

Digitalno upravljani pogoni jednosmerne struje 4/30

mfe mkdt

dJm ++= ωω

∫= dtωθ

f

me

kJs

mm

+−=ω

ωθs

1=

Page 5: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Regulacione petlje su način upravljanja pojedinim veličinama nekog dinamičkog sistema.

ReferencaGreška

Gain(s) Sistem

Upravljačka veličina

r y

A

Princip rada regulacione petlje- SAU !

Digitalno upravljani pogoni jednosmerne struje 5/30

Upravljana veličina

Gain(s)

-

Sistemr y

Funkcija prenosa bez povratne sprege y = A * rsa povratnom spregom y = A/(1+A) * r

Page 6: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

četkica

komutator

Princip rada motora jednosmerne struje

Digitalno upravljani pogoni jednosmerne struje 6/30

BILBlIF =×⋅=rvr

Osnovne karakteristikeOsnovne karakteristike

1) 1) Prost za upravljanje Prost za upravljanje 2) 2) Skupa proizvodnja Skupa proizvodnja 3) 3) Skupo održavanjeSkupo održavanje

Osnovne karakteristikeOsnovne karakteristike

1) 1) Prost za upravljanje Prost za upravljanje 2) 2) Skupa proizvodnja Skupa proizvodnja 3) 3) Skupo održavanjeSkupo održavanje

Princip generisanja momentaPrincip generisanja momenta

1) Flux (sa statora) i struja ( kroz 1) Flux (sa statora) i struja ( kroz rotor) uvek normalni rotor) uvek normalni 2) Struja uvek istog smeta 2) Struja uvek istog smeta (zasluga mehaničkog komutatora)(zasluga mehaničkog komutatora)

Princip generisanja momentaPrincip generisanja momenta

1) Flux (sa statora) i struja ( kroz 1) Flux (sa statora) i struja ( kroz rotor) uvek normalni rotor) uvek normalni 2) Struja uvek istog smeta 2) Struja uvek istog smeta (zasluga mehaničkog komutatora)(zasluga mehaničkog komutatora)

Page 7: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Magnetno polje (flux)

Struja

Elektromagnetni momenat

Regulaciona petlja momenta kod dc motora

Digitalno upravljani pogoni jednosmerne struje 7/30

� Cilj: da se obezbedi razvije željeni momenat na vratilu� Komanda: dolazi iz petlje po brzini ili preko ulaza za ref. momenat.� Povratna sprega: struja motora (obično proporcionalna momentu !)

koja se meri na više načina: strujni transformator, LEM sonda, shunt .

momenat

( )Ψ×=rrr

ame Ikm

Page 8: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

em u

mm

ai R1 1 ω

rotor vratilo Razvijanje momenta

-

Model motora jednosmerne struje

-model rotorskog kola – kako od napona dobijamo struju rotora

-model nastajanja momenta – kako od struje dobijamo momenat

-model mehaničkog dela – kako od momenta razvijamo brzinu

Digitalno upravljani pogoni jednosmerne struje 8/30

eau ai

- a

apT

R

+1

1

fkpJ +1

femf ωψ≈

ω -

Detaljnije u pogonima i regulaciji

Page 9: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Mua

uc

ω

m

naponski upravljivi izvor Statorsko kolo

(uspostavljanje struje ∼La/Ra)

Regulacija brzina dc motora naponskim izvorom

Digitalno upravljani pogoni jednosmerne struje 9/30

mmA

mpT

1au

e

ai ×a

a

pT

R

+1/1 em

×

ω

−−

+

Komanda

(napon)

Mehanička jednačina

O.K. ali nema neku dinamiku

Page 10: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Mia

uc

ω

strujniupravljivi izvor Momenat se

brže uspostavlja

me=kmiaΨ

Regulacija brzina dc motora strujnim izvorom

Digitalno upravljani pogoni jednosmerne struje 10/30

mm

AmpT

1ai × em ω

−+

Komanda

(struja)

me=kmiaΨ

NE KORISTI SE MNOGO, Strujni izvor nije lako napraviti

Page 11: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

+Mua

uc

ωRegulator struje

iaref

ia

Pravo rešenje za servo pogone !

Reg. brzine strujno regulisanim napon. izvorom

Digitalno upravljani pogoni jednosmerne struje 11/30

PI+

-

ωωωω*

ωωωω

ia*

ia

-

ucPID

Regulator iaRegulator ωωωω

Komanda napona ka pretvaraču (nap. izvor)

Page 12: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

em au

mm−

ai

- e

a

apT

R

+1

1

fkpJ +1

fnomψ

fnomψ

ω ωreg

refω

-

Jednosmerni motor

PWM

refau

ireg

refai

-

Regulacija brzine

Uobičajena primena strujno regulisanog naponskog izvora!

Regulacione petlje brzine i položaja dc motora

Digitalno upravljani pogoni jednosmerne struje 12/30

em au

mm−

ai

- e

a

a

pT

R

+1

1

fkpJ +1

fnomψ

ω ωreg

refω

-

Jednosmerni motor

PWM

refau

ireg

refai

- p

1 θreg

refθ θ

ω

Regulacija položaja

Page 13: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

em au

mm−

ai

- e

a

apT

R

+1

1

fkpJ +1

fnomψ

fnomψ

ω ωreg

refω

-

Jednosmerni motor

PWM refau

Regulacija brzine naponski reg. izvorom

Digitalno upravljani pogoni jednosmerne struje 13/30

- Sporija dinamika (uspostavljanje momenta, t.j. statorske struje koja ga definiše, zavisi od statorskog kola)

- Ali , nećemo morati regulisati struju

- Čitaćemo struju radi zaštite

- Sada nam treba izvor regulisanog jednosmernog napona

Page 14: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Prekidački izvori jednosmernog napona - DC/DC konvertori (čoperi)

Page 15: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Jednokvadrantni čoper

Digitalno upravljani pogoni jednosmerne struje 15/30

- Samo jedan prekidački element

- Ali samo jedan kvadrant – motorski režim i jedan smer!

- Koja je šema praktičnija?

Page 16: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Dvokvadrantni čoper

Digitalno upravljani pogoni jednosmerne struje 16/30

Page 17: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Četverokvadrantni čoper (H - bridge)

Digitalno upravljani pogoni jednosmerne struje 17/30

- Četiri prekidačka elementa

- Četiri kvadranta – motorski/gen. režim i dva smera!

Page 18: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

VDC

1f∼

3f∼ Va

Tipičan front–end dc/dc konvertora

Ispravljač nam daje od AC neregulisani DCNeregulisani DC dalje čoper reguliše i nameće motoru

Digitalno upravljani pogoni jednosmerne struje 18/30

Neregulisani ispravljač DC čoper

][32423022 VVV nfDC =⋅=⋅=

][5642302323 VVV nfDC ≈⋅⋅=⋅⋅=Trofazni ispravljač

Monofazni ispravljač

Page 19: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

( ) ∫∫∫ ⋅⋅+⋅⋅=⋅⋅=T

t

t

DC

t

sr

on

on

dtT

dtVT

dttuT

V 0111

00

DCDCON

sr aVVT

tV =⋅= a - faktor ispune

(0,1)

Princip rada prekidačkog dc/dc konvertora

Jednokvadrantni čoper

Digitalno upravljani pogoni jednosmerne struje 19/30

t

Va

TON TOFF

TPWM

VDC

0

Page 20: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Va

( ) ∫∫∫ ⋅−⋅+⋅⋅=⋅⋅=T

t

DC

t

DC

t

sr

on

on

dtVT

dtVT

dttuT

V111

00

( ) ( )1211 −⋅⋅=−⋅⋅−⋅⋅= aVtTVT

tVT

V DCONDCONDCsr

Četverokvadrantni čoper

Princip rada prekidačkog dc/dc konvertora

Digitalno upravljani pogoni jednosmerne struje 20/30

t

Va

TON TOFF

TPWM

VDC

0

-VDC

Page 21: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

a

aaPWM

PWM R

LTT

f=<<=1

Osnovna ideja →→→→

Izlazna struja prekidačkog dc/dc konvertora

Od oblika struje zavisi i momenat !

Digitalno upravljani pogoni jednosmerne struje 21/30

Page 22: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno upravljanje motorom jednosmerne struje

Page 23: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

JM DC/DC

+

-

Ia(A)

Analogni svet

Analogni i digitalni svet dig. regulisanog pogona

Digitalno upravljani pogoni jednosmerne struje 23/30

komanda ka pretvaraču

(µµµµC upravljanju baš odgovaraju prekidači)

dig. PWM output

dig./analoginputs

µµµµCSer. kom.

Signali sa pretvarača i motora

Digitalni deo

Ia(broj)

Page 24: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno regulisani pogoni jednosmerne struje

3.1. Hardware dizajn

Page 25: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

3.1) Block dijagram hardware-a dc pogona

3f∼

Neregulisani ispravljač

Četverokvadrantni DC čoper

Optičko odvajanje

Signal DC napona

LEM

enkoder

R1

R2

C

trafo ~380V/~9V

Reg. napona

Otpornički razdelnik

DCM

Digitalno upravljani pogoni jednosmerne struje 25/30

PWM Optičko odvajanje

SKHI21H4

odvajanje i pojačanje

pojačanje

Signal struje motora

napona

AN1

SKHI21H4

Encoder receiver Odvajanje i prilagoñenje naponski nivoa

Driver za jednu granu mosta QEA

QEB

ATX ARX

dsPIC 4011

Serial driver

Veza ka PC računaru

Invertovanje PWM signala

PWM signal

Enkoder A Enkoder B

komparator FLTA

AN0

IMAX

VSS VDD

OSC1 OSC2

OSC

Page 26: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

3.1) Block dijagram hardware-a dc pogona

- Šema iz Protela -

Digitalno upravljani pogoni jednosmerne struje 26/30

Page 27: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

3.1) Block dijagram hardware-a dc pogona

- Izgled pločice -

Digitalno upravljani pogoni jednosmerne struje 27/30

Page 28: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

7805

~Vac

220Vac

Trafo220V/9V

VDD=5V

VSS=GND

Napajanje

3.1) Block dijagram hardware-a dc pogona

Digitalno upravljani pogoni jednosmerne struje 28/30

Page 29: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Razvojni sistem dsPIC40xx

3.1) Block dijagram hardware-a dc pogona

Digitalno upravljani pogoni jednosmerne struje 29/30

Page 30: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno regulisani pogoni jednosmerne struje

3.2. Dizajn programa – software

Page 31: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

1) Akvizicija podataka sa energetskog pretvarača i motora- Merenje napona jednosmernog meñukola. Signal je analogan i neophodno je galvansko odvajanje, prilagoñenje nivoa, i A/D konverziju.- Merenje struje radi zaštite i moguće regulacije. - Merenje brzine motora, radi regulacije i zaštite-. 2) Izvršenje digitalnog zakona upravljanja Zavisi od odabrane strukture regulacije. Može da bude a) prosta generacija PWM signala, b) regulacija brzine i c) regulacije struje i brzine. d) regulacija struje i brzine i pozicije

3) Zadavanje impulsne komande prekidačkim elementima pretvarača

3.2) Šta treba program da radi?

Digitalno upravljani pogoni jednosmerne struje 31/30

3) Zadavanje impulsne komande prekidačkim elementima pretvarača

4) Zaštita pogona Rad pogona je neophodno zaustaviti u slučaju -prekomerne struje, -prekomerne brzine, -u slučaju greške u naponu jednosmernog kola,- prevelike temperature čopera ili motora.5) Svetlosna signalizacija. Grupa LED, signalizacija rada, greške ..

6) Komunikacija sa spoljnim svetom. Serijska veza omogućuje prihvatanje komandnih signala, slanje izveštaja i prikupljenih podataka. Komandni signali mogu i lokalno, primenom tastera i/ili potenc.!

Page 32: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

1) Treba razumeti kako rade energetskog pretvarač i motor. ���� To smo već obavili za dc pogon, znamo kako radi dc/dc pretvarač a znamo i kako se ponaša motor! Odlučili smo se za regulaciju brzine promenom napona na dc motoru.a) Treba prihvatiti zadatu brojnu vrednost brzine b) Treba meriti brzinuc) Treba korigovati napona na motoru u skladu sa razlikom ove dve brzine (regulisati brzinu na ref. vrednost)

d) Generisati PWM signal koji daje željeni dc napon na izlazu dc/dc konvetora (jedan ili dva komplementarna para)

3.2) Šta treba naš program da radi?

Digitalno upravljani pogoni jednosmerne struje 32/30

konvetora (jedan ili dva komplementarna para)e) Treba meriti struju barem radi zaštite (ovde radimo sa naponskim izvorom i dakle bez regulacije struje)

2) Napraviti hardware potreban za izvršenje tog programa i prilagoditi program postojećem hardware-u. � I to smo već obavili.

3) Načiniti Blok dijagram algoritma za pojedine ili sve delove programa. Jasno objašnjava šta želimo da radimo, programski jezik u kome će nastaviti da radimo u ovoj fazi nije bitan.

4) Početi pisanje programa, asembler ili C, eventualno neki grafički interface i autocoding (na primer Matlab, dSPACE itd..)

Page 33: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno regulisani pogoni jednosmerne struje

3.3. Generisanje PWM signala

sa i bez PWM jedinice (Motor Control Module)

Page 34: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Start glavnog prg.

Inicijalizacija programski promenjivih

Inicijalizacija GPIO pina 1) upis neaktivnog stanja (0 ili 1) 2) selekcija GPIO (ako je mux) 3) izbor smera (out)

Inicijalizacija Timer 1

Prekid Timer 1

Dozvoli i sledeći prekid Timer 1

Novi_Period=1

GPIO_PIN=1 GPIO_PIN=0

NO YES

Generisanje PWM signala bez PWM jedinice

Blok dijagram alg. programa sa jednim timer-om

Digitalno upravljani pogoni jednosmerne struje 34/30

Inicijalizacija Timer 1 (clock div, upis početnog

perioda, dozvola rada� start)

Dozvola prekida Timer 1

Ostale aktivnosti u toku osnovne petlje (main loop). Rad sa raznim IO (display, ser. comm, tasteri..)

Novi_Period=YES

TIMER_PERIOD = FAKTOR_ISPUNE

TIMER_PERIOD = PWM_PERIOD-FAKTOR_ISPUNE

Čitanje novog FAKTOR_ISPUNE Return

Novi_Period=0 Novi_Period=1

PMW_PERIOD = Tpwm/ Tclk

FAKTOR_ISPUNE = { 0 , PWM_PERIOD}

Page 35: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Start glavnog prg.

Inicijalizacija programski promenjivih

Inicijalizacija GPIO pina 1) upis neaktivnog stanja (0 ili 1) 2) selekcija GPIO (ako je mux) 3) izbor smera (out)

Inicijalizacija Timer 1

Prekid Timer 1

Dozvoli i sledeći prekid Timer 1

GPIO_PIN=0 TIMER2_PERIOD = FAKTOR_ISPUNE

Dozvola rada Timer 2� start

Prekid Timer 2

Dozvoli i sledeći prekid Timer 2

Return

Generisanje PWM signala bez PWM jedinice

Blok dijagram alg. programa sa dva timer-a

Digitalno upravljani pogoni jednosmerne struje 35/30

Inicijalizacija Timer 1 (clock div, upis PWM perioda,

dozvola rada� start)

Ostale aktivnosti u toku osnovne petlje (main loop). Rad sa raznim IO (display, ser. comm, tasteri..)

GPIO_PIN=1

TIMER1_PERIOD = PWM_PERIOD

Č itanje novog FAKTOR_ISPUNE

Return

Inicijalizacija Timer 2 (clock div, upis početnog perioda)

Dozvola prekida Timer 1 i Timer 2

Dozvola rada Timer 1� start

Page 36: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

PTMR PTPER

PWM interrupt 1 2 3

PDC1 duty cycle registar prve grane

Ovde se automatski upisuje novi faktor ispune iz PDC1

Moramo mi (t.j. CPU program)

Dešava se automatski

Generisanje PWM signala sa PWM jedinicom

PWM period moramo mi definisati, ali samo jednom tokom inicijalizacije

Digitalno upravljani pogoni jednosmerne struje 36/30

PWM faktor ispune

PWM period 1

PWM signal

PWM period 2

PDC1 (faktor ispune) moramo bi definisati i menjati. Njime kontrolišemo napon. Problem zauzeća CPU može nastati samo usled računa faktora ispune koji treba obaviti u okviru jednog PWM perioda.

Testera se automatski generiše

PWM signal se automat. generiše

Page 37: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Start glavnog prg.

Inicijalizacija programski promenjivih

Inicijalizacija Motor Control module 1) PTCON enable, set PWM clock. set mode 2) PTPER = PWM_PERIOD 3) PWMCON2 updates enable

Prekid Motor Control module

Dozvoli i sledeći prekid MCM

Račun novog FAKTOR_ISPUNE

Generisanje PWM signala sa PWM jedinicom

Digitalno upravljani pogoni jednosmerne struje 37/30

3) PWMCON2 updates enable 4) PDC1 = 0 ( počni sa 0 duty cycle) 5) PWMCON1 set PWMxH as PWM pin

Dozvola prekida MCM

Ostale aktivnosti u toku osnovne petlje (main loop). Rad sa raznim IO (display, ser. comm, tasteri..)

Return

PDC1= FAKTOR_ISPUNE

Blok dijagram alg. programaukoliko pustimo da PWM signal generiše PWM periferfija

Page 38: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

PTPER 0 32767 1000 8000

Tpwm[s] 0 0.004095.. 0.000125 0.001

fpwm [Hz] ∞∞∞∞ 244Hz 8KHz 1KHz

PTPER = TPWM/Tclk -1 Primeri za fclk = 8MHz

PDC1 = 0 Početni duty cycle je nula u slučaju jednokvadrantnog čopera ! Napon nula!

PTPER = ?

Inicijalizacija Motor Control Module (1/2)

Period reg.

Ton reg.

Digitalno upravljani pogoni jednosmerne struje 38/30

jednokvadrantnog čopera ! Napon nula!

PTCONPTEN =1 AND PTOPS =00 (postscale=1) AND PTCKPS=0 (prescale=1 t.j. Tclk 1:1) AND PTMOD =00 (free run)

Ton reg.

PWM timer control i mod registar

Page 39: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

PWMCON1

PWMCON2

PWCON1 = PMOD4-1 = 0000 (svi komplementarni parovi) AND PEN4H-PEN1H =0011) AND PEN4L-PEN1L =0011(dozvoli ih po dva gore i dva dole – za 4-kvadrantni čoper)

Inicijalizacija Motor Control Module (1/2)

PWM signal control i mod registar 1

Digitalno upravljani pogoni jednosmerne struje 39/30

PWMCON2

PWCON2 = 0

FLTACON

FLTACON =0x000FSvi izlazni parovi se gase na Fault Input A

Page 40: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Šta je dobijeno korišćenjem PWM perifernog modula ?- PWM signal je generisan u potpunosti u hardveru i blizak je idealnom. - Kašnjenje ulaska u PWM prekid ne remeti PWM signal! - CPU je osloboñena generisanja PWM signala i može se nečim drugim baviti- Programiranje je lako. Uobičajeno da proizvoñač µP objavi sw driver-e za svoje periferije (preko WEB, korisničko upustvo ili CD sa primerima). - Motor Control module poseduje dodatne funkcije koje je nemoguće realizovati programski, pri radu CPU. Na primer:

- Trenutni prekid PWM signala u slučaju greške (Fault shut down). Prekid je trenutan, realizovan potpuno hardverski. Na slici pogona, logička nula na FLTA ulazu bi zaustavila generisanje PWM signala i postavila izlaz na

Generisanje PWM signala sa PWM jedinicom

Digitalno upravljani pogoni jednosmerne struje 40/30

FLTA ulazu bi zaustavila generisanje PWM signala i postavila izlaz na neaktivan nivo.- Moguća je utiskivanje mrtvog vremena (deadtime) u radu dva komplementarna prekidača, funkcija od izuzetnog značaja za kontrolu naizmeničnih motora. - Moguće je PWM sinhronizacione impulse iskoristiti za trigger ADC konverzije.

Šta je ovde loše?Mikroprocesor sa PWM jedinicom uobičajeno košta više od onog koji ne poseduje ovu periferiju ($0.5 skuplji). Za skoro sve primene to nije tako bitno !

Page 41: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Digitalno regulisani pogoni jednosmerne struje

Merenja u pogonu

Page 42: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

1) Merenje napona jednosmernog meñukola. Ukoliko želimo da ostvarimo tačan napon na motoru, moramo znati DC napon. Signal je analogan i neophodno je izvršiti njegovo galvansko odvajanje, prilagoñenje nivoa, i A/D konverziju.

2) Merenje struje motora. Osnovni razlog merenja struje je zaštita. Da bi zaštita bila brza i efikasna, uobičajeno je da se realizuje hardverski, primenom komparatora. Ukoliko je struja veća od maksimalne signal na izlazu komparatora menja vrednost i fault ulaz trenutno zaustavlja generisanje PWM signala. Struja se može i konvertovati na AD ulazu, i digitalno regulisati.

Merenja u dig. regulisanom dc pogonu

Digitalno upravljani pogoni jednosmerne struje 42/30

signala. Struja se može i konvertovati na AD ulazu, i digitalno regulisati. Ovim je obezbeñena bolja kontrola momenta.

3) Merenje brzine. Potrebno za zatvaranje povratne sprege po brzini. Ukoliko se koristi dc tacho, analogni signal je neophodno odvojiti i naponski nivo prilagoditi ulaznu AD konvertora. Ukoliko se koristi inkrementalni enkoder, on generiše dva digitalna signala A i B koje treba brojati. Za obradu ovih signala postoji QE modul unutar uC, koji direktno izračunava brzinu i promenu položaja. Ove signale je takoñe neophodno odvojiti i prilagoditi im naponski nivo pre ulaska u dsPIC.

Page 43: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

3.4. a) DC tachometar

TG ADC

Gain

ωωωωVTG~ωωωω

VREF=5V

ADC result

15 ………… 0

dsPIC)()( rpmnKVV TGTG =

kV

⋅= ω

3.4. Merenja mehaničke brzine rotora

Digitalno upravljani pogoni jednosmerne struje 43/30

ωωωω VTG VADC ADC result(mod 0)*

ADC result(mod 3) ***

0 rpm 0V 0V 0 0

ωωωωMAX VTGMAX 5V 1023 0x7FE0

00 mod0* 0000 00xx xxxx xxxx10 mod2** xxxx xxxx xx00 000011 mod3** sxxx xxxx xxx0 0000s- znak, ovde nula

12_ −= N

MAXrecdig

ωω

REFMAX

AD

MAXTG

REF

MAXTG

MAXTG

TGTG

VV

V

VGain

kV

kV

⋅=→

=

⋅=

⋅=

ωωω

ω

Page 44: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

4a.1. DC tachometarTG ADC

Gain

ωωωωVTG~ωωωω

ωωωω VTG VADC ADC result(mod 1)

ADC result(mod 2)

0 rpm 0V 0V 0 0

ωωωωMAX VTGMAX 5V 1023 0x7FFF

VREF=5V

ADC result

15 ………… 0

mod1-0000 xxxx xxxx xxxx

mod1-xxxx xxxx xxxx 0000

dsPIC

3.4. Merenja mehaničke brzine rotora

Digitalno upravljani pogoni jednosmerne struje 44/30

2a.2. AC tachometar

TGNF Filter

ωωωωfTG~ωωωω T2CLK TMR2

+

-15 ………… 0

dsPIC

fTG= (npTG/60) nr

Page 45: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

TGNF Filter

ωωωωfTG~ωωωω T2CLK TMR2

+

-15 ………… 0

dsPIC

1 2

TCLK

WNF

WTG

A

f)(60

)( rpmnnp

Hzf TGTG =

3.4. Merenja mehaničke brzine rotora

3.4. a) AC tachometar

Digitalno upravljani pogoni jednosmerne struje 45/30

1 2 N

nT (n-1)T t t

TTG~ 1/fTG

TCLK

)(60

2 rpmnf

np

f

fTMR

merenja

TG

merenja

TG ==)(

1602

rpmnnp

f

f

f

T

TTMR

TG

CLK

TG

CLK

CLK

TG

⋅⋅

===

Brzina TMPR2 greška

100 rpm 4800000 2.08 e-7

3000 rpm 20000 0.00005

30000 rpm 2000 0.0005

Brzina TMPR2 Greška brzine

100 rpm 1.33 75 rpm

3000 rpm 40 75 rpm

npTG=8 i T=100 ms npTG=8 , T=100 ms fclk=8MHz

Page 46: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

3.5. a) Incremental encoder (1/3)

3.5. Merenja položaja i procena brzine rotora

Digitalno upravljani pogoni jednosmerne struje 46/30

A

B

index

Quadrature Encoder

dsPIC

Reset, definiše apsolutni položaj

Inkrementi položaja

Page 47: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

N

nm πθ 2= N – broj impulsa po punom krugu (512, 1024, 5000)

n – broj prebrojanih impulsa u u odreñenom vremenskom intervalu. (ako je n=N , napravljen je pun krug )

Inkrement ugla u radijanima

nm 2πθ = UP = A↑·B+ A·B↑ + A↓·B+A·B↓

DOWN = A↑·B+ A·B↑ + A↓·B+A·B↓

Uvećanja rezolucije enkodera za četiri puta

AB

UP slučaj

3.5. Inkrement. enkoder -merenja položaja

Digitalno upravljani pogoni jednosmerne struje 47/30

N

n

N

brojrad == )(

2

)( θπ

θ

Ugao u radijanima i ugao kao broj N ∼∼∼∼ 2ππππ

Nm 42πθ =

t

θ(rad) θenc(broj)

N

0

0

N/2 π

θDSP(broj)

0xFFFF

0

0x7FFF

4N

0

2N

DOWN = A↑·B+ A·B↑ + A↓·B+A·B↓

N

n

N

brojrad x

44

)(

2

)( 4 ==θ

πθ

Praktičan trik:moduo brojaca = N

Page 48: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Procena srednje vrednosti i brzine u vremenskom periodu T

Tn

T

kk

dt

dsrad

θ∆θθθω =−−≈= )1()()/( n – broj prebrojanih impulsa u T

Nili

N 4

22 πθ∆πθ∆ ==

)(4

2)(

4

2)()(

4

2)()()/( 11 broj

NTbroj

NTT

brojbroj

NT

radradsrad k

kkkk ωπθπθθπθθω ==∆=

−=

−= −−

3.5. Inkrem. enkoder -procena brzine

Digitalno upravljani pogoni jednosmerne struje 48/30

)(60

4)(

2

4

60

2)/(

2

4)( rpmn

NTrpmn

NTsrad

NTbroj refrefrefref ===

ππω

πω

N =512*4, T = 100ms, za 1000 rpm, treba zadati ≈≈≈≈ 3413.N =512*4, T = 10ms, za 1000 rpm, treba zadati ≈≈≈≈ 341.N =512*4, T = 1ms, za 1000 rpm, treba zadati ≈≈≈≈ 34.⇒ i ova metoda loše radi ukoliko pristiže nedovoljan broj impulsa!

Problem se može rešiti alternativnim metodama: Enkoder sa više impulsa, ali ovim se problem samo umanjuje, Merenje vremena izmeñu dva impulsa, Kombinovana metoda (najbolje rešenje),Observer brzine.

Page 49: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

AD

dsPIC

0xFFC0 0x0000

0, VDCMAX

VDC(kT)

0, VADREF

Shift >> 1

0x7FE0 0x0000

VDC(t)

R1

R2

3.6. Merenja napona jednosmernog meñukola

Digitalno upravljani pogoni jednosmerne struje 49/30

Maksimum napona?340V+10% ?)()(

7.3442

7.3_ VV

V

VVV

kk

kV DCMAX

DC

REFAD

DCINADC =⋅+

=

00001

00)(_

xFFCV

VxFFCV

V

V

VxFFC

V

VbrojV

MAXDC

DCDCMAX

DC

REFAD

REFAD

REFAD

INADCDC ⋅=⋅

⋅⋅=⋅⋅=

napon ADC rez. DSP broj Format1.15

+VMAX 0xFFC0 0x7FE0 približno +1

0 0 0 0

1)()( >>= brojVbrojV ADCDC

32736)( ⋅=MAX

DC

DCDC

V

VbrojV

Page 50: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

± IMAX

± VLEM

OP

AD

dsPIC

VOFSET

0xFFC0 0x0000

+ -

0x7FE0 (OFSET)

0x7FE0 0x8020

0, VADREF

I(kT)

L E M

VADREF

VV

OFFSETAMPREFAD 5.22

_ ==

63.52

_ =⋅

=MAXLEM

REFAD

V

VGAINAMP

3.6. Merenja struje armature

Digitalno upravljani pogoni jednosmerne struje 50/30

[ ] [ ]REFAD

REFAD

REFAD

MAX

AREFAD

REFAD

ALEMAMPREFAD

IN

V

VV

I

AI

V

VAIGGxFFC

V

VNUMBERADC

65472

22

65472

200_ ⋅

+=⋅

+⋅⋅=⋅=

[ ]3273632736_ +⋅=

MAX

A

I

AINUMBERADC [ ]

32736_MAX

A

I

AINUMBERI =

[ ] [ ] [ ]MAX

AREFAD

AMAXLEM

REFAD

MAX

MAXLEM

AAMPLEM I

AIVAI

V

V

I

VAIGG

22=

=

Kako podesiti GAMP

Struja ADC rezultat Broj u DSP 1.15 format

+IMAX 0xFFC0 0x7FE0 približno +1

-IMAX 0x0000 0x8020 približno -1

Page 51: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

[ ]32736_

MAX

A

I

AINUMI =

[ ]32736_ DC

V

VVNUMV =

Struja Broj u DSP 1.15 format

+IMAX 0x7FE0 približno +1

-IMAX 0x8020 približno -1

Napon Broj u DSP 1.15 format

+VMAX 0x7FE0 približno +1

3.6. Brojni opsezi struja i napona

Digitalno upravljani pogoni jednosmerne struje 51/30

32736_MAXV

NUMV = +VMAX 0x7FE0 približno +1

0 0x0000 0

[ ] [ ] [ ]3273632736_*__

MAX

DC

MAX

DC

MAX

A

P

WP

V

VV

I

AINUMVNUMINUMP ===

Pored maksimalne moguće preciznosti, šta je ovde još dobro ?

uz 3273616)1)32736*32736(( =>><

Page 52: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

errs

KKout

AiA

p

+=

errz

KerrKout i

p 11 −−+=

)()()(

)()()(

kTerrKkTIkTout

kTerrKTkTIkTI i

+=+−=

+

-

PI reg

a PWM BRZINA_REF

BRZINA

err out

Poziciona forma diskretnog PI regulatora

Diferencne

jednačina

Gde god vidiš s ti

posadi.T

z 11 −−

3.7. Regulator brzine – diskretni PI regulator

Digitalno upravljani pogoni jednosmerne struje 52/30

z1−

TKKKK Aii

App == ,

)()()( kTerrKkTIkTout p+=

[ ]errKzK

outzout

ip +−+

=−

)1( 1

1

[ ])()()(

)()()()(

kTInckToutkTout

kTerrKTkTerrkTerrKkTInc ip

+=

+−−=

LOWLOW

HIGHHIGH

LIMITkToutLIMITkToutif

LIMITkToutLIMITkToutif

kTInckToutkTout

=<

=>

+=

)()(

)()(

)()()(

jednačina

Inkrementalna forma diskretnog PI regulatora

Diferencne

jednačina

upamćena pozicija

novi inkrement

Page 53: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Kpωωωω

z-1

+

-

Kiωωωω

+

-

ωωωωRREF

ωωωωR +

+ +

+

V_MAX

V_MIN

z-1

Novi inkrement

Inc

PDC1

PDC1(kT-T)

Matlab

3.7. Regulator brzine – diskretni PI regulator

Digitalno upravljani pogoni jednosmerne struje 53/30

[ ]

);()(

;0101

;_1_1

;11

);()()(

;_)(

kTerrTkTerr

PDCPDCif

PERIODPWMPDCPERIODPWMPDCif

IncPDCPDC

kTerrKTkTerrkTerrKInc

BRZINAREFBRZINAkTerr

ip

=−=<=>

+=

+−−=−=

ωω

upamćena pozicija

Novi inkrement upravljačke promenjive

C-code

Page 54: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

Start glavnog prg.

Inicijalizacija programski promenjivih

Inicijalizacija Motor Control module 1) PTCON enable, set PWM clock. set mode 2) PTPER = PWM_PERIOD 3) PWMCON2 updates enable 4) PDC1 = 0 ( počni sa 0 duty cycle) 5) PWMCON1 set PWMxH as PWM pin

Prekid Timer 1

Dozvoli i sledeći prekid Timer1

Čitanje ADC DC napon, struja armature

Čitanje brzine sa DC tachometra

Nakon ove init. MCM će početi sam da generiše PWM signal.

Timer1 definiše periodu digitalnog reg. brzine, 1ms

Čitamo brzinu, 1ms

3.8. Ukupan blok dijagram alg. programa

Digitalno upravljani pogoni jednosmerne struje 54/30

Dozvola prekida Timer 1

Ostale aktivnosti u toku osnovne petlje (main loop). Rad sa raznim IO (display, ser. comm, tasteri..)

Upis novog faktora ispune PDC1=FAKTOR_ISPUNE

Return

Kontrola rampe referentne brzine

PI regulator brzine

DC tachometra

Inicijalizacija Timer 1 (clock div, upis PWM perioda,

dozvola rada� start)

main radi ostale stvari

U pozadini, MCM pravi PWM!!!

Ovde punimo PDC1, 1ms

Računamo PI reg., 1ms

Timer za PI reg brzine

Page 55: Digitalno regulisani pogoni jednosmerne struje · PID uc Regulator ωωωω Regulator ia ... naponski nivoa Driver za jednu granu QEA mosta QEB ATX ARX ... regulacija struje i

(1) kod za inicijalizaciju µµµµC (startup code). inicijalizaciju (podešavanje) sistemskih modula (clock div., FLASH memory , watchdog ... ) inicijalizaciju perifernih modula (ADC, PWM module, UART, Encoder interface, Timer...), inicijalizaciju globalnih programskih promenjivih, Kada je sve podešeno, dozvoljavaju se potrebni prekidi i ulazi u mainloop.

Opis C koda

3.9. C –code za dc pogon upravljan po brzini

Digitalno upravljani pogoni jednosmerne struje 55/30

(2) Podešavanje rutina za inicijalizaciju pojedinih periferija

(3) osnovna petlja (mainloop)dobija novu referencu brzine sa serijske veze, od PC računara

(4) Prekidna rutina Timer 1 (period od 1 ms)čitanje brzine izvršenje dig. Zakona upravljanja upis novog faktora ispune

Sam C kod treba direktno objasniti iz pdf datateke