Programiranje mikrokontrolera |
Mikrokontroleri s EPROM memorijom pogodni su za razvoj uređaja jer omogućavaju reprogramiranje sadržaja EPROM-a. Programiranje EPROM-a vrši se u za tu svrhu dizajniranim uređajem. Izrađuju se kao samostalni uređaji s vlastitim procesorom i sučeljem za upis podataka u EPROM, ili kao uređaji koji se obično priključe na paralelni (CENTRONICS) port računala koje im tada služi kao sučelje.
U drugom slučaju su znatno jeftiniji ali je potrebna odgovarajuća programska potpora za upis programskog koda u EPROM. Programska potpora mora:
Različite vrste EPROM-a imaju različite napone programiranja te ih treba točno ustanoviti i provjeriti da li programska potpora za upis podataka postavlja upravo tu vrijednost pri programiranju te ako je potrebno izvršiti ispravku. Sofisticirani programski alati za upis podataka u EPROM prevesti će u C-u ili VisualBASIC-u ili nekom drugom programskom jeziku napisani program za rad mikrokontrolera u skup instrukcija (programski kod) upravo za CPU mikrokontrolera koji se odabere te upisati te instrukcije u EPROM. Skuplji programski alati podržavati će rad za više tipova CPU i više proizvođača i vrsta mikrokontrolera. Naravno, sastavni dio programske potpore sigurno je ASCII / HEX editor za očitavanje sadržaja EPROM-a.
Jedan zamišljeni mali program u jeziku kojeg koristimo bio bi recimo ovakav:
POČETAK REG_1 = MEM_LOK_A REG_2 = MEM_LOK_B REG_3 = REG_1 + REG_2 PORT_A = REG_3 KRAJ
Program zbraja sadržaj dvije memorijske lokacije i zbir šalje na port A. Naravno za složenije zadaće veći su i programi koji ih rješavaju. Programiranje se može raditi na više jezika a najčešće su to asembler, C i BASIC. Asembler spada u jezike niskog nivoa koji se sporo programiraju ali zauzimaju najmanje mjesta i najbolje je rješenje sa stanovišta brzine izvršavanja programa. Programi u C-u se lakše pišu, bolje razumijevaju ali su i do 7-8 puta sporiji od asemblerskih. BASIC je najlakši za učenje a njegove naredbe su najbliže ljudskom razmišljanju ali je još znatno sporiji.
U svakom slučaju prije nego što se odabere jedan od ovih jezika potrebno je da dobro razmotriti zahtjeve za brzinom izvršavanja programa, veličinom memorije i raspoloživim vremenom te temeljem toga odabrati način programiranja. Napisani program se prvo prevede, a zatim preko serijskog kabla učita u mikrokontroler. Prevođenje je proces koji od izvornog programa pravi izvršni program koji sadrži instrukcije koje mikrokontroler razumije i izvršava. Napisani program potrebno je smjestiti u memoriju mikrokontrolera. Načina ima više, jedan od njih podrazumijeva postojanje drugih programa s kojima se učitavaju (loader) u memoriju i koji najčešće koriste serijsku komunikaciju mikrokontrolera za pristup njegovoj memoriji.
Dakle, programiranje mikrokontrolera se vrši upisom instrukcija u EPROM prema uputama za korišteni mikrokontroler, odnosno prema skupu instrukcija koje podržava njegov centralni procesorski ustroj (CPU), te se u tom smislu ne može govoriti o jedinstvenom programskom jeziku za programiranje rada mikrokontrolera jer je skup instrukcija uglavnom različit, već prema vrsti i proizvođaču koji ga izrađuje. Treba razlikovati programiranje EPROM-a od programiranja rada mikrokontrolera.
Kada se neka izvedba mikrokontrolera pokaže stabilna i vrlo raširena u pravilu se nadalje umjesto skupih EPROM-a koriste PROM memorije koje dozvoljavaju samo jednokratno programiranje ali su višestruko jeftinije.
Ukratko, mikrokontroler je malo samostalno računalo vrlo raznolike namijene s mogućnosti programiranja i reprogramiranja njegovog rada. Uobičajeno je da sadrže mehanizme za samostalnu kontrolu ispravnosti rada te zaštitu od neautoriziranog čitanja programskog koda. Ne zahtijevaju osobitu pažnju glede održavanja. Kako su obično sve komponente unutar samo jednog integriranog kruga i nema osobitih zahtijeva za velikom brzinom rada postiže se vrlo velika pouzdanost i sigurnost.
Razvoj, konstrukcija i održavanje zahtijevaju mnogo ljudskog rada. Zbog toga se nastoji na sve moguće načine smanjiti potreban posao za konstrukciju, rad i održavanje sustava koji se nadzire. Osnovna ideja je uporaba masovno proizvedenih, jeftinih standardnih sklopova. Tako je i izgrađen mikrokontroler sa svim elementima u jednome čipu (Single-Chip Microcontroller).
U samom dizajnu mikrokontrolera vrlo je bitna STANDARDIZACIJA. Standardizira se sve što se može, funkcije koje se moraju obavljati, mehanički i električni elementi, kućište, veličina štampane pločice, tipovi priključaka i spojnih vodova, naponi napajanja, osobine signala, ulazne i izlazne impedancije i drugo. Na narednoj slici prikazana je jedna tipična standardizirana upravljačka jedinica s mikrokontrolerom koji upravlja tijekom jednog procesa nadzorom temperature.
Primjer II
Izgled tipične standardizirane upravljačke jedinice s mikrokontrolerom.
| |
Slika 7.2.3 Tipična standardizirana upravljačka jedinica. |
Jedinica se sastoji od niza štampanih ploča (kartica) s elektroničkim komponentama. Senzor pri nadzoru procesa daje signal uređaju za analognu obradu koji će ga obraditi na način da njegov izlaz odgovara ulazu u A/D pretvornik, a dobivene binarne podatke obraditi će mikroračunalo prema programu u svojoj memoriji. Izlaz iz mikroračunala je rezultat obrade koji ide u izlazni elektronički uređaj gdje će se pomoću D/A pretvornika i izlaznih elektroničkih sklopova pretvoriti na način da može upravljati izvršnim uređajem koji će ispraviti tijek procesa onako kako je odlučilo mikroračunalo na osnovu podataka dobivenih od senzora.
Broj kartica može biti i manji od prikazanih, na primjer moderni mikrokontroleri već imaju ukomponiran A/D pretvornik i multiplekser i na njegovoj kartici mogu biti ulazni, izlazni i komunikacijski priključci. Tako bi broj kartica bio 3 u odnosu na 7 kartica prikazanih na slici. S druge strane ako se promatra više pojava različite prirode (temperatura, pritisak, snaga ..) trebati će više kartica za analognu obradu jer će više različitih senzora imati različite izlazne signale koji će se morati različito obrađivati kao bi podaci poslani na ulaz multipleksera mikrokontrolera bili upotrebljivi.
Glede navedenog, prethodna slika samo je ilustracija kako smjestiti i koristiti jedan mikrokontroler koji će upravljati nekim procesom na osnovu upisanih instrukcija u memoriju. U primjeru je uzet nadzor temperature nekog procesa mada je u pitanju moglo biti bilo što drugo. Ovakva jedinica može se smjestiti uz sam proces i bez povezivanja s drugim jedinicama samostalno upravlja procesom (Stand Alone). Može se povezati s drugim jedinicama tako da sve zajedno nadziru neki složeni proces.
Ako je ukomponiran uz sam proces mora se dizajnirati tako da može normalno i dugotrajno funkcionirati u okolišu u kojem se nalazi, a ako to nije moguće može se nalaziti na izdvojenom mjestu u nekoj drugoj prostoriji, ali tada treba riješiti problem dostave i otpreme podataka. Dakle, nema tipičnih rješenja za sve situacije i prikazana koncepcija na prethodnoj slici samo je ilustracija.
Promatranje i neposredno upravljanje pojedinačni procesima najniži je i prvi nivo nadzora i upravljanja. Ako se pak izlazni podaci svih pojedinačnih upravljačkih jedinica prikupljaju na jednom mjestu i objedinjuju riječ je o drugom nivou upravljanja. Tada pojedinačni procesi predstavljaju podprocese cjelokupnog procesa nadzora i upravljanja. No to je već posebna tema.
Primjer III
Primjer uporabe mikrokontrolera za nadzor rada robota - igračke.
Slika* 7.2.4 Robot - igračka / Mikrokontroler - štampana ploča - blok shema. ( + / - ) |
Nisu ni igračke kao što su nekad bile. Upitno je samo jesu li za 'malu' ili 'veliku' djecu. Navođeni automobili, helikopteri ... - igračke primjenom moderne elektronike postali su vrlo popularni. Jednostavnije igračke - sustavi imaju specijalizirani integrirani krug, kao namjenski integrirani krug za upravljanje autićem, dok složenije koriste mikrokontroler. Mikrokontroler je savršeni dio glede izrade programiranih predmeta - sustava i kontrole njihovog rada kao što su razni kućni automati, okretanje kotača igračaka ili nadzor pokretanja nogu igračaka, roboti i slično.
Na slici 7.2.4a je predstavljen DFRobotShop Rover V2 - 'Arduino' kompatibilan robot s gusjenicama (Basic Kit), svestrani mobilni robot - tenk koji se temelji na popularnom 'Arduino Uno' mikrokontroleru. Rover koristi dvostruki 'Tamiya' motor s reduktorom od sustava zupčanika i 'Tamiya' upravljač kotačima. DFRobotShop Rover štampana ploča uključuje standardni 'Arduino Uno' mikroprocesor (Surface Mount ATMega328), L293B integrirani krug za upravljanje motorom (spojen na priključke 5-8), regulator napona i radno-projektno područje na štampanoj ploči za izradu raznih funkcijskih dodataka od različitih dijelova, čemu doprinosi mehanički dizajn robota. Regulator napona omogućava napajanje sklopova u rasponu od 3.7 V do 9 V. Na slici 7.2.4b prikazana je štampana ploča s mikrokontrolerom, shema njegovih izvoda i blok shema mikrokontrolera.
Arduino je 'open-source' fleksibilna elektronička razvojna platforma koja se temelji na jednostavnom korištenju sklopovlja i programske potpore. Namijenjena je za umjetnike, dizajnere, hobiste, i svakog zainteresiranog za stvaranje interaktivnih objekata ili okruženja. Sklop na štampanoj ploči se programira pomoću Arduino programskog jezika u programskom okruženju za Arduino obradu podataka.
Na temelju posljednjeg prikazanog primjera, nema sumnje da je mikrokontroler jedna od osnovnih komponenti koje čine elektroničke sklopove vozila-robota koji, krećući se posvuda, 'istražuje' površinu Marsa.
SAŽETAK:
Od svakog mikrokontrolera očekuju se različite mogućnosti spajanja i različito ponašanje te stoga ne postoji mogućnost monopola neke tvrtke u smislu njihove implementacije u neki proizvodni sustav i programiranja njihovog rada. Njihov dizajn i implementacija ostati će uvijek posao malih tvrtki, ali se od osoba koje će se s time baviti zahtijevaju brojne sposobnosti i kreativnost upravo zbog vrlo različitih poslova koji se moraju obaviti da bi se mikrokontroler stavio u funkciju.
Pojava mikrokontrolera oslobodila je konstruktore sustava od mukotrpnog posla gradnje mikroračunala, raznih sučelja i drugih uređaja. Stoga ne čudi njegova sve šira primjena u mjerenjima, vođenjima i upravljanjima procesima. Današnja tehnologija omogućila je da djeluju kao vrlo moćna računala. Moć im je vrlo različita, i proizvodno su već prilični tipizirani, uglavnom izrađeni kao jedan čip. Koliko moćan (i skup) mikrokontroler uporabiti ovisiti će o zadaći za koju se koristi: u sustavu za brojanje paketa na pokretnoj traci ili u sustavu za nadzor motora robota koji boja automobile ili u sustavu za nadzor sastava COCA-COLE ili nekom drugom, uz sve moguće zamisli o signalizaciji o pogrešnom tijeku procesa i po potrebi i njegovog zaustavljanja. Procesori koji se koriste uglavnom su ARM tipa zasnovani na RISC (Reduced Instruction Set Computing) arhitekturi.
Dakle, mikrokontroler je gotovo bezgrešni nadglednik rada strojeva u proizvodnom procesu osobito na pokretnim trakama. Na pokretnoj traci jednoličnom brzinom promiču proizvodi. Ovisno o izradi i programu mikrokontrolera on može osim jednostavnog brojanja proizvoda preusmjeriti neispravne proizvode drugim putom, nadgledati njihov ukupan broj te po programiranoj statističkoj obradi odlučiti prekinuti proizvodnju i probuditi osobu nadležnu za nadzor na procesu proizvodnje.
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |