Borko Boranić
Robotići Priručnik za izbornu nastavu tehničke kulture u osnovnoj školi II. dopunjeno izdanje
9 789536 091362
BORKO BORANIć
Robotići “ABCtehnike” PRIRUČNIK ZA IZBORNU NASTAVU TEHNIČKE KULTURE U OSNOVNOJ ŠKOLI
Zagreb, 2009.
Borko Boranić, prof. Robotići“ABCtehnike” Priručnik za izbornu nastavu tehičke kulture u osnovnoj školi Nakladnik HRVATSKA ZAJEdNIcA TEHNIČKE KULTURE Zagreb, dalmatinska 12 Za nakladnika: Marija dujmović Urednik: Zoran Kušan Recenzenti: prof. dr. sc. Marin Hraste; dr. sc. Zvonimir Jakobović; Marčelo Marić Lektor: Zora Horvatić Računalni prijelom: Zoran Kušan Naslovna stranica: Hinko Bohr Tisak: Paxgraf, Zagreb Naklada: 1500 primjeraka
ISBN 978-953-6091-36-2 CIP zapis dostupan u računalnom katalogu Nacionalne i sveučilišne knjižnice u Zagrebu pod brojem 719244
2
Sadržaj Roboti i robotika u osnovnoj školi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Prvi korak: donji postroj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 drugi korak: Mikrokontrolerski modul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 Treći korak: Programiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Četvrti korak: Senzori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 Izlazno sučelje za spajanje robota s osobnim računalom . . . . . . . . . . . . . . . . . . . . . . . . . .33 Izlazno-ulazno sučelje za spajanje robota s osobnim računalom . . . . . . . . . . . . . . . . . . . .41 Priključci za motore i osjetila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Popis tvrtki u kojima se mogu nabaviti elektroničke komponente i ostali dijelovi za izradu robotića “ABc tehnike” . . . . . . . . . . . . . . . . . . . . . . .51 daljinsko upravljanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 daljinsko upravljanje infracrvenim zrakama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Novi mikrokontroler AT89S8253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
3
Robotiirobotika uosnovnojškoli
Sva tri programa robotike imaju istu osnovu, razlika je u dubini i opsegu nastavnih sadržaja te primjeni nastavnih metoda. Temeljni program u osmom razredu ostvaruje se pretežito metodom izlaganja, razgovora i demonstracije te rada na tekstu zbog zadanih ograničavajućih uvjeta, tj. rada s cijelim razrednim odjelom i samo jednim školskim satom u tjednu. Za cijeli program robotike u sklopu temeljnog programa tehničke kulture u osmom razredu raspolaže se s petnaestak nastavnih sati. Za razliku od temeljnog programa, pri ostvarenju izbornog programa prevladava metoda laboratorijskih i praktičnih radova, rad s tekstom te skupni i pojedinačni oblici nastavnog rada. Učenici sastavljaju modele različitih tehničkih tvorevina od gotovih elemenata (konstrukcijske kutije ili slagaljke). Pritom istražuju djelovanje i rad tehničkih tvorevina na sastavljanom modelu. Modele sastavljaju od unaprijed izrađenih elemenata u školskoj radionici, a primjenjuju se različite konstruktorske kutije i školski robotski sustavi kao što su na primjer: slagaljke FIScHERTEcHNIK i LEGO. Robotika kao dio izvannastavnih tehničkih aktivnosti ostvaruje se gotovo u cijelosti pretežito praktičnim i laboratorijskim radom s naglaskom na razvoju stvaralačkih sposobnosti učenika. Program se ostvaruje slobodnije, tako da prevladava problemski pristup u radu, s usmjerenjem na rješavanje različitih problema. Učenici imaju veliku mogućnost izbora modela koje će graditi i pritom učiti. Različita natjecanja, poput utrke robotskih kolica i autonomnih robota, dodatna su motivacija učenicima u ovom obliku odgojno-obrazovnog rada. Takva natjecanja njeguju, organiziraju i provode, u sklopu Hrvatske zajednice tehničke kulture, Hrvatsko društvo za robotiku i Hrvatski savez pedagoga tehničke kulture, Temeljni program robotike u osmom razredu osnovne škole obuhvaća ove teme: povijest robota, mehanička osnova robota, pokretanje robota, upravljanje robotima i programiranje robota. Od učenika osmih razreda očekuje se da znaju: opisati ukratko razvoj robota, objasniti pojam radnog prostora robota, nabrojiti i opisati način prijenosa gibanja, nabrojiti i opisati najčešće načine pogona robota (elektromagnetski, elektro-
Sadržaji robotike sastavni su dio programa tehničke kulture za osnovnu školu, i to u temeljnom programu, izbornom programu i u izvannastavnim aktivnostima. Temeljni program obvezatan je i jednak za sve učenike od petog do osmog razreda osnovne škole i za njegovo ostvarenje predviđeno je u nastavnom planu 35 sati na godinu, odnosno jedan sat na tjedan. Za izborni program robotike predviđeno je u nastavnom planu ukupno 280 sati, po 70 sati u godini u petom, šestom, sedmom i osmom razredu, tj. po dva sata na tjedan u svakom razredu. Izvannastavnim aktivnostima za rad sekcija i klubova mladih robotičara predviđen je i veći broj sati, što ovisi o programu donesenom na razini svake škole. U temeljnom programu sadržaji robotike sastavni su dio programa u osmom razredu. Program tehničke kulture za osmi razred sadrža dvije cjeline: informatika i robotika. Taj program donesen je 14. prosinca 1998. i zajedno s odlukom o donošenju objavljen je u posebnom broju “Vjesnika Ministarstva prosvjete i športa”. Program je počeo školske godine 1999./2000. za sve učenike osnovnih škola. Izborni program robotike objavljen je prvi put u “Vjesniku Ministarstva prosvjete i športa” broj 11 od 18. studenoga 1997. kao programski modul u skupini “A” izbornih programa tehničke kulture, tj. u skupini programa s naglašenijim razvojem intelektualnih sposobnosti za naročito zainteresirane u darovite učenike. Nešto kasnije objavljena je dorađena inačica tog programa zajedno s izbornim programima za sve predmete osnovne škole. Program robotike za izvannastavne tehničke aktivnosti objavljen je kao jedan od programa za rad klubova mladih tehničara u “Glasniku Ministarstva prosvjete i športa” 19. prosinca 1995. godine.
4
motorni, hidraulički i pneumatski), opisati načine upravljanja robotima (sklopke, relej, tranzistori, promjena smjera i brzine gibanja), opisati najčešća osjetila robota (dodir, svjetlo, toplina) i ukratko obrazložiti njegov rad, sastaviti jednostavni program za upravljanje robotom. Izborni program robotike razložen je po razredima i temama kako je u nastavku prikazano. V.razred 1. Osnovni elementi konstrukcije (postolja, okviri, nosači, osovine, sastavljanje raznih elemenata konstrukcija, sastavljanje modela nosivih konstrukcija). 2. Stabilnost i čvrstoća konstrukcije (stabilnost konstrukcije, čvrstoća konstrukcije, profili i nosači, ispitivanje nosivosti i čvrstoće profila, nosača i konstrukcija, ispitivanje stabilnosti konstrukcija, sastavljanje modela različitih konstrukcija). 3. Prijenos i pretvorba gibanja (prijenos vratilom, prijenos remenom, prijenos zupčanicima, prijenos polugama, prijenos vijčanim vratilom, prijenos zubnom letvom, sastavljanje modela s različitim prijenosnicima, eksperimentiranje prijenosnicima)
VII.razred 1. Ukopčavanje i iskopčavanje elektromagneta i elektromotora sklopkama (sklopke i tipkala, izmjenične sklopke, višepolne sklopke, spajanje strujnih krugova s elektromagnetima i elektromotorima, ispitivanje ukopčavanja i iskopčavanja sklopkama, tipkalima i višepolnim sklopkama, sastavljanje modela pokretanih elektromotorima i elektromagnetima). 2. Ukopčavanje i iskopčavanje elektromagneta i elektromotora relejima (djelovanje releja, izmjenični releji, višepolni releji, spajanje strujnih krugova s relejima, sastavljanje modela s relejima, elektromotorima i elektromagnetima, ispitivanje modela s relejima, elektromotorima i elektromagnetima). 3. Ukapčanje i iskapčanje elektromagneta i elektromotora tranzistorima (tranzistor i njegovo djelovanje, tranzistor kao sklopka, zaštita tranzistora, spajanje strujnih krugova s tranzistorima, sastavljanje modela s tranzistorima, ispitivanje modela s tranzistorima, elektromagnetima i elektromotorima). 4. Promjena smjera okretanja elektromotora (promjena smjera okretanja elektromotora sklopkama, promjena smjera okretanja relejima, promjena smjera okretanja tranzistorima, spajanje strujnih krugova s promjenom smjera okretanja elektromotora, sastavljanje modela s promjenom smjera okretanja elektromotora, ispitivanje modela s promjenom smjera okretanja elektromotora). 5. Promjena brzine okretanja elektromotora (promjena brzine okretanja otpornicima, promjena brzine okretanja tranzistorima, promjena brzine okretanja impulsima, spajanje strujnih krugova s promjenom brzine okretanja elektromotora, sastavljanje modela pokretanih elektromotorom s promjenom brzine gibanja, ispitivanje modela pokretanih elektromotorom s promjenom brzine gibanja). 6. Promjena smjera i brzine okretanja elektromotora (promjena sklopkama i otpornicima, promjena relejima, promjena tranzistorima, spajanje elektromotora u strujni krug s mogućnosti promjene smjera i brzine okretanja, sastavljanje modela pokretanih elektromotorom razne brzine i smjera vrtnje, ispitivanje modela pokretanih elektromotorom).
VI.razred 1. Pogon robota (elektromagnetski, elektromotorni, hidraulični, pneumatski, ispitivanje raznih vrsta pogona). 2. Elektromagnetski pogon (elektromagneti i djelovanje elektromagneta, sastavljanje elektromagneta, ispitivanje djelovanja elektromagneta, sastavljanje modela s elektromagnetima). 3. Elektromotorni pogon (elektromotori pokretani istosmjernom strujom, elektromotori pokretani izmjeničnom strujom, koračni motori, sastavljanje modela elektromotora, spajanje elektromotora u strujni krug, sastavljanje modela pokretanih elektromotorom). 4. Hidraulični pogon (sastavljanje modela hidrauličnog pogona, ispitivanje modela hidrauličnog pogona, eksperimentiranje s modelima hidrauličnog pogona). 5. Pneumatski pogon (sastavljanje modela pneumatskog pogona, ispitivanje modela pneumatskog pogona, eksperimentiranje s modelima pneumatskog pogona).
5
7. Upravljanje koračnim motorima (načelo rada koračnih motora, spajanje koračnih motora, upravljanje koračnim motorima, sastavljanje modela pokretanih koračnim motorima, ispitivanje modela pokretanih koračnim motorima).
Program robotike ostvaruje se praktičnim radom i vježbama, gradnjom različitih uređaja i robota. Učenici sastavljaju modele raznih strojeva i sastavljaju programe za upravljanje njima. Istražuju mogućnosti vođenja strojeva pomoću računala i služenja računalom kao uređajem za različita mjerenja. Modele sastavljaju od elemenata konstruktorskih slagalica FIScHERTEcHNIK, konstruktorskog sustava LEGO i od elemenata izrađenih u školskoj radionici. Ispituju mogućnosti vođenja modela robota pomoću različitih programa. To su programi s “ugrađenim” podacima, programi s vanjskim upisivanjem podataka, programi s “učenjem” i “pamćenjem”. Različite modele robota vode po zadanoj stazi upisivanjem podataka u sam program, upisivanjem podataka tijekom izvršenja programa i tako da računalo “pamti” položaje i gibanje robota za vrijeme “učenja” i nakon toga robot ponavlja “naučeno”. Sastavljaju i ispituju mogućnosti upravljanja modelima manipulacijskih robota s jednim, dva ili tri stupnja slobode i različitim pristupima programiranju te mogućnosti primjene računala u jednostavnim mjerenjima potrebnim pri vođenju modela strojeva ili vozila. Učenici rješavaju različite jednostavnije i složenije konstrukcijske zadatke i upoznaju se s konstrukcijom i načinom rada već gotovih funkcionalnih modela manipulacijskih robota i drugih modela vođenih računalom. Na vježbama i praktičnom radu učenici sastavljaju i izrađuju modele i sklopove u skladu sa sadržajima pojedinih cjelina i tema, s materijalom i priborom kakvim škola raspolaže. Učenici sastavljaju i izrađuju modele i sklopove kao što su na primjer: sučelja s relejima, sučelja s tranzistorima, uređaji za napajanje, tipkovnica za vođenje robota, palice za vođenje robota, model semafora, light show, model radara, vjetromjer i vjetrokaz, robotska kolica, model dizala, model stroja za pranje rublja, model alatnog stroja, stroj za sortiranje, model kalorifera s kontrolom temperature, model automatskih vrata, model vjetromjera, robotska ruka s jednom okretnom osi, robotska ruka s dvije osi okretanja, robotska ruka s tri ili više okretnih osi, robotska ruka s translacijom i rotacijom itd. Prije nekoliko godina počela je primjena mikrokontrolera pri vođenju autonomnih robota i taj se oblik rada s učenicima vrlo brzo razvija.
VIII.razred 1. Osjetila ili senzori (osjetila dodira: sklopke, tipkala, osjetila sile, osjetila zvuka, svjetlosna osjetila, toplinska osjetila, spajanje osjetila ili senzora u strujni krug, ispitivanje različitih osjetila ili senzora, sastavljanje modela s primjenom različitih osjetila ili senzora, ispitivanje modela s osjetilima). 2. Kontrola i mjerenje položaja (mjerenje položaja otpornicima, mjerenje položaja kodnom pločom, mjerenje položaja brojenjem, točnost mjerenja položaja, sastavljanje modela kontrole i mjerenja položaja, ispitivanje različitih načina kontrole i mjerenja položaja, sastavljanje modela s primjenom kontrole i mjerenja položaja, ispitivanje djelovanja modela). 3. Povezivanje robota s računalom (vrste ulazno-izlaznih naprava i njihovo priključivanje na računalo, monitori i pisači, tipkovnica i miš, vanjski spremnici, izlazna sučelja, ulazna sučelja, analogno-digitalni pretvornici, napajanje ulazno-izlaznih naprava, spajanje sučelja s računalom, spajanje modela robota ili modela vođenih računalom sa sučeljem, ispitivanje sučelja i modela). 4. Programska oprema računala (operacijski sustav računala, uslužni i primjenski programi). 5. Programiranje robota (analiza problema, algoritmi za rješavanje problema, jezik za zapisivanje algoritma - instrukcije za obavljanje operacija, instrukcije za određivanje toka programa, slikovni prikaz programa - dijagram toka, ponavljanje dijelova programa, ponavljanje s ispitivanjem uvjeta, programiranje u raspoloživom programskom jeziku, vođenje modela robota ili modela upravljanih računalom gotovim programima, ispitivanje djelovanja robota ili modela upravljanih računalom, izrada programa za vođenje različitih modela upravljanih računalom, ispitivanje djelotvornosti sastavljenih programa za vođenje modela, ispitivanje djelovanja robota i modela).
6
Pripreme za uvođenje programa robotike počele su prije više od dvadeset godina, u početku s nekoliko nastavnika, koji su, u suradnji sa Zavodom za školstvo, dragovoljno u svojim školama, ispitivali provedbu tog programa. Na temelju iskustva tih nastavnika Zavod za školstvo te Hrvatski savez pedagoga tehničke kulture i Hrvatsko društvo za robotiku, koji djeluju u okviru Hrvatske zajednice tehničke kulture, već se više godina pripremaju za što uspješnije uvođenje programa robotike. Tako je do sada, u okviru Hrvatske zajednice tehničke kulutre, organizirano više desetaka seminara s teorijskim i praktičnim sadržajima. Polaznici su na seminarima izrađivali sučelja za povezivanje robota i računala, robotska kolica, na kolica ugrađivali senzore, programirali gibanje robotskih kolica i slično. Izrađene modele ponijeli su u svoje škole kao nastavno sredstvo. do sada je više od 400 nastavnika tehničke kulture završilo takav oblik stručnog usavršavanja. Osim seminara za nastavnike Hrvatski savez pedagoga tehničke kulture u suradnji s Hrvatskim društvom za robotiku, koje također djeluje u sastavu Hrvatske zajednice tehničke kulture, organizira svakog ljeta za učenike ljetnu školu robotike. do sada je održano više od deset ljetnih škola robotike, koje je prošlo više od 400 učenika i nekoliko desetaka nastavnika. Na smotrama tehničkog stvaralaštva i natjecanjima mladih tehničara, koje organiziraju Hrvatska zajednica tehničke kulture, Hrvatski savez pedagoga tehničke kulture i Hrvatsko društvo za robotiku, odnosno županijske zajednice tehničke kulture i županijska društva pedagoga tehničke kulture, svake godine pojavljuje se sve više učeničkih radova iz robotike. Tako su na primjer na državnoj smotri tehničkog stvaralaštva u Puli 1998. godine izložena 32 modela koja su izradili učenici osnovnih škola, a već su iduće godine samo na smotri tehničkog stvaralaštva mladih grada Zagreba izložena 33 modela robota, robotskih ruku, robotskih kolica i drugih modela upravljanih računalom. Od 1997. godine sastavni dio smotre su i natjecanja u vožnji robotskih kolica kroz labirint. U Zadru je 1997. godine u natjecanju vožnje robotskih kolica sudjelovalo šesnaest učenika, a već 1998. godine u Puli više nego dvostruko.
Na županijskim natjecanjima mladih tehničara 2004. godine sudjelovalo je već više od 300 mladih robotičara, što potvrđuje da se to područje vrlo brzo razvija i, što je još važnije, da je zanimanje učenika za robote i robotiku vrlo veliko. Za uspješno ostvarenje tog programa, osim osposobljenih nastavnika potrebna je i odgovarajuća materijalna osnova. Uz jedno ili više računala za nastavu robotike, kao što je već rečeno, preporučuje se uporaba slagalica ili konstruktorskih kutija. Prema dostupnim podacima sve osnovne škole raspolažu računalnom opremom. Za robotiku nisu potrebna zahtjevna multimedijalna računala, pa se mogu rabiti i računala koje u školama postoje, ali su izvan uporabe kao zastarjela. Pokazalo se da je teže s nabavom slagalica FIScHERTEcHNIK ili LEGO, namijenjenima za poučavanje robotike, koje su za naše prilike relativno skupe. Kao zamjena prije spomenutim slagalicama mogu poslužiti slagalice za igru, različiti modeli pokretani elektromotorima ili modeli izrađeni u školskoj radionici, što je znatno jeftinije. U tom slučaju problem se svodi na povezivanje modela s računalom, pa je razrađeno jednostavno sučelje koje može izraditi svaki nastavnik tehničke kulture ili malo spretniji učenik, a dovoljno je jednostavno da njegovo djelovanje mogu shvatiti učenici osnovne škole. Pri realizaciji ovoga programa, naročito u izbornom dijelu i u radu izvannastavnih i izvanškolskih tehničkih aktivnosti, osjeća se manjak prikladne literature. Na tom je području Izdavački odjel Hrvatske zajednice tehničke kulture obavio velik i veoma značajan posao. do sada je Izdavački odjel Hrvatske zajednice tehničke kulture objavio više priručnika o robotici, a časopis “ABc tehnike” redovito objavljuje članke o robotici. Za razvoj tog područja i poticanje mladih da se bave robotikom, naročito su korisni članci objavljeni u časopisu “ABc tehnike” koji obrađuju samogradnju robota i drugih sklopova koji se primjenjuju u robotici. Jedan od takvih tekstualnih priloga upravo je ovaj priručnik “Robotići ABc tehnike”, sastavljen od članaka koji su objavljeni u časopisu “ABc tehnike”.
7
Uvod U desetak brojeva časopisa “ABc tehnike” objavili smo seriju članaka o samogradnji malih robota, pod naslovom “Robotići ABc tehnike”. Članci iz te serije skupljeni su u ovom priručniku za izbornu nastavu robotike s namjerom da posluži kao literatura mladim robotičarima u klubovima mladih tehničara i u izvannastavnim tehničkim aktivnostima. Seriju smo počeli s opisom samogradnje maloga autonomnog robota. Osnovu toga robotića čini mikrokontrolerski modul s Atmelovim mikrokontrolerom AT89S8252. Taj smo mikrokontroler odabrali zato što se može programirati u sustavu, tj. u samome robotu, pa samograditeljima nije potreban poseban programator mikrokontrolera. Mikrokontroler se programira programskim jezikom BAScOM. Robot koji smo opisali ima senzore, koji mu omogućuju da prati crnu crtu na bijeloj podlozi, ili bijelu crtu na crnoj podlozi, traži najtamnije ili najsvjetlije mjesto u prostoriji, izbjegava predmete na koje naiđe itd. Robot je izrađen tako da omogućuje dogradnju prema želji samograditelja. Po želji čitatelja seriju smo nastavili s opisom samogradnje sklopova, kojima su robotići kabelom povezani s osobnim računalom, a programski jezik za programiranje robotića je QBASIc. Nastojali smo da u priručniku budu opisani što jednostavniji robotići, koje se mogu nadograđivati da obavljaju jednostavne, ali i vrlo složene zadaće. Taj zahtjev nije bio jednostavan. Ima tome više razloga. Takvi robotići mogu biti jednostavniji i složeniji. Jednostavniji mogu biti tako sastavljeni da idu samo naprijed i natrag. Malo složeniji mogu se kretati i lijevo-desno, mogu si upaliti i ugasiti svjetla. Još složeniji mogu pratiti crtu na podu ili na papiru, zaobilaziti
Sl.1.Robotići“ABCtehnike”
zapreke, skrivati se u tamu ili tražiti svjetlo i svašta još. Ali što je robot složeniji, to ga je teže sastaviti, treba više znati o konstruiranju robota, a ni cijena takvim složenim robotima nije mala. Čak i ovakvi relativno jednostavni robotići, koji mogu obavljati samo najjednostavnije zadaće, mogu imati vrlo različite cijene. A cijena baš i nije zanemariva. Naročito za učenike osnovne škole. Osim toga nije lako nabaviti ni potreban materijal. Zato smo odabrali takvu konstrukciju da cijena robotiću bude što niža i da se potreban materijal može nabaviti u našim trgovinama. Robotić što ćemo vam ga opisati tako je konstruiran da se može nadograđivati, pa će svaki mladi tehničar koji ga bude gradio moći pri gradnji ostvariti i svoje zamisli. Robotića ćemo graditi u četiri koraka. Prvo ćemo sagraditi donji postroj robotića ili robotska kolica. U drugom ćemo koraku izraditi mikrokontrolerski modul ili “mozak” našega robotića. U trećem ćemo koraku naučiti kako se programira mikrokontroler, odnosno kako možemo “naučiti” našega robotića što želimo da radi. To će biti vrlo jednostavni programi, kojima ćete naučiti osnove programiranja robota. Ostalo, pa i ono složenije, prepuštamo vašoj mašti, željama i znanju. U tom će koraku vaš robotić “znati” samo ići naprijed, natrag, lijevo ili desno. U četvrtom ćemo koraku robotiću dodavati različite dodatke kao što su osjetila ili senzori,
8
male žaruljice, zvučnik i slično. Tek će tada naš robotić “znati” i moći upaliti svjetla, davati zvučne signale, pratiti crtu na podu ili na papiru, izbjegavati zapreke, tražiti svjetlo ili se skrivati u tamu i svašta još. Iz ovog ćete priručnika naučiti samo osnove. Ostalo je prepušteno vama. Možda ćete pri izradi svojega robotića naići na teškoće u nabavi materijala ili u izradi pojedinih dijelova. Tu ćemo vam pokušati pomoći tako da zajednički organiziramo nabavu i izradu potrebnih dijelova. Ako u tome zajedničkom poslu uspijemo, vaši će robotići najvjerojatnije izgledati kao robotići prikazani na prvoj slici. Razlike će nastati ako sami odlučite konstruirati i izraditi donji postroj ili robotska kolica. To je u svakom pogledu poželjno. U tom slučaju morate sagraditi takav donji postroj koji će imati najmanje tri kotača i dva dc motora postavljena tako da jedan pokreće lijevi a drugi desni kotač. Treći kotač mora se moći okretati oko vertikalne osi, tako da može pratiti gibanje lijevog i desnoga kotača. Osim toga dimenzije vašeg donjeg postroja moraju biti takve da se na nj može učvrstiti pločica dimenzija 80x100 milimetara. To su naime dimenzije mikrokontrolerskog modula, koji čini “mozak” našega robotića. Poželjno je da se na donji postroj mogu učvrstiti različiti dodaci: osjetila ili senzori, mali zvučnik, svijetleće diode i slično. Zato na donjem postroju postavite nosače s rupicama, na koje ćete naknadno pričvrstiti sve one dodatke koje želite, kao što se to vidi na slikama 2.a i 2.b.
Sl.2.a
Sl.2.b
9
PRVIKORAK
Donjipostroj Sl. 4. Autić na baterijski pogon kakav također možete upotrijebitizaizradusvogarobotića
Prvi korak počinje posjetom trgovini dječjim igračkama. da. dobro ste pročitali. Pođite u trgovinu dječjim igračkama. To smo i mi učinili u potrazi za što jeftinijim i jednostavnijim donjim postrojem. Za jednostavan i jeftin donji postroj potrebna su vam dva jednaka autića na baterijski pogon. Mi smo uspjeli pronaći dva takva. Prikazani su na slikama 3. i 4. Autić na 3. slici nešto je manji i za njegovo pokretanje potrebne su dvije baterije od 1,5 V s oznakom A1. Autić na slici 4. nešto je veći od onoga na slici 3. i za njegovo pokretanje potrebne su tri baterije od 1,5 V s oznakom A1. Oba autića uvezena su iz daleke Kine. Svaki od autića pokreće po jedan elektromotor na istosmjernu struju i taj motor sustavom zupčanika pokreće sva četiri kotača. cijena onoga na slici 3. bila je 14 kuna, a onoga na slici 4. 27
kuna. Uspijete li u trgovini dječjim igračkama u mjestu gdje živite naći takve automobilčiće, donji postroj koštat će vas 28 kuna odnosno 54 kune. Ako želite izraditi robotića po našem uzoru, a takve autiće ne možete naći, mogu poslužiti i slični. Glavno je da imaju baterijski pogon na sva četiri kotača. Kad ste kupili dva takva jednaka autića, obavili ste najteži dio posla u ovom koraku. Slijedi malo rastavljanja i sastavljanja kod kuće, u školi ili u klubu mladih tehničara. Za ono što slijedi trebat će vam dva mala odvijača, jedan obični i jedan križni, jer su dijelovi takvih autića najvjerojatnije spojeni vijcima koji imaju tzv. križnu glavu. Osim odvijača trebat će vam još kombinirana kliješta, škare za lim, mjerilo, igla za crtanje, škripac, komad šipke kvadratnog profila približno 10x10 mm duljine oko 200 mm, drveni ili gumeni čekić. Osim toga trebat će vam komadić aluminijskog lima debljine oko pola milimetra ili malo više, dimenzija 60x100 mm, dva vijka M3 duljine 10 mm s maticama i podlošcima i desetak vijaka za lim dimenzija 2,4x15 milimetara. Okrenite autić naopako i potražite gdje su vijci kojima su spojeni donji i gornji dio autića (sl. 5.). Odvrnite vijke i odvojite gornji od donjeg dijela automobilčića (sl. 6.). Sada možete odvojiti gornji dio autića od donjega. Gornji dio autića više vam neće trebati. Trebat će vam samo donji. Žice, koje spajaju gornji i donji dio autića, elektromotor, prekidač
Sl.3.Autićnabaterijskipogonkakavsmomiodabraliza gradnjurobotića“ABCtehnike”
10
Sl. 5. S donje strane vašega autića vide se mjestagdjesuuvrnutivijcikojispajajudonji s gornjim dijelom autića
Skinite s vratila dva kotača, i to s one strane vratila koja je dalje od reduktora sa zupčanicima. Odvrnite i dva vijka kojima je reduktor pričvršćen na donji dio autića i izvadite reduktor s motorom i preostala dva kotača. Kad budete skidali kotače s vratila, dobro je šiljastim ili kombiniranim kliještima pridržati vratilo da ne biste slučajno slomili zupčanike u reduktoru ili skinuli onaj kotač uz reduktor (vidi sliku 9.).
Sl.6.Odvrniteodvijačemvijkes kojima su spojeni gornji i donji diovašegaautića
i priključke za baterije možete jednostavno presjeći (sl. 7.). Žaruljicu koja je ugrađena na gornjem dijelu autića spremite. Kasnije ćemo je možda negdje ugraditi. Slika9.Priskidanjukotačadobrojevratilopridržatikombiniranimkliještima
Mali prekidač, kakav se vidi na desnom dijelu slike, također spremite. Taj ćemo prekidač svakako trebati.
Sl.7.Odvojenigornjiidonjidioautića.Žicesejednostavnopresijeku.
Slika 10. Odvojeni kotači s vašega autića više vam neće trebati.Možeteihspremitizanekedrugeprojekte.
Nakon što ste skinuli dva kotača s vratila, odvrnite dva vijka, kojima je reduktorska kutija pričvršćena na donji dio autića. Pazite, vijke nemojte izgubiti. Njima ćemo ponovno pričvrstiti reduktorsku kutiju na isto mjesto. Reduktorska kutija, odvojena od donjeg dijela autića vidi se na slici 12. Vratila s kojih ste skinuli kotače skratite tako da kombiniranim kliješ-
Sl.8.Donjidioautića.Trebatćevamdvatakva.
11
Sl. 11. Oslobodite reduktorsku kutiju s elektromotorom, zupčanicimaikotačimatakodaodvrnetedvavijka
Sl.14.Zavašrobotić“ABCtehnike”trebatćetedvijereduktorskekutijespripadnimmotorimaikotačima
Sl. 12. Kliještima za sječenje ili kombiniranim kliještima skratitevratilatakodavireoko10mmizreduktorskekutije
Sl.15.Donjidijelovidvajuautićaokrenutisuitakoihtrebaspojiti
Okrenite sada donje dijelove obaju rastavljenih autića tako da prostori za reduktore na svakoj kutiji budu s vanjske strane, kao što se to vidi na 15. slici. Oba dijela spojite vijcima M3 tako da čine cjelinu, kao što se vidi na 16. slici. Ne morate ništa bušiti. Iskoristite provrte za vratila. dobro je pri spajanju vijcima upotrijebiti podložne pločice. Time će spoj biti pouzdaniji. Pri spajanju budite pažljivi tako da vam gornji dio jedne
Sl.13.Reduktorskakutijasaskraćenimvratilimakakose vidisdonjestrane
tima ili kliještima za sječenje jednostavno odsiječete višak. Vratila presijecite tako da njihovi krajevi vire oko 10 mm iz reduktorske kutije. To učinite i s drugim autićem, pa ćete dobiti dva motora, dva reduktora, kao što se vidi na slici 14. Reduktore ćete vijcima učvrstiti na isto mjesto odakle ste ih skinuli, nakon što dva donja dijela autića spojite u jedan.
Sl.16.DonjedijeloveautićatrebaspojitivijcimaM3kako sevidinaslici
12
je su profila približno 10x10x10 milimetara. duljinu profila odredite prema širini donjeg postroja svojega budućeg robotića. Za naš robotić taj je profil bio dugačak 96 mm (sl. 19. i 20.).
Sl. 17. Pogonske dijelove automobilčića treba učvrstiti opetnamjestogdjesubili
Sl.19.i20.Aluminijskiprofilikojislužezapričvršćivanje mikrokontrolerskog modula i drugih dodataka na donji postrojrobotića“ABCtehnike”
i druge kutije, nakon što ih spojite, bude u istoj ravnini. Učvrstite jedan pa potom drugi reduktor na mjesta gdje su bili učvršćeni. Za spajanje upotrijebite one iste vijke kojima su reduktori bili učvršćeni u autiću. I, evo donji je postroj vašega robotića gotov. Trebao bi izgledati kako se vidi na slici 18.
Na svakoj plohi profila probušite rupe promjera 2 milimetra. S donje strane razmak rupa mora odgovarati razmaku rupa na donjem postroju kroz koje su vijcima bili spojeni gornji i donji dio autića. S gornje strane probušite dvije po dvije rupe promjera 2 mm koje su međusobno razmaknute 70 mm, a s prednje strane probušite više rupa također promjera 2 milimetra. Te će vam rupe služiti da s prednje ili sa stražnje strane pričvrstite različite druge dijelove vašega robotića. dobro je da razmak među tim rupama bude 5 ili 10 ili 15 mm te da su simetrično raspoređene od sredine profila. Okrenite sada naopako donji postroj robotića i postavite ga na pripremljene aluminijske profile. Kroz rupe na donjem postroju provucite vijke za lim promjera 2,4 mm duljine 15 mm, odvijačem uvrnite vijke u aluminijski profil. Svaki će vijak uvrtanjem napraviti navoj u aluminijskom limu, pa ćete pri prvom uvrtanju osjetiti otpor (sl. 21. i 22.). Kad ste na donji postroj učvrstili oba aluminijska profila, postavite donji postroj na kotače i
Sl.18.Donjipostrojilirobotskakolicarobotića“ABCtehnike”
Na donji postroj ili robotska kolica u drugom ćemo koraku učvrstiti mikrokontrolerski modul. Osim toga na donji ćemo postroj učvrstiti različita osjetila, na primjer osjetilo dodira, osjetilo svjetla. I sve druge dijelove učvrstit ćemo na donji postroj. To mogu biti različite žaruljice, mali zvučnik, robotska ruka s prihvatnicom itd. Za pričvršćivanje različitih dijelova na donji postroj izradite ćemo dva U-profila od aluminijskog lima debljine oko 0,5 milimetara. dimenzi-
Sl.21.
13
Sl.22.
na lemne ušice elektromotora zalemite krajeve tanke mekane izolirane žice dugačke oko 20 centimetara. dobro je da su te žice u boji, pa je najbolje rabiti žice od plosnatoga voda, poznatog još pod nazivom “flat kabel”. Od “flat kabela” odvojite dvije žice, jednu crvenu i jednu smeđu, duljine također oko 20 centimetara. Te su žice obično jedna do druge. Krajeve tih žica zalemite na priključke baterije, kako se vidi na slici 23. crvenu žicu zalemite na pluspriključak baterije, a smeđu na minus. Na našoj slici plus-priključak je s lijeve, a minus s desne strane.
Raspored priključaka možete provjeriti tako da okrenete donji postroj i otvorite poklopac kutije za baterije. U toj su kutiji označeni polovi baterija i način kako se one postavljaju.
Sl.24.Ukutijizabaterijevidiserasporedpriključakaipoložajukojemmorajubitibaterije
Sl.23.Žiceod“flatkabela”zalemitenalemneušiceelektromotorainapriključkebaterije
Upozoravamo da je na autićima koji u kutiji imaju po tri baterije napon napajanja elektromotora 4,5 V. Ako vaši autići imaju u kutiji po dvije baterije, dobro je crvenu žicu zalemiti na plus-priključak u jednoj kutiji autića, a smeđu na minus-priključak u drugoj. Minus-priključak iz prve kutije spojite na plus-priključak druge komadićem žice duljine oko 10 cm. Time ćete dobiti napajanje motora naponom od 6 V. U protivnom vaš bi se robotić mogao kretati suviše sporo, jer je zbrojeni napon dviju baterija samo 3 V.
Sl.25.Gotovdonjipostrojrobotića“ABCtehnike”
Time je naš donji postroj gotov i trebao bi izgledati kao na slici 25. Sada nas čeka nešto teži, drugi korak: izrada mikrokontrolerskog modula.
14
15
Sl.26.Shemamikrokontrolerskogmodula
strujni krug za pogon elektromotora. Izvor struje za pogon elektromotora priključuje se na konektor SL2, a uključuje se i isključuje prekidačem S2. Strujni krugovi mikrokontrolera i elektromotora odvojeni su zbog mogućih smetnji koje bi elektromotori u radu mogli uzrokovati radu mikrokontrolera. Više o radu i funkcioniranju mikrokontrolera možete naučiti u člancima “Igrajmo se mikrokontrolerima” autora Vladimira Mitrovića u časopisu “ABc tehnike”, brojevi 457 do 466, kao i u knjizi “Programiranje mikrokontrolera programskim jezikom BAScOM” istog autora.
Drugikorak
Mikrokontrolerski modul Mikrokontrolerski modul smješten je na tiskanoj pločici dimenzija 80x100 milimetara. Na slici 26. prikazana je shema našeg modula. Sastoji se od četiri dijela. Prvi dio (na shemi lijevo gore) čini izvor struje G1 i stabilizator napona Ic1, koji služi za napajanje strujom mikrokontrolera i integriranih krugova. Izvor struje je baterija napona 9 V, a kao stabilizator napona upotrijebljen je integrirani krug 7805. U tom sklopu još su kondenzator c1, svijetleća dioda d1, otpornik R1 i prekidač S1. Svijetleća dioda služi kao signal da je prekidač uključen. drugi dio (na shemi lijevo dolje) čini programator mikrokontrolera. To je integrirani krug Ic3 (74HcT126N). Za spajanje programatora s računalom služi petožilni kabel koji se jednim krajem spaja na konektor SV1 na tiskanoj pločici, a s drugim krajem na priključak za pisač elektroničkog računala. Treći dio (na shemi u sredini) čini mikrokontroler AT89S8252-24P (24 MHz, 8K Flash) te kristal Q1 koji zajedno s kondenzatorima c2 i c3 određuje takt rada mikrokontrolera. Elektrolitski kondenzator i otpornik R2 dopunjuju taj dio sklopa, a služe da, pri ukopčavanju, program upisan u mikrokontroler uvijek počne s radom od početka. Četvrti dio (na shemi desno) sklop je koji služi za pogon elektromotora, tzv. driver. To je neka vrsta pojačala, koja relativno slabu struju na priključcima mikrokontrolera pojačava u dovoljno jaku za pokretanje elektromotora. Otpornici R4 i R5 dopunjavaju driver. dioda d2 u sklopu s otpornikom R3 služi kao signal da je uključen
Izradatiskanepločice Materijalipriborkojićevamtrebatizaizradutiskanepločice: 1. pločica prevučena bakrom (vitroplast ili bakropert) s fotoosjetljivim slojem, 80x100 mm 2. folija s otisnutim vodovima 3. zasjenjena električna svjetiljka s mliječnom žaruljom od 100 W 4. ploča od pleksi-stakla dimenzija približno 100x150 mm 5. natrijev hidroksid (NaOH) 7 grama 6. željezni klorid (Fecl3), otopina 250 - 500 ml (može i solna kiselina, vidi dalje u tekstu) 7. plastična kadica za fotoradove dimenzija približno 10x20x5 cm 8. plastična štipaljka 9. modelarska bušilica sa svrdlom promjera 0,8 ili 1 mm Strojem za fotokopiranje prenesite nacrt tiskanih vodova na prozirnu foliju, poznatu kao folija za grafoskop. Pazite! Folija mora biti otporna na toplinu. Nacrt tiskanih vodova u mjerilu 1:1 prikazan je na slikama 30. i 31. Pod prigušenim svjetlom skinite zaštitnu foliju s pločice vitroplasta i postavite ju na stol tako da je površina prevučena bakrom okrenuta prema gore. Na tu pločicu stavite foliju s preslikanim tiskanim vodovima i preko nje postavite ploču od pleksi-stakla. Možete upotrijebiti i prozirni poklopac kutije za cd. S nekoliko utega opteretite prozirnu ploču tako da folija s vodovima bude dobro priljubljena uz bakrenu površinu pločice vitroplasta.
16
Lemljenjeelemenatanatiskanupločicu
Svjetiljku s mliječnom žaruljom postavite iznad ovako priređenog “sendviča” na visinu od 30 centimetara. Upalite svjetiljku i čekajte jedan sat. U međuvremenu pripremite razvijač, tako da u jednoj litri hladne vode otopite 7 grama natrijeva hidroksida. U plastičnu kadicu ulijte tako pripremljenu otopinu do visine 1 do 2 centimetra. Nakon jednog sata osvjetljavanja ugasite svjetiljku i plastičnom štipaljkom potopite pločicu vitroplasta u otopinu natrijeva hidroksida. Lagano njišite posudu tako da se razvijač giba u posudi. Za jednu do dvije minute pojavit će se na bakrenoj površini slika tiskanih vodova. Nakon što se pojavi jasna slika vodova izvadite plastičnom štipaljkom pločicu i dobro ju isperite u tekućoj vodi. Upotrijebljeni razvijač bacite. Jetkanjepločicekaširanebakrom. U plastičnu posudu ulijte oko 250 ml otopine željeznoga klorida. U otopinu željeznoga klorida potopite pločicu tako da je strana prekrivena bakrom okrenuta prema dolje. Jetkanje traje od nekoliko minuta do pol sata, što ovisi o temperaturi, koncentraciji i istrošenosti otopine željeznoga klorida. Zato treba povremeno plastičnom štipaljkom izvaditi pločicu i provjeriti koliko je jetkanje napredovalo. Kada je potpuno nestao bakar na mjestima gdje nisu vodovi, jetkanje je završeno pa pločicu treba izvaditi iz otopine željeznoga klorida i dobro isprati tekućom vodom. Oprez!Otopina željeznoga klorida vrlo je agresivna, pa njome treba raditi vrlo oprezno. Umjesto otopine željeznoga klorida možete upotrijebiti mješavinu solne kiseline (Hcl) i superoksida (H2O2), tako da 200 ml 35-postotne solne kiseline pomiješate s 30 ml 30-postotnog superoksida i oko 700 ml vode. Tom otopinom treba raditi u dobro provjetravanoj prostoriji. Vrijeme jetkanja ovisi o temperaturi i istrošenosti otopine. Bušenje rupica na pločici. Modelarskom ili drugom bušilicom probušite u sredini svakog lemnog mjesta rupicu promjera 0,8 ili 1 mm, finim brusnim papirom skinite sloj laka koji je zaostao na bakrenim vodovima i vaša je pločica pripremljena za montažu i lemljenje elemenata. dobro je da vam pri jetkanju i izradi pločice pomogne netko tko ima iskustva da ne biste nepotrebno eksperimentirali.
Alatipriborkojićevamtrebati: 1. lemilo 15 do 20 W 2. žica za lemljenje (tinol), promjera 0,5 do 1 mm, duljine oko 1,5 m 3. pinceta 4. džepni nožić 5. kliješta za sječenje 6. odvijač Pripremaelemenata. Otpornike treba pripremiti kako je prikazano na slici 27. a). Spojne žice otpornika svinite pincetom tako da razmak žica odgovara razmaku rupica na tiskanoj pločici. U našem slučaju to je 10 milimetara. Od gole bakrene žice promjera oko 0,5 mm izradite dva kratkospojnika, kako je prikazano na slici 27. b)
10 mm
a)
12,5 mm
6 mm
b)
Sl.27.Pripremazalemljenje:a)otpornikaib)kratkospojnika
Od dIL-letvice odrežite nožićem komadić s dvije iglice kako se vidi na slici 28. a). To će biti kontakti za napajanje izlaznog dijela za pogon SL3
SV1
a)
b)
Sl.28.Konektorizaspajanjenatiskanojpločici:a)konektorzanapajanjeelektromotoraib)konektorpriključnogakabelazaspajanjesračunalom
17
elektromotora SL3. Trebat će vam još dva takva komada, koja ćete zalemiti na krajeve spojnih žica s elektromotorima. (Vidi sl. 34.b). Od iste letvice odsijecite kraću letvicu s pet iglica, kako se vidi na slici 28.b). To će biti konektor na pločici za priključivanje spojnoga kabela prema računalu, SV1.
a)
c)
tri komada s osam kontakata (SV3, SV4 i SV5). Jedan od tri ženska konektora s dva priključka zalemit ćete na kraj kabela koji je spojen na izvor napajanja u donjem postroju našega robotića (vidi sl. 34. a). Od dvoredne dIL-letvice otpilite, malom pilicom, dva komada sa po 16 kontakata (vidi sliku 29. d). To će biti konektori K1 i K2. Umjesto dvoredne letvice možete upotrijebiti jednorednu. Tada su vam, umjesto dva komada, potrebna četiri.
Lemljenje
b)
Elementi se na pločicu leme prema rasporedu na slici 32., i to tako da se prvo zaleme najniži elementi, pa malo viši i tako redom. dobro je lemiti ovim redom: kratkospojnici J1 i J2, otpornici, podnožja za integrirane krugove i mikrokontroler, konektori K1, K2, SV2, SV3, SV4, SV5, SL1, SL2, SL3, SV1, svjetleće diode, kondenzatori i Ic1. Pazite! Podnožja za integrirane krugove, Ic1 i svjetleće diode (LEd) moraju biti okrenuti točno onako kako je to na rasporedu elemenata naznačeno. Isto tako pazite da polarnost elektrolitskoga kondenzatora odgovara polarnosti naz-
d)
Sl.29.Konektorizaspajanjenatiskanojpločici:a)konektorizaelektromotore,b)konektorSV2,c)konektoriSV3, SV4,SV5id)konektoriK1iK2
Od druge dIL-letvice s rupicama, tzv. ženske, otpilite malom pilicom: tri komada s dva kontakta (SL1 i SL2), dva komada s pet kontakata (SV), Rasporedvodovaispojnihtočakanatiskanojpločici
Sl.30.Tiskanapločica-stranavodova
18
Rasporedvodovaispojnihtočakanatiskanojpločici
Sl.31.Tiskanapločica-stranaelemenata
Sl.32.Tiskanapločica-rasporedelemenata
19
R2 = 22 kW R4 = R5 = 2,2 kW c1 = 0,1 µF c2 = c3 = 33 pF c4 = 10 µF Q1 = kristal (kvarc) 12 MHz SL1 = SL2 = dvoploni konektor ženski SV1 = petopolni konektor muški jednoredni SV2 = petopolni konektor ženski jednoredni SV3 = SV4 = SV5 = osmopolni konektor ženski jednoredni K1 = K2 = šesnaestopolni konektor ženski dvoredni S1 = S2 = prekidač tropolni G1 = konektor za 9 V bateriju Tiskana pločica
Sl.33.Gotovmikrokontrolerskimodul a)
b)
Kad ste zalemili sve elemente na tiskanu pločicu, provjerite sva lemna mjesta da slučajno pri lemljenju niste negdje napravili kratki spoj. Priključite bateriju i uključite prekidač. Svjetleća dioda morala bi zasvijetliti. Isto tako priključite bateriju za napajanje elektromotora i uključite prekidač. druga svjetleća dioda morala bi svijetliti. Ako na pločici niste uočili kratki spoj i ako obadvije diode svijetle, najvjerojatnije niste nigdje napravili pogrešku. Isključite napajanje i u podnožja usadite integrirane krugove i mikrokontroler. Pritom pazite na orijentaciju integriranih krugova i mikrokontrolera.
Sl.34.Konektoriskabelima:a)zaspajanjesizvoromstruje,b)zaspajanjeselektromotorom
načenoj na shemi, odnosno rasporedu elemenata na pločici. Kliještima za sječenje odsijecite višak žica od zalemljenih elemenata koji vire s donje strane pločice. Preostale rupice, koje su samo naznačene kao konektori, ostavite slobodnima. Tu ćete zalemiti elemente za različite priključke, koje ćete kasnije po svojoj želji dograditi mikrokontrolerskom modulu. Konektore koji se leme na krajeve kabelâ dobro je prije toga zalemiti na male pločice vitroplasta. Od komada eksperimentalne pločice vitroplasta s rupicama odrežite pilicom male pločice sa 2x3 rupice za dvopolne konektore i 5x3 rupice za petopolni konektor. Vidi slike 34. i 36. b).
Kabelzaspajanjemikrokontrolerskog modulasračunalom Za vrijeme programiranja mikrokontrolera elektroničkim računalom programator na mikrokontrolerskom modulu spaja se petožilnim
Popisdijelova Ic1 = 7805 Ic2 = AT89S8252-24P (24 MHz, 8K Flash) Ic3 = 74HcT126N Ic4 = Ic5 = L 272 d1 = d2 = LEd (3 mm) R1 = R3 = 1 kW
Sl. 35. Kabel za spajanje mikrokontrolerskog modula s elektroničkim računalom za vrijeme programiranja mikrokontrolera
20
SV1 1 2 3 4 5
Priklju ak za pisa (1) (11) (14) (17) (GND)
b)
a)
Sl.36.Kabelikonektorzaspajanjenamikrokontrolerski modul: a) raspored priključaka na konektoru SV1, b) izgledzalemljenogakonektora a)
b)
13
1
25
Sl.40.Gotovrobotić“ABCtehnike”sbaterijomipriključenimkabelomzaspajanjesračunalomzavrijemeprogramiranjamikrokontrolera
14
Sl.37.Konektorzaprinterport25 pinskimuški:a)rasporednožicakonektora za printerski port gledano sa strane vodova, b) izgled konektorasazalemljenimvodovima
a)
kabelom duljine 1 do 1,5 metra. S jedne strane kabel završava s petopolnim ženskim konektorom, a s druge strane 25-polnim muškim konektorom. Vidi sliku 35. dobro je da je taj kabel oklopljen zbog mogućih smetnji za vrijeme programiranja. dovoljno je žice kabela omotati aluminijskom folijom, koja ne mora biti spojena na masu. Raspored priključaka na jednom i drugom konektoru prikazan je na slici 36. a) i 37. a), a izgled tih konektora vidi se na slikama 36. b) i 37. b). Nakon što zalemite žice, konektor za printerski priključak treba zatvoriti u plastičnu ovojnicu, a petopolni konektor dobro je omotati s malo vrpce za izoliranje. Vidi slike 36. b) i slike 38. a) i 38. b). Gotovu pločicu pričvrstite na donji postroj s četiri vijka za lim. Između pločice i nosača umetnite podloške debljine oko 5 mm, tako da dobijete razmak između aluminijskih nosača i pločice. Podloške možete izraditi od komadića bilo kakva izolacijskog materijala ili ih možete odrezati od aluminijske ili plastične cijevi unutarnjeg promjera 3 do 5 milimetara. Od komada aluminijskog lima izradite držač za bateriju prema slici 39. držač za bateriju učvrstite vijcima za lim na aluminijski nosač donjeg postroja. Iza nas je najteži dio posla. Naš sljedeći korak je programiranje robota “ABc tehnike” i onda zadnji korak - dodavanje senzora.
b)
Sl.38.Konektorzaprinterskiporttrebazaštititiplastičnomovojnicom
Sl.39.Donjipostrojrobotića“ABCtehnike”sučvršćenim mikrokontrolerskimmodulomidržačemzabateriju
21
Spojite kabelom svoj robotić s priključkom za pisač elektroničkog računala. Umetnite baterije na predviđena mjesta. Prekidače namjestite na isključeno. Bolje je ne trošiti baterije nepotrebno. Pokrenite BAScOM i na traci s izbornicima odaberite File>New. Nakon što ste otvorili prozor za programiranje i povećali ga, kliknite mišem na Options na traci s izbornicima. Otvorit će vam se izbornik kao na slici 41.
TrEĆi korak
Programiranje Programiranje našega robotića svakako je lakši, manje kompliciran i zanimljiviji dio posla. U ovom koraku trebat će nam, osim našega robotića, programski jezik BAScOM. I elektroničko računalo, naravno. do programskog jezika BAScOM možete doći na najmanje dva načina. Preporučujemo da nabavite knjigu Vladimira Mitrovića: Programiranje mikrokontrolera programskim jezikom BASCOM. To je ne samo izvrsna knjiga za učenje programiranja u tom programskom jeziku, već uz knjigu dobivate i cd s dEMO inačicom toga programskog jezika. dEMO inačica je besplatna, ali ima malo ograničenje. Vaš program ne smije biti dulji od 2 KB. Takva je duljina programa za naše početne korake više nego dovoljna. U knjizi, osim uputa o programiranju, možete naći i sheme različitih uređaja kojima su osnova mikrokontroleri. Knjiga se može kupiti na više mjesta. Evo nekih:
Sl.41.UizbornikuOptionskliknitenaProgrammer
Od ponuđenih opcija odaberite Programmer, a od ponuđenih programatora odaberite McS SPI programmer (sl. 42.).
Čakovec: A/DElectronic, Ul. bana Jelačića 2-4, 040/396 606 Varaždin: A/DElectronic, Ul. Ante Starčevića 23, 042/233 027 Zagreb: Z-elCHIPOTEKA, Trg J. F. Kennedyja 6, 01/2338 844 Elmatis, Zelinska 2, 01/6171 727 Sl. 42. Od ponuđenih programatora izaberite MCS SPI programmer
drugi je način da sami skinete program s interneta. dEMO inačica programa može se besplatno skinuti s web stranica proizvođača: www.mcselec.com Na toj adresi uvijek možete skinuti najnoviju inačicu programa i obnoviti svoju prijašnju.
Naravnajte postavke programatora kako je prikazano na slici 43. Najvjerojatnije ništa nećete trebati mijenjati i posebno naravnavati. Naravno, ako niste prije toga radili nekim drugim programatorom mikrokontrolera.
22
Program
dovoljno je samo jednom izabrati programator, uskladiti postavke programatora, jer program pamti ono što ste uskladili. Samo iznimno, možda će trebati promijeniti LPT adresu i Port delay, što ovisi o vašem računalu. Za brža računala Port delay može biti veći od 10, a za sporija manji od 10. Pokazalo se da na većini vrlo različitih računala taj broj ne treba mijenjati.
‘ ABc_01 ’ do
‘ početak dO ... LOOP petlje Wait 1 ‘ čeka jednu sekundu Gosub Naprijed ‘ skok na potprogram Naprijed Wait 2 ‘ čeka dvije sekunde (robotić vozi naprijed dvije sekunde) Gosub Stoj ‘ skok na potprogram Stoj Wait 1 ‘ čeka jednu sekundu (robotić stoji jednu sekundu) Gosub Okret_lijevo ‘ skok na potprogram Okret_lijevo Wait 1 ‘ čeka jednu sekundu (robotić se okreće ulijevo jednu sekundu) Gosub Stoj ‘ skok na potprogram Stoj Wait 1 ‘ čeka jednu sekundu (robotić stoji jednu sekundu) Gosub Okret_desno ‘ skok na potprogram Okret_desno Wait 1 ‘ čeka jednu sekundu (robotić se okreće udesno jednu sekundu) Gosub Stoj ‘ skok na potprogram Stoj Wait 1 ‘ čeka jednu sekundu (robotić stoji jednu sekundu) Gosub Natrag ‘ skok na potprogram Natrag Wait 2 ‘ čeka dvije sekunde (robotić vozi unatrag dvije sekunde) Gosub Stoj ‘ skok na potprogram Stoj Wait 1 ‘ čeka jednu sekundu (robotić stoji jednu sekundu) Loop ‘ završetak dO ... LOOP petlje (natrag na početak)
Sl.43.Postavkeprogramatora
U editor BAScOM-a upišite svoj prvi program onako kako je dalje napisano. Što radi taj program? Nakon uključivanja ili reseta program čeka jednu sekundu. Potom se uključuju motori i robot vozi naprijed dvije sekunde, zatim čeka jednu sekundu, okreće se ulijevo jednu sekundu, stoji jednu sekundu, pa se okreće udesno jednu sekundu i na kraju vozi unatrag dvije sekunde. Nakon toga sve se ponavlja tako dugo dok prekidačem ne isključite napajanje. Kad ste upisali program, spremite ga na disk tako da u izborniku File odaberete Save As, upišete naziv programa i kliknete na OK (sl. 44.).
Sl.44.
23
‘ End ‘ kraj programa ‘ Naprijed: P2.7 = 1 ‘ desni motor naprijed P2.6 = 0 P2.5 = 0 ‘ lijevi motor naprijed P2.4 = 1 Return ‘ ‘ Okret_lijevo: P2.7 = 1 ‘ desni motor naprijed P2.6 = 0 P2.5 = 1 ‘ lijevi motor natrag P2.4 = 0 Return ‘ Okret_desno: P2.7 = 0 ‘ desni motor natrag P2.6 = 1 P2.5 = 0 ‘ lijevi motor naprijed P2.4 = 1 Return ‘ Natrag: P2.7 = 0 ‘ desni motor natrag P2.6 = 1 P2.5 = 1 ‘ lijevi motor natrag P2.4 = 0 Return ‘ Stoj: P2.7 = 1 ‘ desni motor stoji P2.6 = 1 P2.5 = 1 ‘ lijevi motor stoji P2.4 = 1 Return ‘ dobro je prije nego što pokrenete program postaviti robotića na nekakvo postolje, tako da kotači ne dodiruju površinu stola. Prve ćemo pokuse izvesti uzdignutim kotačima da naš robotić ne bi trčao kamo ne treba, ako ste slučajno nešto pogriješili. Uključite prekidač baterije 9 V za napajanje mikrokontrolera. Na vrpci s izbornicima odaberite Progam i kliknite mišem na compile (sl. 45.). Nakon neko-
Sl.45.
Sl.46.
liko sekundi program će dojaviti da je programiranje završeno. Ako je u programu bilo pogrešaka, BAScOM će vas upozoriti na njih. Ako nije bilo pogrešaka, BAScOM će dojaviti da je sve u redu. U istom izborniku kliknite na Send to chip (sl. 46.). BAScOM će vam tada ponuditi dva mikrokontrolera na izbor AT89S8252 i AT89S53. Obično je već ponuđen prvi. Tada ništa ne treba mijenjati (vidi sl. 47.).
Sl.47.
U istom izborniku kliknite na Write i potom na code (sl. 48.). desni pravokutnik dolje polako će se puniti plavom bojom. Potpuno ispunjen pravokutnik pokazuje da je program uspješno prenesen iz računala u mikrokontroler. Uključite sada prekidač za napajanje elektromotora i pričekajte malo. Motori bi trebali pokretati kotače kako je programirano.
Sl.48.UizbornikuWritetrebakliknutinaCode
da biste pokrenuli program od početka, kliknite na chip i potom u izborniku Reset (sl. 49.). Provjerite radi li vaš program ispravno. Može se
24
dogoditi da se kotači okreću suprotnim smjerom od programiranoga. Tada jednostavno isključite konektor onog elektromotora koji se okreće onako kako ne želite i zaokrenite konektor tako da budu zamijenjeni polovi konektora. Tada bi sve trebalo raditi ispravno. Pokušajte sada mijenjati svoj program tako da prvo mijenjate vrijeme kada motori rade i vrijeme kada motori stoje. Svaki put pokrenite program na isti način. dobro je za vrijeme pisanja programa isključiti napajanje elektromotora i mikrokontrolera. Potom pokušajte mijenjati redoslijed radnji i najzad sami smislite kako će se kretati robotić.
Kad ste zadovoljni napisanim programom, isključite kabel koji spaja robotića s računalom i pustite da robot trči onako kako ste ga programirali.
Sl.49.
NekeodnaredbiprogramskogjezikaBASCOMkojećevamčešćetrebati Naredba Do
…… Lopp
Značenje Programska petlja. Izvršava se dok se ne prekine izvršenje programa, ili dok nije ispunjen zadani uvjet.
End
Kraj programa
For var = start To end …… Next var
For – Next petlja. Ponavlja se od vrijednosti varijable var = start do vrijdenosti varijable var = end pri čemu se povećava vrijednost varijable var, obično za jednicu.
Gosub potprogram
Poziva potprogram pod nazivom potprogram
Goto ime
Skok iz programa na oznaku ime
If izraz Then …… End If
Uvjetno izvršavanje naredbe ako je ispunjen uvjet izraz
Px.y = 0
Postavlja priključak y, vrata x na logičku ništicu
Px.y = 1
Postavlja priključak y, vrata x na logičku jedinicu
Return
Povratak iz potprograma
Set bit Reset bit
Postavlja/ briše priključak bit kao ulazni. Na primjer: Set P1.3 ili Set P3.7
Set port Reset port
Postavlja/briše vrata port kao ulazna. Vrata mogu biti P1, P2, P3 i P4.
Sound pin, trajanje, frekvencija
Generiranje jednostavnog tona na izlazu pin u vremenu trajanje i učestalosti frekvencija
Stop
Zaustavlja izvršavanje programa
Wait vrijeme
Kašnjenje izvršenja programa za vrijeme sekundi
Waitms vrijeme
Kašnjenje izvršenja programa za vrijeme milisekundi
While uvjet …… Wend
Petlja koja se izvršava sve dok je uvjet ispunjen.
25
ČETVrTi korak
Senzori
Sl.50.Robotić“ABCtehnike”sticalima
Pri kraju smo našeg opisa samogradnje maloga robota. Preostao nam je još zadnji, četvrti korak. Našemu robotiću “ABc tehnike” dodat ćemo senzore, tako da može izbjegavati zapreke koje dodirne i pratiti crnu crtu na bijeloj podlozi ili bijelu crtu na crnoj podlozi. Našemu ćemo robotiću dodati ticala i “oči”, tj. fotosenzore. Različite druge senzore morat ćete smisliti sami. Naravno, mi ćemo vam u tome pomoći ako nam pišete što želite dodati svojem robotiću, a ne znate riješiti sami.
Mi smo za pokusni (probni) primjerak upotrijebili tzv. žicu za tambure. Takva se žica može kupiti u prodavaonici potrepština za glazbala. Žica ima oznaku debljine 4. 25-30 cm
Sl. 51. Dva komada čelične žice priredite kako je na slici prikazano.Unutarnjipromjerokanakrajužicanekabude 3mm.
Ticala
Od komada pločice vitroplasta s rupicama odrežite komadić širine približno 15 do 20 mm, duljine oko 100 milimetara. duljina pločice ovisi o širini vašega robota. Ako je robot širi, bit će i duljina pločice veća. Na toj pločici, s prednje strane, probušite dvije rupe promjera 3 mm, razmaka 15 do 25 milimetara. Sa stražnje strane probušite također dvije rupe promjera 3 mm, ali razmak odredite prema dimenzijama svoga robota. Za orijentaciju neka vam posluži slika 52.
Evo kako možete izraditi ticala. Od više različitih mogućnosti, ovo nam se čini najjednostavnijim i dovoljno pouzdanim da naš robotić pokuša zaobići zapreku na koju je naišao i koju je ticalom dodirnuo. Predvidjeli smo dva ticala, lijevo i desno. Tako će robot znati kamo da skrene. Ako zapreku dodirne lijevim ticalom, robot će skrenuti udesno, a ako zapreku dodirne desnim ticalom skrenut će ulijevo. Robot s ticalima prikazan je na slici 50. Ticala su izrađena od čelične žice promjera približno 0,5 mm i savijena su kako se to vidi na slici, da robot s ticalima ne bi negdje zapeo. Takva ticala možete jednostavno izraditi. Priredite dva komada čelične žice promjera oko 0,5 mm, duljine po 25 do 30 centimetara. Na krajevima savinite žice da dobijete oka promjera oko 3 milimetra (vidi sl. 51.).
90
20
60
25
Sl.52.Pločicavitroplastazaučvršćivanjeticala
26
Na krajeve te pločice zalemite po dva kontakta od stripa za konektore, kako se to vidi na slici 50. Svinite čeličnu žicu da dobijete petlje kao na slici 50. i učvrstite ih na pločicu vijcima M3, tako da prolaze između kontakata na krajevima pločice. POZOR! Žice ne smiju dodirivati stražnje nego samo prednje kontakte. Prednji kontakti služe samo kao graničnik. Od savitljive izolirane žice (licne) odrežite tri komada duga oko 25 centimetara. Komadić žice zalemite na pločicu tako da njome spojite oba vijka koji drže petlje od čelične žice. Na taj spoj zalemite jednu od one tri žice. To će biti zajednički kontakt na masu odnosno na minus-pol. Svaku od preostale dvije žice zalemite na po jedan kontakt na krajevima pločice. POZOR! Te žice treba zalemiti na stražnje kontakte, tj. na one bliže robotu.
Sl.53.Shemaspajanjaticala
Na slobodne krajeve svih triju žica zalemite po komadić krute bakrene žice promjera oko 0,6 mm, duljine oko 15 milimetara. Te krajeve utaknut ćete u odgovarajuće rupice na konektorima K1 i SV2. Od aluminijskog lima debljine oko 0,7 mm odrežite dvije trake širine 10 mm i na jednom kraju svaku traku svinite pod pravim kutom, i to 5 do
Sl.54.Rasporedpriključakanamikrokontroleruielemenatanatiskanojpločici
27
10 milimetara. duljinu odredite prema visini svoga robota, tako da tim trakama možete pričvrstiti pločicu na prednji aluminijski nosač robota. Pločicu pričvrstite na trake sa dva vijka za lim i takvim vijcima pričvrstite trake na prednji nosač robota. Za orijentaciju, pločica bi trebala biti približno 10 mm od tla. Načelna shema spajanja ticala prikazana je na slici 53. Jedan kontakt spaja se s minus-polom, a drugi s odabranim ulaznim pinom mikrokontrolera. U našem slučaju srednju žicu, onu koja je spojena na vijke, utaknite u jednu od rupica na konektoru K1 koja je spojena s minus-polom, žicu s desnoga kontakta utaknite u rupicu 5 konektora SV2, a žicu s lijevoga kontakta u rupicu 4 konektora SV2. Ti kontakti na konektoru SV2 odgovaraju pinovima P1.0 i P1.1 mikrokontrolera. Raspored kontakata i pinova mikrokontrolera prikazan je na slici 54. i naznačen je u daljnjem tekstu.
Priključcizaspajanjeelektromotora inapajanjezaelektromotore
Priključcizanapajanjesenzoraili osjetila,ilidrugihdodatakakojisenapajaju stabiliziranimnaponomod5V
U nastavku je prikazan jedan od mogućih programa za vođenje robota među zaprekama. Program pomoću programskog jezika BAScOM-a i dosadašnjih uputa upišite u memoriju mikrokontrolera svoga robota. Program je sastavljen tako da će se vaš robot zaustaviti kad dotakne jednim ticalom neku zapreku. Tada će krenuti malo unatrag, zaokrenuti se u suprotnom smjeru od zapreke i nastaviti s gibanjem naprijed. Ako ponovno naiđe na zapreku, postupak će ponoviti. Ako vaš robot ide suviše sporo, na početku programa povećajte varijablu Ide, a ako ide prebrzo povećajte varijablu Stoji.
Priključci za spajanje s pinovima i portovima mikrokontrolera. Priključci na konektorima gledanisuodozgoibrojeseslijevaudesno.
Programzavođenjerobota “ABCtehnike”pomoćuticala Robot ABc izbjegava zapreke koje dodirne ticalima ‘ ABc_ticala dim Stoji As Integer , Ide As Integer dim X As Integer , Y As Integer ‘ Ide = 100 Stoji = 100 ‘ Set P1.0: Set P1.1:
28
‘ Wait 1 ‘ do Gosub Naprijed ‘ If P1.0 = 0 Then Gosub Stoj Waitms 10 Gosub Natrag Waitms 500
Gosub Okretlijevo Waitms 1500 P1.0 = 1 End If ‘ Waitms 10 If P1.1 = 0 Then Gosub Stoj Waitms 10 Gosub Natrag Waitms 500 Gosub Okretdesno Waitms 1500 P1.1 = 1 End If Waitms 10 Loop ‘ Naprijed: P2.7 = 1 P2.6 = 0 P2.5 = 0 P2.4 = 1 Gosub Ide Gosub Stoj Gosub Stoji Return ‘ Okretlijevo: P2.7 = 1 P2.6 = 0 P2.5 = 1 P2.4 = 0
Return ‘ Okretdesno: P2.7 = 0 P2.6 = 1 P2.5 = 0 P2.4 = 1 Return ‘ Natrag: P2.7 = 0 P2.6 = 1 P2.5 = 1 P2.4 = 0 Return ‘ Stoj: P2.7 = 1 P2.6 = 1 P2.5 = 1 P2.4 = 1 Wait 1 Return ‘ Ide: For X = 0 To Ide : Next X Return ‘ Stoji: For Y = 0 To Stoji : Next Y Return ‘
Sl.55.Robotić“ABCtehnike”sticalimaisklopovimafotosenzorazapraćenjecrnecrtenabijelojpodlozi
povi s fotosenzorima okrenuti su prema dolje tako da robotić pomoću njih može pratiti crnu crtu na bijeloj podlozi. Ako pak želite da robotić prati bijelu crtu na crnoj podlozi, treba učiniti samo neznatne izmjene u programu. Tu zadaću prepuštamo čitateljima da je sami pokušaju riješiti. Sigurni smo da će uspjeti. Na slici 56. prikazan je naš robotić sa sklopovima koji su okrenuti u smjeru vožnje. U tom će slučaju naš robotić izbjegavati tamne ili svijetle predmete, ovisno o tome kako smo ga programirali. I ovu zadaću prepuštamo čitateljima.
Fotosenzori Sada ćemo opisati robotić koji će pratiti crnu crtu na bijeloj podlozi ili bijelu crtu na crnoj podlozi. da bismo to omogućili, treba našemu robotiću dodati “oči”, tj. fotosenzore. Rješenja ima više, ali mi smo odabrali ono malo složenije. Razloga ima nekoliko. Prvo, željeli smo da različita svjetla sa strane što manje smetaju robotiću, pa smo odabrali sklop za vođenje primjenom infracrvenih zraka. drugi, ne manje važan, razlog jest taj da takav sklop, ako ga usmjerimo u pravcu vožnje robotića, može razlikovati svijetle od tamnih predmeta. Tako robotić može izbjegavati zapreke i prije nego što ih dotakne, pa robotić kombinacijom “vida” i ticala može vrlo uspješno izbjegavati predmete koji mu se nađu na putu. Na slici 55. prikazan je naš robotić s pričvršćenim ticalima i sklopovima s fotosenzorima. Sklo-
Sl.56.Robotić“ABCtehnike”sticalimaisklopovimafotosenzoraokrenutimapremanaprijed
Na slici 57. nacrtana je shema jednog sklopa s fotosenzorom. Za naš robotić trebat ćemo dva takva sklopa. Sklop se sastoji od samo nekoliko elemenata. dioda d1 odašilje infracrvene zrake,
29
menata. Za naš robotić potrebne su dvije takve pločice. Elemente možete zalemiti i na eksperimentalnu pločicu s rupicama i spojiti žicama. Za naš pokusni robotić izvadili smo infracrvenu odašiljačku diodu i njoj pripadni fotosenzor iz miša s kuglicom. Takvi miševi više nisu popularni, jer ih zamjenjuju optički miševi, pa se i novi mogu jeftino kupiti. Mi smo našega platili manje od 20 kuna. U tom mišu naći ćete najmanje dvije infracrvene odašiljačke diode i s njima uparene infracrvene fotosenzore. Osim toga u mišu se nalaze i najmanje dva mikroprekidača. Nabava pojedinačnih dijelova koštala bi nas mnogo više. Na slici 59. vidi se raspored elemenata na tiskanoj pločici, a na slici 61. gotova pločica s aluminijskim nosačem. Taj nosač služi da se pločice mogu pričvrstiti na donji postroj robotića. Ori-
Sl.57.Shemasklopafotosenzora
a otpornik R2 služi za ograničavanje struje kroz diodu. Naime, prejaka struja mogla bi oštetiti diodu. Infracrvena svjetlost odbija se od okolnih predmeta i jedan dio vraća se prema sklopu i osvjetljava fotosenzor, spojen na priključke obilježene s 1 i 2 na mjestu SV1. Fotosenzor je osjetljiv upravo na takvu infracrvenu svjetlost, a time je smanjena mogućnost smetnji iz okolnih izvora svjetlosti. Osvijetljenim fotosenzorom poteče struja i otvara tranzistor T1. Otvorenim tranzistorom, diodom d2 (svjetleća dioda) i otpornikom R3 poteći će struja. Za to vrijeme svijetlit će svjetleća dioda d2, što je signal da je fotosenzor dovoljno osvijetljen. Pritom će napon u točki P2 (SIG) biti 0. Kad fotosenzor nije osvijetljen, tranzistor je zakočen i svjetleća dioda d2 ne svijetli. Trimer-potenciometrom R1 prilagođavamo osjetljivost cijeloga sklopa. Na slici 58. nacrtan je raspored vodova na tiskanoj pločici, sa strane vodova i sa strane ele-
Sl.59.Rasporedelemenatanatiskanojpločicisklopafotosenzora
Sl. 58. Tiskana pločica sklopa fotosenzora: lijevo strana elemenata,desnostranavodova
Sl.60.Nosačsklopafotosenzora
30
zorskog sklopa utaknete u četvrtu rupicu konektora SV2. Te rupice odnosno kontakti odgovaraju pinovima P1.2 i P1.3 mikrokontrolera. Postavite sada svojega robotića na plohu po kojoj će se kretati i prilagodite (uskladite) osjetljivost fotosenzora. Kad je fotosenzor iznad svijetle površine, njegova signalna dioda mora svijetliti, a kad taj senzor postavite iznad crne crte ta se dioda mora ugasiti. Taj ćete postupak morati ponoviti u nekoj drugoj prigodi ako svijetla podloga i tamna crta nisu jednake onima pri prvome usklađivanju. Upišite sada program za vođenje robota pomoću fotosenzora i unesite ga u mikrokontroler. Jednostavni program za vođenje robota pomoću fotosenzora naveden je u nastavku.
jentacijske dimenzije pločice, koja služi kao nosač fotosenzorskog sklopa, prikazane su na slici 60. Razmak rupica na tiskanoj pločici i aluminijskom nosaču jednak je. Rupice su tako raspoređene da odvrtanjem samo jednoga vijka možemo fotosenzorski sklop usmjeriti prema dolje kada robot prati crtu na podu odnosno prema naprijed kad robot treba izbjegavati zapreke na svojem putu.
Programzavođenjerobota “ABCtehnike”pomoćufotosenzora Robot ABc prati crnu crtu na bijeloj podlozi ‘ ABc_foto dim Stoji As Integer , Ide As Integer dim X As Integer , Y As Integer ‘ Ide = 100 Stoji = 100 ‘ Set P1.2: Set P1.3: ‘ Wait 1 ‘ do ‘ If P1.2 = 1 Then Gosub Lijevistoj Else Gosub Lijevinaprijed End If If P1.3 = 1 Then Gosub desnistoj Else Gosub desninaprijed End If Loop ‘ desninaprijed: P2.7 = 1
Slika61.Gotovsklopfotosenzorasnosačem
Na svaku fotosenzorsku pločicu zalemite tri gibljive izolirane žice prema shemi. Na drugi kraj svake od tih žica zalemite komadić krute žice promjera oko 0,6 mm, dužine oko 15 mm, kako se to vidi na slici 61. Pritom je dobro žice koje vode na napajanje, tj. plus-pol i minus-pol na konektoru K1, zalemiti na komadić tiskane pločice u razmaku od 2,5 milimetra. Još je bolje upotrijebiti dva kontakta od muške dil-letvice. Pločice fotosenzorskoga sklopa pričvrstite s po dva vijka za lim na njihove nosače, a potom sve zajedno, također vijkom za lim, pričvrstite na donji postroj robota. Fotosenzorske sklopove okrenite prema dolje, kako se to vidi na slici 55. i spojite s mikrokontrolerskim modulom. Pazite! Kontakte za napajanje spajate na konektor K1, pri čemu morate voditi računa o polaritetu. Onu treću žicu spojite na konektor SV2 tako da žicu lijevog senzorskog sklopa utaknete u treću rupicu konektora SV2, a žicu desnog sen-
31
P2.6 = 0 For X = 0 To Ide : Next X P2.7 = 1 P2.6 = 1 For Y = 0 To Stoji : Next Y Return ‘ desnistoj: P2.7 = 1 P2.6 = 1 Return ‘ Lijevinaprijed: P2.5 = 0 P2.4 = 1 For X = 0 To Ide : Next X P2.5 = 1 P2.4 = 1 For Y = 0 To Stoji : Next Y Return ‘ Lijevistoj: P2.5 = 1 P2.4 = 1 Return ‘
kojima takav robotić treba za sudjelovanje na natjecanjima mladih robotičara, koja se održavaju u sklopu natjecanja mladih tehničara. Zato ćemo opisati nešto što bi moglo zadovoljiti one koji žele upravo takav robotić, robotić koji će biti povezan kabelom s osobnim računalom i koji će se voditi programom iz računala, napisanim u QBASIc-u, ili voditi izravno pomoću tipkovnice. Zato ćemo u nastavku opisati gradnju upravo takva robotića, pogodnog za natjecanja mladih robotičara početnika. Pritom nismo zaboravili ni na one najmlađe, cvrčke i krijesnice, pa će se ovakav robotić moći voditi izravno tipkama, bez uporabe osobnog računala. Kao osnovu zadržat ćemo isti donji postroj ili robotska kolica. Osim toga, kao postroj ili robotska kolica može poslužiti slična konstrukcija sastavljena od elemenata FISCheRTeChNIk, LeGO ili bilo kojeg drugog sustava slagalica.
Izlaznosučeljeza spajanjerobotas osobnimračunalom Mnogi od vas žele graditi robot koji će biti povezan s osobnim računalom i koji je moguće programirati pomoću programskog jezika QBASIc-a. Najlakši je dio posla bilo sagraditi donji postroj robota ili robotska kolica, a najsloženiji izraditi mikrokontrolerski modul. Osim toga mnogi žele upravo takav robot koji će voditi pomoću osobnog računala, osobito mlađi čitatelji,
Sl. 62.Shemaizlaznogsučelja sa četiriizlaza
32
donji postroj robotića ili robotska kolica, dakle, imamo. Još treba izraditi sučelje za spajanje robota s osobnim računalom. I ovdje smo nastojali da cijena takva sučelja bude što niža, tako da smo od više mogućnosti odabrali najjeftiniju. To je samo izlazno sučelje sa četiri izlaza. Ovo sučelje može pokretati dva mala motora na istosmjernu struju. To je posve dovoljno za vođenje robota na natjecanjima mladih robotičara u kategoriji početnika, a s malim dodatkom - “tipkovnicom” može poslužiti umjesto osobnog računala za natjecanja u kategoriji cvrčaka i krijesnica. Shema izlaznog sučelja prikazana je na slici 62. Sučelje se priključuje izravno na priključak za pisač osobnog računala, ima utičnicu za napajanje istosmjernom strujom i četiri izlazna priključka. Osnovu ovoga sučelja čini spoj četiriju tranzistora u tzv. “H-most”. Jedan “H-most” potreban je za pogon jednoga dc motora, pa naše sučelje ima dva takva “H-mosta”. Princip djelovanja “H-mosta” pojednostavljeno je prikazan na slici 63. Radi se o četiri sklopke, kao što se to vidi na slici 63. Sklopke su obilježene slovima: A, B, c i d. Na shemi sa slike 62. to su tranzistori T1, T2, T3 i T4, odnosno T5, T6, T7 i T8. Kad su sve četiri sklopke otvorene, elektromotorom “M” ne teče struja i motor stoji. Zatvore li se sklopke A i d, motorom će poteći struja tako da se motor okreće. Zatvore li se pak
Jasno je da sklopke A i B ne smiju istovremeno biti zatvorene, jer tada nastaje kratki spoj. Isto vrijedi i za sklopke c i d. Tranzistori na shemi sa slike 62. spojeni su tako da se to ne može dogoditi, tj. kad vodi tranzistor T1, tranzistor T2 je zakočen i obratno. Isto vrijedi za desnu stranu “H-mosta”. Veza s oba “H-mosta”, na našem sučelju, s priključcima osobnog računala ostvarena je integriranim krugom 74LS07. To je tzv. driver s otvorenim kolektorom. Taj sklop daje dovoljno jaku struju za upravljanje tranzistorima “H-mosta”. Tranzistor T9 u sklopu s otpornikom R10 i zener-diodom d7 osigurava napajanje integriranoga kruga stalnim naponom i onemogućuje da napajanje prijeđe napon od 5 V. Svjetleća dioda (LEd) d5 služi kao indikator da naše sučelje ima napajanje. Otpornik R9 u tom krugu štiti svjetleću diodu od prejake struje. dioda d5 umetnuta je u sklop radi njegove zaštite, jer ako se zamijene priključci na ulazu dioda d5 propušta struju samo u dopuštenom smjeru. Elektrolitski kondenzator c1 služi kao filtar za struju napajanja, ako izvor koji ćete upotrijebiti nema ugrađen takav kondenzator. Za napajanje ovoga sučelja odabrali smo običan adapter Ac/dc kakav se može kupiti u bilo kojoj prodavaonici elektrotehničkog materijala, pa i u robnim kućama. dobro je da se takvu adapteru može mijenjati izlazni napon, iako je kao napon napajanja predviđeno 6 V. Naime, vaša robotska kolica ili donji postroj robota možda će pokretati motori kojima je potreban nešto viši ili nešto niži napon. Valja napomenuti da sučelje neće dobro raditi s naponom izvora napajanja manjim od 4,5 V, a dobro je da napon izvora ne prelazi 12 V. Takvi su uostalom gotovo svi takvi univerzalni adapteri Ac/dc. Adapter neka je predviđen za struju od najmanje 500 mA. Pazite! Upotrebljavani su tranzistori s maksimalnom dopuštenom strujom 800 mA, trajno oko 300 mA. Zato je dobro provjeriti “vuku” li vaši motori pojedinačno više od toga. Tada treba ugraditi tranzistore građene za jaču struju. Glavno je da su to također tranzistori tipa NPN. Valja napomenuti da većina malih motora na istosmjernu struju iz dječjih igračaka ili onih koji
Sl. 63.“H-most”inačinnjegovadjelovanja
sklopke B i c, motorom će teći struja suprotnim smjerom i motor će se okretati u suprotnom smjeru.
33
se rabe u sustavima slagalica ne “vuku” struju jaču od 300 mA, pa u svojemu sučelju nećete trebati ništa mijenjati. Nacrt tiskane pločice za sučelje prikazan je na sl. 64. i 65. Slika 64. prikazuje tiskanu pločicu sa strane elemenata, a slika 65. tiskanu pločicu sa strane vodova. Način izrade tiskane pločice opisali smo na 17. stranici, pa to ovom prigodom nećemo učiniti. Raspored elemenata na tiskanoj pločici prikazan je na slici 66., a popis elemenata naveden je u tablici 1.
Sl. 64.Tiskanapločica,stranaelemenata
Oznaka
Naziv
K1
Konektor za pisač DB 25 M, za pločicu
Kom. 1
T1 do T9 Tranzistor BC337/40 (SI-50V/0,8A)
9
R1 do R10 Otpornik 1K/0,25W
9
D1 do D5 Dioda 1N4004
5
D7
ZenD 1/2 W 5,1V ili 5,6 V
1
IC1
74LS07
1
D6
LED
1
K2
Strip M 4 pin, jednoredni
1
PL
Pločica Vetro-foto 35 cm2
1
C1
Elco 100 mF/16V
1
S(IC1)
Socket DIL 14 pin
1
K3
Utičnica 3,5 mm za pločicu (Walkman)
1
Na pločicu sučelja zalemljen je konektor za pisač osobnog računala, tako da se sučelje može priključiti izravno na osobno računalo bez posebnoga kabela. Prije nego što zalemite konektor, s njega treba skinuti vijke i komadiće lima označene strelicama na slici 67. Potom treba metalni oklop ponovno pričvrstiti na konektor
Sl. 65.Tiskanapločica,stranavodova
Sl. 67.Priključnicazapisač.Strelicamasuoznačenidijelovikojetrebaskinutiprijenegoštosepriključnicazalemi natiskanupločicu.
Sl. 66.Rasporedelemenatanatiskanojpločici
34
pomoću malih vijaka s upuštenom glavom, kako se to vidi na slici 68. Gotovo sučelje prikazano je na slici 68., a priključeno na osobno računalo na slici 69. Na slici 69. vide se priključno napajanje i priključni kabel za spajanje s robotom.
Sl. 70.Priključakkabelanadonjipostrojrobotailirobotskih kolica
Ispitivanjesučelja Prije nego što priključite sučelje na priključak za pisač, priključite izvor napajanja. Ako je polaritet izvora napajanja ispravno spojen, svjetleća dioda će svijetliti. Ako ta dioda ne svijetli, zamijenite polove izvora napajanja. Mnogi adapteri imaju posebnu sklopku upravo za promjenu polariteta na izlazu. Spojite kabelom sučelje sa svojim robotom i priključite sučelje na priključak za pisač. Za ispitivanje sučelja pripremili smo kratki program, Program 1. Upišite program u računalo pomoću QBASIc editora i pokrenite program. Nakon što ste pokrenuli program, na ekranu ćete vidjeti koju tipku treba pritisnuti da bi se motori okretali kako je predviđeno. Ako se umjesto lijevog okreće desni motor, samo zamijenite priključke motora na kraju kabela koji je priključen za robotska kolica. Ako se lijevi ili desni motor okreće suprotno od napisanoga na ekranu, dovoljno je zaokrenuti konektor odgovarajućeg motora tako da motor bude ispravno priključen. Nakon što ste ovako uskladili svoj robot, možete upisati drugi program. Program 2. omogućuje da se robot kreće kad pritiskujete odgovarajuće tipke na tipkovnici osobnog računala. U fazi “učenje” računalo će pamtiti sve robotske pokrete, uključujući i stajanje. Nakon što je robot ovako “naučio” kuda će se kretati, prekinite “učenje” i stavite ga na početak staze. Pritisnite bilo koju tipku i robot će se kretati stazom kojom ste ga vodili u fazi učenja.
Sl. 68.Gotovoizlaznosučelje
Za spajanje robota sa sučeljem služi četverožilini kabel potrebne dužine. S jedne i druge strane kabel završava četveropolnim konektorom kako se to vidi na slikama 69. i 70. O izradi takvih konektora pisali smo na 19. stranici.
Sl. 69. Izlazno sučelje priključeno na utičnicu za pisač osobnogračunala
Konektori motora mogu se izravno spojiti s konektorom na kabelu koji se spaja na sučelje. Bolje je međutim upotrijebiti komadić eksperimentalne tiskane pločice pa na njoj zalemiti muške konektore za kabel i svaki motor posebno, kako se to vidi na slici 70.
35
A upravo to je ono u čemu ćete se natjecati na natjecanjima mladih robotičara u kategoriji početnika. Više o programiranju u QBASIc-u možete naučiti iz članaka prof. damira Čovića, koji su objavljeni u časopisu “ABc tehnike”. Serija tih izvrsnih članaka objavljena je u brojevima 468477.
izlaz = 888: ‘ ili 956 x=1 l = 19 GOSUB okvir GOSUB okvir2 x = 25 l = 21 GOSUB okvir GOSUB okvir2 x = 50 l = 21 GOSUB okvir GOSUB okvir2 GOSUB legenda x = 25 GOSUB radi x = 50 GOSUB ponavlja LOOP ENd ‘ —————————————————‘ legenda: y=6 LOcATE 3, 5: PRINT “P E P E K III.” LOcATE y + 3, 3: PRINT “2 = natrag” LOcATE y + 5, 3: PRINT “8 = naprijed” LOcATE y + 7, 3: PRINT “6 = okret lijevo” LOcATE y + 9, 3: PRINT “4 = okret desno” LOcATE y + 11, 3: PRINT “5 = stoj” LOcATE y + 13, 3: PRINT “0 = prekid ucenja” LOcATE y + 15, 5: PRINT “ESc = izlaz” LOcATE 3, 35: PRINT “UcI” LOcATE 3, 58: PRINT “PONAVLJA” ‘ LOcATE y + 7, 27: PRINT “Korak :” LOcATE y + 9, 27: PRINT “Izlaz:” LOcATE y + 11, 27: PRINT “Vrijeme:” LOcATE y + 13, 27: PRINT “Trajanje:”
Program1 ‘drvtest - driver_NpN cLS izlaz = 888: ‘ ili 956 ‘ —————————————————‘ legenda: y=6 LOcATE 3, 5: PRINT “P E P E K III.” LOcATE y + 3, 3: PRINT “9 = desni naprijed” LOcATE y + 5, 3: PRINT “3 = desni natrag” LOcATE y + 7, 3: PRINT “7 = lijevi naprijed” LOcATE y + 9, 3: PRINT “1 = lijevi natrag” LOcATE y + 11, 3: PRINT “5 = stoj” LOcATE y + 15, 5: PRINT “ESc = izlaz” ‘ dO q$ = INPUT$(1) IF q$ = “3” THEN : OUT izlaz, 1 IF q$ = “9” THEN : OUT izlaz, 2 IF q$ = “1” THEN : OUT izlaz, 4 IF q$ = “7” THEN : OUT izlaz, 8 IF q$ = “5” THEN OUT izlaz, 0 IF q$ = “0” THEN EXIT dO IF ASc(q$) = 27 THEN ENd LOOP OUT izlaz, 0 RETURN ‘ ———————————————
LOcATE y + 7, 52: PRINT “Korak :” LOcATE y + 9, 52: PRINT “Izlaz:” LOcATE y + 11, 52: PRINT “Vrijeme:” LOcATE y + 13, 52: PRINT “Trajanje:” RETURN ‘ ————————————————— okvir: y=7 lin$ = “”: raz$ = “”
Program2 ‘pepek_III dIM a(1000, 2) dO cLS
36
FOR i = 1 TO l lin$ = lin$ + cHR$(205) raz$ = raz$ + cHR$(32) NEXT i up$ = cHR$(201) + lin$ + cHR$(187) dn$ = cHR$(200) + lin$ + cHR$(188) vt$ = cHR$(186) LOcATE y, x: PRINT up$ FOR i = 1 TO 15 LOcATE y + i, x: PRINT vt$ + raz$ + vt$ NEXT i LOcATE y + 16, x: PRINT dn$ RETURN ‘ —————————————————okvir2: y=1 lin$ = “”: raz$ = “” FOR i = 1 TO l lin$ = lin$ + cHR$(205) raz$ = raz$ + cHR$(32) NEXT i up$ = cHR$(201) + lin$ + cHR$(187) dn$ = cHR$(200) + lin$ + cHR$(188) vt$ = cHR$(186) LOcATE y, x: PRINT up$ FOR i = 1 TO j + 3 LOcATE y + i, x: PRINT vt$ + raz$ + vt$ NEXT i LOcATE y + 4, x: PRINT dn$ RETURN ‘ —————————————————radi: LOcATE 9, 27: PRINT “START” LOcATE 11, 27: PRINT “Bilo koja tipka.” q$ = INPUT$(1) y=7 a(0, 1) = 0 a(0, 2) = 0 OUT izlaz, 0 t0 = TIMER i=1 dO
IF q$ = “0” THEN EXIT dO IF ASc(q$) = 27 THEN ENd a(i, 1) = w a(i, 2) = TIMER - t0 OUT izlaz, w LOcATE 6 + y, x + 15: PRINT USING “###”; i LOcATE 8 + y, x + 15: PRINT USING “###”; a(i, 1) LOcATE 10 + y, x + 15: PRINT USING “###.##”; a(i, 2) LOcATE 12 + y, x + 15: PRINT USING “###.##”; a(i, 2) - a(i - 1, 2) i=i+1 LOOP OUT izlaz, 0 a(i, 1) = 0 a(i, 2) = TIMER - t0 n=i-1 RETURN ‘ ————————————————— ponavlja: LOcATE 9, 52: PRINT “START” LOcATE 11, 52: PRINT “Bilo koja tipka.” q$ = INPUT$(1) y=7 t0 = TIMER FOR i = 0 TO n t1 = TIMER LOcATE 6 + y, x + 15: PRINT USING “###”; i LOcATE 8 + y, x + 15: PRINT USING “###”; a(i, 1) LOcATE 10 + y, x + 15: PRINT USING “###.##”; a(i, 2) dO OUT izlaz, a(i, 1) IF TIMER - t0 >= a(i + 1, 2) THEN EXIT dO LOOP LOcATE 12 + y, x + 15: PRINT USING “###.##”; TIMER - t1 NEXT i OUT izlaz, 0 RETURN ‘ —————————————————
q$ = INPUT$(1) IF q$ = “8” THEN w = 10 IF q$ = “2” THEN w = 5 IF q$ = “6” THEN w = 6 IF q$ = “4” THEN w = 9 IF q$ = “5” THEN w = 0
37
“Tipkovnica”sačetiritipke- dodataksučeljuzavođenjerobota Za vođenje svojeg robota bez uporabe računala možete izraditi jednostavni dodatak sučelju u obliku male “tipkovnice”. To su četiri tipke, zalemljene na tiskanu pločicu koja je spojena odgovarajućim konektorom s konektorom izlaznog sučelja. Shema tog dodatka prikazana je na slici 71. Na slici 72. prikazan je raspored vodova na tiskanoj pločici sa strane elemenata, a na slici 73. prikazan je raspored vodova na tiskanoj pločici sa strane vodova. Raspored elemenata na tiskanoj pločici prikazan je na slici 74., na slici 75. vidi se gotova “tipkovnica”, a na slici 76. “tipkovnica” spojena sa sučeljem. djelovanje tog dodatka jednostavno je pa ne treba mnogo objašnjavati. Svaka od tipki spaja odgovarajući ulaz sučelja s masom, čime se
Sl.72.Rasporedvodovanatiskanojpločici“tipkovnice”, stranaelemenata
Sl.73.Rasporedvodovanatiskanojpločici“tipkovnice”, stranavodova
Sl.71.Shema“tipkovnice”sa četiritipke.KonektorX1je DB25,ženski,zapločicu.
pokreće pripadni motor u određenom smjeru. Pritiskom na prednju lijevu tipku, pokreće se lijevi motor naprijed, a pritiskom na stražnju lijevu tipku isti se motor okreće unatrag. Isto vrijedi za desne tipke. U skladu s tim vaša će se robotska kolica okretati ulijevo ili udesno. Pritisnete li istovremeno obje prednje tipke, oba motora okretat će se naprijed, a pritisnete li istovremeno obje stražnje tipke oba motora okretat će se unatrag, pa će se vaša robotska kolica kretati naprijed ili natrag.
Sl.74.Rasporedelemenatanatiskanojpločiciza“tipkovnicu”sačetiritipke
38
Sl.75.Gotova“tipkovnica”
Sl. 76. Izlazno sučelje s priključenom “tipkovnicom” i kabelimazaručnovođenjerobota
Pritisnete li istovremeno prednju lijevu tipku i stražnju desnu, lijevi motor okretat će naprijed, a desni unatrag, pa će se vaša robotska kolica okretati na mjestu udesno. Pritisnete li istovremeno prednju desnu tipku i stražnju lijevu, desni motor okretat će naprijed, a lijevi unatrag, pa će se vaša robotska kolica okretati na mjestu ulijevo.
Takva kombinacija izlaznog sučelja s dodatkom “tipkovnice” sa samo četiri tipke pogodna je za ispitivanje i prilagođavanje vašega robota, bez priključivanja sučelja na osobno računalo. Osim toga izlazno sučelje s pridodanom “tipkovnicom” pogodno je za vođenje robota na natjecanjima mladih robotičara u kategoriji cvrčci i krijesnice.
39
takvo sučelje čija će cijena biti što niža. To međutim ima mali nedostatak. Naime, rabljeni tranzistori ne podnose struju jaču od nekoliko stotina miliampera, tako da za pokretanje robotića s jačim motorima morate upotrijebiti tranzistore koji podnose jaču struju u istome spoju. cijena takva sučelja nešto je viša i ovisi o cijeni rabljenih tranzistora. Naše dosad opisano sučelje moguće je rabiti i bez računala i robotić će se kretati primjenom tipkala s četiri tipke. Ipak, našemu sučelju nešto nedostaje, a to je povratna veza, tj. mogućnost da računalo dobiva informacije o stanju različitih senzora, kao što su na primjer senzor svjetlosti ili senzor dodira. Takva povratna veza može se ostvariti ulaznim sučeljem spojenim na priključak za igre, tzv. “Game Port” na našem računalu.
Izlazno-ulazno sučeljezaspajanje robotasosobnim računalom U prošlim smo poglavljima opisali izlazno sučelje sa četiri izlaza, što je posve dovoljno za pokretanje dvaju motora koliko ih čini osnova naše serije robotića “ABc tehnike”. Izabrali smo
Sl.77.Shemaizlazno-ulaznogsučeljasa četiriizlazaičetiriulaza
40
Stanje na senzorima može se očitavati i putem priključka za pisač, tzv. “Printer Porta”. Ta druga mogućnost činila nam se prihvatljivijom, jer tada je i izlazno i ulazno sučelje spojeno na isti priključak osobnog računala, čime smo izbjegli višak vodova (kabela) na stolu, a time omogućili i jednostavnije rukovanje robotićem. U nastavku ćemo vam opisati gradnju izlaznog i ulaznog sučelja na jednoj tiskanoj pločici, čime se rješavamo viška vodova na stolu ili podu kuda ćemo voditi svoj robotić. Ovo izlaznoulazno sučelje može pokretati dva mala motora na istosmjernu struju i može čitati stanja četiriju senzora, dvaju senzora svjetlosti i dvaju senzora dodira. Umjesto senzora svjetlosti ili senzora dodira mogu se priključiti i drugi senzori, ali je broj ulaza ograničen na četiri. I ovdje smo nastojali da cijena takva izlaznoulaznoga sučelja bude što niža, a samo sučelje što jednostavnije. Shema izlazno-ulaznog sučelja prikazana je na sl. 77. Osnovu sučelja čine dva integrirana kruga, jedan integrirani krug služi nam za četiri izlazne linije, a drugi za četiri ulazne linije. cijelo sučelje napaja se strujom iz adaptera Ac/dc. dobro je da se napon adaptera može mijenjati u granicama od 3 V do 12 V. Zadaća je diode d2 na našoj shemi da spriječi priključivanje pogrešnim polaritetom. Naime, neki adapteri imaju mogućnost promjene polariteta na izlazu, pa tako ne može doći do zabune. dioda d3 služi kao indikator da je sučelje ispravno priključeno, a otpornik R2 ograničava struju kroz diodu d3. Elektrolitski kondenzator c1 služi kao filtar za struju koju daje adapter, ako adapter već nema ugrađen takav kondenzator. Sklop, koji se sastoji od tranzistora T1, otpornika R1 i diode d1, služi za ograničenje napajanja integriranih krugova na 5 V (ili manje, ako se upotrijebi dioda druge vrijednosti). Napon napajanja integriranih krugova ne smije biti veći od 5 V. Integrirani krug Ic1 (L293B) sastavljen je od dva tzv. “H-mosta”. Podsjetimo se, dva “H-mosta” ostvarili smo u našem izlaznom sučelju s ukupno osam tranzistora i jednim integriranim krugom. Ovdje smo u tu svrhu upotrijebili samo jedan integrirani krug, koji zamjenjuje onih
osam tranzistora i integrirani krug. Ulazi integriranoga kruga Ic1 spojeni su na prve četiri podatkovne izlazne linije priključka za pisač našega osobnog računala. To su: d0, d1, d2 i d3. Na shemi to su priključci 2, 3, 4 i 5 na priključnici za pisač. Izlazi integriranoga kruga Ic1 spojeni su na pinove 1, 3, 5 i 7 desetopinskog priključka za kabel. Za ulazni dio sučelja upotrijebili smo integrirani krug Ic2 (74LS17). To je integrirani krug koji se sastoji od šest tzv. invertiranih “Šmitovih okidača”. To su spojevi koji na izlazu daju odgovarajući napon, obično 5 V, tek kad napon na ulazu padne ispod određene vrijednosti ili prekorači određenu vrijednost. U našem slučaju upotrijebili smo četiri od šest takvih invertiranih okidača. Ulazi integriranoga kruga Ic2 spojeni su na pinove 2, 4, 6 i 8 desetopinskog priključka za kabel. Otpornici R7, R8, R9 i R10 spojeni s pozitivnim polom i osiguravaju da su ulazi, na koje nisu spojena osjetila, pozitivni. Tada su odgovarajući izlazi integriranoga kruga Ic2 na niskoj razini, tj. na logičnoj ništici. Izlazi integriranog kruga Ic2 spojeni su na pinove 10, 11, 12 i 13 priključka za pisač. diode d4, d5, d6 i d7 spojene su tako da svaka pojedina svijetli onda kada odgovarajući izlaz integriranog kruga Ic2 ima vrijednost logične jedinice. Podsjetimo se, to će biti onda kada odgovarajući ulaz ima vrijednost logične ništice.
Sl.78.Tiskanapločica,stranaelemenata
41
Oznaka K1 T1 D1 D2 D3 do D5 R1 do R6 R7 do R10 C1 K2 K3 IC1 IC2
Naziv Kom Konektor za pisač DB 25 M, za pločicu 1 Tranzistor BC547 1 ZenD 1/2 W 5,1 V 1 Dioda 1N4004 1 LED 3mm 5 Otpornik 1K/0,25W 6 Otpornik 10K/0,25W 4 Elco 100 mF/16V 1 Strip M 10 pin, dvoredni 1 Utičnica 3,5 mm za pločicu (Walkman) 1 L293B 1 74HC14 1
Tablica2.Popismaterijala zatiskanupločicu Sl.79.Tiskanapločica,stranavodova
Zalemljeno
Pločica
Zalemljeno Sl.81.SpajanjeilemljenjeotpornikaR7doR10
Sl.80.Rasporedelemenatanatiskanojpločici
Otpornici R3, R4, R5 i R6 ograničavaju struju kroz diode d4, d5, d6 i d7. Nacrt tiskane pločice sa strane elemenata prikazan je na slici 78., a nacrt tiskane pločice sa strane vodova prikazan je na slici 79. Raspored elemenata na tiskanoj pločici prikazan je na slici 80., a popis i vrijednosti elemenata navedeni su u tablici 2. Otpornici R7, R8, R9 i R10 na pločici stoje uspravno i gornji krajevi leme se zajedno i spajaju s plus-polom, kako se to vidi na sl. 81., 82. i 83. Gotovo sučelje sa zalemljenim konektorom za pisač osobnog računala, priključenim kabelom za napajanje i kabelom za spajanje s robotićem prikazano je na slici 82. U prošlom poglavlju opisali smo kako prije lemljenja treba priredi-
Sl.82.Gotovoizlazno-ulaznosučelje
ti konektor za pisač osobnog računala, pa to ovom prigodom nećemo ponavljati. cijelo izlazno-ulazno sučelje izrađeno je na pločici dimenzija 55x55 mm, tako da se lako mo-
42
Kao što smo već spomenuli, na izlazno-ulazno sučelje mogu se priključiti dva mala elektromotora na istosmjernu struju i četiri senzora. Predvidjeli smo da to budu dva senzora svjetlosti (fotosenzora) i dva senzora dodira. Tako će naš robotić moći pratiti crnu crtu na bijeloj podlozi ili bijelu crtu na crnoj podlozi i zaobilaziti zapreke na koje putem naiđe. Senzore možete izraditi materijalom i prema opisu četvrtog koraka - Senzori. Međutim, bolje je i fotosenzore i senzore dodira smjestiti na jednu zajedničku pločicu i spojiti samo s jednim desetožilnim plosnatim vodom s izlazno-ulaznim sučeljem. Predvidjeli smo da se i motori spajaju na istu pločicu, čime će cijela konstrukcija vašega robotića biti jednostavnija.
Sl.83.Izlazno-ulaznosučeljepriključenonautičnicuzapisačosobnogračunala
že priključiti izravno na priključnicu za pisač na osobnom računalu, kako se to vidi na slici 83.
43
ljučaka za motore, tako da se zajednička pločica sa senzorima i priključcima za motore spaja zajedničkim desetožilnim kabelom s izlazno-ulaznim sučeljem. Shema senzorske pločice prikazana je na slici 84. Na lijevoj su strani desetopolni priključak za spajanje s izlazno-ulaznim sučeljem i po dva dvopolna priključka za motore - lijevi i desni. U sredini su kontakti za senzore dodira (ticala), a s desne strane vidi se način spajanja fotosenzora. dio sklopa s fotosenzorima jesu i dvije odašiljačke diode infracrvene svjetlosti. Nacrt tiskane pločice sa strane elemenata prikazana je na slici 85., a nacrt tiskane pločice sa strane vodova prikazan je na slici 86. desetopinski priključak za vod (kabel) smješten je u sredini gornjeg dijela pločica, a sa svake
Priključciza motoreiosjetila
dosad smo opisali izlazno-ulazno sučelje za našu seriju robotića “ABc tehnike”. Sučelje ima četiri izlaza i četiri ulaza. Budući da naši robotići imaju po dva motora, za svaki motor potrebna su dva izlaza, dakle ukupno četiri. dva od četiri ulaza služe nam za spajanje sa senzorima svjetlosti, a preostala dva za spajanje sa senzorima dodira. Senzore dodira i fotosenzore, kao i načela njihova rada opisali smo u poglavlju Senzori, pa to nećemo posebno ponavljati. Razlika je samo u tome što smo sve senzore smjestili na jednu zajedničku pločicu, a sklop fotosenzora malo smo pojednostavnili. Na istu pločicu smjestili smo i dva para prik- Sl.85.Tiskanapločica,stranaelemenata
Sl.84.Shemaspajanjapriključakazamotore,senzoradodira(ticala)ifotosenzore(oči)
44
detalj učvršćivanja senzora dodira prikazan je na slici 90. Čelična žica, koja čini ticalo naslanja se na prednja dva kontakta i ne smije dodirivati dva stražnja kontakta. Prednji kontakti nisu nigdje spojeni, a stražnji se spajaju na odgovarajuće pinove priključka za kabele za spajanje senzorskog sklopa s izlazno-ulaznim sučeljem. Svi oni koji imaju poteškoća s nabavom dijelova ili izradom senzorske tiskane pločice mogu naručiti tiskanu pločicu, komplet dijelova ili već gotovu i ispitanu senzorsku pločicu kod tvrtki navedenih na 52. stranici ovog priručnika. Za spajanje senzorskog sklopa s izlazno-ulaznim sučeljem upotrijebit ćemo desetožilni plosnati vod (flat kabel) potrebne dužine. U našem slučaju to je oko 2 do 3 metra. Na svakom kraju voda spaja se konektor za de-
Sl.86.Tiskanapločica,stranavodova
Sl.87.Rasporedelemenatanatiskanojpločici
strane toga priključka smješteni su dvopolni priključci za elektromotore. U sredini su smješteni kontakti za senzore dodira, a na donjem dijelu pločice smješteni su fotosenzori, odašiljačke infracrvene diode, tranzistori u sklopu fotosenzora i po dva trimer-potenciometra za reguliranje osjetljivosti fotosenzora. Raspored elemenata na tiskanoj pločici prikazan je na slici 87., a popis elemenata naveden je u tablici 3. Gotov sklop senzora s detaljima vidi se na slici 88., a sklop učvršćen na prednji dio donjeg postroja robotića vidi se na slici 89. Oznaka K1 K2 i K3 K3 i K5 R1 i R2 R3 i R4 D1 i D2 D3 i D4 T1 i T2 J1
Naziv Strip M 10 pin, dvoredni Strip Ž 2 pin, jednoredni Strip M 4 pin, dvoredni, kutni Otpornik 200 do 300 Ω/0,25W Trimer 100 k IR dioda, prijamna IR dioda, odašiljačka Tranzistor BC547 Kratkospojnik
Sl.88.Gotovsklopsenzora,prikazdetalja
setožilni kabel. Konektor se sastoji od tri dijela, kao što se to vidi na slici 91. Vod se na ovakvu konektoru ne lemi na pinove, nego se samo uloži među kontakte donjeg dijela i pritisne srednjim. Pritom treba paziti da se obojena krajnja žica podudara s malom oznakom na donjem dijelu konektora. To je obično mali trokutić. Plosnati vod umetne se na kontakte donjeg dijela konektora, preko voda stavi se srednji dio i stisne posebnim kliještima ili malim škripcem, tako da kontakti probiju njegovu izolaciju. Potom se plosnati kabel savije i učvrsti
Kom. 1 2 2 2 2 2 2 2 1
Tablica3. Popiselemenatazapločicusticalimaifotosenzorima
45
Sl.89.Gotovsklopsenzoraučvršćennadonjipostrojrobota
trećim dijelom konektora, kako se to vidi na slikama 92. i 93. Pazite! Konektor treba na isti način spojiti i na suprotni kraj plosnatoga voda.
Gotov kabel natakne se na desetopinski priključak na sučelju i na desetopinski priključak na senzorskoj pločici, kao što se to vidi na slikama 92., 93. i 94. dobro je na pločici sučelja i na senzorskoj pločici obilježiti pin koji se mora podudarati s oznakom na konektoru. Već smo spomenuli da je to na konektoru obično mali trokutić. Na slici 80. (raspored elemenata na tiskanoj pločici sučelja) to je pin broj jedan označen malim crnim znakom (zaokrenuto slovo V), a na slici 87. to je također pin broj jedan označen malim crvenim znakom (naopako okrenuto slovo V). Prije nego što sučelje spojite na priključak za pisač osobnog računala, dobro je provjeriti i naravnati senzore. To ćete uraditi tako da spojite senzorski sklop sa sučeljem i priključite napajanje. dvije prve svjetleće diode (na pločici sučelja obilježene s d4 i d5) odgovaraju lijevom i desnom senzoru dodira. Te diode moraju zasvijetliti, svaka posebno, ako pritisnete lijevi odnosno desni senzor dodira (ticalo) ili moraju zasvijetliti obje ako pritisnete oba ticala. Kad ticala nisu pritisnuta, te diode ne svijetle.
Sl.91.Konektorzadesetožilniplosnati(flat)kabelsastojiseodtridijela
Sl.90.Senzordodira-ticalo.Čeličnažicanesmijesenaslanjatinastražnjekontakte.
46
Sl.93.Kabelsesavijekakosetovidinasliciiučvrstitrećimdijelomkonektora
Sl.92.Plosnatikabeltrebauložititakodasekrajnjaoznačenažicapodudarasoznakomnakonektoru.Tojeobičnomalitrokut.Tadakabeltrebapritisnutiposebnimkliještimailimalimškripcemdakontaktikonektoraprobiju izolacijuvoda(kabela).
loj podlozi, a moraju se ugasiti kad ga stavite na crnu podlogu, odnosno ako je jedan fotosenzor na bijeloj podlozi odgovarajuća dioda mora svijetliti i ugasiti se kad tu diodu postavite iznad crdruge dvije diode (na pločici sučelja označene podloge. Potenciometrima na senzorskoj ne s d6 i d7) odgovaraju fotosenzorima. One pločici označenima s R3 i R4, usklađujete osjetmoraju svijetliti ako se vaš robotić nalazi na bijeljivost lijevog odnosno desnog fotosenzora. Pazi! Može se dogoditi da se jednom usklađeni fotosenzori ne ponašaju jednako u nekim drugim uvjetima. Uzrok tome treba tražiti u osvijetljenosti prostorije odnosno podloge po kojoj se kreće robotić. Naime, žarulja sa žarnom niti emitira širok spektar svjetlosti, uključivši i infracrvene zrake, pa blizina takve žarulje može utjecati na osjetljivost fotosenzora. Nakon što ste uskladili senzore na pločici, prekinite napajanje sučelja i spojite sučelje na priključak za pisač svoga račuSl.94.Kabelsepriključujetakodaseoznakanakonektorupodudarasoznakomnatiskanala. nojpločici,jednakokaonasučelju
47
Robotić neka bude postavljen na malo postolje, tako da mu kotači ne dodiruju podlogu. Uključite računalo i pokrenite programski jezik QBASIc. U editor QBASIc-a upišite program koji je napisan u nastavku i spremite program prije nego što ga pokrenete. Pokrenite program i spojite napajanje sa sučeljem. Ako ste sve ispravno uradili, na ekranu računala pojavit će se tekst
ZaSTARTpritisnibilokojutipku ZaSTOPpritisnirazmaknicu Ulaz= Lijevooko= Desnooko= Lijevoticalo= Desnoticalo= Ako je sve ispravno, vaš će robotić pratiti crnu crtu na bijeloj podlozi i zaobilaziti zapreke na koje putem naiđe i dodirne ih ticalima. Kada drugi put pokrenete program, preskočite fazu "Test motora" tako da nakon pokretanja programa pritisnete tipku "N" umjesto "d", kao što ste to učinili prvi put. Izlazno-ulazno sučelje i senzorska pločica mogu vam poslužiti za pokretanje robotića čiji je donji postroj izrađen prema našim uputama, a možete ih s jednakim uspjehom upotrebljavati za pokretanje robotića s dva motora koji su sastavljeni od elemenata FISCheRTeChNIk, LeGO, MehANO ili drugih slagalica. Takav robotić prikladan je i za natjecanja robota u disciplini "Računalom vođeni roboti" na natjecanjima mladih tehničara.
MALAMACA Testmotora:DailiNe? Pritisnite tipku "d" i na ekranu će se pojaviti novi tekst MALAMACA-TESTMOTORA 9=desninaprijed 3=desninatrag 7=lijevinaprijed 1=lijevinatrag 5=stoj razmaknica=stoj ESC=izlazizprograma S=START
Programzavođenjerobotskihkolica “MalaMaca”
Pritiskom na odgovarajuću tipku provjerite jeste li ispravno spojili motore. Ako se umjesto lijevog motora okreće desni, samo zamijenite priključke. Onaj motor koji je bio priključen na lijevi priključak spojite s desnim i obratno, onaj motor koji je bio spojen na desni priključak prespojite na lijevi. Ako se koji od motora okreće suprotnim smjerom od onoga kojim bi se morao okretati, samo odspojite taj motor od konektora, zaokrenite konektor tako da zamijenite kontakte. Nakon što ste tako uskladili motore, skinite robotić s postolja, postavite ga na bijelu podlogu sa crnom crtom i pritisnite tipku "S". Na ekranu računala pojavit će se nova poruka i kad se robotić pokrene, na ekranu možete pratiti stanje senzora. Brojka jedan znači da je senzor aktivan, tj. fotosenzor osvijetljen, a ticalo je dotaknulo neku zapreku. Ništica znači da senzor nije aktivan, tj. da je fotosenzor iznad crnog polja, a odgovarajuće ticalo slobodno.
' MALA MAcA cLS izlaz = 888: ' **** 888 ili 956 ili 632 **** ih = izlaz + 1' 889 ili 957 ' OUT izlaz, 0 ' cLS ' LOcATE 5, 35: PRINT "MALA MAcA" LOcATE 8, 28: PRINT "Test motora: da ili Ne?" ' LOcATE 9, 30: a$ = INPUT$(1) IF a$ = "d" OR a$ = "d" THEN GOSUB testmotora ' start: cLS '
48
LOcATE 2, 23: PRINT "Za START pritisni bilo koju tipku" LOcATE 4, 26: PRINT "Za STOP pritisni razmaknicu" TIMER ON a$ = INPUT$(1) ' dO ulaz = (INP(889) ANd 240) XOR 139 a = (ulaz ANd 16) / 16 b = (ulaz ANd 32) / 32 c = (ulaz ANd 64) / 64 d = (ulaz ANd 128) / 128 LOcATE 10, 35: PRINT "Ulaz = "; ulaz LOcATE 14, 30: PRINT "Lijevo oko = "; a LOcATE 16, 30: PRINT "desno oko = "; b LOcATE 18, 30: PRINT "Lijevo ticalo = "; d LOcATE 20, 30: PRINT "desno ticalo = "; c '
ENd IF ' LOOP UNTIL INKEY$ = cHR$(32) ' OUT izlaz, 0 LOcATE 35, 24: PRINT "Za izlaz iz programa pritisni ESc" LOcATE 30, 20: PRINT "Za ponovni START pritisni bilo koju tipku" ' a$ = INPUT$(1) IF ASc(a$) = 27 THEN ENd ELSE GOTO start ENd IF ' ENd '---------------------------------------------------naprijed: OUT izlaz, 1 + 4 'GOSUB vrijeme RETURN ' natrag: OUT izlaz, 2 + 8 GOSUB vrijeme RETURN ' okretlijevo: GOSUB stoj OUT izlaz, 1 + 8 GOSUB vrijeme RETURN ' okretdesno: GOSUB stoj OUT izlaz, 2 + 4 GOSUB vrijeme RETURN ' vrijeme: t0 = TIMER WHILE TIMER - t0 < t WENd RETURN ' stoj:
GOSUB naprijed IF a = 0 ANd b = 1 THEN t=0 GOSUB okretlijevo ENd IF ' IF b = 0 ANd a = 1 THEN t=0 GOSUB okretdesno ENd IF ' IF c = 1 ANd d = 0 THEN t = .5 GOSUB natrag t = .5 GOSUB okretlijevo ENd IF ' IF d = 1 ANd c = 0 THEN t = .5 GOSUB natrag t = .5 GOSUB okretdesno ENd IF ' IF c = 1 ANd d = 1 THEN t = .5 GOSUB natrag
49
OUT izlaz, 0 RETURN ' --------------------------------------------------' MALA MAcA - TEST MOTORA ' testmotora: cLS y=6 LOcATE y + 1, 27: PRINT "MALA MAcA - TEST MOTORA" LOcATE y + 5, 30: PRINT "9 = desni naprijed" LOcATE y + 7, 30: PRINT "3 = desni natrag" LOcATE y + 9, 30: PRINT "7 = lijevi naprijed" LOcATE y + 11, 30: PRINT "1 = lijevi natrag" LOcATE y + 13, 30: PRINT "5 = stoj" LOcATE y + 15, 30: PRINT "razmaknica = stoj" LOcATE y + 25, 28: PRINT "ESc = izlaz iz programa" LOcATE y + 20, 33: PRINT "S = START" '
dO q$ = INPUT$(1) IF q$ = "3" THEN : OUT izlaz, 2 IF q$ = "9" THEN : OUT izlaz, 1 IF q$ = "1" THEN : OUT izlaz, 8 IF q$ = "7" THEN : OUT izlaz, 4 IF q$ = "5" THEN OUT izlaz, 0 IF q$ = "0" THEN OUT izlaz, 0 IF ASc(q$) = 32 THEN OUT izlaz, 0 IF ASc(q$) = 27 THEN OUT izlaz, 0 ENd ENd IF IF q$ = "S" OR q$ = "s" THEN OUT izlaz, 0 GOTO start ENd IF LOOP OUT izlaz, 0 RETURN ' -------------------------------------------------------
Popistvrtkiukojimasemogunabaviti elektroničkekomponenteiostalidijelovi zaizradurobotića“ABCtehnike” A/DElectronic Ul. Bana Jelačića 2-4, 40000 ČAKOVEc Tel. 040/396 606 e-pošta:
[email protected] (elektroničke komponente, tiskane pločice, kitovi, gotovi moduli)
CONRAD/HR GENCOMMERCEd.o.o. Vrapčanska 232, 10000 ZAGREB Tel. 01/3487 009 01/3487 279 e-pošta:
[email protected] www.conrad.hr (elektroničke komponente, servo motori, razno)
CHIPOTEKA Z-el d.o.o. Trg J. F. Kennedy 6, 10000 ZAGREB Tel. 01/233 88 44 e-pošta:
[email protected] COMPUTERSHOP Tel. 01/233 88 44 e-pošta:
[email protected] (elektroničke komponente, fotoosjetljive pločice i pribor za jetkanje)
ELECTRONICSHOP Istarska 12, 52215 PULA Tel. 052/212 404 Faks 052/212 077 (elektroničke komponente, tiskane pločice, kitovi, gotovi moduli)
50
Odašiljač
Daljinsko upravljanje
Prijamnik
Sl.96.Robotićspojensračunalombezvoda(kabela).Vezajeostvarenaradiovalovima.
U 12 nastavaka časopisa “ABc tehnike” (brojevi 472-483) i u nedavno objavljenom priručniku za izbornu nastavu tehničke kulture u osnovnoj školi “Robotići ‘ABc tehnike’”opisali smo kako izraditi izlazno sučelje za vođenje našega robotića pomoću računala. Izlazno sučelje uključili smo izravno na priključak za pisač osobnog računala. Robotić je kabelom bio povezan sa sučeljem, kako je to pojednostavljeno prikazano na slici 95. Nedostatak takva rješenja upravo je kabel kojim je robotić spojen sa sučeljem. Udaljenost do koje je mogao otići robotić ograničena je duljinom kabela, a ponekad je taj vod smetao slobodnom kretanju robota. Može li se taj kabel izbjeći? Kabel možemo izbjeći tako da umjesto njega iskoristimo vezu računala i robota radiovalovima, kako je to pojednostavljeno prikazano na slici 96. Računalu ćemo dodati odašiljač, a na robotić ćemo ugraditi prijamnik radiovalova. Kako se to može učiniti, opisat ćemo u ovom prilogu časopisa odnosno dodatku priručnika. Upotrijebit ćemo isti donji postroj kakav smo izradili na početku ove naše serije o robotićima “ABc tehnike”. da podsjetimo, opis izrade do-
njeg postroja opisali smo u broju 472 i 473 našega časopisa iz veljače i ožujka 2004. godine. Osim takva donjeg postroja možete upotrijebiti donji postroj izrađen od dijelova iz konstrukcijskih kutija Fischertechnik ili Lego, ili od priručnih dijelova iz školske radionice ili iz radionice u klubu mladih tehničara. I ovaj projekt radit ćemo u nekoliko koraka. Prvo ćemo izraditi odašiljač, spojiti odašiljač s računalom ili tipkovnicom za vođenje, potom prijamnik koji ćemo pričvrstiti na donji postroj. U trećem koraku programirat ćemo dva mikrokontrolera, jednoga u odašiljaču a drugoga u prijamniku. I najzad u četvrtom, zadnjem, koraku upisat ćemo program za vođenje robota u naše osobno računalo. Taj program pisan je u programskom jeziku QBASIc, koji, vjerujemo, dobro poznajete. Odašiljač Shema odašiljača prikazana je na slici 97. Na shemi možemo uočiti tri osnovna sklopa koji zajedno čine odašiljač. Odašiljač se napaja strujom iz baterije 9 V. dioda d1 ima zadaću da osigura cijeli sklop odašiljača od pogrešno spojene baterije. dioda d2 spojena serijski s otpornikom R2 pokazuje je li napajanje odašiljača uključeno ili nije. Integrirani krug Ic2 je stabilizator napona 7805 koji osigurava napajanje mikrokontrolera i VF modula stalnim naponom 5 V. Mikrokontroler Ic1 je Atmelov AT89c2051, spojen na uobičajeni način. Više o tom mikrokontroleru možete pročitati u našem časopisu, u seriji “Igrajmo se mikrokontrolerima” autora mr. Vladimira Mitrovića (“ABc tehnike” broj 457 do 466). Zadaća toga mikrokontrolera jest da
Izlazno sučelje
Sl.95.Robotićspojenkabelomsračunalom
51
Sl.97.Shemaodašiljača
očitava stanje na ulazima vrata P1, ta stanja na ulazima kodira u serijski signal na izlazu mikrokontrolera P3.1 (TXd). Taj se izlaz spaja na treći osnovni sklop koji čini VF modul odašiljača (433 MHz 10 MW SV TX-SAW433/SZ). VF modul odašiljača priključuje na 15-polni ženski strip SV1. Antenu VF odašiljača čini bakrena žica promjera 1 do 1,5 mm, dugačka 165 milimetara. Konektorom označenim na shemi s X1 spaja se odašiljač na printerski priključak osobnog računala. Odašiljač se može spojiti izravno na osobno računalo, a može se spojiti i pomoću višežilnog kabela. Na slici 98. prikazan je nacrt tiskane pločice odašiljača sa strane elemenata, na 99. slici nacrt tiskane pločice sa strane vodova, a na 100. slici prikazan je raspored elemenata na tiskanoj pločici odašiljača. Popis dijelova naveden je u tablici 3. Na slici 101. vidi se gotov odašiljač s baterijom i donjim dijelom antene, a na sl. 102. odašiljač je spojen na priključak za pisač osobnog računala (Printer Port). Ponekad je praktičnije spojiti odašiljač s osobnim računalom pomoću kabela. Tada je moguće smjestiti odašiljač na najpovoljnije mjesto u prostoriji. (Vidi sl. 103. i 104.) Upotrijebljen je devetožilni plosnati vod (kabel). Na jednoj strani
Sl.98.Nacrttiskanepločiceodašiljačasastraneelemenata
voda zalemljen je 25-pinski muški konektor, a na drugoj strani voda zalemljen je 25-pinski ženski konektor. Spajanje devetožilnog kabela s muškim odnosno ženskim konektorom prikazano je na slikama 105. a i 105. b. Treba paziti da žile kabela na muškom odnosno ženskom konektoru budu spojene na odgovarajuće pinove žilama iste boje. To je najbolje provjeriti tako da se muški i ženski konektor spoje, kako je to prikazano na slici 105. b. Žile kabela treba spojiti na pinove 2
52
Oznaka Naziv Konektor za bateriju 9V s kabelom
1
S1
Prekidač s tri priključka
1
D1
Dioda 1N4004
1
D2
LED 3mm
1
R1
Otpornik 22 kΏ
1
R2
Otpornik 1 kΏ
1
C1 = C2 33 pF
Sl.99.Nacrttiskanepločiceodašiljačasastranevodova
Kom.
SL1
2
C3
10 µF
1
C4
0,1 µF
1
C5
100 µF
1
IC1
Mikrokontroler AT89C2051
1
IC2
Stabilizator napona 7805
1
Q1
Kristal (kvarc) 12 MHz
1
X1
Konektor za pisač (muški) DB25 M, za pločicu
1
SV1
ANT
Strip 15 polni (prof) za odašiljački modul
1
VF modul (433 MHz 10 MW SV TXSAW433/SZ)
1
Antena, bakrena žica promjera 1 do 1,5 mm duljine 165 mm
1
Tiskana pločica Vetro-foto (70x55 mm)
1
Tablica3.Popismaterijalazaodašiljač
Sl.100.Rasporedelemenatanatiskanojpločiciodašiljača
Sl.102.OdašiljačpriključennaPrinterPortosobnogračunala
Sl.103.Odašiljačsemožespojitinapriključakzapisačpomoćudevetožilnogkabela
Sl.101.Gotovodašiljač
53
nica spaja s odašiljačem, a mikrokontroler, umjesto stanja na priključcima printer-porta, čita stanja priključaka na tipkovnici. Shema spajanja tipki na tipkovnici s priključcima odašiljača prikazana je na slici 106. Na njoj je prikazana shema tipkovnice sa četiri tipke, a na slici 112. prikazana je shema tipkovnice s osam tipki. Za ručno vođenje našega robotića s dva motora dovoljna je tipkovnica sa četiri tipke. Tipkovnicu s osam tipki upotrijebit ćemo ako naš robotić, osim pokretanja lijevog i desnog motora ima dodatne funkcije, kao što su na primjer zvučni i svjetlosni signali, dodatni motori itd. Nacrt tiskane pločice tipkovnice sa četiri tipke odašiljača sa strane elemenata prikazan je na slici 107. Na sl. 113. prikazan je nacrt tiskane pločice tipkovnice odašiljača s osam tipki sa strane elemenata. Nacrt tiskane pločice tipkovnice sa četiri tipke sa strane vodova prikazan je na sl. 108., a nacrt tiskane pločice tipkovnice s osam tipki prikazan je na sl. 114. Raspored elemenata na tipkovnici sa četiri tipke prikazan je na sl. 109., a raspored elemenata na tipkovnici s osam tipki prikazan je na slici 115. Gotova tipkovnica sa četiri tipke prikazana je na sl. 110., a na sl. 111. vide se odašiljač i tipkovnica spojeni 25-pinskim priključnicama. Gotova tipkovnica s osam tipki odašiljača vidi se na slici 116.
Sl.104.Spajanjeodašiljačanapriključakzapisačpomoću kabela
Sl. 105.a Spajanje devetožilnog voda na 25-pinski muški konektor(lijevo)i25-pinskiženskikonektor(desno)
Sl. 105.b Provjera ispravnosti spajanja žila na odgovarajućepinove
do 9 muškog i pinove 2 do 9 ženskoga konektora. Pinovi 18 do 25 spajaju se zajedno, najbolje na crnu žilu devetožilnog voda. Tipkovnicazaručnoupravljanje Odašiljač možemo rabiti i tako da ga ne spojimo s računalom. Tada ćemo našim robotom umjesto računalom upravljati izravno, tj. ručno. da bismo to ostvarili, treba izraditi tipkovnicu sa četiri ili još bolje s osam tipki. Takva se tipkov-
Sl.106.Shemaspajanjatipkizaodašiljač
54
Sl. 107. Nacrt tiskane pločice tipkovnice sa četiri tipke odašiljačasastraneelemenata
Sl.110.Gotovatipkovnicasačetiritipkeodašiljača
Sl. 108. Nacrt tiskane pločice tipkovnice sa četiri tipke odašiljačasastranevodova
Sl.111.Odašiljačitipkovnicasačetiritipkespojeni25-pinskimpriključnicama
Sl.109.Rasporedelemenatanatipkovnicisačetiritipke odašiljača
Sl.112.Shemaspajanjatipkovniceodašiljačasosamtipki
55
Prijamnik Shema prijamnika prikazana je na sl. 117. Na shemi možemo uočiti četiri osnovna sklopa koji zajedno čine prijamnik. Prijamnik se napaja strujom iz baterije 9 V. dioda d4 ima zadaću da osigura cijeli sklop prijamnika od pogrešno spojene baterije. dioda d2 spojena serijski s otpornikom R2 pokazuje je li napajanje prijamnika uključeno ili nije. Integrirani krug Ic2 je stabilizator napona 7805 koji osigurava napajanje mikrokontrolera i prijamnog VF modula stalnim naponom 5 V. Mikrokontroler Ic1 je Atmelov AT89c2051, spojen na uobičajeni način. Više o tom mikrokontroleru možete pročitati u našem časopisu, u seriji “Igrajmo se mikrokontrolerima” autora mr. Vladimira Mitrovića (“ABc tehnike” broj 457 do 466). Zadaća toga mikrokontrolera jest da signal VF modula prijamnika, priključenog na serijski ulaz mikrokontolrea P3.0 (RXd), dekodira i pretvara u stanja na izlazima vrata P1. Kao što nam je već poznato, ta su stanja 0 V ili 5 V, a čitaju se kao binarno “0”, odnosno “1”. Taj se ulaz (pin P3.0, RXd) spaja na treći osnovni sklop koji čini prijamni VF modul (433 MHz 5V100dBM Lc Ac-RX). Prijamni se VF modul priključuje na 15-polni ženski strip SV1. Antenu prijamnog modula, jednako kao i odašiljačkog, čini bakrena žica promjera 1 do 1,5 mm duljine 165 milimetara. Četvrti sklop našega prijamnika čini izlaz prema motorima. Njegova je osnova driver L293B sa četiri ulaza i četiri izlaza. Na shemi, taj je driver označen kao Ic3. Njegovi su ulazi spojeni s vratima P1 mikrokontrolera, točnije sa četiri pina vrata P1. To su pinovi P1.4, P1.5, P1.6 i P1.7. Otpornici R4, R5, R6 i R7, spojeni s plus 5 V, osiguravaju pozitivni napon na ulazima drivera kada su stanja izlaznih pinova mikrokontrolera “1” odnosno plus 5V, a time i dovoljno jaku struju za otvaranja izlaza drivera. Prva dva izlaza drivera spojena su s priključnicom SL3, a druga dva izlaza spojena su s priključnicom SL4. Na priključnicu SL3 spaja se jedan, a na priključnicu SL4 drugi motor našega robotića. dioda d3 štiti integrirani krug Ic3 od pogrešno spojenog izvora napajanja, a dioda d3 (LEd) spojena serijski s otpornikom R3 pokazuje je li priključeno napajanje izlaznog sklopa odnosno motora.
Sl.113.Nacrttiskanepločicetipkovniceodašiljačasosam tipkisastraneelemenata
Sl.114.Nacrttiskanepločicetipkovniceodašiljačasosam tipkisastranevodova
Sl.115.Rasporedelemenatanatiskanojpločicitipkovnice odašiljačasosamtipki
Sl.116.Tipkovnicasosamtipkiodašiljača
56
S l. 117. S hema prijamnika
nosti dogradnje prijamnika na donji postroj robotića “ABc tehnike” prikazana je na sl. 121. Iz-
Kao što se iz sheme vidi, za napajanje izlaznog sklopa odnosno za pokretanje elektromotora upotrijebili smo poseban izvor napajanja. Razlog tome je što mikrokontroler i prijamni VF modul zahtijevaju stabilizirani napon, a motori bi mogli prigodom uključivanja i isključivanja taj napon destabilizirati. Osim toga, takvo odvojeno napajanje omogućuje pokretanje motora s različitim naponom napajanja, od 3 V do 7,5 V, ovisno o upotrijebljenim dc motorima. Treba napomenuti da VF modul i mikrokontroler zajedno troše struju od samo nekoliko miliampera, pa će baterija 9 V trajati mnogo dulje od baterija kojima se pokreću elektromotori. Nacrt tiskane pločice prijamnika, sa strane elemenata prikazan je na sl. 118., a nacrt tiskane pločice prijamnika sa strane vodova prikazan je na slici 119. Raspored elemenata na tiskanoj pločici prikazan je na slici 120. Četiri otpornika, R4, R5, R6 i R7, leme se na pločicu jednako kako je opisano u članku “Izlazno-ulazno sučelje za spajanje robota s osobnim računalom” (“ABc tehnike”, broj 481), na 12. stranici i prikazano na slici 81. Popis materijala potrebnog za izradu prijamnika naveden je u tablici 4. Gotov prijamnik dograđuje se na donji postroj našega robotića. Jedna od takvih moguć-
Sl.118.Nacrttiskanepločiceprijamnikasastraneelemenata
Sl.119.Nacrttiskanepločiceprijamnikasastranevodova
57
Oznaka
Naziv
Kom.
SL1
Konektor za bateriju 9 V s kabelom
1
SL2
Konektor za bateriju muški dvopolni ( strip )
1
SL3 = SL4 Konektor za motor ženski dvopolni ( strip ) S1 = S2
Prekidač s tri priključka
2 2
D1 = D2 LED 3 mm
2
D3 = D4 Dioda 1N4004
2
R1
Otpornik 22 kΏ
1
R2 = R3
Otpornik 1 kΏ
2
R4 – R7
Otpornik 10 kΏ
4
C1 = C2
33 pF
2
C3
10 µF
1
C4
0,1 µF
1
C5
100 µF
1
IC1
Mikrokontroler AT89C2051
1
IC2
Stabilizator napona 7805
1
IC3
L293B
1
Q1
Kristal (kvarc) 12 MHz
1
X1
Konektor za pisač (muški) DB25 M, za pločicu
1
SV1
Strip 15 polni (prof) za prijemni modul
1
VF modul (433 MHz 5V-100DBM LC AC-RX)
1
Antena, bakrena žica promjera 1 do 1,5 mm duljine 165 mm
1
Tiskana pločica Vetro-foto (80x55 mm)
1
ANT
Sl.120.Rasporedelemenatanatiskanojpločiciprijamnika
rada upravo takva donjeg postroja našega robotića opisana je u našem časopisu broj 472 i 473. Jasno je da naš prijamnik možemo dograditi na donji postroj izrađen drugačije od predloženog ili sastavljenog od drugih dijelova, na primjer Fischertechnik, Lego, Mehano itd.
Sl.121.Prijamnikučvršćennarobotića“ABCtehnike”
Mitrović u seriji članaka objavljenih u časopisu “ABc tehnike” pod naslovom “Igrajmo se mikrokontrolerima”. Izrada programatora mikrokontrolera i rad njime opisan je u broju 461 našega časopisa. Više o radu mikrokontrolerima i programiranju u programskom jeziku BAScOM možete naučiti iz knjige mr. Vladimira Mitrovića: “Programiranje mikrokontrolera programskim jezikom “BAScOM”. daljinsko upravljanje opisano je u članku “Primjena malih hibridnih VF prijamnika i odašiljača”. Taj ćete članak naći na 105. stranici knjige mr. Vladimira Mitrovića. Slične VF odašiljače i prijamnike upotrijebili smo pri gradnji našega robotića na daljinsko upravljanje. Odašiljački i
Programiranje mikrokontrolera odašiljača i prijamnika U nastavku su predočeni programi odašiljača i prijamnika. Program odašiljača upišemo u jedan mikrokontroler, a program prijamnika u drugi mikrokontroler. Ne zaboravite obilježiti koji je mikrokontroler programiran kao odašiljač, a koji kao prijamnik. Programiranje mikrokontrolera i rad u programskom jeziku BAScOM opisao je mr. Vladimir
58
prijamni VF moduli rade na frekvenciji 434 MHz i kupuju se gotovi. Moduli su testirani i njihova je upotreba dopuštena i odobrena međunarodnim propisima. Program našega odašiljača napisan je tako da se odvija u jednoj petlji, pri čemu mikrokontroler očitava stanje na vratima P1 mikrokontrolera i prenosi to stanje VF modulu odašiljača. Program prijamnika također se odvija samo unutar jedne petlje, pri čemu mikrokontroler očitava signal koji dolazi iz prijamnog VF modula i taj signal pretvara u stanje na vratima P1. Oba programa traju tako dugo dok su odašiljač odnosno prijamnik priključeni na izvor napajanja. Program odašiljača sastavljen je tako da su svi pinovi na ulaznim vratima mikrokontrolera P1 u stanju logičke jedinice (A = 255) tako dugo dok pritiskom na neku od tipki naše tipkovnice to stanje ne promijenimo ili tako dugo dok to stanje nije promijenjeno signalima na priključku za pisač našega računala. Sukladno tome sastavljen je i program prijamnika.
$crystal = 12000000 $baud = 2400 ‘ do A = Waitkey P1 = A Loop Oba programa mikrokontrolera jednako rade ako robota vodimo pomoću tipkovnice ili pomoću računala, pa ih ne treba posebno mijenjati. Za vođenje robota pomoću računala primijenit ćemo malo prerađen program koji je u programskom jeziku QBASIc opisan u časopisu “ABc tehnike” broj 480. Taj prilagođeni program za daljinsko upravljanje naveden je u nastavku pod naslovom PEPEK IV. Program radi jednako kao program pod naslovom PEPEK III. predočen u 480. broju našega časopisa, pa ga ne ćemo posebno opisivati. Taj program možete prepravljati po želji, ili čak po njegovu uzoru sastaviti vlastiti program. Pretpostavljamo da znate programirati u programskom jeziku QBASIc, ali ipak preporučujemo da znanje obnovite iz članaka prof. damira Čovića: “Programiranje u Q-BASIc-u”. Članci su objavljenu i našem časopisu “ABc tehnike” (brojevi 468 do 477).
Program 1. Programodašiljača ‘ ————————————————— ‘ VF_odašiljač ‘————————————————— $crystal = 12000000 $baud = 2400 dim A As Byte Scon.1 = 1 ‘ do A = 255 If Scon.1 = 1 Then Scon.1 = 0 A = P1 Sbuf = A End If Waitms 10 Loop ‘ Print “ “ Program 2. Programprijamnika ‘————————— ‘VF_prijamnik ‘ ————————dim A As Byte
Program 3. Programzavođenje robotićapomoćuračunala ‘PEPEK_IV dIM a(1000, 2) dO cLS izlaz = 888: ‘ ili 956 x=1 l = 19 GOSUB okvir GOSUB okvir2 x = 25 l = 21 GOSUB okvir GOSUB okvir2 x = 50 l = 21 GOSUB okvir GOSUB okvir2
59
GOSUB legenda x = 25 GOSUB radi x = 50 GOSUB ponavlja LOOP ENd ‘ —————————————————‘ legenda: y=6 LOcATE 3, 5: PRINT “P E P E K IV.” LOcATE y + 3, 3: PRINT “2 = natrag” LOcATE y + 5, 3: PRINT “8 = naprijed” LOcATE y + 7, 3: PRINT “6 = okret lijevo” LOcATE y + 9, 3: PRINT “4 = okret desno” LOcATE y + 11, 3: PRINT “5 = stoj” LOcATE y + 13, 3: PRINT “0 = prekid ucenja” LOcATE y + 15, 5: PRINT “ESc = izlaz” LOcATE 3, 35: PRINT “UcI” LOcATE 3, 58: PRINT “PONAVLJA” ‘ LOcATE y + 7, 27: PRINT “Korak :” LOcATE y + 9, 27: PRINT “Izlaz:” LOcATE y + 11, 27: PRINT “Vrijeme:” LOcATE y + 13, 27: PRINT “Trajanje:”
LOcATE y + 16, x: PRINT dn$ RETURN ‘ ——————————————————okvir2: y=1 lin$ = “”: raz$ = “” FOR i = 1 TO l lin$ = lin$ + cHR$(205) raz$ = raz$ + cHR$(32) NEXT i up$ = cHR$(201) + lin$ + cHR$(187) dn$ = cHR$(200) + lin$ + cHR$(188) vt$ = cHR$(186) LOcATE y, x: PRINT up$ FOR i = 1 TO j + 3 LOcATE y + i, x: PRINT vt$ + raz$ + vt$ NEXT i LOcATE y + 4, x: PRINT dn$ RETURN ‘ —————————————————radi: LOcATE 9, 27: PRINT “START” LOcATE 11, 27: PRINT “Bilo koja tipka.” q$ = INPUT$(1) y=7 a(0, 1) = 0 a(0, 2) = 0 OUT izlaz, 0 t0 = TIMER i=1 dO q$ = INPUT$(1) IF q$ = “8” THEN w = 255 - (16 + 64) IF q$ = “2” THEN w = 255 - (32 + 128) IF q$ = “6” THEN w = 255 - (16 + 128) IF q$ = “4” THEN w = 255 - (32 + 64) IF q$ = “5” THEN w = 0 IF q$ = “0” THEN EXIT dO IF ASc(q$) = 27 THEN ENd a(i, 1) = w a(i, 2) = TIMER - t0
LOcATE y + 7, 52: PRINT “Korak :” LOcATE y + 9, 52: PRINT “Izlaz:” LOcATE y + 11, 52: PRINT “Vrijeme:” LOcATE y + 13, 52: PRINT “Trajanje:” RETURN ‘ ————————————————— okvir: y=7 lin$ = “”: raz$ = “” FOR i = 1 TO l lin$ = lin$ + cHR$(205) raz$ = raz$ + cHR$(32) NEXT i up$ = cHR$(201) + lin$ + cHR$(187) dn$ = cHR$(200) + lin$ + cHR$(188) vt$ = cHR$(186) LOcATE y, x: PRINT up$ FOR i = 1 TO 15 LOcATE y + i, x: PRINT vt$ + raz$ + vt$ NEXT i
i a(i, 1)
OUT izlaz, w LOcATE 6 + y, x + 15: PRINT USING “###”; LOcATE 8 + y, x + 15: PRINT USING “###”;
LOcATE 10 + y, x + 15: PRINT USING “###.##”; a(i, 2)
60
LOcATE 12 + y, x + 15: PRINT USING “###.##”; a(i, 2) - a(i - 1, 2) i=i+1 LOOP OUT izlaz, 0 a(i, 1) = 0 a(i, 2) = TIMER - t0 n=i-1 RETURN ‘ —————————————————— ponavlja: LOcATE 9, 52: PRINT “START” LOcATE 11, 52: PRINT “Bilo koja tipka.” q$ = INPUT$(1) y=7 t0 = TIMER FOR i = 0 TO n t1 = TIMER LOcATE 6 + y, x + 15: PRINT USING “###”; i LOcATE 8 + y, x + 15: PRINT USING “###”; a(i, 1)
LOcATE 10 + y, x + 15: PRINT USING “###.##”; a(i, 2) dO OUT izlaz, a(i, 1) IF TIMER - t0 >= a(i + 1, 2) THEN EXIT dO LOOP LOcATE 12 + y, x + 15: PRINT USING “###.##”; TIMER - t1 NEXT i OUT izlaz, 0 RETURN ‘ —————————————— Svi oni koji bi imali poteškoća s nabavom dijelova ili izradom tiskanih pločica, mogu se obratiti našem časopisu, autoru Borku Boraniću epoštom
[email protected] ili našem suradniku Marčelu Mariću e-poštom: marcelo.
[email protected]
61
Daljinskoupravljanjeinfracrvenim zrakama O daljinskom upravljanju našim robotićima već smo pisali. Bilo je to u prilogu časopisa „ABc tehnike“ broj 3 (489), šk. god. 2005./2006. Tada samo gradili robotića upravljanog radiovalovima. Sastavni dio odašiljača za upravljanje našim robotićem bio je odašiljački VF modul, dok je sastavni dio prijemnika na našemu robotiću bio prijemni VF modul. Središnji dio odašiljača bio je mikrokontroler čija je zadaća bila da kodira stanja na izlazu računala ili tipkovnice. Slično, središnji dio prijemnika također je bio mikrokontroler čija je zadaća bila da signale primljene putem prijemnog VF modula dekodira i na taj način aktivira driver za dva mala dc motora. da bismo što više pojednostavili ovaj zanimljivi projekt upravljanja infracrvenim zrakama, zadržali smo tiskane pločice i sve dijelove odašiljača i prijemnika jednake kao što su bili u onome našemu projektu upravljanja radiovalovima. Razlika je samo u tome što smo odašiljački VF modul zamijenili izvorom infracrvenih zraka, a prijemni VF modul senzorom infracrvenih zraka.
I sklop za odašiljanje infracrvenih zraka, IR odašiljač, i prijemnik infracrvenih zraka, IR prijemnik, napravili smo tako da se mogu utaknuti na mjesta gdje su prije bili utaknuti odašiljački i prijemni VF moduli. I programi mikrokontrolera odašiljača i prijemnika jednaki su kao i pri daljinskom upravljanju radiovalovima. Ukratko, razlika je samo što smo u ovome projektu umjesto VF modula upotrijebili IR module, tj. umjesto radiovalova upotrijebili infracrvenu svjetlost. Zato ćemo u ovome broju opisati samo gradnju odašiljačkog sklopa infracrvenih zraka i gradnju prijemnog sklopa infracrvenih zraka. Na taj način sve što ste do sada uradili po uputama iz priloga našega časopisa broj 3 objavljenog u broju 489 u šk. god. 2005./2006. možete upotrijebiti i sada. Treba samo izraditi dva jednostavna sklopa, odašiljački IR modul i prijemni IR modul. Ti će sklopovi zamijeniti tada upotrijebljene VF module.
Slika122.ShemaodašiljačkogIRsklopa
62
Evo kako ćete to uraditi. Shema odašiljačkog IR sklopa prikazana je na slici 122. Osnovu odašiljačkog IR sklopa čini integrirani krug LM555N. To je vrlo često upotrebljavani integrirani krug i može se nabaviti u gotovo svakoj trgovini elektroničkim komponentama.. Taj krug ima dvostruku zadaću. U sklopu kao na shemi taj integrirani krug radi kao oscilator i modulator. Osnovna frekvencija oscilatora je 38 kHz, jer to je frekvencija na kojoj je IR senzor upotrijebljen u ovome projektu najosjetljiviji. Frekvencija se može podešavati trimer potenciometrom koji je na shemi označen s R3. Signal iz mikrokontrolera invertira integrirani krug 74Hc04N, na shemi označen s Ic2. Tako invertirani signal dovodi se na pin 4 integriranog kruga LM555. što omogućuje miješanje ulaznog signala i noseće frekvencije – modulaciju. Modulirani signal koji se tako dobije na izlazu (pin 3) LM555, dovodi se kroz otpornik R5 na bazu tranzistora Q1. U kolektorskom krugu tranzistora spojene su dvije infracrvene diode koje emitiraju infracrvenu svjetlost u skladu s moduliranim signalom iz kruga LM555. Podsjetimo da je osnovna noseća frekvencija 38 kH modulirana signalima mikrokontrolera. Nacrt tiskane pločice odašiljačkog sklopa gle-
dano sa strane elemenata prikazan je na slici 123, a raspored tiskanih vodova gledano sa strane vodova prikazan je na slici 124. Raspored elemenata na tiskanoj pločici prikazan je na slici 125. Gotov IR odašiljački sklop prikazan je na slici
Slika124.NacrttiskanepločiceodašiljačkogIRsklopasa stranevodova
126. sa svim elementima. Sa strane vodova zalemljeni su komadići gole bakrene žice primjera 0,5 mm duljine oko 15 mm. Ti komadići žice služe kao nožice koje se uključuju u pod-
Slika123.NacrttiskanepločiceodašiljačkogIRsklopasa straneelemenata
Slika 125. Raspored elemenata na tiskanoj pločici odašiljačkogIRsklopa
63
nožje onoga VF odašiljačkog modula iz našega prethodnoga projekta. Na slici 127. vidi se kako su i gdje zalemljeni ti komadići bakrene žice, nožice IR odašiljačkog sklopa.. Na slikama 128. i 129. vidi se gotov odašiljački
Slika126.GotovodašiljačkiIRsklopsastraneelemenata
Slika129.SlikagotovogodašiljačkogIRsklopaspojenogs mikrokontrolerskimmodulomnamjestuodašiljačkogRF modulaitipkovnicomgledanosastražnjestrane
modul. Kao što smo već napisali osnovu čini odašiljački modul i tipkovnica iz našega prethodnog projekta. Na pločicu odašiljačkog modula samo je umjesto odašiljačkog VF modula utaknut odašiljački RF sklop. Shema prijemnog IR sklopa jednostavnija je od sheme odašiljačkog IR sklopa. Ta je shema prikazana na slici 130. Osnovu čini infracrveni senzor TSOP1138. U krugu napajanja senzora priključeni su otpor R1 i elektrolitski kondenzator c1 čija je zadaća osigurati stabilnost napajanja senzora i uklanjanje smetnji. Senzor ima ugrađeno predpojačalo s kojega se signal vodi izravno na ulazni pin mikrokontrolera prijemnika. Svjetleća dioda LEd1 u kombinaciji s otpornikom R2 služi kao indikator koji pokazuje kad na izlazu senzora postoji signal. Nacrt tiskane pločica prijemnog IR sklopa sa strane elemenata prikazan je na slici 131. a nacrt tiskane pločice sa strane vodova prikazan je na slici 132. Raspored elemenata na tiskanoj pločici prijemnog IR sklopa prikazan je na slici 133. Gotov IR prijemni sklop sa svim elementima vidi se na slici 134. I na ovome sklopu s njegove donje strane treba zalemiti komadiće bakrene
Slika127.GotovodašiljačkiIRsklopsastranevodova.Vidi serasporednožicazalemljenihnabakrenevodove
Slika128.SlikagotovogodašiljačkogIRsklopaspojenogs mikrokontrolerskimmodulomnamjestuodašiljačkogRF modulaitipkovnicomgledanosprednjestrane
64
žice promjera 0,5 mm, duljine oko 15 milimetara, koje će poslužiti kao nožice i kontakti za spajanje s podnožjem gdje je bio VF modul prijemnika. Na slici 135. vidi se kako treba na tiskane vodove zalemiti komadiće bakrene žice koji služe kao nožice prijemnog IR sklopa. Prijemni IR sklop utaknut u podnožje na Slika133.RasporedelemenataprijemnogIRsklopa
modulu prijemnika, zajedno s našim robotićem vidi se na slici 136. da bi se ostvarila dobra veza između odašiljača i prijemnika treba frekvenciju predajnika podesiti na 38 kHz. To ćemo učiniti tako da odašiljač i prijemnik postavimo na udaljenost od oko 1 metar i uključimo napajanje odašiljača i prijemnika. Odašiljač usmjerimo prema prijemniku. Tada polako okrećemo trimer potenciometar R3 na odašiljačkom IR sklopu dok indikatorska svjetleća dioda LEd1 na prijemnom IR sklopu ne zasvijetli. Sada povećamo razmak između odašiljača i prijemnika i ako je potrebno
Slika130.ShemaprijemnogIRsklopa
Slika131.NacrttiskanepločiceprijemnogIRsklopasa straneelemenata
Slika 132. Nacrt tiskane pločice prijemnog IR sklopasastranevodova
Slika135.SlikaprijemnogIRsklopasdonjestrane.Videse nožicezalemljenenabakrenevodove.
Slika134.SlikaprijemnogIRsklopasgornjestrane
65
ponovno zakretanjem potenciometra R3 odašiljačkog sklopa podesimo njegovu frekvenciju tako da svjetleća indikatorska dioda prijemnika najjače svijetli. Ne treba naročito naglašavati da pritom između odašiljača i prijemnika mora biti slobodan prostor jer je bilo kakav predmet između odašiljača i prijemnika zapreka prolasku infracrvenih zraka od odašiljača do prijemnika. Valja napomenuti da domet našega IR odašiljača ne prelazi 10 metara i da odašiljač treba biti usmjeren prema prijemniku. Ipak, ne morate se plašiti da će vaš robotić nekontrolirano pobjeći bude li izvan dosega infracrvenog snopa odašiljača. Tada će vaš robotić jednostavno stati i čekati da mu se dovoljno približite i ponovno uspostavite kontrolu nad njegovim „ponašanjem“.
Popis materijala potrebnog za izradu odašiljačkog sklopa naveden je u tablici 1., a popis materijala potrebnog za izradu prijemnog IR sklopa naveden je u tablici 2. Oznaka IC1 IC2 Q1 R1 R2 R3 R4 R5 R6 LED1 = LED2 C1 C2
Naziv Komada LM555N 1 74HC04 1 Tranzistor BC337 1 Otpornik 2,2 kΩ 1 Otpornik 5 kΩ 1 Otpornik 2,5 kΩ (trimer) 1 Otpornik 100 kΩ 1 Otpornik 1 kΩ 1 Otpornik 50 Ω 1 LD271 2 Kondenzator 4,7 nF (ker) 1 Kondenzator 0,1 µF 1 Tiskana pločica Vetro-foto 1
Tablica1.Popismaterijalazaodašiljač
Oznaka SL1 LED1 R1 R2 C1 Slika136.„RobotićABCtehnike“sprijemnimIRsklopom namjestuprijemnogRFmodula.
Naziv IR senzor TSOP1138 Svjetleća dioda 3 mm Otpornik 100 Ω Otpornik 2,2 kΩ 4,7 µF Tiskana pločica Vetro-foto
Tablica2.Popismaterijalazaprijemnik
66
Komada 1 1 1 1 1 1
NovimikrokontrolerAT89S8253 PrijelazsAT89S8252naAT89S8253 Tvrtka ATMEL više ne proizvodi mikrokontroler AT89S8252. Umjesto njega proizvodi se i prodaje njegova zamjena AT89S8253. Programator «McS SPI programmer», kojim ste do sada upisivali program u flash mikrokontrolera ne podržava upisivanje programa u Flash mikrokontrolera AT89S8253. Umjesto njega u izborniku BASCOM 8051 DEMO verzije 2.0.13.0 treba birati «Sample Electronics ISP programmer». BASCOM 8051DEMO verzija 2.0.13.0 može se besplatno skinuti s adrese http://mcselec.com/. Istim programatorom «Sample Electronics ISP programmer» može se upisivati program u Flash oba mikrokontrolera, AT89S8252 i AT89S8253. Prije primjene programatora «Sample Electronics ISP programmer» treba prespojiti žice na kablu kojim je za vrijeme programiranja spojen mikrontrolerski modul s računalom, kako je dalje opisano. Otvoriti oklop konektora za Printer Port kabla kojim se spaja mikrokontrolerski modul s računalom za vrijeme programiranja. 1.Odlemitižicukojajespojenanapin1izalemitijenapin2 2. Žicu koja je spojena na pin 11 ostaviti zalemljenunapinu11 3. Odlemiti žicu koja je spojena na pin 14 i zalemitijenapin5 4. Odlemiti žicu koja je spojena na pin 17 i zalemitijenapin4 5.Žicukojajespojenanapinove18-25ostavitizalemljenunapinove18–25 Zatvoriti oklop konektora. Kabel za vezu s računalom spaja se na isti 5 pinski konektor mikrokontrolerskog modula kao i kad se radi s AT89S8252. Nikakve promjene na mikrokontrolerskom modulunisupotrebne. Eventualne smetnje mogu se pojaviti radi kondenzatora. Vidjeti tekst na kraju: „Kondenzatori“
Programiranje Postupak programiranja jednog i drugog mikrokontrolera ne razlikuju se. Razlika je samo u postavkama i redoslijedu postupaka pri upisu programa u Flash mikrokontrolera pri primjeni programatora «Sample ElectronicsISPprogrammer».Pri upisu programa u Flash mikrokontrolera slijedite upute. Uputevijedezaobamikrokontrolera. Nakon što otvorite editor najnovije verzije BAScOM-a (2.013.0) kliknite mišem na Options na traci s izbornicima. Od ponuđenih opcija odaberite Programmer, a od ponuđenih programatora odaberite «Sample Electronics ISP programmer». U istom izborniku u kvadratić ispred Code+Data stavite kvačicu. U istom izborniku birajte Compiler i u prozoru koji se otvori birajte Misc. Od ponuđenih opcija birajte 89S8252.DAT ili 89S8253.DA, ovisno koji mikrokontroler programirate. Nakon što ste napisali program, u glavnom izborniku birajte Program. Zatim kliknite na Compile i pričekajte kratko vrijeme dok program obavi prevođenje i javi da je bilo uspješno. Ponovno kliknite na Program i birajte Send toChip. U izborniku koji se otvori u polju Chip birajte 89S8253 ili 89S8252, ovisno o tome s kojim mikrokontrolerom radite. U istom izborniku kliknite na Chip u gornjem redu. U novom prozoru koji se otvori kliknite na Erase, potom na Write buffer into chip ili Autoprogram i najzad Verify. Svaki puta pričekajte da program obavi i dojavi da je izvršio izabrani postupak. Kondenzatori Na shemi mikrokontrolerskog modula uz kristal od 12 MHz ucrtani su kondenzatori c2 i c3 vrijednosti 33 pF. Oni uz kristal određuju ispravan takt mikrokontroleru AT89S8252, odnosno mikrokontroleru AT89S8253. U podacima firme Atmel za mikrokontroler
67
Slika1. «Podnožja»zakondenzatoreC2iC3namikrokontrolerskommodulutrebazalemitinamjestapredviđena zakondenzatoreC2iC3. Slika 2. «Podnožja» za kondenzatore s uključenim kondenzatorimaC2iC3mikrokontrolerskogmodula
AT89S8253, koji je sada zamjena za AT89S8252, stoji podatak da je preporučljiva vrijednost tih kondenzatora (na shemi c2 i c3) 5 pF ± 5pF, što znači da se ti kondenzatori mogu izostaviti, a mogu se upotrijebiti i kondenzatori vrijednosti 10 pF. Pokusima je utvrđeno da neki mikrokontroleri AT89S8253 ispravno rade i s kondenzatorima vrijednosti 33 pF (na shemi c2 i c3), a neki s tako velikom vrijednošću kondenzatora ne rade pouzdano, što ovisi o seriji mikrokontrolera. Najbolje je stoga vrijednost tih kondenzatora odrediti pokusom za svaki pojedini mikrokontroler. To se može uraditi tako da se na mjesto predviđeno za kondenzator zaleme dva dvopolna «podnožja» kako je to na slici 1. prikazano.
Takva se «podnožja» odsijeku od dil letvice koja se u trgovinama elektroničkim materijalom mogu kupiti pod nazivom «strip jednoredni, ženski, profi». Takva «podnožja» mogu se odrezati i od isluženih ili novih podnožja za integrirce, također pod oznakom «profi». Najbolje je da se prvi pokus izvede bez kondenzatora c2 i c3, a ako modul ne bi proradio zbog toga što je amplituda oscilatora AT89S8253 premala, u ta podnožja treba utaknuti prvo kondenzatore od po 5 pF, pa potom 10 pF, 15 pF, itd sve do 33 pF. Vidjeti sliku 2. Ako ni tada modul ne proradi to nije zbog kondenzatora, nego uzrok treba potražiti drugdje.
68
Borko Boranić
Robotići Priručnik za izbornu nastavu tehničke kulture u osnovnoj školi II. dopunjeno izdanje
9 789536 091362