i Platforma za izradu korisnički specifičnih uređajaPrincip rada platforme D. Komunikacijski...
Transcript of i Platforma za izradu korisnički specifičnih uređajaPrincip rada platforme D. Komunikacijski...
Platforma za izradu
korisnički specifičnih uređaja
Luka Kapraljević, Goran Kemfelja, Danijel Maršić i Goran Malčić
Tehničko veleučilište u Zagrebu / Elektrotehnički odjel, Zagreb, Hrvatska
Sažetak - Primjenom mikrokontrolerskih struktura u
elektroničkim sklopovima moguće je ostvariti specifične
funkcije pojedinih sklopova i projektirati ih kao zasebne
uređaje te ih zatim povezati u funkcionalne cjelinu čineći
time modularno računalo. Gledajući standardna rješenja na
tržištu, pomoću takve objektne strategije izrade
elektroničkog sklopovlja postiže se veća fleksibilnost
prilikom same izrade, a posebno daljnjeg mogućeg
proširenja uređaja. Temeljem te ideje, u ovom radu
prikazan je projekt sklopovskog i programskog rješenja
platforme za izradu korisnički specifičnih uređaja.
I. UVOD
Mikrokontrolerski sustavi postaju sve pogodniji za brz razvoj novih uređaja koji nalaze široku primjenu. Brz i efikasan razvoj omogućuje povezivanje računalne aplikacije i mikrokontrolerskog sustava u cjelinu koja je fleksibilna i lako programirljiva te kao takva omogućava uključivanje sve većeg broja korisnika takvih uređaja.
Na tržištu se nalazi velik broj razvojnih platformi koje se programiraju, ali povezivanje računala i izradu jednostavne računalne aplikacije ne koriste što smanjuje fleksibilnost sustava. Prednost u odnosu na ostale sustave na tržištu je jednostavno programiranje sklopovlja i računalne aplikacije.
Cilj rada je pokazati mogućnosti razvoja korisnički specifičnih upravljačkih platformi koje bi služile za obrazovne svrhe i robotiku, upravljanje pametnih kuća, automatiziranih linija, mobilnim sustavima za nadzor i upravljanje, upravljanje vozilima i strojevima i njihovo međusobno povezivanje u upravljačko nadzornu strukturu.
II. IDEJNO RJEŠENJE
Uređaj koji se modularno i jednostavno povezuje i programira, nadograđuje i proširuje pomoću novog sklopovlja ili aplikacija razvijen je i izrađen kao platforma sa funkcijskim objektima (Sl. 1.). Takav uređaj ima za cilj da se koristi kao razvojna platforma bez programske podrške, s programskom podrškom kao podatkovno distributivni upravljan pomoću vanjskog računala pomoću izrađene upravljačke ploče ili samostalni uređaj specifične namjene programiran od krajnjeg korisnika pomoću aplikacije za programiranje.
Specifični moduli, što su u ovom radu funkcijski objekti čija funkcionalnost može biti različita (očitanja senzora, obrada informacija, komunikacija, upravljanje
aktuatorima i sl.), izrađeni su od kompatibilnih mikrokontrolerskih struktura koje pomoću različitih programa obavljaju određenu funkciju. Objekti se međusobno povezuju pomoću zajedničke sabirnice, komunikacijski i energetski.
Odabirom komunikacijsko energetske sabirnice postiže se jednostavno spajanje uređaja, a programska podrška pomaže jednostavno upravljanje i korištenje. Također programska podrška ima nekoliko mogućnosti pristupa funkcijskom objektu. Omogućavanje fizičkog odabira određenog funkcijskog objekta kao i programskog odabira postiže se mogućnost plivajućeg funkcijskog objekta koji nije nužno fizički vezan za određenu poziciju u sabirnici. Također pomoću programskog odabira moguće je i multipliciranje istih funkcijskih objekata, režim paralelnog rada funkcijskih objekta.
RAČUNALO
Glavni
procesor
Komunikacijski
procesor
Dig
ita
lni
ula
zi
Dig
ita
lni
izla
zi
An
alo
gn
i
ula
zi
PROCES
U/I
fun
kcij
sk
i
ob
jekt
Slika 1. Idejno rješenje
III. SKLOPOVSKO RJEŠENJE
A. Komunikacijsko energetska sabirnica
Komunikacijsko energetska sabirnica služi za
međusobno povezivanje funkcijskih objekata. Na njoj se
nalaze podatkovna sabirnica, adresna sabirnica i
napajanje za sve funkcijske objekte. Izvedena je tako da
se na tiskanoj pločici nalazi 8 utora u koje je moguće
utaknuti funkcijske objekte. Utori su međusobno
paralelno povezani komunikacijskim sabirnicama,
podatkovnim linijama i energetskim linijama [1].
Na slici 2 je prikaz svih podatkovnih i energetskih
linija koje postoje na komunikacijsko energetskoj
sabirnici. U izrađenom uređaju se za komunikaciju
između funkcijskih objekata koristi SPI (eng. Serial
Peripheral Interface, SPI) sabirnica, za adresiranje
„FIZIČKA ADRESA“ a od napajanja se koriste 3V3, 5V
i 12V. Svaki funkcijski objekt se prijavljuje glavnom
procesoru sa svojim identifikacijskim kodom (ID) te
prema tom kodu glavni procesor zna koji je to funkcijski
objekt (DI, DO, AI, AO, PS), koliko ulaza odnosno izlaza
ima, koja su mu napajanja i ostale bitne informacije za
upravljanje s tim objektom.
Slika 2. Prikaz linija komunikacijsko energetske sabirnice
B. Napajanje
Da bi funkcijski objekti radili ispravno potrebno je osigurati adekvatne napone za napajanje preko komunikacijsko energetske sabirnice. Napajanje PS3512 je izrađeno isključivo za napajanje funkcijskih objekata, a ne za napajanje trošila, te je stoga potrebno za napajanje trošila i kao ulazni napon od PS3512 koristiti komercijalno dobavljivo napajanje.
C. Slike i tablice
Za izvršavanje korisničkog programa brine se
funkcijski objekt Glavni procesor koji se sastoji od
mikroupravljača Atmel AT32UC3A1128, radne
memorije High speed SRAM 32 kB i servisne flash
memorije (Slika 3).
Slika 3. Blok prikaz glavnog procesora
Funkcijski objekt glavni procesor je spojen na
komunikacijsko energetsku sabirnicu. Od komunikacije
koristi dva SPI kanala (SPI0 i SPI1), a za napajanje
koristi 5V sa funkcijskog objekta napajanje. SPI0 koristi
za komunikaciju sa svim funkcijskim objektima osim sa
komunikacijskim procesorom. S komunikacijskim
procesorom je spojen pomoću SPI1 kanala. Brzina
prijenosa podataka po SPI kanalu iznosi 200 kb/s. Rad
uređaja (platforme) je podijeljen u radne cikluse koji
obuhvaćaju slijedeće operacije: čitanje ulaza, korisnički
program i postavljanje izlaza (Slika 4.).
Slika 4. Princip rada platforme
D. Komunikacijski procesor
Komunikaciju s računalom obavlja funkcijski objekt
komunikacijski procesor. Njegova glavna zadaća je
pohranjivanje korisničkog programa na Micro SD karticu
te prijenos korisničkog programa glavnom procesoru.
Komunikacija s glavnim procesorom se vrši preko
komunikacijsko energetske sabirnice SPI1 kanalom. Za
upravljanje memorijom kod prijenosa podataka brine se
DMA kontroler koji bez upotrebe komunikacijskog
procesora razmjenjuje podatke sa glavnim procesorom
(Slika 5.).
Slika 5. Blok prikaz komunikacijskog procesora
E. Digitalni ulazi
Da bi uređaj mogao primiti digitalne informacije iz
procesa kojim upravlja potreban mu je funkcijski objekt
koji ima mogućnost primiti digitalni signal. Tome služi
funkcijski objekt sa osam digitalnih ulaza. Na slici 6.
prikazan je blok prikaz funkcijskog objekta digitalni ulazi
na kojem je vidljiva unutarnja struktura objekta. Ulazi su
izvedeni tako da imaju zaštitnu diodu protiv krivog
spajanja (obrnutog polariteta). Ujedno su i galvanski
odvojeni od mikrokontrolera, a tako i od ostatka uređaja.
Galvanska odvojenost je bitna ukoliko dođe do
povećanog napona na pojedinom ulazu da zaštiti ostatak
tog funkcijskog objekta od previsokog napona.
Slika 6. Blok prikaz digitalnih ulaza
F. Digitalni izlazi
Da bi izrađeni uređaj mogao upravljati sa procesom
potreban mu je funkcijski objekt sa 8 digitalnih izlaza na
koje je moguće spojiti induktivno i otporno trošilo. Svaki
digitalni izlaz je galvanski odvojen (koristeći
optoizolator) od mikrokontrolera te od ostalih izlaza kako
bi se funkcijski objekt zaštitio od neželjenih napona i
struja (Slika 7.). Maksimalna struja po izlazu iznosi 500
mA dok je maksimalna ukupna struja po svim izlazima
2,5A.
Slika 7. Blok prikaz digitalnih izlaza
G. Analogni ulazi
Za očitavanje analognih vrijednosti brine se funkcijski
objekt analognih ulaza čija dva ulaza mogu prema potrebi
biti naponski ili strujni (Slika 8.). Odabir vrste ulaza se
vrši programski pomoću aplikacije za konfiguriranje
uređaja.
Kada je odabran naponski ulaz raspon napona kojeg
može mjeriti je od -10V do 10V. Uz klasične analogne
senzore (naponski) na naponski ulaz moguće je spojiti K-
tip i T-tip termopara. Prilikom odabira strujnog ulaza
funkcijski objekt mjeri struju od -20 do 20 mA.
Vrijednost struje odnosno napona se mjeri pomoću 16
bitnog ADC (eng. Analog to Digital Converter)
pretvornika. Na taj način je moguće dobiti digitalne
vrijednosti napona od -32768 do 32767.
Slika 8. Blok prikaz analognih ulaza
H. Analogni izlazi
Funkcijski objekt analogni izlazi zamišljen je tako da
ima dva izlaza koji se mogu neovisno odabrati da li će
biti naponski ili strujni.
Slika 9. Blok prikaz analognih izlaza
Na slici 9. vidljiv je blok prikaz unutarnje strukture
funkcijskog objekta analogni izlazi. Prikazan je samo
jedan analogni izlaz, a funkcijski objekt sadrži dva izlaza.
Nije moguće istovremeno imati i naponski i strujni
izlaz na jednom kanalu (VOUT1 i IOUT1 ili VOUT2 i
IOUT2). Na naponski izlaz je moguće spojiti trošilo sa 2
žice (bez kompenzacije impedancije spojnih vodova) ili
sa 4 žice (sa kompenzacijom impedancije spojnih
vodova). Raspon napona je moguće odabrati (za svaki
izlaz zasebno) preko aplikacije za konfiguriranje u
rasponima 0 do 5V, 0 do 10V, ±5V i ±10V s mogućnošću
20% nadvišenja.
Na strujne izlaze moguće je spojiti trošila samo na
jedan način, a to je između stezaljki IOUT+ i IOUT-.
Raspon izlazne struje moguće je odabrati preko aplikacije
za konfiguriranje u rasponima 0 do 20mA, 4 do 20mA, 0
do 24mA, ± 20mA i ±24 mA s mogućnošću 2%
nadvišenja. Strujni izlazi mogu pokretati otporna trošila
otpora do 300Ω.
I. Procesor za proširenje
U jednu komunikacijsku sabirnicu je moguće ugraditi
do ukupno osam funkcijskih objekata što je dovoljno za
neki manje složeni proces. Iz toga razloga razvijeni su i
dodatni funkcijski objekti za proširenje sustava.
Proširenje sustava zamišljeno je u dva smjera, proširenje
sa dodatnom komunikacijsko energetskom sabirnicom i
proširenje samo sa dodatnim funkcijskim objektima.
Na slici 10. vidljiva su dva principa spajanja dodatnih
funkcijskih objekata. Uz ta dva moguća je i kombinacija,
što znači da je moguće spojiti i dodatnu komunikacijsko
energetsku sabirnicu i zasebne funkcijske objekte.
Slika 10. Princip spajanja dodatnih funkcijskih objekata
IV. PROGRAMSKA PODRŠKA
Programska podrška sastoji se od šest aplikacija koje
su nezavisne. Postoji aplikacija za konfiguriranje,
uređivanje, preglednik, programiranje, prevođenje i
testiranje. Na slici 11. je prikaz aplikacija i njihovo
međusobno djelovanje.
Slika 11. Blok prikaz aplikacija
A. Aplikacija za konfiguriranje
Aplikacija za konfiguraciju služi za očitavanje
sklopovske opreme koja je spojena na komunikacijsko
energetsku sabirnicu. Aplikacija koristi Windows sučelje
i naziva se Corebus config v5_1.
Nakon spajanja postavlja se u statusnom prozoru
status Connected nakon toga moguće je učitavati podatke
s uređaja pritiskom na tipku Scan. U prozoru se nakon
toga pojavljuje konfiguracija s funkcijskim objektima.
Funkcijski objekti ujedno prikazuju fizičku poziciju u
komunikacijsko energetskoj sabirnici. Također prikazuju
i programsku adresu i poziciju promjenljivog fizičkog
priključka koji se postavlja u slučaju fizičkog
multipliciranja [2].
Slika 12. Prikaz konfiguriranog uređaja
Na slici 12. je prikazano u kojem se dijelu nalazi
promjenljiva fizička adresa, a u kojem programska
adresa. Iz slike je vidljivo da se na četvrtoj poziciji
(pozicije su od 0 do 7) nalazi objekt ulazi i dodijeljena
mu je oznaka I kao Input na lokaciji 4, a njegova
programska adresa označena s ADRI kao Adrress Input i
iznosi 0 (koristi 8 bitni izbor, odnosno raspon od 0 do
255). Promjenljiva fizička adresa je označena s CS i
iznosi 6 (mogućnosti su od 0 do 7). Jednako tako
funkcijski objekti izlazi s oznakom O kao Output na
lokaciji 5. Ukoliko je u konfiguraciji pronađen
komunikacijski funkcijski objekt s programskom
memorijom moguće je formatirati memoriju na format za
uređaj. Takav format nije čitljiv u drugim sustavima.
Formatiranje se obavlja pritiskom na tipku Format. U
prozoru liste prikazuje se da li je formatiranje bilo
obavljeno.
B. Aplikacija za testiranje
Aplikacija za testiranje služi za ispitivanje i online
pregled podataka sklopovske opreme koja je spojena na
komunikacijsko energetsku sabirnicu. Aplikacija koristi
Windows sučelje i naziva je Corebus debug v5_1.
Aplikacija za testiranje može raditi istodobno kao i bilo
koja od navedenih aplikacija i pritom koristiti isti fizički
priključak.
C. Aplikacija za uređivanje
Aplikacija za uređivanje služi za izradu korisničkog
grafičkog sučelja preglednika. Aplikacija koristi
Windows sučelje i naziva je Corebus edit v5_1. Objekti
se postavljaju odabirom na alatnoj traci koja je prikazana
na slici 13. i svaki sadrži određena svojstva. Objekti su
linija, krug i kružni isječak, tipka, prekidač, indikator,
analogni pokaznik, digitalni pokaznik, analogni davač,
osciloskop, dnevnik za podatke, animacija, tekst,
geometrijski oblik, gumb stranice, pozadina stranice,
prazni element za izradu.
Slika 13. Alatna traka objekata
Svojstva jednog od objekta prikazana su slici 14.
Svojstva objekta uključuje dimenziju, oblik, poziciju,
negativnu logiku, početno stanje, boju naziva, boju
vanjskog ruba, unutarnjeg dijela, pokazivača, pomočnih
linija, naziv za uključeno stanje, naziv za isključeno
stanje, povezivanje, ispis greške, boju uključenog naziva,
boju isključenog naziva, minimalna vrijednost,
maksimalna vrijednost, broj podjela, stranica na kojoj se
nalazi objekt, a neki od objekta sadrže veličinu slova,
naziv datoteke prilikom pohrane podataka, uzorkovanje i
vremensku odgodu.
Slika 14. Svojstva objekta
Veza između objekta i podatka sa funkcijskog objekta
ostvarena je pod nazivom link odnosno povezivnje gdje
je potrebno upisati fizičku adresu s nazivom i brojem
utora i izvodom (npr. I4.5, O5.7, AI0.1), programsku
adresu (npr. ADRI0.5, ADRO6.7, ADRAI0.1) vidljivu iz
aplikacije za konfiguriranje ili gotovu naredbu
(FILEmoj_file, MEM4.9.5, PAGE1, NEXTPAGE,
PREVPAGE, TIME, DATE, DAY).
Na slici 15. prikazan je početni izgled nekih od
objekata kojima je moguće mijenjati gore opisana
svojstva.
Slika 15. Početni izgled objekata
Ova aplikacija ima za cilj jednostavno i brzo izraditi
upravljačku ploču za specifičnu korisničku namjenu.
D. Aplikacija za preglednik
Aplikacija služi za pregled, promjenu i pohranu
podataka u realnom vremenu. Koristi datoteku koja je
predložak izrađene korisničke upravljačke ploče
pripremljena u aplikaciji za uređivanje. Aplikacija koristi
Windows sučelje i naziva je Corebus view v5_1.
Na slici 16. je prikazan izgled pokrenute aplikacije s
izrađenom upravljačkom pločom. Promjenu stanja nekih
objekata moguće je ostvariti pritiskom na isti ili
povlačenjem određenog kliznog dijela objekt.
Slika 16. Aplikacija preglednika s izrađenom upravljačkom pločom
E. Aplikacija za programiranje
Aplikacija za programiranje služi za izradu
programskog sadržaj. Korisnik postavlja operacije,
funkcije i njihovu vezu sa funkcijskim objektima i
memoriji koji se nalaze unutar procesorskog funkcijskog
objekta. U tablici I su prikazane naredbe koje se koriste.
TABLICA I. NAREDBE APLIKACIJE ZA
PROGRAMIRANJE
U tablici II su prikazane i gotove funkcije.
TABLICA II. FUNKCIJE APLIKACIJE ZA
PROGRAMIRANJE
U tablici III su prikazane matematičke i logičke operacije.
TABLICA III. FUNKCIJE APLIKACIJE ZA
PROGRAMIRANJE
F. Aplikacija za prevođenje
Aplikacija za prevođenje pretvara napisani program u
kod za funkcijski objekt procesor koji ima u dijelu svoje
memorije interpreter koji očitava i izvršava program.
Aplikacija program pritiskom na tipku Compile pretvara
u podatkovne pakete koji se izvode slijedno. Pritiskom na
tipku Prog šalje se programski paket, a na tipku Restore
vraća se prethodni program iz memorije.
V. ZAKLJUČAK
Platforma za izradu korisnički specifičnih uređaja je
uređaj kojim se efikasno može nadzirati i upravljati
odabranim procesom. Što je proces složeniji to je
potrebno više ulazno izlaznih funkcijskih objekata.
Izrađena platforma podržava do 256 funkcijskih objekata
što može zadovoljiti i veće korisničke procese.
Kod obrade korisničkog programa bitna je brzina
procesora i količina radne memorije. Ovakva modularna
struktura omogućava da se bez ikakvih modifikacija u
korisničkom programu i ostalim funkcijskim objektima
ubaci drugi funkcijski objekt glavni procesor koji ima
brži procesor i više radne memorije. Isto vrijedi i za
primjerice komunikacijski procesor. Ukoliko je potrebna
komunikacija preko Etherneta ili GSM-a ili slično,
jednostavno se ubaci željeni funkcijski objekt i rad
uređaja se nastavlja sa tom novom funkcijom.
Komunikacija, tj. podatkovni paketi prilikom
komunikacije između glavnog procesora i ostalih
funkcijskih objekata je standardiziran i univerzalan za sve
funkcijske objekte te to omogućuje dodatna proširenja
tipa dodatni funkcijski objekt za upravljanje istosmjernim
elektromotorima (H-most), upravljanje step motorima,
PWM izlazni funkcijski objekti, brojači…
Programiranje funkcijskih objekata je univerzalno i
kao takvo se može primijeniti u budućnosti na bilo koji
bolji procesor ili računalnu komunikaciju. Odabir
odvojenih funkcijskih objekata dovelo i do lakšeg razvoja
aplikacija koje su se razvijale djelomično zajedno sa
svakim objektom.
Moguće je ubrzati rad komunikacija, dohvata podataka
i slanja podatka na strani računala i funkcijskih objekata
pomoću direktnog brzog adresiranja koje se još nije do
kraja razvilo, ali je u pripremi. Također dio aplikacije za
prevođenje i programiranje stalno se nadograđuje i
poboljšava te je u skorije vrijeme gotova uporabna
verzija, a ne testna kao sada.
LITERATURA
[1] L. Kapraljević, „Sklopovsko rješenje programirljivog logičkog kontrolera“, diplomski rad br. E437, Tehničko veleučilište u Zagrebu, 2016.
[2] G. Kemfelja, „Programska podrška programirljivog logičkog kontrolera“, diplomski rad br. E438, Tehničko veleučilište u Zagrebu, 2016.