Proiektu hau 3D-n inprimaturiko piezas osaturiko eta wifi bidez kontrolaturiko robot humanoide batean oinarritzen da. Arduino NANO baten bidez kontrolatzen da, beraz programatzeko Arduino IDE erabiltzen da.
Ikasturte honetan ere ikasleek proiektu ikusgarriak egin dituzte. Proiektu hauek bi urtetako ikasketen ondorioak dira eta bertan ikusten dira elektronikako ikasleek lortzen dituzten doai ezberdinak. Zorionak guztioi, sekulako lana.
En este vídeo se muestran los proyectos que se han realizado los alumnos de 2020-2021. Estos proyectos son el resultado de dos años de aprendizaje y en ellos podemos ver las diferentes habilidades que adquieren los alumnos de electrónica.
Bideoaren azalpenean, proiektuen sekuentzia eta azalpen linkak dituzue. En la descripción del vídeo mostramos la secuencia del vídeo y los links de los proyectos.
Hilabetetako lanaren ondoren, hau izan da proiektu interesgarri honen emaitza.
.
Ondoren, proiektuaren memoria irakurri ahal izango duzue eta nahi izanez gero, fitxategiak deskargatu ahal izango dira.
.
. 1. LABURPENA
Proiektu honetan, negutegiaren ingurumenaren kontrola sustatzeko aukera eta datu hauek internetera bidaltzeko ahalmenarekin batzen da. Horretarako, Arduino, Raspberry Pi 2, internet bidezko base datuak eta dronen teknologiak batzen dira gaur egungo negutegien kontrola hobetuz.
Hau egiteko, internetera konektatuta dagoen lurreko dron bat sortu dugu. Dronak GPS bidez, programatutako ibilbide bat jarraituko du instalatutako sentsoreak datuak neurtzen eta bidaltzen dituten bitartean. Drona zati elektronikoz eta zati mekanikoz osatuta dago.
Elektronikako zatia bloke funtzional ezberdinetan banatzen da. Alde batetik, ATmega328 mikrokontroladorea erabiliz, sentsoreak elikatu eta kontrolatzen dira eta datuak FTDI hari bat erabiliz Raspberry Pi-ra bidaltzen dira. Raspberry-a internetera konektatuta dagoenez, jasotako datuak, datu base batera bidaltzen dira edonondik ikusi ahal izateko. Bestalde, Raspberry-arekin batera, Erle Brain bat erabiltzen da. Erle Brain-a dronaren burmuina izango da eta dronaren kontrolaz eta programazioaz arduratuko da. Gainera, kontrol automatikorako GPS-a erabiltzen da eta kontrol manualarentzako, RC errezeptorea.
Zati mekanikoari dagokionez, trakziorako ESC batek kontrolatzen duen Brushless bat erabiltzen da eta norabidearentzako serbo bat. Gainera, ardatz bakoitzean indargetzaile bat dauka egonkortasuna hobetzeko.
Teknologia guztia hauek erabilita, negutegi baten barruan dauden zonalde ezberdinetan neurketak egin nahi dira. Horrela, arazoak aurreikusi eta ekidin ahal izango dira. Gainera, negutegi bat baina gehiago dituen nekazari batek, diru aurreztu ahal izango du, dron bera negutegi ezberdinetan erabili ahal izango delako, sentsoreen instalazio aurreztuz.
Datuen bisualizazioa eta dronaren kontrola, webgune baten bitartez egin ahal izango da. Programaketari dagokionez, C++ (Arduino) eta Python (Raspberry) erabili dira. Gainera, ROS sistema ere erabili da.
.
.
2. PROIEKTUAREN PLANGINTZA
Proiektua hau fase ezberdinetan bete da. Hauetako bakoitzak lehendik planifikatuta egon da eta fase bakoitza eginkizun ezberdinetan banatu da. Jarraian proiektua eraikitzeko jarraitutako faseak agertzen dira:
1. Teknologia ezberdinen alternatibak
a. Komunikazioa ezberdinak
b. Sentsoreak
2. Erabaki hartzea
3. Programazioaren garapena
a. Python
b. Arduino
4. Zirkuituaren probak
5. Datu basearekiko konexioa
6. Dronaren emisoraren konfigurazioa
7. Misio autonomoaren probak
8. PCB-aren diseinua
a. Eskemaren diseinua
b. PCB-are diseinua
c. PCB-aren fabrikazioa
9. Prototipoaren konstrukzioa
a. Kokapena eta soldaketa
b. Abiaraztea .
.
3. TEKNOLOGIAREN EGOERA
Prototipo honen eraikuntzarako hurrengo teknologiak aztertu dira:
Arduino UNO (ATmega328):
ATmega328 mikrokontroladorea bi zereginetarako erabiliko da: Lehenengoa, sentsoreak elikatu eta beren irakurketa datuak jasotzeko. Eta bigarren, hartutako datuak Rasberry-ra bidaltzeko. Datu-transmisio hau USB (serie) bidez egiten da. Raspberry-an beharrezko pin adina ez zeudelako erabiltzea erabaki da.
Raspberry Pi 2:
Proiektuaren zentralita (burmuina) modukoa da. Datuak Datu Basera bidaltzeaz arduratzen da, baita GPS-a eta “ROVER”-a kontrolatzeaz ere. Plataforma hau erabiltzea erabaki da “ROVER”-arekin batera zetorrelako jadanik.
ErleBrain:
Robotak eta dronak eratzeko garun artifiziala da. “Copter”, “Plane” edo “Rover”-ean erabiltzen da. “Debian” irudiarekin dator, “ROS Hydromedusa” dauka preinstalatuta eta “APM ardupilot” plataformaren bidez, drona kontrolatzea lortzen da. Erle Brain-a bi plakez osoatua dago: aurretik aipatutako Raspberry Pi-a eta honen gainean shield moduan jarrita dagoen Erle Brain-a.
29 sentsore, “1 GHz ARM Cortex-A8” CPU-a, 512MB-eko RAM memoria eta 4GB-eto Flash memoria dauzka.
GPS-brujula (UBLOX):
GPS-ak altitudea, longitudea eta latitudea ematen ditu, objetu bat mapan non dagoen kokatzeko.
“ROVER”-ak misio autonomoak egitea ahalbidetzen du, haren koordenatuak ematen dituelako.
Sentsoreak:
Proiektu honen funtsa sentsoreetan dago. Helburua neurketa zehatzagoak egitea delako, drona erabiliz negutegiko puntu ezberdinetan datuak hartuz.
Erabilitako sentsoreak negutegi batean funtsezkoak diren parametroak neurtzen dituztelako aukeratu dira.
DHT11: Hezetasuna eta tenperatura neurtzen dituen sentsorea da.
TSL2561: Argitasuna neurtzen du.
UVM30A: Eguzkiaren erradiazioa neurtzen du.
MG811: CO2 kantitatea neurtzen du.
..
4. PROIEKTUAREN DEFINIZIOA
Proiektu hau hasieratik bi zatitan banatuta egon da:
1. Lehenengo zatian sentsoreen neurketak hartzen direnetik hauek interneteko base datura bidali arteko prozesua da. Sentsoreak ATmega328-ra pinetara konektatuak daude. Hauek dira erabilitako sentsoreak:
a. Tenperatura eta hezetasun sentsorea
b. Erradiazio sentsorea
c. Argitasun sentsorea
d. CO2 sentsorea
.
Sentsore hauekin jasotako datuak, ATmega328-ren bitartez, FTDI hari bat erabiliz, Raspberry-an jasotzen dira Python programari esker. Programa berarekin, datuak jasotzen diren bitartean, sailkatu egiten dira eta HTTP protokoloarekin bidaltzen dira interneteko datu basera. Gainera, MQTT protokoloarekin dronaren moduaren kontrola aldatzea lortzen da. Hau da, drona gelditu edo martxan jartzeko aukera dago webgunetik.
.
2. Bigarren zatia robotaren kontrolaz arduratzen da. Hau egiteko Erle Brain-a, RC konexioa, eta GPS-a behar dira. Kontrola bi modutan egin daiteke, manualki eta automatikoki. Kontrol manuala egiteko, RC emisorea eta errezeptoreak behar dira eta «MANUAL» moduan lan egin behar da. Kontrol automatikoak GPS koordenatuen bidez funtzionatzen du, beraz, GPS-a Erle Brainera konektatu behar da. Ondoren, «LEARNING» moduan egonda, emisorearen edo ordenagailuaren bitartez koordenatu puntuak idazten dira. Puntu guztiak gordetak izandakoan, «AUTO» moduan jarri behar da aurretik gordetako ibilbidea jarraitzeko.
.
. 5. AURREKONTUA
Prototipo bat sortzeak zenbat balioko duen jakiteko, lehengaien eta erositako produktu guztien prezioak aztertu beharko dira. Totalean produktuaren prezioa 1200€-koa izango da. Bukaerako enlazetan memoria osoa ikusi daiteke eta bertan jarri dira elementu bakoitzaren prezioak.
.
. 6. PROTOTIPOAREN GARAPENA
Atal honetan prototipoa garatzeko garaian jarraitu diren urratsak azalduko dira:
6.1. Simulazioak
Fase honetan, alde batetik, lehen azaldutako Arduino programa (ikus 4.1. Arduino Programaren Diagrama atala) kargatu da «Proteus»-ek eskaintzen digun «ISIS» softwarean eta zirkuituaren funtzionamendu egokia konprobatu da.
Software hau oso baliagarria izan da proiektu honetan simulazioak egin ahal izateko eta montatu aurretik konprobazioak egiteko.
Simulazioa egiterako garaian, sentsoreen ordez potetziometroak erabili dira eta Arduinoa serieko pantaila birtual batera konektatu da serie portuan idazten den informazioa bisualizatu ahal izateko. Simulazioa martxan jartzeko, «Play» sakatu behar da eta serieko pantaila ireki. Honen barruan, irakurri eta bidali nahi den sentsorearen karakterea idatzi behar da hau pantailaratzeko. “T” tenperaturarentzako, “H” hezetasunarentzako, “R” erradiazioarentzeko, “C” CO2-arentzako eta “L” argitasunarentzako.
.
Bestalde, «APM Planner» softwarea landu da. Software hau, GCS (Ground Control Station) bat da eta honen bitartez dronaren kalibrazioak, «WayPoint» bitartezko ibilbide planifikatuak eta bestelako parametroak modifikatu daitezke. Helburu nagusia misio autonomoak egitea da eta horretarako ingurune zabal eta irekian egin dira frogak, GPS seinalea ahalik eta hoberen izan dadin.
. 6.2. Material bilketa
Simulazioa egokia dela ikusi ondoren, erabiliko dugun materiala bildu behar da. Garapen eta probetako fasean material hau erabili dugu proba ezberdinetan:
• 1 x Arduino UNO
• 3 x Potentziometro
• 1 x Tenperatura/Hezetasun sentsorea
• 1 x Argitasun sentsorea
• 1 x Erradiazioa sentsorea
• 1 x CO2 sentsorea
• 1 x USB adaptadorea
6.3. Kableatu eta programazio frogak
Aurrerago aipatu den bezala, proiektu hau bi zatitan bana daiteke (sentsoreen irakurketarena eta internetera bidaltzekoarena). Ondorioz, programatzeko bi hizkuntza erabili behar izan dira. Hala nola, Arduino programatzeko bere hizkuntza erabili da eta Raspberry programatzeko berriz, Python eta ROS hizkuntzak erabili dira.
.
6.3.1. Sentsoreen irakurketa Arduino bidez
Simulazioak ondo funtzionatu arren, oso garrantzitsua da zirkuitu guztia muntatzea. Horretarako, protoboard batean proiektuan erabiliko diren osagai guztiekin.
Proiektu honetan, hainbat froga ezberdin egin dira. Hasteko, simulazioan bezala, Arduino plakara potentziometro batzuk konektatu dira eta lortutako datuak serie bidez bidaltzen dira. Bigarren frogan, sentsoreak Arduinora konektatuz sistemaren funtzionamendu egokia frogatu da.
Programazioari dagokionez, Arduinoko programa ondo ulertzeko helburuarekin, ondorengo fluxu diagrama aurkezten da:
Programa honen helburu nagusia sentsoreen balioak irakurtzea eta Raspberryra bidaltzea da. Horretarako, sentsore bakoitzaren programa interneten bilatu da, banaka frogratu da sentsore bakoitzarekin eta ondoren bata bestearekin integratzen joan dira.
Sentsore guztien funtzionamendua egokia dela ikusita, serie portu bidezko komunikazioa egiteari ekin zaio. Lehen frogak i2C protokoloa erabiliz egin dira baina hainbat zailtasun ikusi ondoren, serie portua erabiltzea erabaki da programaketa aldetik xamarragoa delako.
Hau egiteko, FTDI USB adaptadore bat erabili da. Honen bitartez, sentsoreak irakurritako datuak lehenengo Raspberry-ra eta ondoren interntera ondo bidaltzen direla frogatu da. Frogak eginten joan ahala, Arduino eta Python-eko programak hobetzen joan dira beharrezko funtzionamendua lortu arte.
Zati honetan erabilitako erreminta «Arduino Sketch» programa izan da.
. 6.3.2. Internetera datuak bidaltzea Raspberry bidez
Arduinotik jasotako datuez gain, informazio gehiago bidaliko da Internetera. Hala nola, LiPo bateriaren egoera eta GPS kokapena. Hau egiteko, bi aukera aztertu dira: programatzeko ROS estruktura eta Python hizkuntza.
Ondoren ROS modu sinple batean azalduko da:
. 6.3.2.1. ROS
ROS siglek Robot Operative System esan nahi dute ingelesez. Kode irekiko meta-sistema eragile bat da eta Open Source Robotics Foundation (OSRF) erakundeak mantentzen du. Ondorengo zerbitzuak eman ditzake:
• Hardware-abstrakzioa
• Maila baxuko gailuen kontrola
• Erabilera orokor funtzionaltasunaren inplementazioa
• Prozesuen arteko mezuen bidalketa
• Paketeen kudeaketa
ROS beste “framework” robotikoen (Player, YARP, Orocos, CARMEN, Orca, MOOS o Microsoft Robotics Studio) antzekoa da zentzu batzuetan.
ROS-en helburu nagusia robotikaren garapen eta ikerketan erabiltzen diren kodigoak berrerabiltzea eta soportea ematea da. Beste helburu edo ezaugarri batzuk ondorengoak dira:
• Thin: ROS ahalik eta arinen izateko diseinatuta dago.
• ROS-agnostic liburutegiak: garapen mota gustokoena liburutegiak interfaze funtzional garbiekin idaztea da.
• Hizkuntza independentzia: ROS edozein programazio- hizkuntzatan inplementatzea erraza da. Dagoeneko Python, C++ eta Lisp hizkuntzatan inplementatua dago.
• Testeatzeko erraza: ROS-ek “rostest” izeneko test framework bat barneratzen du, modu errazean frogak egiteko.
• Eskalablea: ROS-a egokia da exekuzio-denbora handiko sistematan eta garapen-prozesu handietan.
ROS hobeto ulertu ahal izateko, ondorengo kontzeptuak argi edukitzea gomendagarria da.
• Master: ROS Masterrak izen erregistroak kudeatzen ditu. Bera gabe, nodoak ez lirateke beste nodoak aurkitzeko, mezuak trukatzeko eta zerbitzuak eskatzeko gai izango.
• Nodoak: Konputazioak egiten dituzten prozesuak dira.
• Mezuak: Nodoak mezuak trukatzen komunikatzen dira.
• Topikoak: Argitaratzaile/harpidedun (publicador/suscriptor) semantika erabiltzen duten garraio sistemek mezuak enrutatzen dituzte.
• Zerbitzuak: Eskaerak eta erantzunak zerbitzuak erabiliz egiten dira, mezuetan oinarrituta: bat eskatzeko eta beste bat erantzuteko.
.
ROS erabili ahal izateko urrats garrantzitsuenetako bat, aurrez ezarritako karpeta estruktura bat sortzea da.
Hainbat instrukzioen bitartez egiten da, baina hau ikusi ahal izateko, deskargatu memoria osoa proiektuaren Site-an. Ondoren, Raspberryko programaketaren planteamendua egin da. Hiru zati izango dira:
• LiPo-aren egoera: Kodigo honetan, LiPo bateriaren egoera jasoko da.
• GPS posizioa: Kodigo honetan, latitudea eta longitudearen datuak jasoko dira.
• Kodigo nagusia: Kodigo honetan, Internetera bidaliko den informazioa jasoko eta bidaliko da.
Bloke bakoitza azterketa, memorian aurkituko duzue.
.
6.4. PCB-aren diseinua eta fabrikazioa
Fase honetan, prototipoan erabili den PCB-a diseinatu eta fabrikatu behar da. Horretarako, pausu hauek jarraitu dira:
.
6.4.1. PCB-aren diseinua
Simulaziorako zirkuitua eta benetan behar den zirkuitua ez dira berdinak, beraz lehenengo pausua ISIS-en bitartez diseinu berria sortzea izango da. Kontuan hartu behar da, fase honetan erabiltzen diren osagaiak urrats digital egokiak izan behar dituztela, bestela hauek sortu behar direlako.
Sortuko den PCB-a Raspberry Pi eta Erle Brain 2-aren gainean kokatuta joando da, beraz plaka hauen dimentsioak kontutan hartu beharko dira. Hau jakinda eta ISIS-eko diseinua egin ondoren, eskema PROTEUS-eko ARES softwarera bidaltzen da.
PCB-aren diseinura honetarako ez da urrats berririk diseinatu behar izan, baina beste gauza batzuk kontuan izan behar dira, hala nola, pisten zabalera, osagaien kokapena edo pad-en lodiera.
Sentsoreak eta konektoreak plakaren izkinetan jarri dira, erabiltzeko orduan erraztasunak izateko. Gainera, Reset botoi bat eta piztua dagoela irudikatzen duen LED bat gehitu zaizkio.
.
6.4.2. PCB-aren fabrikazioa
Fabrikazio fasea aurrera eraman ahal izateko, Don Bosco-n dagoen fresaketa bidezko makina erabili da. Makina hau, kobrea kenduz, zirkuitua egiteko gai da denbora gutxian. Makina Board-Master LPKF PromatS62-a da.
Makina martxan jarri aurretik, makinak irakurri dezakeen artxiboa sortu behar da. Horretarako, CircuitCAM programa erabiltzen da. Programa honetan PCB-aren diseinua formatu egokira pasatzeaz gain, azkeneko ukituak eta soldaketak errazten dituten hustuketak egiten dira.
Artxiboa sortu ondoren, LPKF-ra konektatuta dagoen ordenagailuan artxiboa pasa behar da. Fresaketarekin hasteko, lehenengo makinari zuloak egiteko agindu behar zaio eta ondoren pistak. PCB-a aurpegi bakarrekoa denez, ez du metalizaziorik behar.
.
6.5. Karkasaren garapena
Azaldutako zati elektronikoa kanpo faktoreetatik babesteko, (ura, hezetasunak sortutako korrosioa…) karkasa bat egitea erabaki da.
.
6.5.1. Karkasaren diseinua
Karkasa hau sortzeko, software libreko interneteko orri bat edo FreeCAD softwarea erabili daiteke. Azkeneko programa honen bidez 3D irudiak sortzeko eta editatzeko ahalmena ematen du.
Karkasa bi zatitan banatuta dago, top eta bottom. Bottom edo behe aldeko zatia, Raspberryaren azpiko karkasa da. Top edo goi aldeko zatia, guztiz diseinatua izan da beheko zatiarekin bat etorri dadin. Diseinatzerako orduan, kontuan izan da plaka babestu egin behar dela baina konektoreentzako hutsuneak egon behar direla eta sentsoreak kanpoan egon behar direla neurketak egokiak izan daitezen.
.
6.5.2. Karkasaren fabrikazioa
Aurreko diseinuen “.stl” artxiboa edukita, Cura softwarearen bitartez “.gcode” formatura pasatzen da eta ondoren Repetier Host-en bidez 3D inprimagailura bidaltzen da. Karkasa inprimatzeko erabili den makina Prusa i3 Psique izan da eta piezak PLA materialez sortuta daude.
.
6.6. Osagaien soldaketa
Fase honetan, osagai guztiak estainatu dira PCB-ra. Beraien artean, sentsore guztien, komunikaziorako eta programa kargatzeko konektoreak. Hauetaz gain, ATmega-ren zokaloa, erresistentziak, kondensadoreak, 16GHz-ko kristala eta LED-a ere estainatu dira.
Osagaia kokatzerako orduan garrantzitsua da PCB-a nibelatuta kokatzea, mahaian ondo sostengatzeko. Gainera, garrantzitsua da pad-ean estainua eman baino lehen bero egotea soldaketa ona izateko. Soldaketa teknika egoki guztiak erabili dira dena ahalik eta txukunen gelditzeko eta funtzionamendu ezegokiak ekiditeko.
.
.
7. ONDORIO ETA ETORKIZUNERAKO HOBEKUNTZAK
Proiektu bat bukatzerakoan, balorazio orokor bat egitea komeni izaten da. Ekarri dituen onura, lortutako helburuak eta etorkizunerako hobekuntzak aztertzen dira.
.
7.1. Ondorioak
Proiektu hau burutzeak hainbat ondorio positibo ekarri ditu: Lehenengo, dronen teknologian barneratzea ahalbidetu du eta beraien funtzionamendua hobetu ulertzea lortu da. Bigarren, ATmega328 mikrokontroladorea, sentsoreen irakurketa egiteko erabiltzen ikasi da. Hirugarren, informazio hori Erle Brain burbuinera serie bidez nola bidali ikasi da. Laugarren eta agian garrantzitsuen, Erle Brainaren barruan hainbat programazio era eta protokolo ezagutzea ahalbidetu du. Horien artean ROS, HTTP eta MQTT.
Kontutan hartu behar da ROS sistemaren garrantzia, datu berezi batzuk (bateriaren egoera eta GPS posizioa) irakurri ahal izateko eta sare bidezko kontrola egin ahal izateko. Sistema baliogarri hau erabiltzen ikasteak, abantaila handiak ekarri ditu, dronari beharrezkoak ziren hobekuntza batzuk aplikatu ahal izateko. Sentsoreen informazioa wegbuneko datu basera bidaltzeko http protokoloa erabiltzen ikasi da. Gainera, webgunetik drona kontrolatu ahal izateko, MQTT komunikazio protokoloa erabili da. Dronaren egoera bertatik ikusi eta kontrolatzea lortu da.
.
7.2. Etorkizuneko hobekuntzak
Prototipoa bukatzerakoan, ondorengo hobekuntzak egitea proposatzen da:
• Kamera baten gehikuntza, dronaren jarraipena webgunetik egin ahal izateko.
• Drona autonomoki mugitzeko sistema hobetzea. GPS sistemak errore nahiko handia du neguteki batek behar duen zehaztasunerako.
• Sentsoreen zehaztasuna hobetzea.
• Oztopoak ekiditeko sistema baten gehikuntza.
• Misio autonomoak webgunetik sartzea, hau da, GPS koordenatuak webgunetik sartzeko aukera.
Gainera, sentsore ezberdinak gehitzeko aukera egon daiteke, bezero bakoitzaren beharretara egokitzeko.
Berez, proiektu honen helburua negutegien inguruneko neurketak irakurtzea izan arren, beste erabileretarako baliogarria izan daiteke.
Laborategiak: Laborategi berezi batzuetan, garrantzitsua da inguruneak baldintza konkretu batzuk edukitzea, laginak ondo kontserbatzeko. Gainera, eremu kimiko edo biologiko batzuetan, gizakien sarrera kontrolatuta dago eta batzuetan arriskutsua izan daiteke. Ingurune hauetan beharrezko neurketak kontrolatzeko, «sense-ROVER»-a erabili daiteke balioak webgune batetik ikusi ahal izateko.
Fabrika industrialak: Fabriketako langileak, batzuetan osasunarentzako kaltegarriak (soinua, keak, tenperatura altuak…) diren ingurunetan ibiltzen dira. Hauek ekiditeko helburuarekin, «sense-ROVER»-aren sentsoreak egokituz, honen kontrola izateko aukera egon daiteke.
Hona hemen egindakoaren bideo tutoriala:
.
.
.
8. BIBLIOGRAFIA
Proiektu hau teknologia berritzailez konposatua dago, beraz, esteka/lotura ezberdinetara jo behar izan da informazioa eta adibideak lortzeko, garapen egokia izateko:
Proiektu honetan, erregularitate rally bateko kontrol puntuen datuak irakurtzeko eta denbora basera bidaltzeko rezeptore eta emisore bat sortuko dugu. GSM teknologia erabiliz datuak base batera bidaliko ditu, datua izatean.
.
SARRERA
Gizakia sortu zenetik, edo pentsatzeko eta arrazoitzeko gaitasuna lortu zuenetik behar asko asetzeko lana egin izan du urte guzti hauetan. Gizakiaren sorreran, behar horiek subsistentzia beharrak ziren (osasuna, elikadura…), beraien eiza estrategiak eta landatze sistemak hobetzen joan ahala beraien artean babes beharra sustatu zen.
Gizakiaren existentzia luzatu den heinean beharrak handitzen joan dira, botere sistema oso garatuak sortuz, familiaren behar sentimendu handi bat …
Behar edo nahi guzti hauen azpitik pertsona askoren griña mugitzen duen behar bat dago, kronometrajearena. Gizakiak denbora kalkulatzeko eskala sortu zuenetik milaka txapelketa egin dira. Txapelketa horietan denbora da balio duen bakarra, ez dira beraien artean lehiatzen, denboraren kontra baizik, partaide bakoitzak ahal duen denbora honenean egin behar du bere zeregina, partaide guztiek bukatzean, denborak hartu eta sailkatu egiten dira. Sistema hau kirol desberdinetan erabiltzen da, kirol edo txapelketa bakoitzaren ezaugarriak oso desberdinak direnez kronometraje sistemak ezaugarri horietara moldatu egin behar dira.
Aurrean dugun proiektua, erregulartasun rally baten baliza sistema sortzearena da. Proiektu honen ideia, rallytan dauden GPS- en exaktitude faltarengaik eta denboren kudeaketa txarrarengaitik sortua izan da.
Gaur egun, denboren zehaztasun oso zehatza izatea oso garrantzitsua da irabazleak zeintzuk diren jakiteko. Akatsik txikiena emaitzak gaizki ematea egin dezake.
Erabiltzen den GPS teknologiak 1-3 metroko errorea du, teknologia militarra erabiltzen duelako; horregatik sistema erabiliena, posizio eta denbora gestiorako balizak dira. Ideia sistema hau erabiltzea da, GSM teknologia baliatuz, baina aldaketak eginez eta hobetuz.
Gaur egun erabiltzen den sistema nahiko bakuna da; baliza hartzaile bat erabiltzen da, beste balizak “baliza tonta” bezala ezagutzen dira, beraien funtzioa denborak gordetzearena delako, transmititu behar gabe.
Proiektua ez da 0 tik hasiko, teknologia asmatuta dagoelako, baina ez hobetuta. Teknologiaren abantailak aprobetxatuz, hobetzea eta zehaztazun handiagokoa egitea espero dugu. Hobekuntzak aurrera eramateko hasieratik hasiko gara.
Lehendabizi, dagoen teknologia kopiatu egingo da hobeto ulertzeko; esan beharra dago aurreko urtean poiektu honekin hasi zirela eta informazioa lortzeko erraztasuna daukagula. GPS-rekin hasi baino lehen baliza sistema egin behar dugu, orain arte egon den teknologia ulertzeko.
Baliza egin ondoren, datuen transmisioa egiten saiatuko gara GSM tekonologia baliatuz. Datu hauek, balizatik kontrol ordenadorera iritsi behar dira.
Honen ondoren, segurtasun sistema bat gehituko zaio, istripuen kontrola izateko eta beharrezkoa izanez gero pilotuarekin komunikazioan jarriko gaituen irrati sistema bat edukiz.
Istripu bat izanez gero, txapelketaren zuzendariari mezu batekin abisatuko zaio noiz eta non izan den istripua, beharrezkoak diren neurriak hartzeko. Honetarako abisu (ohar) aplikazio bat sortuko dugu.
Hardware guzti hau kotxe barruan egongo da, bere baitan, kronometrajea eta sarrera-irteerako datuak programatuta edukiko dituen ARDUINO NANO bat izango du. Baita ere, infrarrojo sistema eta GSM txartela eramango du.
Balizaren paretik pasatu ondoren kotxeak denbora gordeko du eta GSM bidez, informazio hori txapelketaren kontrol taldeari bidaliko dio.
.
PROIEKTUAREN DESKRIBAPENA
Proiektu honetan murgildu baino lehen, bukaeran lortu nahi dugun emaitzaren analisi bat beharrezkoa dugu;
.
2.1. Emaitzak
Proiektu hau bukatu ondoren izan ditzazkeen eraginak denbora luzean eta motzean:
– Karreren gestioaren aldaketa handia.
– Datoak transmititzeko orduan segurtasun handiagoa.
– Istripu baten kasuan, asistentzia eta laguntza hobekuntza.
– Mundu mailan sistema garrantzitsu baten hobekuntza.
.
2.2. zereginak
Proiektu hau aurrera eraman ahal izateko zeregin batzuk bete behar dira:
-Teknologiari buruzko informazioa aurkitu (ikertu)
-Merkatuaren balorazioa, proiektuaren bideragarritasuna aurkituz, prezioa ahalik eta gehien jeitsiz.
-Teknologia ahalik eta gehien hobetuz, ahal den denbora zehatzena lortuz.
-Asistentzia hobetu istripu batean.
.
2.3. Helburua
Hauek izango dira gure proiektua egiterakoan lortu nahi ditugun herburuak, rally-en baldintzetarako sentsore aproposa izateko.
2.3.1. Zehaztasuna
Gure mikokontroladorearen erlojua erabiliko dugu, gure denbora sistema ahalik eta zehaztasun handiena izateko.
2.3.2. Flexibiltatea
Gure sistema flexibilitatea izango du. Hu da partaideak, kontrol puntuak edo denbora lortzea martxarekin konfigurablea izan behar du. baita ere lasterketa hasia egotean dena konfigurablea izatea.
3.3.3. Malgutasuna
Sistema fidagarria izan behar du. GSM teknologia erabiliko dugunez, gerizpe guneak egongo den tokietan ezingo ditugu balizak jarri, hori dela eta, lasterketa izan baino lehen GSM teknologiarentzako seinale ona non dagoen ikusi beharko dugu.
Honetaz gain, gure balizak eta hartzaileak eramango dituzten bateriak kalkulatu beharko ditugu arazorik ez egoteko.
2.3.4. Operatibitatea
Gure sistema, karretera ondoan dauden balizak eta kotxean eramango diren hartzaileak sortzen dute. Autoa balizatik pasatzean, atxabitxi-aren izpiaren seinalearen sarrera eta irteera hartuko du. Guk nahiko dugun debora, horien arteko media izango da. Metodo honekin neurketa erroreak saihestuko ditugu.
.
DESKRIBAPEN TEKNIKOAK
Gure proiektua aurrera eramateko, atal desberdinetan banatuko dugu, produktuaren erabilpenaren garrantziaren arabera. Lehendabizi sortu behar ditugun produktuak, kontrol puntua eta hartzailea dira, gero mezua bidali beharko dugu, piramidean dokumentatu dugun bezala. Beraz deskribapen teknikoa piramidean bezala ordenatuko dugu.
.
3.1. Kontrol puntua
Atal hau egiteko, ATMEGA328 batekin egingo dugu, eta seinalea igorle infragorri batekin sortuko dugu. PCB-a ere sortu beharko dugu gure balizarentzako.
Baliza, tramoan zehar ipiniko da trafiko seinale baten atzean, beraz bere tamaina seinalearen postearen atzean kamuflatzeko egokia izan beharko da.
.
3.2. Hartzailea
Gure hatzailea sortzeko, beste ATMEGA328 bat erabiliko dugu. Baina kasu honetan, GSM shield-a gehituko diogu, gure auto partaidea kontrol puntutik pasatzerakoan, hatzaileak momentuan autoak daraman denborarekin mezu bat bidaltzeko kontrol ordenagailura.
3.2.2. Mezua bidali
GSM shield-ren bidez, gure hatzailea autoaren denbora jakitean, komunikazio mugikorretako sistema orokoretik (GSM) denbora hori mezu bezela bidaliko du gure ordenagailura. Ordenagailu hori telefono batetara konektatuta egon beharko du.
Informazio gehiago eskuratu ahal izateko, azpian aurkitu dezakezuten link-ean sartu.
Proiektu honen helburua jendetza handiko jazoeratan iragarkiak ahalik eta jende gehienari iritsi ahal izatea da, baina baita ere ingurugiroko datuak hartu eta imaginak denbora errealean gure Android gailura bidaltzea.
Zeppelina Wifi bidez dago konektaturik Android gailu mugikorrera. Android gailuan Zeppelina kontrolatzeko sortutako aplikazio bat egozten da, aplikazio honen bidez Zeppelinarekin interaktuatu ahal izango dugu.
Aplikazio honek Zeppelinaren kontrolaz gain beste ainbat datu ere erreztuko dizkigu, horietatik garrantzitsuena denbora errealean jasotako bideoa da.
RaspZeppelinaren egituran Raspberry Pi bat dago kontrolaz arduraturik. Raspberry Pi bat, Hardware libreko SBC bat da eta Linuxen oinarrituriko sistema eragilea erabiltzen du. Sofwar hau librea denez, proiektu honentzako aproposa da gure nahietara egoki baitezakegu. Raspberriaren funtzio nagusiak ondorengoak dira: Arduino mikrokontrolatzaileari egin beharrekoa adieraztea, Acces Point bezela jokatzea gailu mugikorrarekin wifi konexioa lortzeko eta kamararen kontrolaz arduratzea. Wifi konexia lortzeko Wi-Pi wifi moduloa erabili da.
Raspberry Piaren aginduak Arduino Mega plakara doaz. Arduino Mega ATmega2560 mikrokontrolagailu batetan oinarrituriko plaka bat da. Plaka honek agindu bakoitzeko irteera bat edo beste aktibatuko du bere barnean duen programari esker.
Arduino plakak azkenik aktuadoreei bidaliko die agindua. Aktuadoreak RaspZeppelinaren norabidea eta kameraren kontrola erregulatuko dute. 5V-ko bi servomotorek kameraren angelua eta propultsio servoen angelua kontrolatuko dute. 5V-ko ak direnez zuzenean lotu daitezke Arduino Megarekin. Beste bi brushless motore RaspZeppelinaren propulsioaz arduratuko dira. Hauek Arduino plaka eta beraien artean control etapa bat dute, ESC zirkuito elektroniko bat. Azkenik RaspZeppelinaren norabidea kontrolatzeko DC-ko 5v-ko motore bat hau isatsan dagoenez RaspZeppelina altuera konstate batean geldirik egonik bere Z ardatzarekiko biratzea ahalbidetzen du. Zuzenki polarizatzen denean zentzu batean biratzen du eta alderantziz polarizatzean beste alderuntz biratzen du.
Hurrengo lerroetan proiektua gartzeko eman ditugun pausuak:
1. Eskemaren edizioa eta Zirkuituaren simulazioa:
RaspZeppelinaren Arduinoko programa simulatzeko, Isis-en sortutako eskema bat beharrezkoa da programan egon daitezkeen akatsak aurrez topatzeko. Isis-eko programak serboak zuzenean konektatzea onartzen duen arren, brushless motoreen eta Arduinoaren artean, ESC etapa bat beharrezkoa da.
2. PCB-aren fabrikazioa:
Areseko PCB-a método mekaniakoren bidez eraiki da. Areseko artxiboa, .LYT izeneko extensioa dauka, baina extensio hau irakurezina da Board Master programan. Artxiboa egokitzeko CircuitCam-en .LMD extensiora pasa da, Board Master-ek irakur ahal dezan. Board Masterren LPKF-aren lan sistema konfiguratzen da eta fresatu beharrekoa adierazten zaio LPKF-ari.
Lehenik eta behin zuloak egiten dira metalizatu ahal izateko, metalizatu prosezua pasa eta gero, berriz LPKF-ra eramaten dugu plaka, bi aldeetako pistak egiteko.
3. Konponenteen kokapena eta soldadura:
Behin PCBaren plaka eraikita, konponenteak jarri eta soldatu dira, ondorengo argazkian eraikitako Shiedaren irudi bat.
4. Arduinoren programazioa:
#include <Servo.h>
Servo servokamera; //altuera kontrolatzeko servoa
Servo servoaltuera; //kamera kontrolatzeko servoa
Servo esc7; //nombramos el esc7. Aurrera
Servo esc8; //nombramos el esc8. Aurrera
int motor1=6; //Direccion
int motor2=5; //Direccion
float bateria=A1; //asignamos al pin A1 la entrada de la bateria
int estadobateria=0;
int ledbateriabaja=4; //asignamos el pin 4 a los led bateriabaja
float estadobateriav;
int F=’J’;
int kamerakontrol =500; //Poner servo de camara en posición «0»
void setup (){
servoaltuera.attach(10); //asignamos el pin 10 al servoaltuera
servokamera.attach(9); //asignamos el pin 9 al servokamera
esc7.attach(7); //asignamos el pin 7 al esc11
esc8.attach(8); //asignamos el pin 8 al esc12
pinMode(motor1, OUTPUT); //Direccion
pinMode(motor2, OUTPUT); //Direccion
pinMode (A1,INPUT); //pin analogico para control bateria
pinMode (4,OUTPUT); //pin para encender leds de aviso
esc7.write(0); //Armamos el esc11 enviandole «0»
esc8.write(0); //Armamos el esc12 enviandole «0»
delay (1000);
esc7.write (20); //Le enviamos «20» y se escucha un pitido
esc8.write (20); //Le enviamos «20» y se escucha un pitido
delay(1000);
Serial.begin (9600);
digitalWrite(ledbateriabaja,LOW);
}
void loop(){
estadobateria = analogRead(bateria); //leer bateria y escribir en estadobateria
estadobateriav = estadobateria * (5.0 / 1023.0); //conversión de lectura
if(estadobateriav < 4.18){
digitalWrite(ledbateriabaja,HIGH);
//mandar informacion a raspi
}
else{
digitalWrite(ledbateriabaja,LOW);
}
Serial.print( » «);
Serial.println( » «);
Serial.print(estadobateriav); //escribe en purto serial valor de la bateria
if (Serial.available() > 0) {
F = Serial.read();
}
switch(F){
case ‘A’:
mover(90,40,40,0,0); //A letra ASCII, gora juteko
break;
case ‘B’:
mover(180,40,40,0,0); //B letra ASCII, behera juteko
break;
case ‘C’:
mover(45,40,40,0,0); //C letra ASCII, aurrera juteko
break;
case ‘D’:
mover(135,40,40,0,0); //D letra ASCII, atzera juteko
break;
case ‘E’:
mover(0,20,20,255,0); //E letra ASCII, eskubira juteko
break;
case ‘F’:
mover(0,20,20,0,255); //F letra ASCII, ezkerrera juteko
break;
case ‘G’:
mov_camara(1,50); //G letra ASCII, kamera behera juteko
break;
case ‘H’:
mov_camara(0,50); //H letra ASCII, kamera gora juteko
break;
case ‘I’:
mov_camara(1,0); //I letra ASCII, kamera GERATU
break;
case ‘J’:
mover(0,20,20,0,0); //J letra ASCII, dena gelditzeko
break;
}
}
/************************************************************
funcion para control del movimiento del Zepellin
Le pasamos 5 parametros:
ang_motores (0-180)
vel_esc7 (20-180)
vel_esc8 (20-180)
motor_cola_izq (0-255)
motor_cola_dch (0-255)
***********************************************************/
servoaltuera.write(ang_motores);
esc7.write(vel_esc1); //Damos marcha al motot a «90»
esc8.write( vel_esc2); //Damos marcha al motot a «90»
analogWrite(motor1, motor_cola_izq); //Direkzioa 0ra
analogWrite(motor2, motor_cola_dch); //Direkzioa 0ra
}
/***********************************************************
función para control del movimiento de la camara
Le pasamos dos parametro:
direccion (1 –> suma , 0 –> resta)
var_angulo (0 a 50)
************************************************************/
void mov_camara (int direccion, int var_angulo) {
Eclipse programa erabiliz, edozein mugikor edo tabletekin Zeppelina guidatu ahal izateko aplikazio bat garatu dugu. Tablet bertatik Zeppelina guztiz gidatzeaz gain, bideoa ikusi daiteke eta argazkiak atera ere bai.
5. Materialen metaketa: • Arduino mega 2560
• Raspberry-py
• Raspberry-ren kamera
• 2xBrushless motore
• 2xESC
• Servo Motor
• Micro Servo
• Arduino megarentzat Shield-a
• 3xDiodo led
• 1xInterruptore
• 1xResistencia 10K
• 3xResistencia 330 ohm.
• 2xBaterias lipo de tres celdas y 2200mA
• H Zubia
6. Prototipoaren kableaketa eta froga: Behin servo guztiak eta korronte zuzenezko motorea kontrolatutak dauzkagunean, denak elkarrekin frogatzera pasako gara.
7. 3D Osagaien diseinu eta fabrikazioa:
3D inpresoran sortutako konponenteak asko izan dira RaspZeppelinean. Serboen kontrolarako engranaiak, brushlessak eje transmisorera lotzeko piezak, zeppelinaren hegalak, isatseko motorraren gurutze hegalak, elektronika sartzeko gondola, gondolaren ankak eta kamera lotzeko kutxa.
Diseinatu ditugun pieza guztien .stl artxiboak blog-aren bukaerako link-aren barruan daude.
8. Heliorekin betetzea: Heliorekin puzteko orduan, kontuz ibili behar da helio botilak presio handia duelako barruan eta gaizki erabiltzea oso arriskutsua delako.
9. Lehenengo hegalaldiak: Azkenik, frogatzeko hegalaldi frogak egin ditugu funtzionamendua ona delako bermatzeko.