Haririk gabeko mikrobot baten diseinua eta...

9
Haririk gabeko mikrobot baten diseinua eta kontrola Laburpena— Lan honetan haririk gabeko komunikazioaren bitartez mikrobot bat kontrolatu da. Hori burutzeko mikrobota bera diseinatu eta eraiki egin da eta erabiltzailearekin komunikatzeko beharrezkoak izan diren aplikazioak garatu dira. Mikrobotaren ardatza Chipcon enpresako CC1010 mikrokontrolagailua da, eta honek igorlearekin komunikatzeko eta motoreak kontrolatzeko beharrezkoa den zirkuiteria diseinatu eta eraiki da. Bestalde, komunikazioa bermatzeko protokolo sinple bat garatu behar izan da, igorlea eta hartzailea elkar ulertzeko, aginduen kodeketa definituz eta era sinplean erabiltzaileari mikrobota kontrolatzeko aukera emanez. Protokolo hau eta igorlea eta hartzailearen portaera zuzentzeko bi programak idatzi dira, C lengoaian, mikrokontrolagailuaren enpresak eskeinitako aplikazioekin. I. SARRERA IKROBOT bat era errezean definitu daiteke, eginkizun asko bete ditzakeen errobot txiki eta mugikorra dela esanez, bere ezaugarririk aipagarriena sistema autonomoa dela izanik. Beraz, eginkizun horiek mikrobotaren sentsoreen edota programaren araberakoak izango dira. Adibidez, gure eguneroko bizitzan egiten ditugun ohiko ekintzaz arduratu daiteke, garbitu, gidatu eta hainbat gehiago. M Gaur egungo aplikazio nagusiak bi dira. Alde batetik ingurune arriskutsuaren esplorazioa, hala nola, itsaspea, sumendiak eta espazioa; esatebaterako Nasakoek Martitz planeta aztertu dute mikrobot batzuekin. Bestetik arlo militarra, bai esplorazioak egiteko bai tripulatu gabeko hegazkin edo ibilgailuak garatzeko. Mikrobotetan bezala, ingurune askotan beharrezkoak dira kontrol zehatzak, hau da, ingurunetik informazioa jaso eta kalkuluak egin ostean erantzuna eman. Informazioa galdara baten tenperatura izan daiteke, edo jariakin baten abiadura; mikrobotaren kasuan sentsoreen neurketak; eta erantzuna hozkailua pizteko edo ate bat irekitzeko boltai bat ematea. Prozesu hau burutzeko tresna ezberdinak erabil daitezke, teknologia ezberdinak baliatuz. Horien artean askotan mikrokontrolagailuek abantailak aurkezten dituzte. Esatebaterako prezio baxua eta tamaina txikia, ahalibidetzen dutenak kontrolatu behar duten prozesuarekin batera joatea. Horrexegatik, nahiz eta ez jabetu, mikrokontrolagailuak egunero erabiltzen dira, telefono mugikorretan, ordenagailuaren teklatuan, alarmetan, kotxeetan eta beste hainbat eginkizun ezberdin betetzeko. Hala ere potentzia haundia behar denean edo algoritmoak konplexuak direnean beste sistema konplexuagoak erabiltzen dira (PC indutrialak, PLC-ak, besteen artean). Horrela, mikrokontrolagailuak gaur egungo ingeniarientzako oinarrizko lan-tresna dira eta oso ohikoak dira ikasgeletan eta laborategietan. Bereziki, Mikroboten bihotza direnez azken hauek ingeniarien formakuntzan tresna osagarriak dira. Are gehiago, baliagarriak dira sistema autonomoen inguruan ikerketak egiteko, komunikazio sistemak frogatzeko, edo, biologoen eskuetan, izaki bizidun sinpleen (inurriak) portaera aztertzeko eta simulatzeko. Baita ere, maskotaren lekua bete dezakete, Aibo txakurra Sony-k jolaserako garatutako mikrobot komertziala erakusten duenez. Lan honentzako wireless komunikazio baten bitartez mikrobot talde bat kontrolatzea finkatu den helburua da. Bidean sistemaren diseinu osoa burutu da, hau da, mikrobotak eta ordenagailuarekin komunikazioa bermatzeko beharrezkoak diren aplikazioak. Txostenaren hasieran sistemaren egitura aipatzen da, eta ondoren lanaren atal nagusiena, mikrobota alegia. Bertan mikrokontrolagailuei buruzko xehetasunak esateaz gain, mikrobota osatzen duten atal guztiak azaltzen dira, jorratu diren programekin amaitzeko. Jarraian, erabiltzailearen eta mikrobotaren arteko komunikazioa bermatzen duen elementua aztergai dago, master deritzona. Amaitu aurretik programen garapenean ezinbestekoak izan diren aplikazioak erakusten dira. II. SISTEMAREN DESKRIPZIOA Sistemaren egitura 1. irudian aurkitu daiteke. Mikrobotak master deritzon elementuarekin komunikatzen dira, honen aginduak bete edo informazioa trukatzeko. Komunikazio hau wireless motatakoa da, hau da, haririk gabe gauzatzen da RF seinaleen bitartez. Eta masterreri aginduak bezeroak bidaltzen dizkio PC bat erabiliz. Hauen arteko komunikazioa serie portutik bermatzen da, aplikazio bat beharrezkoa izanez lan hau burutzeko, adibidez Windowseko Hyperterminal edo Linux- eko Minicom. Haririk gabeko mikrobot baten diseinua eta kontrola 1 Egilea: Mikel Eguiraun Arrieta, EHU-ko Elektronika Ingeniaritzako ikaslea Zuzendaria:Josu Jugo, EHU-ko Elektrizitate eta Elektronikako sailaren irakaslea

Transcript of Haririk gabeko mikrobot baten diseinua eta...

Page 1: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

Laburpena— Lan honetan haririk gabeko komunikazioaren bitartez mikrobot bat kontrolatu da. Hori burutzeko mikrobota bera diseinatu eta eraiki egin da eta erabiltzailearekin komunikatzeko beharrezkoak izan diren aplikazioak garatu dira. Mikrobotaren ardatza Chipcon enpresako CC1010 mikrokontrolagailua da, eta honek igorlearekin komunikatzeko eta motoreak kontrolatzeko beharrezkoa den zirkuiteria diseinatu eta eraiki da. Bestalde, komunikazioa bermatzeko protokolo sinple bat garatu behar izan da, igorlea eta hartzailea elkar ulertzeko, aginduen kodeketa definituz eta era sinplean erabiltzaileari mikrobota kontrolatzeko aukera emanez. Protokolo hau eta igorlea eta hartzailearen portaera zuzentzeko bi programak idatzi dira, C lengoaian, mikrokontrolagailuaren enpresak eskeinitako aplikazioekin.

I. SARRERA

IKROBOT bat era errezean definitu daiteke, eginkizun asko bete ditzakeen errobot txiki eta mugikorra dela esanez, bere ezaugarririk aipagarriena sistema autonomoa dela izanik. Beraz, eginkizun horiek mikrobotaren sentsoreen edota

programaren araberakoak izango dira. Adibidez, gure eguneroko bizitzan egiten ditugun ohiko ekintzaz arduratu daiteke, garbitu, gidatu eta hainbat gehiago.

MGaur egungo aplikazio nagusiak bi dira. Alde batetik ingurune arriskutsuaren esplorazioa, hala nola, itsaspea, sumendiak eta

espazioa; esatebaterako Nasakoek Martitz planeta aztertu dute mikrobot batzuekin. Bestetik arlo militarra, bai esplorazioak egiteko bai tripulatu gabeko hegazkin edo ibilgailuak garatzeko.

Mikrobotetan bezala, ingurune askotan beharrezkoak dira kontrol zehatzak, hau da, ingurunetik informazioa jaso eta kalkuluak egin ostean erantzuna eman. Informazioa galdara baten tenperatura izan daiteke, edo jariakin baten abiadura; mikrobotaren kasuan sentsoreen neurketak; eta erantzuna hozkailua pizteko edo ate bat irekitzeko boltai bat ematea. Prozesu hau burutzeko tresna ezberdinak erabil daitezke, teknologia ezberdinak baliatuz. Horien artean askotan mikrokontrolagailuek abantailak aurkezten dituzte. Esatebaterako prezio baxua eta tamaina txikia, ahalibidetzen dutenak kontrolatu behar duten prozesuarekin batera joatea. Horrexegatik, nahiz eta ez jabetu, mikrokontrolagailuak egunero erabiltzen dira, telefono mugikorretan, ordenagailuaren teklatuan, alarmetan, kotxeetan eta beste hainbat eginkizun ezberdin betetzeko. Hala ere potentzia haundia behar denean edo algoritmoak konplexuak direnean beste sistema konplexuagoak erabiltzen dira (PC indutrialak, PLC-ak, besteen artean).

Horrela, mikrokontrolagailuak gaur egungo ingeniarientzako oinarrizko lan-tresna dira eta oso ohikoak dira ikasgeletan eta laborategietan. Bereziki, Mikroboten bihotza direnez azken hauek ingeniarien formakuntzan tresna osagarriak dira. Are gehiago, baliagarriak dira sistema autonomoen inguruan ikerketak egiteko, komunikazio sistemak frogatzeko, edo, biologoen eskuetan, izaki bizidun sinpleen (inurriak) portaera aztertzeko eta simulatzeko. Baita ere, maskotaren lekua bete dezakete, Aibo txakurra Sony-k jolaserako garatutako mikrobot komertziala erakusten duenez.

Lan honentzako wireless komunikazio baten bitartez mikrobot talde bat kontrolatzea finkatu den helburua da. Bidean sistemaren diseinu osoa burutu da, hau da, mikrobotak eta ordenagailuarekin komunikazioa bermatzeko beharrezkoak diren aplikazioak.

Txostenaren hasieran sistemaren egitura aipatzen da, eta ondoren lanaren atal nagusiena, mikrobota alegia. Bertan mikrokontrolagailuei buruzko xehetasunak esateaz gain, mikrobota osatzen duten atal guztiak azaltzen dira, jorratu diren programekin amaitzeko. Jarraian, erabiltzailearen eta mikrobotaren arteko komunikazioa bermatzen duen elementua aztergai dago, master deritzona. Amaitu aurretik programen garapenean ezinbestekoak izan diren aplikazioak erakusten dira.

II. SISTEMAREN DESKRIPZIOA

Sistemaren egitura 1. irudian aurkitu daiteke. Mikrobotak master deritzon elementuarekin komunikatzen dira, honen aginduak bete edo informazioa trukatzeko. Komunikazio hau wireless motatakoa da, hau da, haririk gabe gauzatzen da RF seinaleen bitartez. Eta masterreri aginduak bezeroak bidaltzen dizkio PC bat erabiliz. Hauen arteko komunikazioa serie portutik bermatzen da, aplikazio bat beharrezkoa izanez lan hau burutzeko, adibidez Windowseko Hyperterminal edo Linux-eko Minicom.

Haririk gabeko mikrobot baten diseinua eta kontrola

1

Egilea: Mikel Eguiraun Arrieta, EHU-ko Elektronika Ingeniaritzako ikasleaZuzendaria:Josu Jugo, EHU-ko Elektrizitate eta Elektronikako sailaren irakaslea

Page 2: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

1.Irudia:Sistema Osoaren Deskripzioa

Aurrerantzean sistemaren osagai ezberdinak deskribatzen dira.

III. MIKROBOTAK

Hurrengo argazkian ikusten da mikrobotaren itxura. Bi txarteletan banatua dago, behekoan, elikadura iturriaren zirkuiteria, motoreak kontrolatzeko txip-a (L298) eta sentsoreen konektoreak daude. Goikoan mikrokontrolagailua bera (CC1010), mikrobotaren bihotza. Biak kable lauaren bitartez lotuta daude.

2.Irudia: Eraikitutako mikrobota

Txartel biak Lego piezaz eraikitako egituran muntatzen dira , 2. Irudiko argazkian ikusten den bezala. Egitura horretan finkatzen dira baita ere motoreak, sentsoreak eta pilak (1,5V lau pila arruntak).

Mikrokontrolagailuak masterretik edo sentsoreetatik informazioa jasotzen du eta aginduak bidaltzen dizkio L298 deritzonari motoreeak mugiarazteko.

Elementu guzti hauen funtzionamendua azalduko da jarraian.

A. Mikrokontrolagailuak

Erabilitako mikrokontrolagailua azaldu baino lehen elementu hauen kontzeptu nagusienak aztertuak izango dira, ondoren datozen azalpenak hobeto ulertzeko.

Gailu elektroniko hauek dira mikroboten garuna. Ezaugarri mugatuekin zirkuito integratu batean inplementatu den konputadorea da. Ordenagailu txikiak bezala uler daitezke eta hauek bezalaxe cpu bat daukate, memoria eta kanpoaldearekin komunikatzeko elementuak (I/O). 1980 urtean Intel enpresak 8 bit-eko 8051 mikrokontrolagailua garatu zuen, ondorengo mikro askoren eta lan honetan erabili den CC1010ren eredu bilakatu dena. Egitura Harvard arkitekturan oinarrituta dago, hau da, programaren datuak eta kodigoa kanpo memoria ezberdinetan gordetzen dira, bakoitza bus ezberdina erabiliz. Mikrokontrolgailu hau 8 bit-ekoa dela esaten da data-busa horrelakoa delako. SFRak (Special Function Registers) mikroa konfiguratzeko erregistroak dira, barne memoria batean daude eta datuak eskuratzea kanpokoan baino azkarrago egiten da.

Enpresa bakoitzak funtzio ezberdinak gehitzen dizkio, hala nola UART (kanpoko elementu batekin (PC) serie moduan komunikatzeko), tenporizadoreak, memoria tamaina handiagoa, FLASH memoria (erraztasunez idazten/ezabatzen den

2

PCMikrobotak

Master

Page 3: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

EEPROM memoria finkoa), konbertsore digital/analogikoak, eta beste hainbat ezaugarri.Hezkuntzarako erabilpena FLASH memoriaren garapenarekin izugarri erraztu da. Horrela mikroz kanpoko memoria eta

hura programatzeko tresneria konplexuaren beharrik ez dago, zirkuiteria sinplifikatuz eta prezioa jeitsiz. 1980ko hamarkadan asmatu egin zen FLASH memoria, eta ondorengo urteetan mikrokontrolagailuetan inplementatzen hasi zen. Programa grabatzea eta berriztaztea errez egiten da eta mikrobotak diseinatzeko beharrezkoak ziren elementuak gutxitzen dira.

Lan hau gauzatzeko Chipcon enpresako CC1010 mikrokontrolagailua erabili da. Enpresa hau izan da lehenetarikoa RF elementuak eta mikroa chip berean integratzen. Potentzi eta tentsio baxuekin lan egiteko diseinatua dago. Nukleoa 8051 standarra osatzen du, eta 32kB-eko Flash memoria, AD/DA konbertsoreak, I/O programableak eta RF atala gehitu diote. Azkenengo hau beste mikroetatik desberdintzen du eta jarraian aztertuko da.

3.Irudia: C1010 mikrokontrolagailuaren transceiverra

3. irudiko bloke diagrama ikusten denez, irrati bidezko komunikazioa gauzatzeko elementu guztiak agertzen dira, Superheterodino Hartzailearen eredua jarraituz.

Mikro honek 300-1000 Mhz tartean lan egin dezake baina optimizatua dago ISM bandarako (Industrial, Scientific and Medical). 868 Mhz erabili da baina barne erregistro batzuk eta kanpoko elementu batzuren parametroak aldatuz (kondentsadoreak eta induktoreak) beste frekuentzietan konfigura daiteke.

Komunikazio sistema aurreratua denez, PLL (phase locked loop) bat dauka barnean. Elementu hau beharrezkoa da frekuentziak sintonizatzeko mikroan erregistroak agintzen duten modura. Mixer-arekin sarrerako seinalea (RF_IN) eta PLL-ak emandakoa nahasten dira IF (tarteko frekuentzia) lortzeko. Demoduladorea frekuentzi honetan lan egiten du beti eta horregatik da hain garrantzitsua PLL-a, beharrezkoa den frekuentzia sintonizatzen du IF lortzeko. Jasotako datua RFBUF erregistrora bidaltzen da. Informazioa bidaltzeko, mikroak RFBUF-n utzi duena, PLL-ak irteerako seinalearen (RF_OUT) frekuentzia sintonizatzen du eta hau FSK (frequency shift keyed) moduan kodetzen da. Azkenez, PA-ra doa irteerako seinalea desiraturiko potentzia edukitzeko. RF ataleren elementu hauek 1. taulan ikus daitezke.

3

I TAULARF TRANSCEIVERAREN OSAGAIAK

Ikurra ZereginaVCO Boltai bidez kontrolatutako osziladoreaLPFPD/N eta /ROSC

PA

LNA

MIXER

RFBUF

DEMOD/ ENCODER

Behe-pasa filtroafase detektoreafrekuentzia zatitzaileakkristalezko osziladorea, zehatza eta egonkorrapotentzi anplifikadorea irteerako seinalearentzakozarata baxuko anplifikadorea, sarrerako seinalea anplifikatzekobi seinale nahasten ditu IF seinalea lortzekojaso edo bidaliko den datua hemen gordetzen dadatu kodeketa gauzatzeko

Page 4: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

Datuak bit edo bytetan jaso/bidali daitezke, datu formatua aukeratu daiteke NRZ sinkronoa, Manchester sinkronoa eta UART moduaren artean. Lan honetan NRZ modua erabiltzen da, Non Return to Zero, bit bakoitzari tentsio balio bat dagokio baina bit bakoitzaren zehar tentsioa mantentzen da. Adibide moduan 4.irudian bit segida arbitrario bati dagozkion seinalearen tentsio aldaketak adierazten dira.

4.Irudia: NZR kodeketa

Bidali/jasoko den datua baino lehen atariko bit segida bat eta sinkronizaziorako byte bakarra doaz. Horrela jakin dezake mikroak non hasten den komunikazioa. Atarikoa 1 eta 0-z alternatiboki osoturiko segida da eta hurrengo bytea ez du eduki behar bi 0/1 jarraian baino gehiago.

RF komunikazioetarako beharrezkoak diren erregistroen balioak CC1010ren Data Sheet-ean (mikroaren ezaugarriak eta funtzionamendua biltzen duen txostena, mikroaren egileak emanda) lortzen dira. Behin ezaugarriak aukeratu direnean, orrietan begiratu behar da zein balio hartu behar dituzten erregistroek programan ezartzeko.

CC1010 erabiltzeko kanpo zirkuiteria beharrezkoa da, antena gehitu behar zaio, eta honekin batera doazen kondentsadoreak eta induktoreak, kristalezko osziladoreak, eta mikroa eta beste elementuak komunikatzeko konektoreak. Baina mikroa hain txikia denez, 20 mm-ko aldea, oso zaila da elementu guzti hauek eskuz soldatzea. Horregatik empresak emandako zikuiteria erabilia izan da, CC1010EM (Evaluation Module) deritzona eta 5. irudian ikus daitekeena.

5.Irudia CC1010EM Ebaluazio moduloaModulu hau lanaren barnean diseinatutako txartelean konektatu eta hemendik kable launaren bitartez motoreen

txartelarekin komunikatzen da. Txartel honen helburua bi etapak konektatzea da baina aipatu behar da konektoreez aparte beste tentsio erreguladore bat daukala, 3.3 V-koa, mikroak tentsio honetan lan egiteko optimizatua baitago.

B. Motoreak

Beheko txartelari dagokio atal hau, eta zirkuitua 6.Irudian agertzen da.

6. Irudia Diseinatutako potentzi-zirkuitua

Jarraian elementu ezberdinak azaltzen dira:

● LM7805: 5 V-ko tentsio erreguladorea. Piletatik jasotzen dugun tentsioa egonkortzeko.

● 1N4001: Diodo arruntak, korrontea zentzu bakarrean bakarrik pasatzen uzten duen elementua, bere terminalen arteko tentsioak kontrolatua.

● L298: Elementu honek mikrotik jasotzen ditu aginduak sei pin ezberdinetan eta horien konbinazioaren arabera motoreak martxan jarriko dira ala ez. Ezin dira motoreak mikrora zuzenean lotu honek ez duelako potentzia ematen, eta L298 bai.

4

Page 5: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

Motore batentzako funtzionamendua aztertuko dugu, 7. irudiko eskema jarraituz. Eskema horretako 11 zenbakiaz izendatuta dagoen pinak aktibatzen du motorea, eta C eta D (10 eta 12 pinak) honen norantza kontrolatzen dute. Diodoak oposaketan lan egiten dute, D1 eta D4 korrontea pasatzen uzten dutenean, D2 eta D3 itzita daude. Bikote bakoitzak norantza bat gauzatzen du. C eta D mikrotik ateratako seinaleak dira, TTL motatakoak.

7.Irudia L298 zirkutuaren erabilpena motor baten kasuan

● Futaba S3003: Serbo motoreak. Bakarrik bira dezakete 180 gradu oztopo mekanikoa dutelako, baina modifikatuak daude libre biratzeko, horrela korronte jarraiko motor arrunt bat izango balitz bezala funtzionatzen du. DC motorea, haril (estator) baten eremu magnetikoaren barnean dagoen beste haril birakari bat (errotorea) besterik ez da. Korrontea aplikatzerakoan estatorrak eremu magnetikoa sortzen du eta errotorea biratzen hasten da Faradayren legearen arabera.

C. Sentsoreak

Oso garrantzitsuak dira sentsoreak ingurunetik informazioa jasotzen baitute, mikrobotak kanpo eragineei aurre egin dezan. Hainbat parametroen aurrean sentikorrak izan daitezke, eta lan honetan sentsoreak erabiltzeko lehen pauso bezala elementu sinpleak aukeratu dira oztopo mekanikoak detektatzeko. Sentsore hauek Bumper izenez ezagutzen dira eta mikrobotaren aurrealdean kokaturik daude biak. Sentsore honen konexioa 8. irudian agertzen da.

8.Irudia Bumperraren egitura

C borne amankomuna deritzo eta mikroaren I/O pin batera konektatua dago, xafla irekita dagoenean mikroak 0V detektatzen du eta ixtean 5V. Software baten bitartez erabaki behar da seinale hauen aurrean zer egin, printzipioz, oztopo baten aurrean (5V seinalea) mikrobota gelditu beharko litzateke.

D. Komunikazio protokoloa

Kontrolatu behar diren sistema ezberdinak elkarren artean konektatzeko beharrezkoa gertatzen da komunikazio sistema zehatza eta fidagarria garatzea. Protokoloaren diseinuan konplexutasuna sartuz erabiltzailearen lana errazten da. Baina ez hori bakarrik, teknologia ezberdina erabiltzen dituzten makinak sistema berean egon daitezke, baldin eta guztiak modu berberean komunikatzen badira. Informazioa trukatzeko prozesuak automatizatu daitezke, iharduera osoko parametroak gordetzeko edota sentsore baten irakurketa gauzatzeko.

Gehitutako konplexutasuna azpisistema ezberdinen funtzionamenduaren azterketan agertzen da. Oso ondo ezagutu behar dira hauek era optimoan elkar konektatzeko. Kontuan hartu behar dira hurrengo kontzeptuak: informazio mota (digitala edo analogikoa), kodeketa, transmisio lerroa (kasu honetan wireless), konexio mota (puntuz-puntu, multipuntu...), lotura (half duplex, full duplex) eta sare mota (LAN, WAN).

Sistemaren ezaugarri horiek finkatuz protokoloa garatzen da, ekintza asko garden bilakatuz erabiltzailearentzako eta komunikazioa optimizatuz. Lan honentzako protokolo sinple bat diseinatu da, mikrobotaren eta masterraren arteko komunikazioa probatzera zuzenduta.

Aginduak lau byte-ko segidan bidaltzen dira. Lehenengo bytea komunikazio hasierari dagokio eta “:” karaktereaz adierazten da.

Ondoren helbidea, hau mikrobot kopuruaren araberakoa izango da, mikrobot bakoitzaren programaren parametroak definitzerakoan erabaki behar da bere zenbakia. Eta noski, zenbaki hori bakarra izan behar da sistema osoan. Agente guztiei aginduak bidaltzeko 0x00 helbidea erabiltzen da (broadcast).

5

Page 6: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

Hirugarren bytea agindua kodifikatzen du, zenbaki hexadezimala da eta agindu sorta honako hau:

0x01: aurrera0x02: atzera0x03: ezkerrera0x04: eskumara0x05: gelditu

Ikus daitekenez, definitu den protokoloa sinplea da, baina eskema berbera erabiliz protokoloaren barnean 256 agindu ezberdin kodifikatu daitezke. Komunikazioa amaitu dela esateko azkenengo bytea dago eta karakterea “$” da.

Mikrobot guztien programan ezarri behar da protokolo hau. Hala ere, ez da beharrezkoa protokolo osoa definitzea kasu guztietan, euren eginkizunen arabera agindu batzuk ez baitira bete behar. Adibidez, mikrobotariko bat tenperatura neurtzeko sentsore bat baldin badauka ez dauka zentzurik beste bati tenperatura neurtzeko agindua bidaltzea. Horregatik master-ak argi eduki behar du bere morroien helbideak eta eginkizunak.

Adibidez, 0x02 helbidedun mikrobota aurrera higiarazi nahi bada ondoko mezua bidaliko litzateke:

: 0x02 0x01 $

E. Programa

Masterren aginduaren eta sentsoreen informazioaren arabera motoreak higitzeko seinaleak eman behar dizkio L298 txipari.Programaren hasieran, beharrezkoak izango diren RF parametro guztiak eta komunikazio protokoloa definitzen dira, eta

gero ziklo infinitua hasten da while(TRUE). Adibidez,

F_RXTXPAIR_SETTINGS code RF_SETTINGS = {0xA3, 0x27, 0x11, // Modem 0, 1 and 20x75, 0xA0, 0x00, // Freq A0x58, 0x32, 0x8D, // Freq B0x01, 0xAB, // FSEP 1 and 00x40, // PLL_RX0x30, // PLL_TX0x6C, // CURRENT_RX0xF3, // CURRENT_TX0x32, // FREND0xFF, // PA_POW0x00, // MATCH0x00, // PRESCALER};

Ikusten da parametro guzti horiek kalkulatzea lan neketsua dela, baina horretarako aplikazio bat erabil daiteke, SmartRF Studio, aurrerago azalduko dena.

Uneoro ari da RF seinale zain, eta zerbait heltzen denean, jasotako informazioa prozesatzen da. Hasierako egiaztapenak beste CC1010 motako mikrokontrolagailuak bidalitako informazioa ote den konprobatzera zuzentzen dira, atarikoa egiaztatu, sinkronizatu eta dena egokia bada informazioa gordetzen hasten da. Hemen sartzen da jokoan protokoloa, hasierako bytea aztertzen da lehenbizi. Gero helbidea konprobatzean bakarrik jarraituko du hartzaile egokia, agindua dekodifikatuz eta betez.

Aginduak funtzioen bidez definitzen dira, funtzio hauek mikroaren pin ezberdinen balioak zehazten dituzte higidura edota beste eginkizun bat gertatzeko. Adibidez, hurrengoa ezkerrera joateko funtzioa da, ezkerreko gurpila geldirik (P1_4=OFF), bestea higitzen da.

void ezkerra(void){P1_4=OFF; //Enable AP1_5=ON; //Enable BP1_2=ON;P1_3=OFF;halWait(100,CC1010EB_CLKFREQ);}

Mikrobotaren programa interrupzioekin gauzatu daiteke, RF seinale bat jasotzen duenean informazio hori aztertzen du lehenago azaldu den modura. Eta RF seinalerik ez balego, ez luke ezer egin behar. Horrela energia kontsumoa minimizatzen da baina programaren konplexutasuna handiagotuz. Interrupzioak masterrean erabiltzen dira, eta horrela bi programazio eredu ezberdin aztertzen dira.

6

Page 7: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

IV. MASTER

Bezeroak ordenagailutik egindako eskaerak edo zuzendutako aginduak dagokion mikrobotari bidaltzea da elementu honen helburua. CC1010EB (Evaluation Board) deritzona erabiltzen da (9. irudia), Chipcon enpresak diseinatutako modulua da eta serie kablearen bidez konektatzen da ordenagailura. Mikrobotak bezala CC1010EM modulua dauka.

9.Irudia CC1010EB modulua

Modulu honek mikroa programatzeko aukera ematen du eta horretarako erabilia izan da. Baina ez bakarrik masterrarentzako, mikroboten mikroak ere modulu hontan programatu dira, ondoren mikroboten egituran konektatzeko.

Ordenagailuaren eta mikroaren arteko komunikazioa interrupzioekin gauzatzen da. Hau programan konfiguratzen da, eta era sinplean azalduta, seinale bat heltzen denean (interrupzioarekin zerikusia duena) interrupzioarekin loturiko kodigoa exekutatzen da. Kasu honetan serie portuko interrupzioa da, jaso eta bidaltzeko. Serie portua konfiguratzeko hurrengo komandoa erabiltzen da.

UART0_SETUP(38400, CC1010EB_CLKFREQ, UART_NO_PARITY | UART_RX_TX | UART_ISR);

Chipcon-ek emandako librerietan agertzen da eta funtzio honekin serie komunikazioaren seinaleztapen abiadura, fluxu kontrola eta interrupzio modua zehazten dira.

Masterraren hasierako egoera RF seinalearen zain egotea da eta ordenagailuaren serie portutik karaktereak (1 byte) bidaltzen dira. Mikroak karaktere bat jasotzen duenean helbidea eta agindua egokiak ote diren egiaztatzen du, eta komunikazio protokoloaren arabera hasierako eta amaierako byteak gehitzen dizkio mezuari. Ondoren RF transmisiorako bufferrean sartzen du bidaltzeko zain . 7 milisegundoro bufferra aztertzen da bidaltzeko informazioaren bila, zerbait baldin badago bidaltzen da bufferra hustu arte.

Hurrengo lerrotan agindu ezberdinak konprobatzeko kodigo zatia agertzen da:

jasotako_byte=UART0_RECEIVE();switch(jasotako_byte){

case '1': pTXBuffer[uartTXBuffer][uartTXPos++] =jasotako_byte;gureprint("Aurrera\n\r");break;

case '2': pTXBuffer[uartTXBuffer][uartTXPos++] =jasotako_byte;gureprint("Atzera\n\r");break;

case '3': pTXBuffer[uartTXBuffer][uartTXPos++] =jasotako_byte;gureprint("Ezkerra\n\r");break;

case '4': pTXBuffer[uartTXBuffer][uartTXPos++] =jasotako_byte;gureprint("Eskuma\n\r");break;

case '5': pTXBuffer[uartTXBuffer][uartTXPos++] =jasotako_byte;gureprint("Gelditu\n\r");break;

default: gureprint("komando gatza\n\r");break;

}

Mezuak beste interrupzio baten bidez bidaltzen dira, baina hau denbora interrupzioa da. Zazpi milisegundoro bufferra arakatzen duen funtziora deia egiten da, startTX(). Funtzio honek txRequest aktibatzen du eta Main-era itzultzen dio agintea. Hemen datu hau aktibatua badago RF transmisio algoritmoa exekutatzen da, datua sppSend() funtzioak bidaltzen du, cul.h librerian definituta dagoena.

RF transmisorearen kalibrazioa hasieran egiten da, programaren zikloan sartu baino lehen, baina tenperatura eta tentsio aldaketak kalibrazioaren parametroak alda ditzakete. Hori ekiditeko bi minuturo berkalibratzen da beste denbora interrupzio bati deituz.

7

Page 8: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

V. PROGRAMEN GARAPENA

Mikrobotaren funtzionamendua programak zehaztzen du, softwarea. Sentsore ezberdinekin aplikazio oso ezberdinak egin daitezke mikro berberean.

Programa idazteko lengoaia ezberdinak erabil daitezke, beti ziurtatuz konpiladorea CC1010 mikroarentzako kodigo egokia ematen duela. Mikrobotaren programa garatzeko C lengoaia erabili da, hedatua delako eta programa garatzeko aplikazio sendoa eskura dagoelako: Keil uVision 2. Demo bertsioa da, konpilatutako programaren tamaina mugatua dago baina lan honetan ez da arazorik izan muga horrekin.

Keil-en IDE-a (Integrated Development Environment) nahiko sinplea eta intuitiboa da erabiltzeko, programa idatzi, konpilatu eta debuggeatu dezakezulako, 10. irudian ikusten da bere itxura. Baina ez bakarrik CC1010rentzako, hainbat enpresetako mikroentzako programak idatz daitezke C libreriak egonez gero, edo bestela web orritik jeitsi daitezke.

Programa debuggeatzea berebiziko garrantzia dauka mikrokontrolagailuentzako aplikazioak garatzen direnean. Programaren funtzionamendua simulatzen da kodigoa pausuz pausu exekutatuz, eta erroreak topatzeko eta zuzentzeko modurik garbiena da. Simulazioa lan hau burutzeko asko erabili da, programetan aldaketak egin ondoren funtzionamendua egokia den frogatzeko.

Reg1010.h, cc1010eb.h, hal.h (Hardware Abstraction Library), cul.h (Chipcon Utility Library) eta sppinternal.h (Sinple Packet Protocol) librerietan CC1010 mikroarentzako programak idazteko beharrezkoak diren datuak eta konfigurazioak agertzen dira. Programadorearen lana errazteko eginak daude, ez da beharrezkoa jakitea zeintzuk diren erregistroen memoria helbideak, izenarekin nahikoa da. reg1010.h librerian izenei helbideak egokitzen dira. Eta mikroaren barneko hardwarea konfiguratzeko hal.h eta cul.h librerietan agertzen diren funtzioak erabil daitezke.

10.Irudia: KEIL uVision 2 programaren IDE a

Lehio handian programaren kodigoa idazten da, eta programarekin loturiko libreriak ezkerreko lehioan ikusten dira. Baina Keil bakarrik konpiladorea da, hau da, idatziriko programa binariora pasatzen du, orain binario kodea mikrora pasa

behar da. Horretarako Chipcon CC1010 Flash Programmer erabiltzen da. Informazioa ordenagailuaren portu paralelotik CC1010EB-ra bidaltzen da. Binarioaren path-a, mikroaren erlojuaren

frekuentzia eta grabatzeko modua besterik ez duzu erabaki behar eta mikroaren flash memorian grabatzen da programa. Behin grabatuta programa ez da ezabatzen nahiz eta mikroaren elikadura eten, memoria finkoa baita.

Azkenez, mikrokontrolagailuaren erregistroen balioak kalkulatzeko Chipcon enpresak eskeinitako SmartRF Studio programaren erabil daiteke. Komunikazioaren ezaugarriak aukeratzen dira eta berak kalkulatzen ditu erregistroen balioak.

8

11.Irudia:SmartRF Studio

Page 9: Haririk gabeko mikrobot baten diseinua eta kontrolagtts.ehu.es/dEyE/Actualizable/Anual/Curso05-06/VI...Haririk gabeko mikrobot baten diseinua eta kontrola Motore batentzako funtzionamendua

Haririk gabeko mikrobot baten diseinua eta kontrola

Horrela zehazten da mikroak erabiltzen duen osziladorearen frekuentzia, transmititzeko/jasotzeko frekuentziak, seinaleztapen abiadura (baudio), datu kodeketa, irteerako potentzia eta beste parametro batzuk.

VI. HURRENGO PAUSUAK

Azaldutako egitura gauzatzeko sistemaren elementu guztiak leku mugatu batean egon behar dira, laborategian esaterako. Baina internetek ematen dituen aukerak ikusirik norberaren etxetik kontrolatu daiteke sistema, masterra eta mikrobotak laborategian egonda. Sistema berri honen egitura 12. irudian azter daiteke.

Horretarako, adibidez, Labview programa aukera egokia izan daiteke, programa honen bidez web zerbitzaria bat instalatu daiteke laborategiko ordenagailuan eta kanpoko beste batetik TCP/IP protokoloaren bitartez konexioa burutzen da. Aginduak labview berak artekatzen ditu eta serie komunikazioaren bidez masterrari bidali. Web kamera bat erabiltzea komenigarria da gertatzen ari dena ikusteko.

Baina hau ez da muga, sistemaren egitura heda daiteke eta orain arteko master-slave eredua baztertu. Eredu berri honi sistema banatua deritzo, agente bakoitzak bere eginkizunak ditu baina inor ez dago beste inoren menpe, eta euren artean komunikazioa zentzu guztietan gerta daitezke.

VII.ONDORIOAK

Lan honetan garatu diren kontzeptuak eta erabilitako teknikak eta aplikazioak erabilgarriak dira sistema autonomoen eta kontrol banatuaren munduan hasteko. Bere garrantzia ez dago mugatua bakarrik arlo akademikora, baizik eta arlo industrialean oso present dauden kontrol teknikak baitira. Bestalde, nahiz eta lan honetan mikrokontrolagailuak mikrobot bat kontrolatzeko erabili, beste hainbat aplikazio ezberdinetarako erabil daitezke, adibidez, prozesu industrial baten parametroak haririk gabe neurtzea, edota prozesua bera kontrolatzea. Beraz, jorratutako ideak oso aplikazio orokorra daukate.

Ikusten da ere informazioaren teknologia berriak (TCP/IP protokoloa, esaterako) esparru hauetan erabilgarriak direla, sistema hedatzeko eta edozein lekutatik bere egoera aztertzeko edota bertako portaerak zuzentzeko eta modifikatzeko.

BIBLIOGRAFIA

[1] The robots builder bonanza, G. McComb, TAB Electronics[2] Programming and interfacing the 8051 microcontroller in C and Assembly, S. Yeralan, H. Emery, Rigel Press[3] CC1010 Data Sheet, Chipcon.[4] CC1010 IDE User manual, Chipcon.[5] CC1010 Development Kit User Manual, Chipcon[6] Microbotica, J.M. Angulo Usategi, S. Romero Yesa, I. Angulo Martinez, Paraninfo Ed.[7] www.microbotica.es [8] www.zerobots.net

9

12.Irudia: Sistema banatu bat urrunetik kontrolatua

TCP/IP

Web bezeroa Web zerbitzariaMikrobotak

Web bezeroa