SIBIU HOME  |   CONTACT  |   SERVICII  |   WEB DESIGN  |   WEB HOSTING  |   DIGITAL PHOTOGRAPHY  |   SEO (SEARCH ENGINE OPTIMIZATION)  |   INTERNET CONSULTING

Este cineva interesat de robotica?

Calculatorul, muzica, filmele, mountainbikeing-ul, arta culinara, sky, snowboarding....fiecare avem un hobby care ne umple timpul liber.
Aici o sa vedem ce hobby-uri au sibienii nostrii.
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 07.10.2005 01:17
Salut pe toata lumea!

Deci: este cineva interesat de robotica?

Eu voi fi in curand la Sibiu si voi deschide o firma care, printre altele, se va ocupa si de producerea unui kit educational care permite construirea unui robot programabil autonom, capabil printre altele de urmarire de linie, deplasare "la intamplare" prin camera evitand obiectele intalnite in cale, lupta impotriva altui robot in meciuri de Sumo, cautarea de mici obiecte si aducerea lor la baza (cu ajutorul unui brat construit cu un kit suplimentar).

Pentru mai multe informatii vizitati http://www.geocities.com/robotxro/

Acest kit se adreseaza amatorilor incepatori, copiilor interesati de robotica.

Pentru hobby-stii care vor sa-si construiasca singuri un robot, le stau la dispozitie cu sfaturi si poate si cu procurarea unor piese componente greu de procurat in tara.

Ei, ce ziceti? Este cineva ...
Sa vedem!

Ro-Bot-X.

Posts: 1
Joined: 07.10.2005 11:11
Location: SIBIU
PostPosted: 07.10.2005 11:24
Salutare.
Raspunsul este categoric pozitiv. Multa lume, in special tineretul este foarte pasionat de calculatoare si inteligenta artificiala. Robotica nu este un domeniu foarte bine popularizat, dar starneste interesul cu siguranta.
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 08.10.2005 20:34
Ca sa va starnesc interesul si poate sa va dau un impuls inainte, m-am hotarat sa pornesc un tutorial pentru a ajuta amatorii sa construiasca singuri un robot mai simplu sau mai performant, in functie de priceperea fiecaruia. Deci:

Pentru construirea unui robot aveti nevoie de cunostinte minime in electronica, mecanica si programare. Nu trebuie sa va speriati, ca nu e chiar asa de complicat. Va voi explica cate ceva, iar restul puteti sa mai gasiti pe internet (probabil in limba engleza).

Un robot este compus din o parte mecanica (sasiu, roti, reductoare de turatie - gear box, eventual un brat cu un cleste - arm + gripper), o parte electronica (senzori, motoare, afisaj, difuzor, microfon, controller) si o parte de logica (programul care decide felul in care robotul actioneaza motoarele in functie de datele returnate de senzori).

Cand incepeti sa construiti un robot trebuie sa va ganditi la ce il veti folosi. Daca este destinat participarii la diverse competitii pe teme robotice, cititi regulametele sa vedeti daca nu sunt specificate dimensiuni, greutate, etc. de la care nu trebuie sa va abateti. Cel mai bine este sa va ganditi la un sistem modular, usor reconfigurabil, pe care sa il puteti folosi la un numar cat mai mare de competitii. Acelasi lucru este valabil si in cazul in care construiti un robot pentru uzul personal in casa.

Cea mai importanta componenta a robotului o constituie controllerul. Acesta poate fi un micro-controller sau chiar un calculator. Dar si daca optati pentru un PC ca fiind "creierul" robotului, cel mai bine este sa aveti si un micro-controller (conectat la portul serial sau USB), care sa citeasca senzorii si sa dea comenzi motoarelor. In felul acesta PC-ul se poate ocupa de calcule mai grele, cum ar fi recunoasterea de imagine, pozitia pe harta, recunoastere de voce si altele. Cel mai des intalnita este combinatia laptop-micro-controller, dar se poate lucra si cu componente ale unui calculator desktop, pentru reducerea costului.

Micro-controllerul poate fi din familia Basic Stamp, Atmel AVR, OOPIC, PIC Micro, Basic Atom, etc. Cea mai ieftina si usor accesibila este familia PIC Micro, pretul unui controller fiind de la 3-4 dolari pana pe la 14-15. Se gaseste si in Romania la magazinele de componente electronice care aduc piese din Germania. Partea proasta este ca aveti nevoie de un asa numit "programmer", care este un montaj electronic pe care se pune controllerul pentru a fi programat, un compiler, care este un software care traduce instructiunile scrise de voi in diverse limbaje si apoi le descarca in controller. Ca sa nu fie necesara la fiecare programare scoaterea controllerului de pe placa electronica si punerea in programator, se poate folosi un "boot loader" care permite programarea controlerului in circuit, folosind portul serial sau un conector special al programatorului.

Deplasarea. Robotii se pot deplasa folosind roti, senile sau picioare. Mai rar se intalnesc robotii care se deplaseaza in apa sau aer, folosind diverse mijloace de propulsie, bazate in general pe motor si elice. Deplasarea pe roti se poate face in doua feluri: stil masina - un motor propulseaza robotul si alt motor asigura directia, si stil tanc - un motor propulseaza roata stanga a robotului si alt motor roata dreapta a robotului. Aceasta deplasare se mai numeste si deplasare diferentiala. Pentru echilibrare, robotul fie foloseste una sau doua roti cu rotire independenta, fie foloseste cate doua roti motoare pe fiecare parte, care lucreaza in stil senila de tanc.

Motoarele. Cel mai des intalnite sunt motoarele de curent continuu, conectate la un reducator de turatie cu roti dintate (sau curele). Aceste motoare sunt usor de gasit in diverse jucarii electrice si in aparatura video.
Un caz aparte reprezinta servo-motoarele, care au reductorul de turatie si circuitul de comanda gata integrate. Aceste motoare au un unghi de deplasare de circa 180 grade, dar se pot modifica destul de usor pentru rotire continua. Avantajul lor este folosirea unui singur port al controllerului pentru a le comanda, spre deosebire de motoarele de curent continuu care au nevoie de un circuit de comanda si de 3 porturi ale controllerului.
Se mai intalnesc si motoare pas-cu-pas, care permit un control mai bun al deplasarii dar necesita mai folosirea mai multor porturi ale controllerului.

Senzorii. Pentru a se putea deplasa fara sa se izbeasca de primul obiect intalnit in cale, robotul foloseste diversi senzori. Acesti senzori pot fi de contact, de lumina, de proximitate, de distanta, de temperatura, de presiune,de sunet, de imagine.
Senzorii de contact sunt de obicei mecanici si sunt montati pe un fel de bare de protectie, care la atingerea de un obiect inchid sau deschid un circuit semnaland robotului coliziunea.
Senzorii de lumina sunt de obicei foto-rezistente de tipul CDS, care isi modifica rezistenta in functie de lumina ambienta.
Senzorii de proximitate sunt de obicei o combinatie de emitator-receptor de lumina infra-rosie, care se bazeaza pe emiterea unei unde infra-rosii care se reflecta pe suprafata unui obiect si este apoi receptionata. Acesti senzori semnaleaza controllerului prezenta unui obiect la o anumita distanta, robotul putand astfel evita coliziunea.
Senzorii de distanta se bazeaza pe acelasi principiu ca cei de proximitate, dar masoara ungiul de intoarcere a razei infra-rosii, determinand astfel distanta pana la obiect. Alt fel de senzori de distanta sunt senzorii ultrasonici, care masoara timpul in care se intoarce sunetul reflectat de un obiect.
Senzorii de temperatura masoara temperatura unui obiect, cei de sunet detecteaza prezenta unui sunet sau volumul lui, cei de presiune masoara presiunea aerului sau a unui lichid intr-un sistem pneumatic sau hidraulic.
Senzorii de imagine sunt de obicei camere video care sunt folosite pentru recunoastere de obiecte.

Surse de componente pentru construirea unui robot:

Jucarii electrice, timere, casetofoane, orice aparatura care poate contine motoare si eventual senzori. In special video-casetofoanele stricate sunt sursele cele mai bune de componente in construirea unui robot. In aceste aparate se gasesc, in afara de resistente si condensatori, unul sau doua motoare cu reductoare de turatie, uneori chiar cu reductor de tip melc-roata melcata, care este perfect pentru realizarea unui brat pentru robot, un senzor IR modulat pe frecventa de 38 sau 40 KHz, perfect pentru telecomanda, detectare de obiecte sau comunicare intre roboti, una sau doua fotodiode IR si unul sau doua LED-uri IR, folosite la detectarea de margine alb-negru sau proximitate.
Magazinele de piese electronice locale sau de pe internet.


Data viitoare am sa atasez o schema electronica a unui robot construit cu componete gasite intr-un video-recorder stricat si un PIC micro-controller.


Ro-Bot-X

Posts: 12
Joined: 11.01.2005 01:36
Location: Sibiu si Timisoara
PostPosted: 11.10.2005 15:27
Da, eu sunt interesat de robotica! Atept cat mai multe informatii si daca se poate colaborari in domeniu.
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 16.10.2005 01:10
Salut Florin,

Ma bucur ca te pasioneaza robotica. Urmareste acest topic unde voi continua tutorialul pentru construirea unui robot simplu, cu componente recuperate din aparate video-recorder si cateva cumparate din magazinele de piese electronice.

Daca vrei sa afli amanunte despre cum se poate construi un robot mai complex, care sa aiba recunoastere de imagini, de voce, raspuns vocal, posibilitatea de a merge la frigider sa-ti aduca un Pepsi (sau o bere, dupa preferinte) atunci da un mesaj pe forum si poate voi deschide un nou topic, despre construirea unui astfel de robot. Nu este simplu, dar cu putina experienta in electronica si programare se poate face.

Chiar daca nu studiem la universitate robotica, asta nu inseamna ca trebuie sa ramanem doar cu visul si cu parerile de rau. Construirea unui robot a ajuns sa fie destul de accesibila pentru hobbystii amatori si chiar si pentru copii.

Eu am avut privilegiul de a ma afla in America, de a invata robotica ca hobby, pe cont propriu si prin participare la diverse concursuri. Am inceput cu kitul Robotic Invention System facut de Lego, care este cel mai bun pentru a invata bazele si cel mai potrivit experimentarii. Din pacate pentru Romania, pretul acestui kit si al altor piese Lego pe care trebuie sa le achizitionati suplimentar este foarte mare. RIS costa 200 de dolari si contine doar 2 senzori de contact, un senzor de lumina, 2 motoare si controllerul RCX. Primul lucru care mai trebuie cumparat este un al treilea motor, apoi senzori de lumina, infrarosu si alte componente. In prezent cred ca am piese in valoare de 1000 de dolari si nu ma pot compara cu nici un american cu care particip la concursuri. Cu toate ca nu sunt inginer, nici mecanic, nici electronist si nici programator, am iesit in primele trei locuri la aproape toate concursurile la care am participat. Si pot spune ca sunt mandru de asta! Am avut satisfactia dea iesi pe locul intai la un concurs de sumo din peste 20 de participanti. Si de multe ori am luat premiul de originalitate.

Dar visul meu a fost sa construiesc un robot adevarat, cu care sa pot vorbi, sa faca curat si vorba aia, sa scoata cainele la plimbare. Daca ar putea sa spele vase, sa hraneasca si sa schimbe copii chiar ca n-ar fi rau... :lol:

In curand ma voi intoarce in tara, la Sibiu, si vreau sa continui aceasta pasiune, sa o dezvalui romanilor, sa le arat ca se poate face, ca o pot invata si copii (de la gimnaziu in sus) daca li se pun la dispozitie uneltele necesare. De aceea voi pune in vanzare kitul Ro-Bot-X, voi organiza concursuri si voi face o puternica reclama. Poate alcatuim o echipa sa participam la Eurobot 2006.

Deci urmariti tutorialul si astept intrebari. Retineti: se poate face. Si rezultatul este uimitor de incurajator.

Ro-Bot-X
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 18.10.2005 16:28
Asa cum am promis, azi am atasat o schema electronica a unui robot care poate fi folosit la meciuri de Sumo, urmarire de linie, labirint, deplasare la intamplare cu evitarea obstacolelor intalnite in cale, etc.

Dupa cum se vede de pe schema, componenta principala o reprezinta controllerul Nemesis, care este un PIC micro 16F88 cu un "boot loader" pre-programat. De ce am ales acest controller? In primul rand pentru ca este usor de programat in limbaj Basic, apoi pentru ca mediul de programare se descarca gratuit de pe internet impreuna cu documentatia aferenta si se pot gasi o gramada de exemple de folosire in forumul de pe site-ul firmei producatoare, Kronos Robotics (http://www.kronosrobotics.com). Un alt criteriu reprezinta pretul de numai $12.95. Un PIC 16F88 se poate cumpara intre 4 si 8 dolari, in functie de magazin. Dar aveti nevoie de un programator (cel mai ieftin e in jur de $40) si de un compilator (in limbaj Basic cel mai ieftin e $99 sau pentru limbaj de asamblare se poate descarca gratuit). De fapt, si pentru programarea lui Nemesis aveti nevoie de un adaptor de nivel logic pentru portul serial. (Vezi schema Adaptor)

A doua componenta importanta este integratul SN754410E, fabricat de Texas Instruments, care este un "Quad Half H-Bridge", cu care se pot comanda 2 motoare de curent continuu sau un motor pas-cu-pas. Costa in jur de 2 dolari si se poate comanda la magazinele de import de piese electronice. Fiecare motor are 2 pini de comanda plus un pin de enable, care poate fi oscilat cu o frecventa crescatoare pentru un efect de accelerare sau descrescatoare pentru un efect de incetinire. Interesant este ca daca ambii pini de comanda sunt 1 logic si pinul de enable tot 1 logic, motorul este franat electronic.

Piesa U1 este un "Photo IC" PNA4613, 40KHz, fabricat de Panasonic. Este un senzor infrarosu, sensibil la un semnal modulat pe o frecventa de 40KHz, care se gaseste in mai toate aparatele electronice care folosesc telecomanda - video, TV, DVD, etc. In aceasta schema, senzorul este folosit pentru mai multe scopuri, in functie de necesitati. In principal este folosit la detectarea oponentului, dar se pate folosi si pentru a telecomanda robotul sau pentru a primi mesaje sau comenzi de la un alt robot. Dupa cum vedeti in schema, la stanga si la dreapta lui U1 se afla cate un LED infrarosu, pe lungimea de unda de 940nm, in capsula de 5mm. Aceste LED-uri sunt comandate de portul 6 al controllerului, care poate fi setat ca Pulse Width Modulation pentru generarea unui semnal cu frecventa de 40KHz. Din semireglabilul R3 se regleaza curentul care trece prin LED pentru reglarea distantei la care obstacolele vor fi detectate. Din cauza ca exista un singur port pentru comanda a 2 LED-uri, am conectat fiecare LED la un port diferit al controllerului, selectand din program care LED va fi activ. Am folosit 2 LED-uri pentru a avea detectectia obstacolelor pe stanga-centru-dreapta.

Se mai observa in scema 2 grupuri de LED-Fototranzistori infrarosii, care sunt recuperate dintr-un video casetofon stricat. Fototranzistorii sunt in capsula de 3 mm, cu lungimea de unda de 940nm. Pentru realizarea acestui montaj aveti nevoie de 2 LED-uri infrarosii in capsula de 3 mm. (LED-ul din aparatul video era de 5 mm si l-am folosit la detectia obstacolelor impreuna cu cel recuperat din telecomanda aparatului). Se pot cumpara senzori incapsulati in plastic, in capsule de diverse marimi si forme, pentru 2-4 dolari bucata. Din semireglabilul R6 se regleaza sensibilitatea senzorilor (intre 1 si 2 cm). Acesti senzori detecteaza trecerea de pe negru (high) pe alb (low) si sunt folositi pentru detectarea marginii ringului de Sumo sau a unei linii negre pe fond alb - la urmarire de linie.

Regulatorul de tensiune este de tip "low dropout" LM 2940. Se poate folosi si un regulator de tip 7805 dar atunci montajul trebuie alimentat la 7,5-9V.

Motoarele sunt de curent continuu, recuperate dintr-o jucarie electrica (masina telecomandata) sau video casetofon, etc. Trebuie sa fiti atenti ca firele de alimentare ale motoarelor sa fie rasucite si motoarele sa aibe condensatori ceramici de decuplare de 0.1uF montati direct pe motor astfel: unul intre cele doua fire, unul de la un fir la carcasa si altul de la celalalt fir la carcasa.

Astept intrebarile si comentariile voastre.

In urmatoarea parte a tutorialului voi atasa si discuta un program de deplasare la intamplare cu evitarea obstacolelor.

Ro-Bot-X
Attachments
SampleRobot.jpg
(84.88 KiB) Downloaded 1053 times
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 18.10.2005 16:45
Dupa cum am spus in mesajul de mai sus, pentru programarea lui Nemesis aveti nevoie de un adaptor de semnal pentru portul serial. Acesta este realizat cu un circuit integrat MAX232, care aduce semnalul de la portul serial la nivel TTL si il inverseaza. Aceasta schema se poate integra in schema robotului sau se poate realiza separat pentru a se putea folosi la programarea a mai multor roboti.

Ro-Bot-X
Attachments
Adaptor.jpg
(21.7 KiB) Downloaded 836 times
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 20.10.2005 01:10
Iata si programul, scris in limbaj Basic, folosind mediul de programare Athena dezvoltat de firma Kronos Robotics. Poate fi usor transcris in limbaj de asamblare si programat intr-un PIC 16F88.

Pentru a fi usor de inteles de catre novici, am scris in romana numele de variabile, etichete, subrutine, etc. In mod normal se scrie direct in engleza, eventual comentariile in romana. Celelalte programe asa vor fi scrise.

Programul e simplu: citeste senzorul, afiseaza valorile (pentru teste), decide cum trebuie facuta deplasarea, mergi la inceput. Sa le luam pe rand.

1. Citirea senzorului IR. In acest caz am folosit un singur senzor IR si doua LED-uri pe care le pornesc pe rand, pentru o fractiune de secunda, dupa care citesc valoarea senzorului si o scriu intr-o variabila pentru fiecare LED in parte. Se pot folosi 2 senzori si 2 LED-uri, in acest caz LED-urile fiind legate in serie intre semireglabil si masa. Astfel se elibereaza un port care poate fi folosit la altceva.

2. Afisarea valorilor. Afisarea se face in fereastra Debug (pe calculator), cablul serial fiind inca conectat la controller. (Este bine ca alimentarea motoarelor sa aibe un comutator sa le puteti scoate din functiune pentru teste.) Afisarea valorilor e importanta pentru reglarea sensibilitatii detectiei din semireglabilul R3. Luati o foaie de hartie si tineti-o in fata robotului la distanta maxima la care doriti ca robotul sa inceapa sa detecteze obiecte si apoi rotiti semireglabilul pana cand valorile se schimba din 1 in 0. Ori de cate ori doriti sa modificati sensibilitatea, procedati ca mai sus. Veti observa ca in functionare, robotul va reactiona diferit la diverse materiale si culori, cel mai greu de detectat fiind culoarea neagra, mata.

3. Decizia deplasarii. Imaginati-va ca sunteti la bordul unui tanc. Aveti doua manse, una pentru comanda motorului stang si una pentru comanda motorului dreapt. Daca le miscati in fata, tancul merge inapoi. Daca le miscati in spate, tancul merge inainte. Ca sa cotiti la stanga, mansa stanga o miscati in spate, cea dreapta fiind in fata, si invers, daca vreti sa cotiti spre dreapta. In acelasi fel functioneaza decizia deplasarii si la robotul de fata. Daca nu este detectat nici un obiect, robotul merge inainte. Daca un obiect este detectat la stanga, robotul trebuie sa coteasca spre dreapta, adica sa faca motorul din dreapta sa mearga inapoi. Daca un obiect este detectat spre dreapta, trebuie sa faca motorul din stanga sa mearga inapoi. Dar daca este detectat un obiect in fata? Atunci robotul va face ambele motoare sa mearga in spate.

4. Reluare. Ciclul s-a incheiat, o luam de la inceput.

Acest program este foarte simplu si se poate folosi si cu alte tipuri de senzori, ca: senzori de contact, senzori de margine - pentru urmarire de linie sau sumo, cu foarte mici modificari (la citirea senzorilor).

Imbunatatiri.

Daca il puneti in practica, veti observa ca se pot aduce imbunatatiri in functionare, in special in situatii in care robotul se impotmoleste intr-un colt de camera.
O alta situatie este atunci cand nu reuseste sa detecteze un obiect si se loveste de el. In acest caz, se pot folosi senzori de contact, conectati la cele doua porturi ramase libere.
Dar daca vrem ca robotul sa mearga intr-un anume loc si apoi sa se intoarca la locul de unde a plecat (baza)? Pentru asta trebuie sa masuram distanta parcursa si unghiurile de cotire. Acest lucru se poate face in doua moduri: cu un contor de timp sau cu un contor de impulsuri.
Dar daca adaugam robotului un brat simplu si vrem sa se deplaseze la intamplare prin camera si sa culeaga diverse obiecte (pe care le poate apuca) si sa le aduca la baza?

Despre toate aceste posibilitati vom vorbi in lectiile urmatoare...

Ro-Bot-X
Attachments
Driving.zip
(1.18 KiB) Downloaded 889 times
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 22.10.2005 05:15
Ca sa vedeti ce se poate face din piese recuperate din VCR-uri stricate (video cassette recorder), am adunat de la gunoi (de fapt le-am luat de la o firma care repara televizoare, ca fiind nerecuperabile) 2 VCR-uri diferite, dar care s-au dovedit a fi foarte asemanatoare. Am facut cateva poze la unul din ele, sa va pot arata care sunt piesele importante.

Fotodiodele IR (5 buc in total, dar am folosit doar 3), LED-urile IR (cate unul in mijlocul fiecarei placi), senzorul demodulator IR, cativa rezistori de 10K, unul de 100 de ohmi, un condensator de 10uF, unul de 1000uF, motoarele, impreuna cu curelele mici), 2 rotite care trag banda in caseta, un micro-intrerupator, un Led verde, un semireglabil, un suport de plastic si o bucatica de tabla cu 2 gauri - au fost scoase din aceste 2 aparate.
Pe langa aceste piese am mai cumparat: o placa de textolit perforata, cu "pastile" de cupru pe o parte, un soclu de integrate cu 18 pini, unul cu 16 pini, un conector cu 5 pini in linie (female), 2 conectori cu 3 pini (female), un conector cu 2 pini (male), mansoane termoconstrictibile, un soclu de baterii A6 (pt 4 buc), un circuit integrat SN754410E, un controller Nemesis. Am mai folosit 2 cuie, cateva saibe, cateva surubele de lemn, cateva suruburi cu piulita de 3 mm, o bucsa, cateva bucati de... tie-wraps si sarma de wrapping. Ciocan de lipit, fludor, etc.

Dupa ce am deslipit piesele de care aveam nevoie, am pregatit placa perforata. Am taiat o bucata de circa 75x100 mm, am taiat 2 colturi la 45 grade (in fata) si am slefuit-o cu smirghel. Am pregatit rotile, folosind cuiul si 2 saibe, apoi am prins cuiele pe placa, cu rotile montate pe ele, cu ajutorul a catorva bucati de sarma rasucite si lipite. Am luat motoarele si curelele si l-am pozitionat pe placa, marcand locul unde vor fi instalate. Am dat 8 gauri de 4 mm in locurile marcate si apoi am prins motoarele pe placa folosind tie wraps. Bineinteles ca am uitat sa montez pe ele condensatorii de filtraj, asa ca a trebuit sa le dau jos, sa-i pot monta mai usor...
Am inceput sa lipesc piese pe placa, incepand cu soclurile pentru integrate, condensatorii de 0.1u si de 10u, rezistorii de 10K, soclul cu 5 pini (pentru programare), micro-intrerupatorul, condensatorul de 1000u, conectorul cu 2 pini si jumper (pentru a putea decupla tensiunea de alimentare la motoare in timpul programarii), LED-ul verde, rezistorul de 100ohmi. Am lipit apoi senzorul demodulator, cele 2 LED-uri IR (dupa ce in prealabil le-am prelungit piciorusle si le-am acoperit cu mansoane termoconstrictibile) si semireglabilul. Cea mai mare problema este faptul ca acele pastile sunt foarte usor de rupt daca se incearca miscarea unei piese. Din acest motiv a trebuit sa indoi piciorusele si sa le lipesc pe mai multe pastile. La sfarsit am montat cele 2 conectoare cu 3 pini, pe care le voi folosi sa atasez o placuta pe care voi monta cele 3 diode IR impreuna cu 2 LED-uri IR asezate intre ele, pe care le vom folosi la urmarile de linie.
Dupa ce toate piesele au fost lipite pe placa, am inceput sa le unesc folosind sarma de wrapping. La sfarsit am conectat soclul de baterii si am cautat o solutie pentru a "fabrica" a 3-a roata. Am luat o bucata de plastic (din VCR) care avea un tub fixat vertical pe o placa orizontala (pe care am taiat-o mai mica) si am montat-o pe placa cu ajutorul unui surub de lemn. Am luat apoi o bucatica de tabla cu 2 gauri la capete (tot din VCR), pe care am rasucit-o in asa fel incat o gaura sa fie verticala si cealalta orizontala. Am gasit in una din cutiile mele cu piese o bucsa din plastic, de marime cam cat o rola presoare de la un casetofon audio (o rola presoare e mult mai buna din cauza ca are cauciuc pe ea), pe care am prins-o, folosind un surub cu piulite, de un capat al tablei. Folosind un alt surub cu piulite, am prins tabla de tubul de plastic, in asa fel incat sa se poata invarti usor.
Am pus apoi bateriile, am scos jumperul sa nu porneasca motoarele si am bagat adaptorul serial in conectorul cu 5 picioare. Am descarcat programul in controller si pe ecran s-a deschis fereastra de debug aratandu-mi valorile citite de senzor. Tinand mana in fata senzorului, am reglat semireglabilul incat sa se schimbe valorile cand mana se afla la circa 10 cm in fata robotului. Am oprit apoi robotul si am deconectat adaptorul serial si am pus inapoi jumperul.

Am pus apoi robotul pe jos si i-am dat drumul! A pornit in viteza spre un perete si cand a ajuns aproape s-a intors fara sa se loveasca! A reusit sa evite aproape toate obiectele din camera, cea mai mare problema fiind obiectele negre.

Ca sa puteti si voi vedea cum merge, am facut un mic filmulet cu camera digitala pe care puteti sa-l descarcati folosind linkul de mai jos. Sper sa va placa!

Ro-Bot-X
Attachments
SampleRobot3.zip
(190.54 KiB) Downloaded 900 times
SampleRobot2.zip
(242.43 KiB) Downloaded 682 times
SampleRobot1.zip
Poze in format jpg
(243.13 KiB) Downloaded 688 times
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 22.10.2005 05:21
Din pacate nu am putut sa adaug si ultimul atasament, asa ca il pun in acest mesaj.

Tot aici voi pune si filmul.

Ro-Bot-X
Attachments
MOV01.ZIP
(151.08 KiB) Downloaded 791 times
SampleRobot4.zip
(167.12 KiB) Downloaded 786 times

Posts: 1
Joined: 24.10.2005 00:28
PostPosted: 24.10.2005 00:43
i-mi place foarte mult ceea ce ai facut cu robotul acesta.am vazut si filmul. asta bate tot cu viteza lui.am sa fac si eu unu. :D
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 29.10.2005 17:27
Salut Macy!

Ma bucur ca ti-a placut robotul, desi nu este prea aratos. Robotii din Lego sunt mai aspectuosi si mult mai usor de construit. Ai multe posibilitati de dezvoltare mecanica si faptul ca nu ai destule intrari si iesiri te face sa "jonglezi" cu ele pentru a putea folosi mai multi senzori si mai multe motoare. Dar... Asta e. Nu se gaseste in Romania si pretul de 200 de dolari e putin cam mare. Din acest motiv am ales sa construiesc roboti "cu piese si sarme". Necesita mai multa pricepere, dar, cu putina imaginatie, se poate face.

Si acum sa revenim la robotul nostru. Am construit placuta cu senzorii IR pentru urmarire de linie. Am pus 3 fotodiode IR si 2 LED-uri IR cam din 1 cm in 1 cm distanta. Le-am legat conform schemei, singura diferenta fiind adaugarea a inca unui rezistor de 10K intre Vcc si a treia fotodioda. Acesti rezistori sunt folositi pentru a "tine sus" (1 logic) intrarea controller-ului. In momentul in care fotodioda detecteaza lumina, intrarea trece in 0 logic. Am mai montat un semireglabil pentru reglarea curentului care trece prin LED-urile IR si am facut legaturile la 5 pini asezati 3 de o parte a placutei, pentru senzori, si 2 de cealalta parte a placutei, pentru alimentare. Apoi am plasat placuta pe robot si am pornit robotul, avand grija sa scot jumperul sa nu se invarta motoarele. Am pus robotul pe o bucata de hartie alba cu o banda neagra realizata cu putina banda izolatoare. Am descarcat programul in controller si, dupa ce s-a deschis fereastra de Debug, am inceput sa misc robotul stanga-dreapta, urmarind daca se schimba valorile pe ecran. Nimic! Cu ajutorul aparatului foto digital (este sensibil la IR) am verificat daca LED-urile lumineaza si am reglat semireglabilul in asa fel incat LED-urile sa lumineze aproape de maxim. Tot nimic!

Dupa mai multe verificari, am constatat ca fotodiodele luate din VCR-uri au unghiul de detectie foarte ingust si necesita ca lumina reflectata de pe suprafata hartiei sa aibe un unghi cat mai aproape de 0 grade (perpendicular pe hartie). Cu parere de rau a trebuit sa dezlipesc LED-urile si sa le pun cat mai aproape de fotodiode. Am avut numai 2 LED-uri cu capsula de 3 mm asa ca la mijloc am folosit un LED cu capsula de 5 mm, asezat inclinat (a trebuit sa il tot inclin pana cand fotodioda a inceput sa detecteze lumina reflectata). Bun, de data asta merge!

Sa vedem cum urmareste linia. Am pus pe jos plansa de la kit-ul de Lego, care are un oval negru pe fond alb (puteti folosi o coala mare pe care sa faceti un circuit din banda izolatoare neagra). Am pozitionat robotul in asa fel incat linia sa fie la mijlocul senzorilor si l-am pornit. A plecat ca din pusca si s-a izbit de primul perete! Mai, sa fie! Merge prea repede si nu apuca sa reactioneze la citirea senzorilor. Va trebui sa scadem viteza...

Pentru scaderea vitezei m-am gandit la varianta clasica, cu stabilizator de tensiune reglabil. Prea complicat. Oare nu este si ceva mai simplu? Pai este. Stim ca pe o dioda redresoare (1N4004) se formeaza o cadere de tensoine de 0.7 V. Asa ca am instalat inlocul jumperului 3 diode legate in serie (luate din VCR). Am pus robotul inapoi pe circuit si de data asta a inceput cuminte sa urmareasca linia. Putin cam incet, totusi. Cred ca doua diode sunt de ajuns. Mai incercam, si daca nu merge, va trebui sa incerc sa optimizes programul sa reduc timpul de parcurgere a buclei de executie.

Poze si un filmulet voi atasa data viitoare, azi pun doar programul, scris de data asta in engleza.

Etapa urmatoare va fi deplasare pe un circuit imaginar, cu distante si cotituri date, eventual cu intoarcere la locul de plecare. Pentru aceasta, robotul trebuie sa fie capabil sa "stie" distanta parcursa si ungiul de cotire. Asa cum am mai spus, acest lucru se poate face in doua feluri: cu ajutorul unui contor de timp sau cu ajutorul unui contor de rotatie. Pentru primul, nu trebuie construit nimic, dar pentru al doi-lea trebuie construit un senzor care sa citeasca impulsuri cand roata se invarte (in genul tachometrului). Astfel de senzori se gasesc si in VCR-uri, realizate in mai multe feluri, dar si in mouse-uri. Se va folosi un singur senzor, conectarea lui fiind facuta exact ca a senzorilor IR pentru urmarire de linie, la portul 3 al controller-ului.


Mai multe amanunte, in curand!


Ro-Bot-X
Attachments
LineFollowing.zip
(1.09 KiB) Downloaded 744 times
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 01.11.2005 21:45
Am infiintat un grup de discutii pe Yahoo, pentru cei care vor sa participe la competitii robotice nationale si internationale. Veti gasi informatii utile, ajutor pentru proiectele voastre, noi idei si cai de a rezolva problemele mai "spinoase".

Vrem sa alcatuim cel putin o echipa care sa participe la concursul european Eurobot 2006, care se va desfasura in luna mai in Catania, Italia. Tema concursului o reprezinta un joc de golf, adaptat robotilor. Fiecare tara poate fi reprezentata de cel mult 3 echipe. In Bucuresti exista o echipa (Robotiqueff) care a participat si anul trecut si a luat premiul de Fair-play. Datorita faptului ca se asteapta inscrierea mai multor echipe, anul acesta se va desfasura in prealabil un concurs de selectie national.

Va asteptam!

http://groups.yahoo.com/group/rombotgroup

Ro-Bot-X

Posts: 1
Joined: 02.11.2005 14:35
PostPosted: 02.11.2005 14:46
salut la toti. Si eu sunt unul din impatimitii roboticii,cu toate ca nu ma pricep prea mult la electronica ,mi-ar place totusi sa iau parte la discutiile de pe forum.
User avatar
Posts: 17
Joined: 07.10.2005 01:06
PostPosted: 03.11.2005 00:44
Salut Dan,

Sa stii ca nici eu nu ma pricep prea tare la electronica. Numai atat cat sa stiu sa citesc o schema si sa fac un cablaj sau un montaj cu sarme dupa ea. Si destul cat sa pot face combinatii intre diverse scheme sa scot ceva nou. Cam tot asa si la programare si la mecanica. Ideea e sa vrei sa faci ceva. Daca vrei, spui cam ce ai vrea sa faci si lumea o sa te ajute. Am dat indicatii multor oameni, atat cat am stiut, iar ce nu am stiut, am intrebat si eu, vorba aia, sa nu mor prost.

Asa ca, nu conteaza nivelul de cunostinte, pune mana si fa ceva si vei vedea ca vei invata multe!

La inceputul lunii martie voi fi la Sibiu si atunci vom putea organiza intalniri saptamanale.

Ro-Bot-X
Next

Return to Hobby

Who is online

Users browsing this forum: No registered users and 0 guests