laboratorijske veŽbe iz ispita primena · pdf filemikrokontroleri se uglavnom nude u...

27
Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA MIKROPROCESORA U ELEKTROENERGETICI Dugo vremena dominantna tehnologija u kontroli energetskih pretvarača je bila analogna. Osnovni razlog za to je bila ograničena brzina rada digitalnih kola koja nije dozvoljavala izgradnju digitalno upravljanog uređaja prihvatljive cene sposobnog za rad i upravljanje energetskim pretvaračima u realnom vremenu. Međutim, uvećanje brzine rada i umanjenje cene mikrokontrolerskih sistema konačno probija barijeru i dovode do značajnog porasta njihove primene i skoro potpunog nestanka potrebe za analognom kontrolom. Kao prvo, do tada korišćeni prosti analogni kontroleri se zamenjuju sa jeftinim digitalnim, koji su ujedno i robusniji, programabilni i skalabilni što u potpunosti zadovoljava potrebe novog globalnog tržišta. Zatim, otvara se mogućnost primene složenijih (upravljački zahtevnih) algoritama za koje je digitalna tehnologija jedino rešenje. Primenom složenijih algoritama upravljanja se ostvaruju bolje performanse tokom rada, omogućava ušteda materijala pri izradi kako pretvarača tako i objekta upravljanja i konačno, ostvaruje se izrazita energetska efikasnost tokom eksploatacije čime se dodatno zadovoljava zahtev tržišta ali i društva u celini. Osnove praktičnog rada sa mikrokontrolerima namenjenim upravljanju energetskim pretvaračima Uvod

Upload: lamhanh

Post on 05-Feb-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA MIKROPROCESORA U ELEKTROENERGETICI

Dugo vremena dominantna tehnologija u kontroli energetskih pretvarača je bila analogna. Osnovni razlog za to je bila ograničena brzina rada digitalnih kola koja nije dozvoljavala izgradnju digitalno upravljanog uređaja prihvatljive cene sposobnog za rad i upravljanje energetskim pretvaračima u realnom vremenu. Međutim, uvećanje brzine rada i umanjenje cene mikrokontrolerskih sistema konačno probija barijeru i dovode do značajnog porasta njihove primene i skoro potpunog nestanka potrebe za analognom kontrolom. Kao prvo, do tada korišćeni prosti analogni kontroleri se zamenjuju sa jeftinim digitalnim, koji su ujedno i robusniji, programabilni i skalabilni što u potpunosti zadovoljava potrebe novog globalnog tržišta. Zatim, otvara se mogućnost primene složenijih (upravljački zahtevnih) algoritama za koje je digitalna tehnologija jedino rešenje. Primenom složenijih algoritama upravljanja se ostvaruju bolje performanse tokom rada, omogućava ušteda materijala pri izradi kako pretvarača tako i objekta upravljanja i konačno, ostvaruje se izrazita energetska efikasnost tokom eksploatacije čime se dodatno zadovoljava zahtev tržišta ali i društva u celini.

Osnove praktičnog rada sa mikrokontrolerima namenjenim upravljanju energetskim pretvaračima

Uvod

Page 2: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

2

Najvažnije prednosti upotrebe digitalnog upravljanja se uglavnom sadržane u programabilnoj prirodi mikrokontrolera i njegovim računskim i komunikacionim sposobnostima. Ukratko, prednosti se mogu svrstati u nekoliko tačaka:

• upravljački sistemi bazirani na mikroprocesorima su programabilni. Upravljačka strategija i konfiguracija mogu biti modifikovane na softverskom nivou, što omogućuje visoku operativnu i adaptivnu fleksibilnost

• upravljački sistemi bazirani na mikroprocesorima su skalabilni. Prostom izmenom davača i baznih veličina u programu isti upravljački sistem može da iskoristi za upravljanje i/ili nadzor nad objektom koji je za red veličine veći

• zahvaljujući računskim sposobnostima, digitalni kontroleri mogu biti korišćeni za implementaciju složenih, naprednih upravljačkih algoritama (kontrola u prostoru stanja bazirana na observerima, adaptivna kontrola, Kalmanovi filtri, nelinearna kontrola ...) koji omogućuju optimalan i energetski efikasniji rad objekta kojim se upravlja

• zahvaljujući računskim sposobnostima, digitalni kontroler može paralelno sa upravljanjem vršiti i procenu stanja i izlaza sistema, što dovodi do umanjenja broja davača potrebnih za rad sistema (shaft-sensorelss drives, drives with

single dc-link shunt)

• Programabilni digitalni kontroleri podržavaju ogroman broj komunikacionih protokola, od protokola nižeg rada kao što su RS-485 pa sve do protokola višeg rada tipa Profibus ili Ethernet. Time se dobija mogućnost umrežavanja više distribuiranih energetskih pretvarača. Ovim se omogućava razmena podataka i sinhronizacija što je osnov modernih sistema kontrole kretanja, kao što su na primer višeosni manipulator ili niz mašina u papirnoj industriji. Sve ove pogone kontroliše centralni kontroler, koji koordinira celokupno kretanje i obezbeđuje potreban rezultat na nivou celog procesa.

1. Osnove digitalnog upravljanja energetskim pretvaračima

Energetski pretvarač vrši pretvaranje jednog oblika energije u drugi koji je pogodniji za rad objekta kojim upravljamo. Kod savremenog pretvarača oblik izlazne energije, kao i način korišćenja ulazne energije, se kontrolišu putem namenskog digitalnog sklopa. Dok energetski pretvarač radi kontinualno i sa relativno velikim snagama, digitalni sklop radi samo u diskrenim vremenskim trenucima i sa malim signalima. Da bi se ova dva sveta spojila, neophodna su pojačavačka i prilagodna kola. Ovim se dolazi do osnovnih blokova digitalno upravljanog energetskog pretvarača čija je šema prikazana na slici U-1.

Page 3: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

3

Sl. U-1. Uopšteni blok dijagram digitalnog upravljanja energetskim pretvaračem

Objekat kojim upravljamo pretvara električnu energiju na svom ulazu u neki rad. Da bi to radio pravilno, neophodno mu je obezbediti odgovarajući oblik napona ili struje.

Energetski pretvarač uzima energiju sa svog ulaza i kontroliše njen prenos ka objektu tako što u svakom trenutku obezbeđuje potreban oblik izlaznog napona i/ili struje. U zavisnosti od objekta kojim upravljamo biramo takav energetski pretvarač koji na svom izlazu obezbeđuje na primer jednosmerni napon (ili struju) promenjive amplitude, ili monofazni ili višefazni naizmenični napon (ili struju) promenjive efektivne vrednosti i frekvencije, itd..

Digitalni upravljački deo je u najvećem broju slučajeva na bazi mikrokontrolera ili DSP (DSP- digitalni signalni procesor). Ovaj deo treba da obezbedi upravljačke signale kojima se upravlja energetskim pretvaračem. Da bi to bilo ostvareno, upravljački deo mora u realnom vremenu da 1) prima sve komande, 2) procesira sve merne signale, 3) izračuna potreban algoritam upravljanja i 4) postavi potrebne komandne signale ka energetskom pretvaraču. Ukoliko je primenjeni mikrokontroler spor, i ne može da odradi sve gore navedene radnje u toku jedne periode upravljanja procesom (koja je dovoljno mala za potreban proces), dolazi do zagušenja i rad u realnom vremenu nije moguć.

Komandni impulsi ka energetskom pretvaraču

Merni podaci sa objekta i energetskog pretvarača

Energetski pretvarač

Ulazna snaga

Izlazna snaga

Objekat

Digitalni upravljački deo (mikrokontroler)

Prilagodna kola

Zadavanje komandi i prikaz veličina

Impulsni pojačavač

Page 4: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

4

Impulsni pojačavač pojačava upravljačke signale koje postavlja mikrokontroler i prilagođava ih korišćenim prekidačkim elementima u okviru energetskog pretvarača. Po potrebi, impulsni pojačavač može da vrši i galvansko odvajanja mikrokontrolera i energetskog dela.

Merna prilagodna kola treba da prilagode ulazima digitalnog upravljačkog dela signale pristigle sa raznih davača postavljenih kako na objektu upravljanja tako u sklopu energetskog pretvarača. Signali mogu biti analogne ili impusne prirode i treba ih povezati sa odgovarajućim ulazima upravljačkog dela.

Zadavanje komandi i prikaz veličina se može vršiti lokalno, zadavanje preko tastera, prekidača, tastaturu, touch screen i prikaz preko LED, display, itd. Svi ovi elementi služe za povezivanje operatera (čoveka) sa kontrolerom i popularno se nazivaju HMI (Human Machine Interface – veza između čoveka i mašine). Danas je sve popularnija komunikacija sa kontrolerom na daljinu preko serijske veze.

Sledeća slika donosi blok dijagram pogona sa detaljnije prikazanim mikrokontrolerom.

Page 5: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

5

Sl. U-2. Blok dijagram digitalnog upravljanjog energetskog pretvarača sa

mikrokontrolerom

Osnovni delovi mikrokontrolera namenjenog upravljanju energetskim pretvaračima:

1. Centralna procesorska jedinica (CPU) je mozak sistema i ima sledeće aspekte:

a) brzina izražava se vremenom potrebnim za izvršenje jedne instrukcije i kreće se oko 20-40 MIPS (MIPS -milionima instrukcija u sekundi) za sisteme nižih i srednjih performansi i 150 MIPS-a za sisteme visokih performansi. Veća brzina CPU omogućava izbor kraće periode odabiranja, čime se uvećava propusni opseg sistema. U elektromotornim pogonima obično postoje tri kontura regulacije (poziciona, brzinska, strujna) od kojih je računski

Page 6: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

6

najkritičnija strujna jer je se u pogonima srednje i male snage izvršava svaki 50us (20kHz- van čujnog opsega)

b) tip i dužina podataka: CPU radi sa promenjivama koje su brojni ekvivalenti svih anagonih veličina u pogonu. Ukoliko se više bitova rezervišu za jednu promenjivu preciznost je veća, ali cena raste. Najpovoljniji odnos cena performance danas imaju 16 –bitni procesori (moguć izbor 8, 16 ili 32 bita). Ove promenljive mogu biti predstavljene u obliku sa pomičnim ili nepomičnim zarezom. Najpovoljniji odnos cena performance danas imaju procesori sa nepomičnim zarezom (fixed point) koji rade sa normalizovanim modelima.

c) matematičke operacije: potreban račun se uglavnom svodi na digitalno filtiranje (y=∑aiyi+∑bixi), tako da najviše korišćene operacije tokom digitalnog upravljanja su množenje, pomeranje bitova i akumulacija(sabiranje). Moderne CPU poseduju MAC (multiply-accumulate unit) jedinice koje vrše množenje dva 16-bitna broja, pomeranje 32-bitnog rezultata i akumulaciju sa prethodnom 32-bitnom sumom u jednom CPU periodu. Složenije funkcije, kao SQRT ili trigonometrijske funkcije (sin, cos) se uglavnom vrše preko aproksimacija ili tablica.

d) sposobnost rada u realnom vremenu: rad u realnom vremenu podrazumeva izvršenje određenih računskih operacija i osvežavanje izlaza u tačno određenim, vremenski uvek jednako udaljenim trenucima. Da bi se ovo ostvarilo, deo upravljačkog programa mora da se izvršava po tačno određenom taktu. Ovaj takt uglavnom kontroliše unutrašnji brojač (timer) tako što unutar mikrokontrolera generiše ekvidistantne signale prekida ka CPU i navodi je da izvrši program prekidne rutine u tačno definisanim trenucima. Deo programa koji nije upravljački se i dalje može izvršavati u osnovnoj glavnoj petlji. Pogledati poglavlje uvoda o tipičnoj strukturi programa.

2. Memorija za program: danas se koristi samo reprogramabilna FLASH memorija. Mikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno utiče i na cenu mikrokontrolera. Za program elektromotornog pogona opšte namene je na primer dovoljno oko 32kB programske memorije.

3. Memorija za podatke: danas se u mikrokontrolere ugrađuje RAM memorija i to u rasponu kapaciteta od 256 bajtova do 16kB za podatke. Izbor utiče na cenu a zavisi od složenosti problema, za tipičan program elektromotornog pogona opšte namene je na primer dovoljno 2 kB RAM memorije ukoliko je program pisan u višem programskom jeziku C i potrebne tabele su zapisane u FLASH memoriji.

Page 7: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

7

4. Generator impulsa: specijalni blok koji se nalazi samo u kontrolerima namenjenim za rad sa energetskim pretvaračima. Blok koji samostalno generiše višefazne PWM signale potrebne za rad većine poznatih topologija. Često sretani nazivi su: PWM Generator, High speed output/high speed input (HSO/HSI) - ulazno izlazna jedinica za brze signale, Event processor array (EPA) - procesorska jedinica za obradu događaja, i Compare/capture (CC) - poredi/uhvati jedinica. Od rezolucija brojača unutar ovih jedinica zavisi kvalitete izlaznog napona pretvarača. Tokom ovog kursa se uglavnom zadržavamo na ovom bloku.

5. AD konvertor: blok koji konvertuje analogne signale u brojne vrednosti. Dobijene podatke CPU smešta u promenjive koje dalje koristi za potrebe upravljanja, akvizicije ili zaštite sistema. Za tipičan moderni energetski pretvarač neophodno je izabrati mikrokontroler sa 4 do 8 multipleksiranih analognih ulaza, sa A/D konvertorom rezolucije 8, 10 ili 12 bita i vremenom konverzije 1 µs ili manje.

6. Brojački moduli: specijalni blok koji se nalazi samo u kontrolerima namenjenim za rad sa energetskim pretvaračima. Služi za brojanje impulsa koji se tipično dobijaju sa senzora frekvencije, brzine ili položaja rotora.

7. Serijski port i serijska komunikacija Danas je uobičajeno da svaki lokalni kontroler razmenjuje podatke sa centralnim kontrolerom. Komunikacija na daljinu se uvek vrši preko serijske veze jer broj provodnika paralelnu vezu čini skupom, neotpornom na šum i teškom za održavanje. Serijska veza se može uspostaviti na osnovu nekog od protokola nižeg reda (na primer UART- universal asynchronous interface port sa protokolom RS-232 ili RS-485, ili sinhroni serijski port sa protokolima SPI, I2C ...), ili serijski port koji podržava neki od protokola višeg reda (CAN bus, Modbus, Profibus, Ethernet,..). Upotreba protokola višeg reda sa složenim checksum poljima potpuno eleminisana mogućnost greške usled šuma ili drugih tipova smetnji i digitalni prenos podatak potpuno eliminiše analogni. Uvećanje mogućnosti serijske vete dovodi do rasta primene SCADA (Supervisory

Control And Data Acquisition) sistema koji vrše kontrolu procesa i akviziciju podataka na daljinu. Tokom laboratorijskog rada zadavanje i prikaz veličina će biti obezbeđeno preko PC računara sa odgovarajućeg protokolom za razmenu podataka i programom za prikaz.

8. IO port Digitalni ulazi/izlazi opšte namene. Mogu se konfigurisati da rade kao ulazi ili izlazi. Kao izlazi mogu da rade na više načina, na primer forse ili open

collector. Kao ulazi često imaju internu validaciju promene ivice, čime značajno uvećavaju robusnost i smanjuju osetljivost na šum.

2. Osnovne karakteristike mikrokontrolera dsPIC30F4011 – Microchip

Page 8: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

8

Tipičan primer mikrokontrolera namenjenog upravljanju energetskim pretvaračima je dsPIC30F4011 proizvođača Microchip. Ovaj mikrokontroler je dovoljno brz i ima sve funkcije i periferijske blokove potrebne za upravljanje većinom energetskih pretvarača. Osnovne karakteristike dsPIC30F4011 su:

• Modifikovana RISC CPU (Reduced Instruction Set Controler), 84 instrukcije • Modifikovana Harvard arhitektura magistrala (omogućava paralelan prenos

instrukcija i podataka ka CPU) • 24-bitna širina instrukcija, 16-bitna širina memorijskog prostora • 48 KB FLASH - memorije za program (16K instrukcija) • 2 KB interne RAM - memorije za podatke • 16 x 16-bita radnog registarskog niza – interni registri za rad sa podacima i

privremeno čuvanje rezultata • 1 KB EEPROM - memorije za čuvanje programa i/ili parametara • Do 30 MIP operacija:

o DC do 40 MHz na ulazu spoljnog (eksternog) takta o 4 MHz-10 MHz na ulazu oscilatora sa aktivnim PLL (4x, 8x, 16x)

• 30 izvora prekida o 3 spoljnih izvora prekida o 8 korisnički izabranih nivoa prioriteta za svaki izvor prekida

Funkcionalni blok dijagram mikrokontrolera dsPIC30F4011 je preuzet iz korisničkog uputstva [Microchip, dsPIC30F4011/4012 Data Sheet] i dat na slici 1.3.

Page 9: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

9

Sl. U-3. Blok dijagram mikrokontrolera dsPIC30F4011

Page 10: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

10

Blok dijagram na slici U-3 na prvi pogled izgleda prilično komplikovano. Na sreću, njega ni ne treba razumeti u potpunosti, neophodno je samo razumevanje rada pojedinih blokova i osnovnih veza između tih blokova. Na blok dijagramu je neophodno uočiti sledeće funkcionalne oblasti i blokove:

Blok za procesiranje signala

Blok sadrži 16x16 W reg registarsku oblast, DSP engine, ALU jedinicu i Divide jedinicu. Kod mikrokontrolera namenjenog za upravljanje pretvaračima neophodno je izvršenje velikog broja operacija u realnom vremenu. Iz toga razloga su značajne DSP karakteristike uređaja (funkcije za procesiranje digitalnih signala - matematika, logika, pomeranje, etc). Opremljen gore pomenutim blokovima, DSP deo unutar dsPIC30F4011 podržava

• Dualno sakupljaje podataka (dve magistrale za operande) • Povratna informacija akumulatora za DSP operacije • Dva akumulatora, 40-bitne širine sa opcionom logikom zasićenja • Sve DSP instrukcije su jednociklične (izvršavaju se u jednom ciklusu).

o 17x17-bita jednociklusni multiplikator za razlomke/cele brojeve o ± 16-bitni jednociklični pomerač

Postoji odličan kompajler programskog jezika C koji podržava većinu DSP funkcija.

Blok za prenos i skladištenje podataka

Blok sadrži X data RAM (1kB), Y data RAM (1kB), X data bus, Y data bus 16x16 koji omogućuju paralelan prenos dva operanda matematičke ili logičke operacije ka ALU i W registarskoj oblasti.

Blok za programsku memoriju

Blok sadrži Program Memory (48kB), EEPROM (1kB) i 24-bitni Program counter koji pokazuje na sledeću programsku instrukciju koju treba izvršiti. Jednom dobijena iz programske memorije, ta instrukcija se dekoduje u bloku Instruction Decode and Control. Program Memory je FLASH tipa sa minimum 10,000 briši/piši ciklusa (100k tipično), za industrijski raspon temperature. EEPROM memorija sa minimum 100,000 briši/piši ciklusa za industrijski raspon temperature, (1M tipično)

Blok za kontrolu rada CPU

Blok sadrži Timing generation, Power-on Reset (POR), Power-up Timer (PWRT) i Start-up Oscilator Timer (OST) i Watchdog Timer.

Page 11: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

11

Brojački periferni blokovi (Timers , Input Capture i Output Compare)

• Brojanje vremena (clock) ili brojanje impulsa na ulaznom pinu • programabilni preskaler • Pet 16-bitnih tajmera/brojača; opciono mogu da rade kao par (Dva 16-bitna

tajmera u 32-bitnim tajmerskim režimima) • 16-bitne ulazne funkcije za ‘hvatanje’ ivice signala (input capture) • 16-bitne izlazne funkcije za poređenje ili PWM (output compare)

Periferni blokovi za serijsku komunijaciju

• 3-žični SPI™ režim (podržava 4 Frejm režima) • I2C™ režim podržava Multi-Master/Slave režim i 7-bitno/10-bitno adresiranje • 2 UART režima sa FIFO Baferima • 1 CAN režim, 2.0B kompatibilan

Periferni modul za PWM upravljanje motorom - Motor Control PWM

• 6 PWM izlaznih kanala o komplementarni ili nezavisni izlazni režimi PWM izlaznih parova o ivični ili centralni režim PWM brojača

• Tri nezavisna generatora faktora ispune PWM signala • Određena vremenska baza • Programabilni izlazni polaritet • Kontrola mrtvog vremena za komplementarni režim • Mogućnost startovanja A/D konverzije sinhronizovano sa PWM brojačem

Periferija za prijem signala sa kvadratnog enkodera - QEI modul

• Tri ulaza, Faza A, Faza B i indeks puls ulaz • 16-bitni brojač pozicije nagore/nadole , režim merenja pozicije (x2 i x4) • status pravca brojanja, Prekid na poziciji brojača rollover/underflow • Programabilni digitalni fiteri šuma na ulazima • Alternativni 16-bitni režim Tajmer/Brojač

Periferija za konverziju analognih signala, 10-bit ADC

• 10-bitni Analogno-Digitalni konvertor (A/D) • Četiri 4 S/H ulaza, moguće je istovremeno odabrati 4 signala. • 9 ulaznih kanala • Brzina konverzije od 500 Ksps (kilo samples per second)

Detaljnije o ovom mikrokontoleru u korisničkom uputstvu [Microchip, dsPIC30F4011 /4012 Data Sheet]

Page 12: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

12

3. Osnove korišćena standardnih mikrokontrolerskih razvojnih sistema

Većina proizvođača nudi gotova rešenja razvojnih sistema baziranih na njihovim najnovijim mikrokontrolerima ili DSP. Ovi sistemi su izgrađeni i testirani od strane proizvođača i veoma su korisni u razvojnoj fazi u kojoj se testiraju software i hardware jednog digitalno upravljanog energetskog pretvarača.

Na svim laboratorijskim vežbama se koristi standardni razvojni sistem proizvođača Mikroelektronika, koji čini mikrokontrolerska kartici bazirana na mikrokontrolerom dsPIC30F4011. Ovaj mikrokontroler je u stvari prošireni DSP koji radi sa 16 bitnim podacima, sa 30MHz clock-om, i ima 48kB FLASH i 2kB RAM memorije što je dovoljno za upravljanje većinom energetskih pretvarača. dsPIC4011 poseduje i potrebne periferije, kao što su pet brojačkih modula, 10-bitni ADC sa 4 S/H (sample i hold) kola i 9 ulaza, ulaz za kvadraturni enkoder, 6 fazni motor control

PWM blok i mnoge blokove za komunikaciju (UART, CAN, I2C, SPI ) – detaljnije o dsPIC30F4011 u [Microchip, dsPIC30F4011/4012 Data Sheet]. Svi ovi ulazi/izlazi mikrokontrolera zahtevaju dodatni elektronski sklop, prilagodno kolo koje vrši prilagođenje ulazno/izlaznih signala. Za uspešan rad tokom laboratorijskih vežbi nema potreba za detaljnim poznavanje rada ovih blokova kao ni internim vezama i ostalom korišćenom elektronikom u okviru mikrokontrolerske kartice. Ono što je važno je poznavanje načina rada mikrokontrolera kao i poznavanje električnih karakteristika njegovih ulaza i izlaza koji su od značaja pri povezivanju sa energetskim pretvaračem. Na primer, za analogni ulaz mikrokontrolerske kartice je važno poznavati njegov dozvoljeni opseg, dovesti mu koristan signal i konačno iskoristiti taj signal u programu mikrokontrolera dok konkretan način procesiranja tog signala na mikrokontrolerskoj kartici nije od primarnog značaja.

Od studenata se u toku vežbi očekuje da

1. povežu potrebne ulaze i izlaze koji povezuju mikrokontrolerski razvojni sistem sa energetskim pretvaračem,

2. napišu program na PC računaru u Microchip-ovom MPLAB okruženju, generišu hex file i isprogramiraju mikrokontroler preko dsPIC programatora

3. testiraju rad energetskog pretvarača

3.1. Razvojni sistem za rad sa mikrokontrolerima dsPIC

Izgled razvojnog sistema Mikroelektronika easy dsPIC2 je dat na slici U-4.

Page 13: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

13

Sl. U-4. Razvojni sistem mikroelektronika easy dsPIC2

Razvojna kartica sadrži

1. ulaz za spoljno napajanje (7÷15V, DC/AC) 2. kratkospojnik: izbor spoljnog ili USB napajanja 3. programator 4. serijska komunikacija 5. konektor za ICD2 (in circuit debbuger) - spoljni programator 6. trimer otpornici za dva AD ulaza 7. slovno numerički LCD (liquid crystal display) 8. dsPIC - ploča podržava kontrolere sa DIP18, DIP28, DIP40 kućištima 9. kućište za SD/MMC kartice 10. kratkospojnik za vezivanje izlaznog pina na napajanje ili masu (pull up / pull

down) 11. svi pinovi su izvedeni na konektore sa desne strane:

Page 14: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

14

• konektor PORT B • konektor PORT B&C • konektor PORT D&A • konektor PORT E • konektor PORT F

12. LED 13. oscilator 14. prekidač: uključi / isključi LED 15. referentni napon za AD konvertor 16. tasteri 17. kratkospojnik: logička 0 ili 1 se pojavljuje na pinu pri pritisnutom tasteru 18. grafički LCD (liquid crystal display)

Sl. U-5. Direktan pristup portu dsPIC (razvojni sistem mikroelektronika easy dsPIC2)

Ulazi/izlazi dsPIC-a se sa eventualnom dodatnom pločom povezuju preko ravnog (flat) kabla, na čijem kraju se nalazi odgovarajući konektor koji se postavlja na izabrani port, slika U-4, oznaka 11. Šema povezivanja je data na slici U-5.

Page 15: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

15

3.2. Softverski alati za rad sa dsPIC-om

Program za dsPIC se razvija na PC računaru u programskom okruženju MPLAB. PC računar se dalje povezuje sa dsPIC razvojnim sistemom preko programatora koji postoji na Mikroelektronikinoj ploči, slika U-4 ili preko posebnog uređaja za programiranje ICD2 (in circuit debugger), slika U-9.

MPLAB Integrated Development Enviroment je besplatan, integrisani set alata za razvoj pogonskih programa za Michrochipove PIC i dsPIC mikrokontrolere. MPLAB je 32 bitna aplikacija koja radi pod Windows operativnim sistemom, lako je za korišćenje i ima posebne dodatke za brzi razvoj aplikacija i debugovanje. MPLAB se moše koristiti i kao grafički interfejs prema Mikrochipovim softverskim i hardverskim razvojnim alatima.

MPLAB u sebi objedinjuje tekst editor, C kompajler, alate za jednostavnije nalaženje i ispravku greški u programu (tzv. debagovanje koda), kao i alate za numerički i grafički prikaz vrednosti promenljivih u realnom vremenu, bez uticaja na izvršavanje programa.

Na slici U-6 se sa leve strane se nalazi tzv. Project Manager, gde se mogu naći sve datoteke koje su korišćene u programu. Tu spadaju: izvorne C datoteke, zatim tzv. header datoteke sa definisanim strukturama i konstantama, biblioteke uključene u program kao i linker datoteke koji se koriste za povezivanje delova programskog koda u jednu celinu. Takođe, tu je moguće podestiti opcije kompajlera i linker-a koje će se koristiti po kreiranju konačnog izvršnog koda, odnosno .hex datoteke za učitavanje u dsPIC. Editor MPLAB-a različitim bojama označava konstante, promenljive i funkcije u programu, kako bi olakšao snalaženje u napisanom kodu. Editor ima mogućnost da sam završava delove linija koda, prepoznavanjem članica definisanih struktura čime je značajno olakšano samo pisanje koda. U posebnom, izlaznom (output) prozoru nalazi se izveštaj o rezultatu kompajliranja programa. Tu su izlistane sve greške i upozorenja nastale tokom kompajliranja. Numerički prozor (Watch window) pruža mogućnost numeričkog prikaza promenljivih u programu, dok ih grafički prozor (Graph window) iscrtava u vremenu. Oni predstavljaju jedan od glavnih alata korišćenih tokom razvoja programa. Memorijski prozor omogućava uvid u sadržaj bilo koje memorijske lokacije, dok se CPU prozor ograničava na radne registre dsPIC-a. Sve u svemu, Microchip

MPLAB predstavlja software-sko okruženje u kojem je moguće efektno i brzo pisanje programa. Na slici je takođe prikazana u liniji sa alatima (toolbar) prečice Run, Build i Help.

Page 16: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

16

Sl. U-6. Prozor razvojnog okruženja MPLAB IDE za razvoj programa za dsPIC

Da bi imali uvid u mogućnosti i način korišćenja MPLAB okruženja, u kratkim crtama će biti objašnjeni neophodni koraci za ispravku starog ili stvaranje novog softvera. Ti koraci se mogu ugrubo podeliti na: instalaciju MPLAB-a, otvaranje MPLAB-a, učitavanje starog ili kreiranje novog projekta, debagovanje, učitavanje softvera u dsPIC pomoću IDE 2 alata, i čitanje promenljivih sa dsPIC-a.

3.2.1. Učitavanje i kreiranje programa sa Microchip MPLAB IDE

Dvoklikom na MPLAB ikonicu na desktopu, otvara se početni ekran Microchip MPLAB IDE prikazan na slici U-7.

Page 17: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

17

Sl. U-7. Početni prozor MPLAB-a

Stvaranje novog projekta se vrši odabirom Project>Project Wizard. Prolaskom kroz opcije wizarda biramo tip mikrokontrolera, dajemo ime projektu, uključujemo pojedine fajlove u projekat i smeštamo ga u određeni folder. Klikom na dugme Finish možemo početi sa pisanjem koda, tj. stvaranjem novih fajlova, sa naznakom za jezik u kojem ćemo programirati. Korak u kojem se biraju jezičke alatke je prikazan na slici U-8. Kao što se na slici može videti izabran je jezički alat Michrochip C30 Toolsuite. Ove alatke služe za prebacivanje napisanog koda u asembleru, C ili BASIC programskim jezicima u izvršivi kod koji se može prebaciti u dsPIC. Ova alatka se kupuje posebno i nije uključena u osnovni paket MPLAB-a. Posle njegove instalacije, neophodno je dati tačan folder u kome se traženi jezički alat nalazi. Ovaj šesnaestobitni jezički alat podržava dsPIC digital signal kontrolere. Za detaljnije informacije pogledati readme file u MPLAB IDE instalacionom folderu.

Page 18: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

18

Sl. U-8. Biranje jezičkih alatki

Da bismo se uverili u ispravnost softvera, moramo ga prevesti u kod razumljiv dsPIC(u daljem tekstu build-ovati). To se najjednostavnije čini klikom na ikonicu build na Project toolbar-u. U Output prozoru se posle ovog klika ispisuju podaci o kompajliranju i linkovanju fajlova uključenih u projekat. Ako nema grešaka, build

procedura će se uspešno završiti.

3.2.2. Upisivanje softvera sa Microchip MPLAB IDE

Da bismo pokrenuli softver potrebno je da ga upišemo u dsPIC ili da ga startujemo u MPLAB SIM simulator-u. U mod za simulaciju ulazimo odabirom Debugger>Select Tool padajućeg menija.

Učitavanje programa u mikrokontroler se vrši pomoću In circuit debuger-a MPLAB ICD2, kao što je to prikazano na slici U-9.

Page 19: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

19

Sl. U- 9. Programiranje dsPIC-a pomoću ICD2

ICD2 se konektuje na računar preko USB port-a. Njegov deo elektronike koji je neposredno vezan za računar se i napaja sa USB port-a. Na dsPIC se vezuje mrežnim kablom, za koji postoji prilagođenje na Mikroelektronik-inom Easy dsPIC2 razvojnom okruženju. Deo elektronike koji je neposredno vezan za mrežni izlaz, dobija napajanje sa Mikroelektrnikinog razvojnog okruženja.

Da bi se softver mogao prebaciti na dsPIC moramo prvo instalirati driver za ICD2. Posle toga je potrebno odabrati ICD2 u Debugger/Select Tool padajućem meniju, slika U-10.

Sl. U-10. Pokretanje ICD2 debugger-a

MPLAB mora prvo da uspostavi kontakt sa računarom. To se može učiniti u Debuger (programiranje i analiza programa) ili Programer (samo programiranje) modu. Zato treba kliknuti na padajući meni Programmer ili Debbuger i odabrati opciju Connect. Nakon ovog postupka u Toolbaru će nam se pojaviti nekoliko novih ikonica, koje nam pružaju mogućnost upisa i čitanja podataka sa dsPIC-a, pokretanje programa sa ikonicom Release from reset, itd.. Zaustavljanje programa se može ostvariti klikom na ikonicu Hold in reset, dok se resetovanje i ponovna konekcija vrši sa ikonicom Reset and Connect to ICD2.

Page 20: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

20

3.2.3. Analiza programa (debugging) sa Microchip MPLAB IDE

U slučaju da napisani program ne radi kako treba ili želimo uneti neke ispravke, poželjno je raditi u Debugger modu. Da bismo prešli u ovaj mod potrebno je izabrati pogodan debugger: iz padajućeg menija Debugger/Select Tool/MPLAB ICD2.

MPLAB će od korisnika tražiti ponovno build-ovanje projekta, jer je potrebno da uz naš program u memoriju dsPIC-a ubaci i kod koji opslužuje sam debugger.

Klikom na Debugger>Reset>Processor Reset zelena strelica će nam pokazati trenutno mesto izvršenja programa, kao što je to pokzano na slici U-11.

Slika U-11. Debugg mode

U tabeli U-1. su date najčešće korišćene opcije i njihove skraćenice. One se pojavljuju u Toolbaru u Debugg modu.

Page 21: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

21

Tab. U-1. Spisak najčešće korišćenih komandi u Debugg modu

Komanda Run pokreće izvršavanje programa, dok je komanda Halt zaustavlja. Komandom Animate izršava se program dinamikom kojom možemo da ga ispratimo, komandu po komandu. Ukoliko nam je taj tempo prerviše brz, možemo ići korak po korak u kodu sa naredbama Step into, Step Over i Step Out. Razlika između ovih naredbi je to što prva ulazi u svaku pozvanu funkciju, druga ne ulazi već je posmatra kao jedan korak, a treća služi za preskakanje preostalog dela pozvane funkcije. Sa naredbom Reset program se pokreće iznova.

U Debug modu nam je omogućeno i praćenje stanja promenljivih i postavljanje tzv. Breake point - linija programa gde će se dsPIC automatski zaustaviti posle pokretanja opcijom Run.

3.2.4. Čitanje promenjivih sa Microchip MPLAB IDE

Infomacije o stanju promenljivih se osvežavaju svaki put kada program zaustavimo sa Halt naredbom ili kada kroz program prolazimo pomoću naredbi Animate, Step Into, Step Over ili Step Out. Da bismo videli konkretne podatke koji stoje u registrima moramo uključiti Watch window. On se uključuje odabirom View/Watch komande. Na slici U-12. vidimo izgled Watch prozora, gde je prikazana promenljiva tipa strukture. U gornjem delu prozora vidimo mesta gde se mogu dodati nove promenljive ili registri koje želimo posmatrati.

Spomenuti break point možemo dodati u bilo koji red softvera prostim dvo-klikom na taj red koda. Kada pustimo program da radi komandom Run, on će se zaustaviti kod prvog prolaska kroz ovaj red. Tad možemo polako, korak po korak posmatrati šta se dešava sa određenim parametrima.

Page 22: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

22

Slika U-12. Watch window

Za grafički prikaz određenih veličina možemo koristiti Data Monitor Control

Interface (DMCI). Za njegovo aktiviranje treba kliknuti na istoimenu opciju u Tools

meniju. Pojavljuje nam se prozor sa četiri grafika. Svaki od ta četiri grafika možemo uključiti i isključiti i podešavati po potrebi. Grafici zahtevaju da im ulazni podaci koji se nanose na vertikalnu osu budu nizovi. Horizontalna osa se deli na onoliko tačaka, koliko je niz dugačak, i u tim tačkama se na graficima crta vrednost koja je sadržana u odgovarajućem elementu niza. Desnim klikom na aktiviran grafik stižemo do niza opcija u vezi oblikovanja grafika. Možemo menjati stil grafika, veličinu slova, preciznost, natpise, mrežu itd.

Izvor informacija podešavamo u okviru prve opcije padajućeg menija – Configure

Data Source. Najpogodnije je izabrati iz liste promenljivih, datih pri sredini novootvorenog prozora, npr. SnapBuf1, 2 i 3, kao na slici U-13. Na ovom mestu možemo da odaberemo način prikazivanja podataka. Na vertikalnoj osi se mogu postaviti npr. razlomljeni brojevi od -1 do 1, brojevi u brojnom sistemu sa osnovom 16 ili decimalni ekvivalent istih.

Na donjem delu slike U-14 se vide prečice za ponovno pokretanje ili nastavljanje rada mikrokontrolera, čuvanje ili otvaranje neke datoteke sa nizovima i dugme kojim se osvežaju podaci na graficima.

Page 23: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

23

Slika U-13. Podešavanje grafika Slika U-14. DMCI grafici

Nakon prvog pauziranja mikrokontrolera, posmatrane promenljive se osvežavaj, tj. dobijamo njihov grafik. Mana ovakvog sistema je nemogućnost real time praćenja promenljivih, već se za svaku obnovu podataka mora pauzirati mikroprocesor.

3.3. Organizacija i osnove pisanja programa za mikroprocesor namenjen upravljanju energetskim pretvaračima

Jedna od osnovnih inžinjerskih aktivnosti prilikom razvoja digitalno upravljanog pretvarača je pisanje programa za mikrokontroler koji treba da upravlja tim pretvaračem. Iako je princip rada ovog mikrokontrolera isti kao i onoga koji izvršava programe na PC računarom, ne važe ista pravila za pisanje i izvršenje njegovog programa. Kod PC računara postoji operativni sistem koji poziva pojedine programe koji po pozivu odrade svoj posao i vraćaju kontrolu operativnom sistemu.

Page 24: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

24

Pisac programa ne mora da brine o ostatku sistema niti šta se dešava pre ili nakon njegovog izvršenja.

Kod namenskog mikrokontrolerskog sistema imamo drugačiju situaciju. Ne postoji operativni sistem i naš sistem je potpuno namenski načinjen i prepušten samom sebi. U tom slučaju pisac programa mora da predvidi sve potrebne akcije kako nakon reseta (dolaska napajanja), tako i tokom celog životnog veka uređaja. Naš program nema ničiju pomoć, on počinje od početka (reseta) i ne prestaje da izvršava svoju funkciju do kraja radnog veka uređaja.

Programski brojač se nakon reseta mikrokontrolera postavlja na unapred predviđenu lokaciju u programskoj memoriji. Tu počinje naš program da se linearno izvršava. Da bi glavni deo programa pravilno radio u ovom delu se postavlja (linkuje) inicijalizacija, početni deo programa u kome se podešavaju sve globalne programske promenjive i funkcije i prvi put spremaju za rad. Zatim se prelazi u programski deo koji se nalazi u beskonačnoj petlji i koji se izvršava koliko je god moguće brzo i zatim ponavlja. Mikrokontroler izvršava programske instrukcije po taktu internog sata od čije brzine zavisi brzina izvršenja programa i samim tim brzina ponavljanja ovih operacija. Dok ovakva programska struktura može da zadovolji većinu prostih primena mikrokontrolera to nije slučaj i sa upravljanjem energetskim pretvaračem. Digitalno upravljanje energetskih pretvarača karakteriše rad u realnom vremenu, t.j. potreba da se neke akcije izvrše u tačno određenim i ekvidistantnim vremenskim trenucima. Ovo zahteva posebnu strukturu programa koja većinu svojih funkcija izvršava paralelno sa glavnom beskonačnom petljom, i sinhrono na osnovu takta nekog od unutrašnjih brojača vremena. Nadalje, pri upravljanju energetskim pretvaračima mikroprocesor uvek koristi pomoć neke od specijalno namenjenih periferija koje takođe treba konfigurisati neposredno nakon reseta, t.j. u toku inicijalizacije.

Da bi se gore opisan zahtev ispunio, pogram mikrokontrolera se uvek sastoji iz najmanje tri dela:

1) Deo za inicijalizaciju

a. inicijalizacija globalnih promenjivih, na primer postaviti: broj_impulsa=0, brzina_motora = 0, ref_brzina = 0, strujni_limit

=100 ... Bez ovih vrednosti program bi počeo od nedefinisanog stanja. Na primer, ne bi bilo dobro da nakon reseta motor dobije nenultu referentu brzinu i počne nekontrolisano da se okreće.

b. inicijalizacija programskih modula, pojedini SW moduli zahtevaju pozive za inicijalizaciju da postave svoje interne promenjive na početnu vrednost, to su pozivi na primer – PI_controller_init(),

Page 25: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

25

SpaceVector_init() ... _init na kraju imena funkcije jasno pokazuje da je to poziv inicijalizacije.

c. inicijalizacija koriščenih periferija, pre rada sa AD konvertorom, ili brojačem, ili PWM modulom, njih treba inicijalizovati/parametrizivati, na primer: PWM_init(), UART_init()... Ove funkcije podese na primer PWM frekvenciju na 16kHz ili BuadRate serijske veze na 9600...

d. zatim dozvola dešavanja prekida, PWM_INT _ENABLE= 1 ...

2) glavna petlja – u njoj se izvršavaju asinhrone operacije, tj. one koje ne zahtevaju precizno brzinu ni trenutak izvršenja

a. HMI interface – ljudsko oko/ruka su spori, u glavnu petlju treba postaviti program za ispisivanje na display, program koji čita tastere , etc, sve one koji nisu vremenski kritični.

b. Pozadinski račun – svaki račun koji nije vremenski kritičan

c. Sigurnosne provere – one često nisu vremenski kritične, kao na primer RAM test, FLASH test, naponski test...

d. Parametrizacija ... Večina parametara se sporo menja, idealno mesto za njihovu promenu je deo programa koji se sporo izvršava.

3) Deo koji se sinhrono izvršava, smešten u prekidnoj rutini koja se poziva u ekvidistantnim vremenskim trenucima.

Ovde se vrše radnje koje se moraju izvršiti u tačno određenim trenucima, uglavnom sve u vezi kontrole pretvarača.

a. Sinhronizovano merenje struja, napona, brzine, položaja...

b. Sinhrono čitanje referentnih/komandnih veličina

c. Izvršenje algoritma upravljanja – na primer linearni regulator struje koji radi na osnovu greške između zadate (3.b) i izmerene (3.a) vrednosti struje. Regulator na izlazu daje potreban napon da se održi zadata struja, i on mora da radi u realnom vremenu.

d. upis novih komandi ka pretvaraču. Algoritam upravljanja definiše novu naponsku komandu, i nju odmah treba zadati pretvaraču. Za to se koriste specijalne periferije tipa PWM motor control.

Jedan od najboljih načina početka izrade programa za mikrokontroler je izrada uproštenog blok dijagram algoritma programa, sl. U-12. Blok dijagram algoritma

Page 26: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

26

programa jasno pokazuje tok programa kao i glavne funkcije koje taj program izvršava. Slika U-15 daje tipičnu strukturu programa za mikrokontroler. Na slici se jasno može razdovojiti inicijalni deo koji se izvršava samo jednom i to odmah nakon starta, deo sa glavnom petljom (main loop) koji se neprekidno ponavlja, i potprogram koji se poziva u prekidnoj rutini brojača T1 (ukoliko se brojač inicijalizuje da brojim vreme tx, prekid T1 a samim tim i izvršenje potprograma T1 će se uvek izvršavati u vremenskim trenucima međusobno udaljenim tačno za tx) .

Glavni program

Inicijalizacija vremenskog brojača (T1)

dozvola prekida T1

glavna petlja

Inicijalizacija sistema

Sl. U-15. Opšti algoritam rada mikrokontrolera

Nakon izrade blok dijagrama algoritma programa pristupa se pisanju programa za odabrani mikrokontroler. Svaki mikrokontroler poseduje svoj asembler, programski jezik nižeg nivoa (mnogo bliži mašini nego čoveku) koji se brzo izvršava. Asembler se ipak danas sve reže koristi jer nestandardan i manje komforan od jezika višeg nivoa.

Algoritam sa slike U-15 u asembleru za Microchip seriju bi izgledao ovako:

; Glavni program: __reset: call InitSystem ;inicijalizacija sistema call InitTimer1 ;inicijalizacija T1

bset IEC0,#T1IE ;dozvoli prekid T1: bit T1IE u ;registru IEC0 postavi na 1 glavna petlja:

*** telo glavne petlje *** ;asinhroni deo programa bra glavna petlja ;granaj (branch) se na glavnu petlju ; Prekid T1: __T1Interrupt:

*** telo potprograma T1 *** ; sinhroni deo programa retfie ; vrati se u glavni program (return ; from interrupt)

Page 27: LABORATORIJSKE VEŽBE IZ ISPITA PRIMENA · PDF fileMikrokontroleri se uglavnom nude u serijama, sa izborom kapaciteta FLASH memorija u rasponu od od 8 - 256 kB. Ovaj izbor direktno

Primena mikroprocesora u elektroenergetici – laboratorijski praktikum Uvod

27

C programski jezik je mnogo bliži čoveku i konformniji je za rad. C jezik je definisan standardom i isti C - program se može izvršiti na različitim mikrokontrolerima. Danas su na raspolaganju odlični C kompajleri koji generišu asemblerski kod optimalne dužine i maksimalne brzine tako da rad u asembleru polako postaje prošlost.

Algoritam sa slike U-15 u programskom jeziku "C" bi izgledao ovako:

// Glavni program: int main(void) { InitSystem(); // funkcija za inicijalizaciju sistema InitTimer1(); // funkcija za inicijalizaciju T1 IEC0bits. T1IE = 1; // dozvoli prekid T1: bit T1IE u registru // IEC0 postavi na 1 (IE = interrupt enable) while (1) { *** telo glavne petlje *** // asinhroni deo programa } } // Prekid T1: void __attribute__((__interrupt__)) _T1Interrupt(void) { *** telo potprograma T1 *** // sinhroni deo programa }

Kompletni programi za upravljanje energetskim pretvaračima (pisani u asembleru ili C jeziku) koji se u toku vežbi koriste će biti priloženi u sledećim poglavljima.