402 Ventil 14 /2008/ 4 PROGRAMSKA OPREMA – SPLETNE STRANI Kratka šola programiranja mikrokontrolerjev – 3. del 1 Uvod V prvih dveh ïlankih smo spoznali osnovne pojme, se spoznali z mikro- kontrolerji in napisali prve programe. Nato smo na mikrokontroler že prikljuïili prve elemente, s katerimi lahko vklapljamo oziroma izklaplja- mo razliïna elektriïna bremena. V tem delu bomo na mikrokontroler prikljuïili enosmerni motor, ki ga bomo vrteli v obe smeri ter na koncu ïlanka prikazali izpis na LCD-ju. Preden se bomo lotili programiranja, naj bralce spomnim na spletni forum revije Svet elektronike, kjer boste lahko v primeru težav ali kakršnih koli drugih nejasnosti postavili vprašanje in ïlani foruma vam bodo pomagali in svetovali. V vaš spletni iskalnik vpišite „Svet elektronike“, iskalnik vam bo ponudil povezave na forum. 2 Priklop enosmernega motorja na mikrokontroler Enosmerni motor lahko na mikrokon- troler prikljuïimo na veï naïinov. Prvi naïin smo pravzaprav že spoz- nali, ko smo na nanj prikljuïili FET. S FET-om lahko motor vklapljamo oziroma izklapljamo. Seveda pa pri enosmernih motorjih potrebujemo poleg tega tudi vrtenje v nasprotno smer. Z enim FET-om tega ne moremo narediti. Za krmiljenje motorja v obe smeri potrebujemo 4 FET-e, vezane v mostiïno vezavo. Temu se elegantno izognemo tako, da uporabimo na- menska integrirana vezja. Eno takšnih vezij je L272M, ki vsebuje dva moï- nostna operacijska ojaïevalnika, od katerih vsak zmore krmiliti elektriïna bremena tja do 0,7 A, kar je veï kot dovolj za majhne elektromotorje. Elektriïna shema je na sliki 12. 3 Opis elektriÏne sheme Elektriïna shema je enostavna in se bistveno ne razlikuje od predhodnih. Novo je le integrirano vezje L272M, v katerem sta dva moïnostna opera- cijska ojaïevalnika. Vezava L272M je izvedena tako, da z dvema logiïnima signaloma definiramo vrtenje motorja v eno oziroma v drugo smer. Možno je motor tudi hitro ustaviti, in sicer tako, da izhoda operacijskih ojaïe- valnikov postavimo na isti napetostni Povzetek: Predstavili smo priklop enosmernega elektromotorja na mikrokontroler. Spoznali smo dva moïno- stna operacijska ojaïevalnika, ki zmoreta suvereno krmiliti motorje, pokazali smo tudi, kako krmiliti motorje z logiïnimi signali tako, da se vrtijo v eno ali v drugo smer. Pri izpisu na LCD-ju smo pokazali tipiïno elektriïno shemo, na kateri sta mikrokontroler in LCD. Prikazali smo dele programov, s katerimi izpisujemo podatke ali znake na alfanumeriïnem LCD-ju. KljuÏne besede: enosmerni elektromotor, mikrokontroler, LCD-prikazovalnik, Bascom Jure MIKELN Jure Mikeln, dipl. inž., AX Elektronika, d. o. o., Ljubljana 4, 9 - 16 4, 9 - 16 Slika 12. ElektriÏna shema vezave L272M na mikrokontroler PD2 PD3 0 0 izklopljen 0 1 vrti v levo 1 0 vrti v desno 1 1 izklopljen Tabela 1. Tabela logiÏnih stanj krmil- jenja motorja z L272M 403 Ventil 14 /2008/ 4 PROGRAMSKA OPREMA – SPLETNE STRANI nivo. Poglejmo si tabelo logiïnih stanj, s katerimi krmilimo L272M. Pri tabeli 1 je potrebno dodati še to, da je vrtenje motorja odvisno od polaritete motorja oziroma od tega, kako vežete prikljuïke motorja na vaše vezje. Kot je razvidno s tabele 1, moramo spreminjati stanje na izhodnih vratih mikrokontrolerja tako, da se bo motor vrtel po naših zahtevah. Bascom program bo eno- staven, saj bomo samo postavljali izhode mikrokontrolerja na logiïno 0 ali 1 glede na to, kako želimo, da se bo motor vrtel. îe potrebujemo krmiljenje moïnejših motorjev, bomo namesto L272M uporabili L298, ki je funkcionalno enak L272M, le da zmore krmiliti veïje tokove, tja do 3 A. Principialna shema vezave L298 je identiïna tisti za L272M, za natanïno shemo pa bo treba pogledati v dato- teko s tehniïnimi podatki za L298. 4 Prikaz podatkov na LCD-ju Prikaz podatkov na LCD-ju je bil ved- no zanimiva snov za vse, ki zaïenjajo s programiranjem mikrokontroler- jev. Veïina na- prav, ki jih dan- danes vidimo ali kupimo, ima v- grajene takšne alidrugaïnepri- kazovalnike. V tem prispevku bomo obravna- vali LCD- pri- kazovalnik 2 x 16. Za zaïetek povejmo nekaj besed o samem LCD-modulu. Oznaka 2 x 16 pomeni, da ima- mo opravka z dvema vrstica- ma, vsaka ima po 16 znakov. Po navadi pome- ni oznaka 2 x 16 tudi to, da ima- mo opravka s t. i. alfanumeriï- nim prikazoval- nikom, ki lah- ko prikazuje ïr- ke, številke in posebne znake, kot npr. matematiïni znaki, znaki, ki jih sreïujemo na tipkovnici, in podobno. Nabor znakov, ki jih doloïen prika- zovalnik lahko prikazuje, najdemo v tehniïnih podatkih o posameznem prikazovalniku. Na voljo pa je tudi 8 znakov, ki jih lahko oblikujemo sami. Tipiïen prikazovalnik vidimo na sliki 13. Slika 13. LCD-prikazovalnik 2 x 16 Slika 14. Vezava LCD-ja na mikrokontroler Slika 15. Program za izpis podatkov na LCD-ju 404 Ventil 14 /2008/ 4 PROGRAMSKA OPREMA – SPLETNE STRANI LCD za svoje delovanje potrebuje napajanje in logiïne signale, s ka- terimi doloïamo, kateri znak naj se prikaže na prikazovalniku. Veïina alfanumeriïnih prikazovalnikov ima na voljo 4- ali 8-bitno krmiljenje, na- pajalna napetost ponavadi znaša 5 V. Dodatno je na voljo še prikljuïek za nastavitev kontrasta. Tipiïno vezavo LCD-ja na mikrokontroler vidimo na sliki 14. Obiïajno uporabljamo 4-bitno krmiljenje. Razlog je v tem, da na mikrokontrolerju zasede- mo ïim manj prikljuïkov. 8-bitno krmiljenje sicer ima prednost, da je hitrejše, vendar v veliki veïini primerov tega ne potrebujemo, zato bo 4-bitno krmiljenje popol- noma ustrezno. Na shemi vidimo še prikljuïka za Reset in Enable ter trimer potenciometer, s katerim nastavljamo kontrast prikaza na LCD-ju. Vrednost potenciometra ni kritiïna in lahko znaša od 5 koh- mov pa do 50 kohmov. Nekateri LCD-moduli imajo vgrajeno tudi osvetlitev ozadja. Za to imajo pre- dvidene posebne prikljuïke, kamor prikljuïimo 5-voltno napetost zapo- redno z 10-ohmskim uporom. Na naši shemi vidite, da smo serijsko z 10-ohmskim uporom prikljuïili FET, preko katerega bomo vklapljali ozi- roma izklapljali osvetlitev ozadja. Najlepše v programu Bascom-AVR je, da je enostaven za uporabo. To se najbolj vidi pri izpisu podatkov na LCD-ju. Program za izpis vidimo na sliki 15. Najprej je potrebno, kot smo že navajeni, definirati mikrokontroler. Nato definiramo vrsto LCD-ja. Vrata, na katera prikljuïimo LCD, definira- mo kot izhodna in že lahko zaïnemo „pisati“ po LCD-ju. Definicija vrat za priklop LCD-ja na sliki 14 bi bila videti takole: Confi g Lcdpin = Pin , Db7 = Portd.0 , Db6 = Portd.1 , Db5 = Portd.2 , Db4 = Portd.3 , E = Portd.4 , Rs = Portd.5 Osvetlitev pa vklapljamo oziroma izklapljamo s FET-om na Portd.6. Predlagam, da nekje na zaïetku pro- grama z ukazom CLS (clear screen) pobrišete eventualni predhodni izpis na LCD-ju. Nadalje je priporoïljivo, da kar se da natanïno doloïite, kje na LCD-ju naj bo izpis. To naredi- mo z veï ukazi. Najbolj enostavna sta ukaza Upperline in Lowerline, ki doloïata vrstico, v kateri naj se izpisujejo znaki. Sintaksa za izpis je samo: LCD „ tekst“ ; spremenljivka Kot vidite, je ukaz LCD enostaven, njemu sledi narekovaj zgoraj in nato tekst, ki ga želimo izpisati. îe želimo izpisati vrednost spremenljivke, jo samo navedemo poleg ukaza LCD, kot npr.: LCD A1. A1 je v tem primeru spremenljivka, ki se bo izpisala na LCD-ju. îe bi želeli lepši izpis, bi naredili takole: LCD „Spremenljivka = „ ; A1. îe izpisuje- mo veï spremenljivk, moramo paziti tudi na prazne prostore med njimi, da se ne bi spremenljivki (npr: A1 = 20, B1 = 12) z ukazom LCD A1, B1 izpisali takole: 2012. Verjetno boste zadevo hitro razumeli, saj je izpis na LCD-ju res enostaven. Povejmo še, da izpis lahko zelo na- tanïno lociramo. Z ukazom Locate x,y lahko doloïimo vrstico in mesto izpisa na LCD-ju. Pri tem x pomeni vrstico, y pa mesto, ki se šteje od leve. 5 LCD designer Bascom ima vgrajeno simpatiïno orodje, ki se imenuje LCD designer in ga najdemo v zavihku Tools. S pomoïjo LCD designerja si bomo lahko napravili izpis po naših željah in zahtevah. Sliko LCD designerja vidimo na sliki 16. Po tem, ko smo s klikanjem po poljih LCD designerja doloïili znak, ki naj bi se izpisal, kliknemo OK in v pro- gramu, kjer je kurzor, se bo pojavila nova vrstica, ki bo za gornji znak videti takole: Deflcdchar ?,10,4,14,17,16,17,14,32 ’ replace ? with number (0-7) Ukaz je dovolj intuitiven, dodan je tudi komentar, kjer piše, da znak ? zamenjamo s številko od 0 do 7. Re- cimo, da znak ? zamenjamo s številko 1. V našem programu Bascom bomo znak „ï“ izpisovali z ukazom LCD Chr(1). Za vajo naredimo zgled, kjer bomo izpisali znake „T, Š, C, î“. Program v Bascomu bo videti takole .... LCD „T“ ; Chr(2) ; „C“ ; Chr(1) .... Defl cdchar 1,1 0,4,1 4,1 7,1 6, 17,14,32 ‘ï Defl cdchar 2,1 0,4,1 4,1 7,1 2, 2,17,14 ‘š ..... Opazili boste, da smo med ukazi za izpis posameznega znaka postavili podpiïje. îe potrebujete izpis praz- nega mesta, to naredite enostavno z izpisovanjem le-tega med dvema narekovajema: „ “ Za malo bolj dodelane izpise lahko uporabimo ukaza: Shiftlcd Right in Shiftlcd Left. Verjetno razlaga ukaza ni potrebna, saj z njim premikamo vsebino na LCD-ju v levo ali v desno. Z ukazom: Slika 16. Slika LCD designerja 405 Ventil 14 /2008/ 4 PROGRAMSKA OPREMA – SPLETNE STRANI CURSOR ON / OFF BLINK / NOBLINK pa doloïamo, ali bo kurzor prikazan ali ne, ali bo utripal ali ne. Skratka prikaz na LCD-ju je v Bascomu sila enostaven in precej dodelan. Izpiso- vati je možno tudi preko dveh vrstic s pomoïjo orodja LCD designer. 6 ZakljuÏek V tokratnem poglavju smo obdelali priklop enosmernega motorja na mikrokontroler. Spoznali smo dva moïnostna operacijska ojaïevalnika, ki zmoreta suvereno krmiliti motorje, pokazali smo tudi, kako krmiliti motorje z logiïnimi signali tako, da se vrtijo v eno ali v drugo smer. Pri izpisu na LCD-ju smo pokazali tipiïno elektriïno shemo, na kateri se nahaja mikrokontroler in LCD. Prikazali smo dele programov, s ka- terimi izpisujemo podatke ali znake na alfanumeriïnem LCD-ju. Upam, da vam je ta miniserija ïlankov vsaj malo odškrnila vrata v podroïje programiranja mikrokontrolerjev. îe bi se želeli praktiïno spoznati s programiranjem mikrokontrolerjev, vam predlagam, da se v uredništvu revije Svet elektronike (v kateri je ogromno ïlankov na tematiko Bas- com) pozanimate, kdaj bo naslednji teïaj Bascom-a. A short course for programming microcontrollers – Part 3 Summary: Connection of DC motor to a microcontroller was shown. We have shown two power operational am- plifiers, that can drive motors, also driving of motors in both directions with logical signals was shown. Further a schematic diagram of microcontroller driving a 2x16 LCD display was shown. We have demonstrated some parts of programmes which are being used when displaying data or signs on alphanumerical LCD display. Keywords: DC motor, microcontroller, LCD display, Bascom, Zanimivosti na spletnih straneh [1] http://fl uidpowertalk.blogspot. com –[ Blog fl uidne tehnike v anglešÏini] – Urednika Heney, P., in založnik Ferenc, M., pri re- viji Hydraulics & Pneumatics sta zasnovala blog fluidne tehnike in tehnologije, ki ponuja razliïna vprašanja in odgovore z obrav- navanega podroïja. Tedensko se nabira številna pošta in bralci so vljudno vabljeni h komentira- nju. Zaželene so razprave o sej- mih in razstavah, o novostih pri posameznih podjetjih, zanimivih vprašanjih gradnje, uporabe in vzdrževanja naprav itd. [2] www.hbm.de–[ Kalibriranje me- rilnikov sile] – Uveljavljena firma za merjenje in merilno opremo Hottinger Baldwin Messtechnik GmbH iz Darmstadta na svojih spletnih straneh predstavlja tudi brošuro o kalibriranju odjem- nikov sile in kompletnih merilnih verig za merjenje sile (Kalibrie- rung von Kraftaufhnehmern, be- ziehungweise Kompletten Kraf- Messketten). Pregled odjemnikov sile informira o najzanimivejših primerih njihove uporabe v indu- striji, za preskušanje materiala in konstrukcij ter naïinih njihovega kalibriranja. Predstavljene so pre- glednice, ki omogoïajo ustrezen izbor. Brošura je na voljo tudi v tiskani obliki. [3] www.hydraulicspneumatics. com/Videolibrary –[ H + P videoknjižnica] – Revija Hydrau- lics & Pneumatics je nedavno priïela svojim spletnim stranem dodajati še videostrani, s ïimer je obogatila zanimivost razprav v okviru foruma fluidne tehnike. Soïasno so priïeli tudi z arhivi- ranjem pomembnih videodoku- mentov, ki so s tem dostopni na zgornjem spletnem naslovu. îe se zanimate za vnos vaših zani- mivih vsebin, se javite na naslov: hp@penton.com. [4] www.hydraulicspneumatics.com –[ Prva FT e-knjiga] – Popularni e-knjigi s podroïja fluidne teh- nike, ki so ju zasnovali v okviru revije Hydraulics & Pneumatics, z naslovom Fluid Power Basics (FPB) in v nadaljevanju še Fluid Power Circuits Explained (FPCE), sta že kompletirani in na voljo za uporabo. Obe je pripravil B. Trinkel, ki ima bogate delovne izkušnje v industriji. FPB obravnava pomembne os- nove fluidne tehnike in kompo- nente, vkljuïno s terminologijo in simboliko risanja. Na koncu vsakega poglavja ima popularna vprašanja za preverjanje znanja. Zaïne se z obravnavo enostav- nih pnevmatiïnih in hidravliïnih vezij in fizikalnimi osnovami delovanja. Nadaljnja poglavja pokrivajo tudi razliïne vrste hi- dravliïnih tekoïin, njihove last- nosti in uporabo. Skupaj obsega knjiga 22 poglavij. FPCE pa bo skupaj obsegala 23 poglavij, od katerih je objavljenih že skoraj deset. Namenjena je tistim uporabnikom, ki že razu- mejo osnove in želijo spoznati naïine snovanja tudi bolj zahtev- nih vezij in naprav. Nova poglav- ja bodo objavljena v naslednjih tednih.