Specializarea: MECATRONICĂ [301610]
UNIVERSITATEA ,,LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE INGINERIE
Specializarea: MECATRONICĂ
LUCRARE DE DIPLOMĂ
Coordonator științific:
Prof. Univ. Dr. Ing. Radu Eugen BREAZ
Absolvent: [anonimizat], 2016
UNIVERSITATEA ,,LUCIAN BLAGA” SIBIU
FACULTATEA DE INGINERIE
Specializarea: MECATRONICĂ
Studiul și proiectarea unui robot line follower
Coordonator științific:
Prof. Univ. Dr. Ing. Radu Eugen BREAZ
Absolvent: [anonimizat], 2016
Cuprins
Capitolul 1
Introducere
Conceptul de ”Mecatronică”
Termenul “Mecatronică” a fost proiectat în 1969 de inginerul unei firme japoneze Yaskawa Electric și protejat până în 1982, ca semn a acestei firme. Inițial se face la finalizarea structurilor mecanice din construcția aparatelor cu componente electronice(Mecatronica).
[anonimizat] o [anonimizat], bazat pe îmbinarea armonioasă a [anonimizat], are scopul de a îmbunătăți performanța și funcționalitatea sistemelor tehnice.
[anonimizat]. [anonimizat]-[anonimizat], [anonimizat], roboți, [anonimizat], etc, sunt doar câteva exemple de produse mecatronice. Practic, mecatronica este prezent în toate domeniile de activitate.
Tehnologia mecatronică s-a născut și a devenit foarte curând filosofie care s-a [anonimizat](Mecatronica). Apariția mecatronicii este rezultatul firesc al evoluției în dezvoltarea tehnologică. Această evoluție este sugestiv evidențiată în figura 1.2.
Mecatronica este coloana vertebrală a [anonimizat] a fost dezvoltată de mecanizare. [anonimizat], [anonimizat], a permis includerea electronicii în structurile mecanice. Acesta a obținut primul pas spre integrare: integrarea electromecanice.
Următorul pas în procesul de integrare a fost determinat de apariția microprocesoarelor. [anonimizat] a [anonimizat]. Astfel, [anonimizat], poate procesa și stoca aceste informațiiși iau decizii cu privire la comportamentul în consecință.
[anonimizat] a fost inteleasa ca o completare a [anonimizat](Mecatronica).
[anonimizat]-a schimbat sensul și și-a extins aria de definiție: mecatronica a [anonimizat], electronică și informatică. [anonimizat] (Mecatronica).
[anonimizat]. [anonimizat]. Mecatronica poate fi definită ca o concepție inovatoare a artei de automatizare de inginerie și de nevoile educaționale.(Mecatronica).
Conceptul de „Robotică”
Crearea de ființe artificiale care execută operațiuni similare executate de om a fost o idee prezentă în imaginația omenirii din cele mai vechi timpuri. Se spune de Arhitas din Taranto (sec. V-VI BCE), care s-ar fi construit o pasăre care ar putea zbura. În secolul XIII Roger Bacon și Albert cel Mare au dezvoltat un humanoid, care, la o atingere, ar putea deschide ușa și prin înclinarea capului poate saluta pe noul venit. În secolul al XV-lea, J.Müller a construit mai multe mașini, inclusiv o muscă, care alerga în jurul mesei și sa așezat deasupra unui vultur, care a salutat prin bătaia aripilor și înclinarea capului împăratul Maximilian a sosit în oraș.(scientia).
În secolul al XV- lea, Leonardo da Vinci a construit o mașinărie în chip de leu care l-a întâmpinat pe Ludovic al XIII-lea la Milano, mersul pe jos prin sala tronului, oprindu-se la picioarele suveranului, după care și-a desfăcut pieptul cu labele, căzând de acolo crini albi, aceasta fiind emblema regilor Franței(scientia).
Numele ROBOT a fost introdus de scriitorul ceh Karl Capek în lucrarea sa ,, Roboții universali ai lui Rossum "(1921), pornind de la cuvântul ”Robota” = activitatea de rutină, muncă. Traducerea sa (1923) în limba engleză a consacrat denumirea de robot pe plan internațional. Scriitorul Issac Asimov în povestirea SF ,,Runaround” (1940) formulează cele trei legi ale roboților și folosește pentru prima dată cuvântul robotică (robotics) cu înțelesul de știința care se ocupă de studiul sistematic al roboților(Telea).
Robotica este parte a științei care se ocupă cu studiul operațiunilor umanoide și se află la granița cu mecanica cu informatica, inginerie electrică, electronică și informatică, termotehnică, sisteme hidraulice. operațiuni umanoide sunt operațiunile efectuate de oameni, folosind picioarele brațelorși coordonate de organele de simț.
Apariția de roboți în epoca actuală poate fi justificată de necesitatea de a adapta omul la mediul, în vederea creșterii productivității prin reducerea efortului necesar pentru realizarea produsului și creșterea calității. Inițial roboții au fost utilizați în principal pentru efectuarea operațiunilor de manipulare, operațiile pe care acestea ar putea fi efectuate cu ajutorul manipulatoarelor. Se dorește să nu se facă confuzie între termenii de manipulatoare și roboți pentru operații de manipulare deoarece ultimii amintiți având o structură mecanică complexă și sunt conduși după programe flexibile, iar primii menționați au o structură mecanică simplă și sunt guvernați după programe rigide.
Așadar robotica este un domeniu multidisciplinar a cărui componență este prezentată în Figura 1.3:
Realizarea unor instalații artificiale care să execute operații similare cu cele executate de om a fost o idee prezentată in imaginația omeniri din timpuri mai vechi(Telea).
Istoria roboților începe în anul 1940 cu realizarea manipulatoarelor sincrone pentru mișcarea unor recipiente radioactive din spații supuse iradierii; etapă ce a ținut până în jurul anilor 1960(Telea);
Perioada 1960-1980 este perioada de revoluție a roboților, printr-o diversitate și aplicabilitate fără precedent în domeniul industrial(Telea);
Perioada 1980-1990 – deceniul roboților industriali de generația I și II și robotizarea productiei (industrie și servicii) (Telea);
Începând din 1990 au apărut primii roboți inteligenți, etapă în dezvoltare și în momentul de față(Telea).
Trei tehnologii au fost cruciale pentru dezvoltarea roboticii:
Tehnologia servomecanismelor;
Tehnologia electronică;
Tehnica de calcul(Telea).
În 1985 Simon Nof, editorul lucrării ,,Handbook of Industrial Robotics”, formulează legile roboticii aplicate:
roboții trebuie să înlocuiasca oamenii în locurile de muncă periculoase pentru aceștia;
roboții trebuie să înlocuiască oamenii în activități pe care aceștia nu doresc să le facă;
roboții ar trebui să înlocuiască oamenii în activități pe care ei le fac mai eficient(Telea).
La început oamenii aveau o doză de neîncredere în aceste noi descoperiri tehnologice. În timp robotul a devenit tot mai cunoscut și tot mai apreciat pentru performanțele ridicate și pentru avantajele pe care le prezintă. Astăzi roboții sunt indispensabilifuncționăriisocietății umane a secolului XXI. Întâlniți atât în procesele de producție, cât și în alte arii de interes precum divertisment, transporturi, comunicații, medicină sau agricultură, roboțiiîmbunătățescperformanțele umane din punct de vedere cantitativ și calitativ. Mijloacele de transport moderne, aparatura electronică și electrocasnicăși mai tot ceea ce începe să ne marcheze stilul de viață vor devini automate, robotizate și autonome.
Următorul pas în noua evoluție industrială o să fie utilizarea roboților în toate domenile. Roboții vor ajunge la capacitatea de a imita orice acțiune a omului.(Figura. 1.4)
Deja există multe domenii în care roboții au luat locul oameniilor. Cei mai complexiroboți la ora actuală sunt cei folosiți de NASA la explorarea spațiului cosmic. Roboții umanoizi concepuți de NASA pentru viitoare misiuni spațiale vor fi cei mai bine antrenațiastronauțiși vor fi trimiși în acele zone care prezintă un risc deosebit pentru astronauții în carne și oase.
Capitolul 2
Roboți. Aspecte generale
2.1. Scurt istoric
Cuvântul robot provine din limba cehă (robota) și înseamnă rob sau muncitor. O definiție simplă a robotului și larg acceptată in zilele noastre este că un robot este un sistem inteligent care interacționează cu mediul fizic prin intermediul senzorilor și a unor efectori. Având în vedere definiția de mai sus, ai putea spune că omul este un robot. Omul “interacționează” cu lumea înconjurătoare,cu ajutorul unor senzori și a unor efectori, reprezentate în lumea biologică de terminații nervoase, respectiv mușchii. Desigur, cea mai semnificativă diferență între robot și om este că robotul a fost creat de om și nu invers(Rusu).
2.1.1 Existența roboților
Binecunoscutul autor de literatură Science Fiction, Isaac Asimov, a propus trei „legi ale roboticii” sau mai degrabă ale existenței unui robot(Nitulescu). Mai târziu, el a adăugat o altă lege, numită legea zero. Cu toate că aceste legi au fost privite la început ca fiind o pură ficțiune, au fost preluate mai târziu atât de alți scriitori de Science Fiction cât și de oameni de știință, precum și principii de bază pentru existența unui robot. Astfel, Isaac Asimov este considerat de unii ca fiind printre oamenii care a fondat știința pe care astăzi o numim robotică. Legile existenței unui robot sunt:
Legea 0. Un robot nu are voie să provoace vreun rău umanității, sau prin inactivitate, să permită vreun rău umanității(Rusu).
Legea 1. Un robot nu are voie să rănească o persoană umană, sau să permită rănirea unei persoane umane prin inactivitatea acestuia, cu excepția cazului când această lege contravine cu vreo lege anterioară(Rusu).
Legea 2. Un robot trebuie să respecte toate ordinele date de o persoană umană, cu excepția acelor reguli care intră în conflict cu vreo lege anterioară(Rusu).
Legea 3. Un robot trebuie să-și protejeze propria existență atâta timp cât această activitate nu intră în conflict cu legile anterioare( Rusu).
2.1.2 Asemănări cu omul
Pe măsură ce corpul uman are nevoie de anumite organe pentru a putea interacționa cu mediul înconjurător și pentru a sprijini organismul viu, astfel încât orice model de robot generalizat ar trebui să conțină cât mai multe elemente ale instalației electrice sau mecanice, care să execute mai multe funcții. Un rezumat la similaritați între “caracteristici” ale unei personae și un model de robot, este prezentată în tabelul următor.
2.1.3. Mod de interacțiune
Modul de interacțiune clasic al unui robot constă din trei pași, lineari, repetitivi(Stan):
robotul „simte” mediul înconjurător, adică captează informații despre mediu prin senzorii lui;
robotul planifică ce să facă în continuare, construind un model al lumii înconjurătoare, desigur luând în considerare atât obiectivele pe termen scurt cât și obiectivele pe termen lung;
robotul își pune în aplicare planul prin intermediul efectorilor;
Acest model a fost predominant în timpul anilor ’80. Odată cu simplitatea oferită de acest model, intervin și anumite probleme care trebuie luate în calcul. Una din aceste probleme este faptul că rigiditatea acestui model îl face foarte lent. La fiecare proces de reparare a acestui algoritm, trebuie realizate toate operațiile din nou, și anume: citirea senzorilor, modelarea lumii înconjurătoare, planificarea operațiilor viitoare, respectiv realizarea acestora.
În anul 1986 o nouă arhitectură este propusă de Brooks(Stan), prezentându-se un set de nivele (layere), fiecare nivel conținând un program de control care este capabil să interacționeze direct cu mediul înconjurător (Figura 2.2).
2.1.4. Tipuri de roboți
În prezent, roboții sunt utilizați în cele mai multe industrii. Sunt atât de multe tipuri de roboți utilizați pentru diverse servicii, o lista a tuturor tipurilor acestora ar fi aproape imposibilă. O clasificare oarecum rudimentară din cele mai comune tipuri de roboți ar putea fi:
androizi, roboți construiți imita comportamentul și aspectul uman;
roboți statici, roboți utilizați în fabrici și laboratoare, cum ar fi brațe robot;
roboți mobili, roboți care se deplasează într-un anumit mediu fără intervenția omului și a atins anumite obiective;
roboți autonomi, roboți care își execută sarcinile fără intervenția unui operator uman și care obțin energia necesară funcționării din mediul înconjurător;
tele-roboți, roboți care sunt ghidați prin dispozitive de control de la distanță gen telecomandă de un operator uman;
linii automate de producție in fabrici, sunt tot un fel de roboți, chiar dacă aceștia nu sunt mobili, deoarece au toate facilitățile definiției noastre;
2.2. Roboți mobili
2.2.1. Definiție. Caracteristici
Un robot mobil ar putea fi descris ca un robot care trebuie să se deplaseze într-un anumit mediu, fară a avea nevoie vreodată de ajutorul unui operator uman, precum și de a indeplini anumite sarcini care îi sunt date. Așa că principala lui caracteristică este mobilitatea.
Roboții mobili au întrebuințări multiple. De-a lungul timpului au existat și există roboți mobili cu diferite funcții, de la aspirator pentru casă la explorator spațial, de la vehicol ghidat automat (AGV) utilizat in cadrul didactic, robotul este folosit doar pentru scopuri științifice.
Pentru a fi în măsurăsă se deplaseze în mediul ambiant, roboții mobili au nevoie de anumite componente mecanice, care permit să facă o mișcare precisă. În prezent există mai multe de astfel componente, inclusiv:
roți – probabil cele mai ieftine, componente simple și flexibile;
șenile – dau o aderență sporită, greutatea robotului este distribuită pe o suprafață mare;
“picioare” – robotul este sprijinit de un număr de picioare, cel putin unul ;
perne de aer sau perne magnetice;
Clasa roboților mobili cu roți este probabil cea mai populară. Din această clasă fac parte si AGV-urile (Automated Guided Vehicles – vehicole cu ghidare automată).
2.2.2. Exemple de roboți mobili
Din cauză că volumul roboților mobili este foarte mare, o sa amintim doar câteva exemple de roboți mobili. Se va insista deci asupra unui singur tip de roboți mobili, și anume roboții didactici (folosiți doar pentru cercetare în domeniul universitar).Ca și exemple vom lua roboții Pioneer de la ActivMedia Robotics pentru exemplul roboților didactici.
ActivMedia Robotics LCC este recunoscută ca fiind printre firmele în ascensiune rapidă în Statele Unite ale Americii în domeniul tehnologiei. Gama lor de roboți se întinde de la roboți industriali la roboți utilizați numai pentru cercetarea educațională. Dintre roboții educaționali cei mai populari sunt roboții din seria Pioneer, precum și robotul Amigobot.
Robotul Pioneer a ajuns la versiunea 3, el având două variante de bază: varianta cu 2+1 roți (2 motoare + 1 pentru stabilitate) cunoscută sub numele de Pioneer DX, respectiv varianta cu 4 roți cunoscută sub numele de Pioneer AT.
2.2.2.1 Pioneer DX
Robotul Pioneer 3 DX cu dimensiunile 44x38x22cm, cu scheletul mecanic construit din aluminiu. Roțile au un diametrul de 16.5 cm. În plus față de cele două roți, există o a treia roată mică în spatele robotului pentru stabilitate(Rusu) .
Specificațiile Pioneer 3 DX: viteza maximă la care poate ajunge este de 1.6 m/s pe teren drept, suportă greutăți de până la 23 Kg, și poate urca, de asemenea, pe teren în rampă cu o înclinație de maxim 25%.
În versiunea de bază, robotul Pioneer 3 DX are 8 sonare (senzori cu ultrasunete), dispuse într-o configurație de 180 grade. Senzorii pot citi corect datele de la o distanță de 15cm și până la 7m.
Există o serie de accesorii pentru robotul Pioneer 3 DX, inclusiv:
Acces la rețea wireless ethernet;
Sistem de localizare și navigare bazat pe senzori laser;
Gripper;
Senzori pentru coleziune (bumper sensors) pentru evitarea coliziunilor în cazul în care robotul e prea aproape de perete și sonarele nu mai detectează sub o anumită distanță;
Cameră video stereo;
Senzori bazați pe unde în spectru infraroșu;
Sistem de localizare bazat pe GPS (Global Positioning System);
Senzorii utilizați la majoritatea roboților Pioneer sunt senzorii cu ultrasunete. Modulul de bază al roboților Pioneer DX, există 8 astfel de senzori amplasați ca în figura 2.5.
Dispunerea senzorilor de unghi este:
Astfel, numerotarea începe cu numărul 0 din partea dreaptă și la stânga se termină cu numărul 7.
În figura 2.6 se prezintă o schemă a robotului Pioneer 3 DX, împreună cu principalele elemente componente.
2.2.2.2 Pioneer AT
Acest robot este mai costisitor decât „fratele” lui, robotul Pioneer 3 DX, însă , având patru roți poate fi folosit pe orice de teren, în special pe cel accidentat.
Robotul Pioneer 3 AT vine cu carecteristici standard, destul de atractive, inclusiv 16 sonare, cameră cu vedere nocturnă, baze radio wireless, Ethernet, GPS și asa mai departe. Pentru medii de lucru largi, în afara laboratorului, cu suguranță un Pioneer 3 AT ar putea face față mai bine decât fratele său mai mic, Pioneer 3 DX(Rusu).
Figura 2.7. Pioneer 3 AT
2.2.2.3 Amigobot
Cel mai mic dintre roboți Pioneer este robotul Amigobot. Acesta reprezintă robotul ideal pentru aplicații didactice atât datorită dimensiunilor cât și prețului său redus, și faptului că este complet funcțional pentru o multitudine de aplicații.
Amigobot-ul este echipat cu 8 sonare (senzori cu ultrasonice), 6 dispuse în fața robotului și 2 în spatele acestuia. Există două versiuni de Amigobot :
„Tethered”(robot cu fir)
Versiunea cu fir a robotului Amigobot, permițând acestuia deplasarea până la distanțe de maxim 5m de calculatorul personal la care este conectat.
„Wireless” (robot fără fir)
Versiunea wireless a robotului Amigobot, folosește o bază radio instalată pe robot pentru a comunica cu un calculator personal. Distanța maximă până la care comunicația se desfășoară in condiți optime este de 100m. Există două tipuri de baze radio care pot fi utilizate, și anume:
Unsecure Personal Serial Ethernet
Secure Enterprise Serial Ethernet
Diferența între cele două este faptul că varianta securizată folosește anumite metode de criptare a datelor pentru siguranța acestora.
2.3 Roboți line follower
Robotul line follower este un echipament mobil care poate detecta și urmări o linie prestabilită (se recomandă a fi o linie neagră vizibilă pe o suprafață albă), fiind capabil să corecteze în timp real mișcărea greșită, folosind un mecanism de feedback simplu dar în același timp foarte eficient.
Un robot este în sine un operator mecanic, construit în mod artificial de un om. Este un sistem compus de mai multe elemente: senzori, partea mecanică, elemente de execuție și eventual un mecanism de direcționare. Mecanica ajută la stabilirea aspectului robotului și a mișcărilor posibile în timpul funcționării sale, însă pentru ca robotul să poată interacționa cu mediul înconjurător, de asemenea are nevoie de alte elemente precum senzori și actuatori.
2.3.1 Exemple de roboți line follower
2.3.1.1Robotul Pololu 3pi
Figura. 2.10 Robotul Pololu 3pi
Robotul Pololulu 3pi este o platformă mobilă de înaltă performanță care este format din două motoare cu cutie de viteze, 5 senzori de reflexie, un LCD 8×2, trei butoane și un buzzer, toate sunt conectate la un microcontroller programabil Atmega328. Capabil de viteze pana la 1 m/s, el este un excelent pentru începători curajoși și un perfect al doilea robot pentru cei care vor să avanseze de la roboți neprogramabili(Documents).
Robotul Pololu 3pi este proiectat pentru a excela în competiții cum ar fi urmărirea liniei sau rezolvarea labirintelor. Are dimensiuni mici (diametru: 9.5 cm, greutate 83 g fără baterii) și are nevoie doar de 4 baterii de tip AAA, în timp ce sistemul de alimentare unic pune în funcțiune motoarele la o tensiune constantă de 9.25 V, tensiune independentă de cea a nivelului de încărcare. Regulatorul de tensiune îi permite robotului sa atingă viteze de până la 1 m/sec, în timp ce efectuează viraje și întoarceri precise, care nu variaza cu tensiunea bateriei(Documents).
Robotul Pololu 3pi este o platformă excelentă pentru persoane cu experiență în programare, care vor să învețe robotica și este distractiv in orice moment pentru cei care vor să invețe să programeze robotul folosind limbajul de programare ”C”. Inima robotului este un microcontroller Atmel Atmega328P care ruleaza la o frecvență de 20 MHz cu un program de 32 KB, 2 KB de memorie RAM si 1KB de memorie EEPROM. Popularul compilator GNU C/C++ funcționează perfect cu robotul Pololu 3pi, Atmel AVR Studio oferă un spațiu de dezvoltare confortabil și un set de librării interesante oferite de Pololu si realizează interfațării cu componentele care se face foarte ușor. Robotul Pololu 3pi este de asemenea compatibil cu plăcile de dezvoltare Arduino. Imaginile de mai jos identifică componentele cele mai importante ale robotului(Documents).
2.3.1.2. Robot line follower fară utilizarea unui microcontroller
În prezent orice tip de robot funcționează cu ajutorul unui microcontroller, prin urmare circuitul este prea complex pentru a ințelege, motiv pentru care robotul line follower este proiectat cu un simplu concept. Acest tip de robot este un robot autonom care urmarește o linie albă pe o suprafață neagră sau invers.
Robotul line follower poate reduce într-o mare măsură si este chiar avantajos din punct de vedere economic in ceea ce privește transportul. Sunt folosiți doi senzori pereche LED-LDR. În cazul în care lumina ajunge pe o suprafață albă ea devine reflectantă dar când lumina ajunge pe suprafața neagră ea este absorbită în totalitate de suprafața neagră. Light Dependent Resistance (LDR) este un senzor care simte lumina reflectată de LED.
Dacă senzorul este plasat pe o suprafață albă, motorul de curent continuu este pornit iar pe suprafața neagră motorul este oprit astfel robotul se va depalsa in mod corespunzător.
Diagrama bloc:
Diagrama circuitului:
Descrierea circuitului
În circuit senzorul LDR este conectat la terminalul noninversor al comparatorului LM358N și rezistența variabilă este conectată la partea inversoare a comparatorului și în acest sens, atunci când perechea de senzori LED-LDR va fi pe suprafața alba, lumina va fi reflectată la LDR, rezistența prin LDR va fi mică, va permite curentului și tensiunii să treacă prin ea. Atunci Vmax>Vmin, comparatorul va genera „1” logic și atunci se v-a porni circuitul și perechea de senzori vor fi pe suprafața neagră, atunci Vmax<Vmin și va genera„0” logic care va opri circuitul.
Acest circuit are două părți componente:
Circuitul perechi de senzori LED-LDR
Circuitul comparatorului
Circuitul perechi de senzori LED-LD
Circuitul de senzori va putea anunța dacă robotul se află pe linie sau nu. Senzorii potriviți pentru acest rol pot fi senzori LED-LDR, sau o pereche de senzori fotodiode IR LED.
Se știe faptul că suprafața albă reflectează mai multe raze decât o suprafață neagră. Acesta este principiul de bază pe care se folosește pentru a putea deduce dacă perechea de senzori se află pe linia albă sau pe linia neagră.
Se consideră urmatoarea pereche de senzori LED-LDR:
Când perechea senzorului se află pe o linie albă
mai multă lumină reflectată pe suprafață
mai multe căderi de lumină pe suprafața senzorului LDR
rezistență mai mică a senzorului LDR
tensiune mai mică la bornele senzorului LDR
În mod similar, când perechea de senzori se află pe o linie neagră
tensiunea de cealaltă parte a LDR-ului va fi mare
Voltajul de-a lungul fotodiodei IR va varia în raport cu intensitatea luminii ce cade pe ea. Cu cât avem mai multă lumină reflectată, cu atât voltajul este mai mic de-a lungul receptorului IR.
Circuitul de senzori:
Componenta 10k este un potențiometru care va fi utilizat pentru a stabili valoarea maximă a gamei. Această rezistență ar trebui să fie aproximativ egală cu: (R(lumină)* R(intuneric))^1/2; în cazul în care, R(lumină) este aproximată rezistența de senzorul LDR si când este lumină R(întuneric) este rezistență de același fel și în întuneric.
Circuitul comparatorului
Senzorul LED-LDR este conectat la un comparator LM38. Comparatorul LM358 este un amplificator IC operațional ce poate fi folosit pe post de comparator. Terminalul “+” (terminalul non inveror pentru op-amp) citește voltajul de-a lungul rezistenței R4. Terminalul “-“ (terminalul invertor pentru op-amp) citește voltajul ce a fost setat la potențiometru.
Când se află pe linia albă, V(LDR) mic => V(R4) mare
Când se află pe linia neagră, V(LDR) mare => V(R4) mic
Voltajul de pe potențiometru (terminalul ”-”), V(potențiometru) este de așa natură:
V(R4)alb>V(potențiometru)>V(R4)negru
Când senzorul se află pe linia albă:
V(R4)alb>V(potențiometru) => V+ > V- =>ieșirea op-amp = Mare
Când senzorul se află pe linia neagră:
V(potențiometru)>V(R4)negru=>V- >V+ =>Ieșirea op-amp = Mică, astfel știm dacă senzorii se află pe linia albă sau pe partea neagră.
În concluzie, dacă un capăt al motorului este conectat la 12V iar celălat capăt este conectat la ieșirea op-amp, va fi posibil ca motorul să fie controlat in funcție de suprfata pe care se alfă senzorii.
Pentru alb, potențialele de-a lungul motorului: 12-12 : poziție de staționare
Pentru negru, potențialele de-a lungul motorului: 12-0: motorul functionează
Funcționarea a doi senzori urmaritori de linie
2.3.1. ROBOTL – line follower ce funcționează pe baza Rețelelor Neuronale Artificiale
Schemă bloc
Functionare
ROBOTL este un robot line follower ce se deplasează conform unui traseu marcat de o linie neagră pe un fundal alb. Linia neagră este traseată cu o bandă izolieră pe o bucată de carton duplex. Trei astfel de senzori ce alcătuiesc sistemul senzorial al robotului ROBOTL.
Semnalele senzorilor sunt trimise spre procesare Unitatii Centrale reprezentată de platforma de dezvoltare Arduino UNO ce conține microcontroller-ul Atmega328 de la ATMEL.
Platforma de dezvoltare Arduino UNO reprezintă sistemul de comandă al robotului si conține 14 pini digitali de intrare-ieșire si 6 pini analogici. Pentru ROBOTL s-au folosit următorii pini: analogici: A0, A1, A2 conectati fiecare la pinul de ieșire al fiecărui senzor de linie și digitali: D3(PWM), D11(PWM), D12, D13 folosiți pentru controlul motoarelor de curent continuu, D4, D5, D6, D8, D9, D10 pentru controlul ledurilor, pinul D2 pentru circuitul buzzer ce oferă sunetul de final de linie. Semnalele procesate sunt apoi transmise către shield-ul ArduMoto ce comandă, conform principiului unei punți H, cele două motoare electrice de curent continuu ale robotului. Motoarele sunt incluse in cutia de viteze Tamiya împreună cu angrenajele aferente ce conferă drept rapoarte de transfer 58:1, respectiv 203:1. ROBOTL functionează in configurația 58:1 drept raport de transfer.
Implementarea Retelei Neuronale Artificiale (RNA)
Rețea neuronală tip perceptron multistrat ce este formată dintr-un strat de intrare, un strat ascuns și unul de ieșire. Stratul de intrare cuprinde trei neuroni ce au drept intrări cele trei valori codificate în binar ale semnalelor provenite de la cei trei senzori de reflectanță. Stratul ascuns este alcătuit din patru neuroni, numărul lor fiind ales în mod arbitrar, totodată fiind suficient pentru implementarea rețelei neuronale pe baza căreia funcționează robotul ROBOTL. Stratul de ieșire conține doi neuroni ce furnizează la ieșire sensul de rotație al celor două motoare electrice de curent continuu ale robotului ROBOTL.
Pentru implementarea rețelei s-au folosit următoarele codificări: tensiune de ieșire senzor >= 4V (valoare determinată experimental) => (i=1) altfel (i=0) ; sensul de rotație a motoarelor – inainte(1), stop(0), înapoi(-1). În figura alaturată este reprezentată RNA pe baza careia funcționeaăa robotul ROBOTL.
Caracteristicile RNA:Arhitectura rețelei :
Perceptron multistrat (multilayer perceptron) cu un strat ascuns
Funcția de activare : Sigmoid pentru stratul ascuns si activare liniara pentru stratul de ieșire
Algoritmul de invatare (antrenare) : Algoritmul de propagare inversa a erorii (backpropagation)
Capitolul 3
Alegerea motoarelor de curent continuu
Atunci când construim un robot mobil, alegerea motoarelor electrice pentru tracțiune este o decizie dintre cele mai importante. În continuare sunt prezentate câteva aspecte referitoare la alegerea motoarelor de curent continuu pentru partea de tracțiune a robotului line follower. Până la a ajunge să alegem motarele DC trebuie să avem în vedere câteva aspecte sau caracteristici ale robotului mobil, respectiv:dimensiunile robotului, ce greutate dobândește, cu ce viteză și acceleratie se va deplasa și nu în ultimul rând pe ce tip de suprafață va rula. De asemenea trebuie luată în calcul tensiunea de alimentare disponibilă pentru motoare.
În continuare sunt prezentați pașii parcurși pentru determinarea turației și cuplului necesar motoarelor electrice. Pentru a menține o viteză constantă(în regim static de funcționare), motorul electric trebuie să dezvolte un cuplu motor care să invingă momentul rezistent al axului motor.Momentul motorului necesar trebuie să asigure momentul rezistent static (la viteză constantă) și cel dinamic (la viteză variabilă). Dacă momentul motor este mai mic decât momentul rezistent, robotul va fi în stare de repaos și acest lucru poate duce la arderea înfașurării motorului electric dacă el este alimentat în continuare. În figura 3.1 sunt reprezentate schematic forțele ce acționează asupra robotului în cel mai general caz:
Pentru a determina momentul motor pentru acționarea robotului trebuie calculate forțele rezistente ce se opun mișcării robotului. Astfel se vor determina următoarele forțe rezistente:
Forța de frecare are următoarea expresie:
(3.1)
unde:
– – reprezintă coeficientul de frecare și este aproximat la 0.1;
– N – reprezintă forța normală la suprafață și în cazul de față are expresia:
(3.2)
unde:
– m – este masa robotului, 1[Kg];
– g – este accelerația gravitațională, 9.81 [];
– α- este unghiul de înclinare al pantei și în cazul de față se consideră 0 [ °];
Rezultă forța de frecare, după înlocuirea valorilor:
(3.3)
Componenta pe axa x a forței de greutate:
(3.4)
Forța de inerție:
(3.5)
unde: -a – reprezintă accelerația maxima a robotului 2 [];
În urma determinării forțelor rezistente ce acționează asupra robotului, se poate determina forța de tracțiune necesară acționării robotului mobil:
Forța de tracțiune are expresia:
(3.6)
Totodată, forța de tracțiune are expresia:
(3.7)
unde:
– Mm- este momentul motor;
– r – este raza roții 32 [mm] = 0,032 [m] ;
Rezultă momentul motor necesar la axul unei roți, are expresia:
(3.8)
Momentul motor necesar are expresia:
(3.9)
unde:- – Momentul dinamic al motorului
Momentul dinamic are expresia:
(3.10)
unde:
-– moment de inerție redus la arborele motorului
– – accelerația unghiulară a arborelui motorului
Pentru calculul momentului de inerție redus la arborele motorului se scrie o relație de conservare a energiilor cinetice ale maselor aflate în mișcare de rotație:
(3.11)
Aproximăm un Jm=0.00410-7 selectat prin căutarea pe internet a unor motoare asemănătoare
Împărțim ecuația de mai sus cu și obținem expresia:
(3.12)
unde:- – este viteza motorului si este calculată prin produsul dintre
Rezultă, momentul de inertie redus la arborele motorului și are expresia:
(3.13)
unde:
– masa roții, 3.2 =0.0032
– – masa robotului
Accelerația unghiulară a arborelui motorului are expresia:
(3.14)
Viteza unghiulară a motorului electric se determină cu expresia de mai jos, având în vedere că viteza liniară de deplasare a robotului să fie aproximativ 0.9 [m/s]:
(3.15)
Rezulta turatia motorului electric
(3.16)
Puterea motorului electric necesara pentru actionarea robotului este:
(3.17)
În urma acestui calcul de dimensionare a motoarelor electrice de current continuu pentru actionarea robotului, s-au ales doua motoare Pololu 120:1. In figura 3.2 este prezentat un astfel de motor Pololu 120:1
Caracteristicile motorului Pololu 120:1 sunt prezentate mai jos:
– dimensiuni de gabarit 54.5 x 20 x 13.8 [mm];
– masa motorului m = 0.2 [Kg];
– tensiunea de alimentare U = 4.5 [V];
– turatia la mers in gol n0 = 120 [rot/min];
– curentul consumat la mers in gol I0 =80 [mA];
– curentul consumat cu axul blocat Imax = 5 [A];
– cuplul maxim Mmax= 1.2 [Nm];
Puterea maxima consumata a motorului este determinata utilizand expresia:
P = U• Imax =4.5 •5 = 22.5 [W] (3.18)
Capitolul 4
Structura robotului de tip line follower
4.1. Elemente componente
Elementele componente ale unui robot line follower sunt:
Șasiu
Două roți
Ball caster
Placă Arduino UNO
Două motoare de curent continuu
Driver de motoare
Bară de senzori liniari analogi
4.2. Placă de dezvoltare Arduino
Arduino este o platformă de calcul open-source, bazată pe software și hardware flexibil și ușor de utilizat. Se compune dintr-o platformă de mici dimensiuni (6.8 cm / 5.3 cm – în cea mai comună variantă) construită în jurul unui procesor de semnal și este capabilă de a prelua datele din mediul înconjurător printr-o serie de senzori și de a efectua acțiuni asupra mediului prin intermediul luminilor, motoarelor, servomotoare, și alte dispozitive mecanice. Procesorul este capabil să ruleze un cod notat într-un limbaj de programare care este similar cu limbajul C++.
Ceea ce este cu adevărat interesant este ecosistemul dezvoltat in jurul Arduino. Vorbim aici despre comunitatea care este foarte activă, cât și despre numărul impresionant de dispozitive implementate special pentru Arduino.
Câteva exemple de senzori disponibili:
senzori de distanță (capabili să măsoare de la câțiva centimetri până la 7-9 metri);
senzori de sunet;
senzori de câmp electromagnetic;
senzori de fum;
senzori de tip GPS;
senzori de tip giroscopic;
senzori de flux lichid (ca cei folosiți la pompele de benzină);
senzori de temperatură, senzori de monoxid de carbon;
senzori de lumină;
senzori capabili să detecteze doar o anumită culoare;
senzori de prezență;
senzori de umiditate;
senzori de nivel pentru lichid;
senzori capabili sa măsoare concentratia de alcool în aerul expirat;
Pentru a efectua acțiuni asupra mediului înconjurator, există o largă varietate de motoare, servomotoare, motoare pas cu pas, led-uri, actuatoare. Ca și conectivitate, există disponibile componente capabile sa conecteze Arduino la rețeaua Ethernet (“Ethernet Shield”), componente pentru rețea wireless, componente capabile să realizeze conectare pe rețeaua de date GSM / 3G, sau componente de tip XBEE utile pentru a realiza comunicații de tip personalizat.
Platforma Arduino este disponibilă într-o serie de variante, fiecare cu diferite capabilități și dimensiuni.
4.2.1 Placa Arduino UNO
Prezentare generală
Arduino Uno este o placă de procesare bazată pe microcontrollerul ATmega328. Are 14 pini de intrări\ieșiri digitale (din care 6 pot fi utilizate ca ieșiri PWM), 6 intrări analogice, un cristal oscilator de 16 MHz, o conexiune USB, o mufă de alimentare, un ICSP, și un buton de reset. Aceasta conține tot ce este necesar pentru a ajuta la funcționarea microcontrolerului, pur și simplu conectați la un computer cu un cablu USB sau alimentați la un adaptor AC-DC sau baterie pentru a începe.
Arduino Uno este diferită de toate plăcile precedente, în sensul că nu folosește chip driver FTDI USB la un serial. În schimb, este dotat cu Atmega8U2 programat ca și convertor USB."Uno" înseamnă unu în limba italiană și este numită pentru a marca lansarea viitoare a Arduino 1.0. Uno și versiunea 1.0 vor fi versiunile de referință Arduino, pentru a avansa. Uno este ultima dintr-o serie de plăci Arduino USB, și modelul de referință pentru platforma Arduino.
Caracteristici
Alimentare
Arduino Uno poate fi alimentat prin intermediul conexiunii USB sau cu o sursă de alimentare externă. Sursa de alimentare este selectată automat.
Sursele externe de alimentare (non-USB) pot fi, fie un adaptor AC-DC sau baterie. Adaptorul poate fi conectat printr-un conector de 2.1mm cu centru-pozitiv în mufa de alimentare de pe placă. Traseele de la baterie pot fi introduse în pinii GND și V-in ai conectorului de alimentare.
Placa funcționează cu o sursă externă de 6-20 V. Dacă este alimentată cu mai puțin de 7V, atunci pinul de 5V scoate o tensiune mai mica de 5V și placa devine instabilă. Dacă se utilizează mai mult de 12V, regulatorul de tensiune se poate supraîncălzi și deteriora placa. Intervalul recomandat este de 7-12 volți
Pinii de putere sunt după cum urmează:
V-IN. Tensiunea de intrare la placa Arduino atunci când folosește o sursă de alimentare externă (spre deosebire de 5 volți de conexiune USB sau o altă sursă de energie regulată). Se poate alimenta prin acest pin sau dacă este folosită alimentarea prin conectorul de alimentare atunci tensiunea poate fi accesată din acel pin.
5V. Tensiunea de alimentare folosită pentru microcontroler și alte componente de pe placă. Aceasta poate veni fie din pinul V-IN printr-un regulator de tensiune încorporat, sau să fie furnizată de către USB sau o altă sursă de tensiune de 5v .
3V3. O tensiune de 3.3V generată de către regulatorul de pe placă.
GND. Pinii de masă.
Memoria
Microcontrollerul ATmega328 are 32 KB (cu 0,5 KB utilizate pentru bootloader). Ea are, de asemenea, 2 KB de SRAM și 1 KB de EEPROM (care poate fi citit și scris cu biblioteca EEPROM ).
Intrări și ieșiri
Fiecare din cei 14 pini digitali pot fi utilizați ca intrare sau ieșire, folosind funcțiile pinMode () , digitalWrite () , și digitalRead (). Aceștia funcționează la 5 volți. Fiecare pin poate oferi sau primi un maxim de 40 mA și are un rezistor de siguranță (deconectat implicit) de 20-50 kOhms. În plus, unii pini au funcții particulare:
Serial: 0 (RX) și 1 (TX). Folosit pentru a primi și transmite date seriale TTL. Acești pini sunt conectați la pinii corespunzători ai cipului ATmega8U2 USB-TTL;
Întreruperile externe: 2 și 3. Acești pini pot fi configurați pentru a declanșa o întrerupere pe o valoare scăzută, o limită crescătoare sau descrescătoare, sau o schimbare în valoare.
PWM: 5, 6, 9, 10, și 11. Oferă o ieșire PVM de 8 biți cu funcția analogWrite ().
SPI:10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Acești pini suportă comunicația SPI folosind biblioteca SPI .
LED: 13. Există un LED încorporat în placă, conectat la pinul 13. Când valoarea pe pin este HIGH, LEDul este aprins, când valoare este LOW, LEDul este stins.
Placa Arduino UNO are 6 intrări analogice, denumite de la A0 la A5, fiecare oferă o rezoluție de 10 biți. Implicit, ieșirile măsoară de la masa la 5V, deși este posibil ca limita superioară să fie schimbată cu ajutorul pinului AREF și funcția analogReference(). În plus, unii pini au funcționalități specializate:
I2C:4 (SDA) și 5 (SCL)Suportă comunicare I2C folosind librăria Wire.
Mai există câțiva pini pe placă:
AREF. Tensiune de referință (numai de la 0 la 5V) pentru intrările analogice. Folosit cu funcția analogReference().
Reset. Aduce linia la zero pentru a reseta microcontrolerul. De obicei este folosit pentru a adauga un buton de reset Shield-urilor care blochează acțiunea celui de pe placă.
Harta pinilor – ATMega 328
Comunicația
Arduino UNO are câteva posibilități de comunicare cu un calculator, o altă placă Arduino sau un alt microcontroler. Microcontrollerul ATmega328 furnizează comunicație serială UART TTL (5V) care este disponibilă pe pinii digitali 0(RX) și 1(TX). Un microcontroller ATmega8U2 direcționează comunicația serială către USB și apare ca un port serial virtual în software-ul de pe calculator. Firmware-ul microcontrolerului folosește driverele standard ale portului USB al calculatorului și nu este nevoie de un driver din exterior.
Software-ul Arduino este prevăzut cu o fereastră care permite preluarea și trimiterea de date de tip text de la placa Arduino. LEDurile corespunzătoare semnalelor RX și TX de pe placă vor pâlpâi când informația este trimisă prin portul USB către cipul serial prin intermediul unei conexiuni USB cu calculatorul (dar nu pentru comunicația serială de pe pinii 0 și 1).
O bibliotecă a programului (SoftwareSerial) permite comunicația serială pentru oricare dintre pinii placii.
Microcontrolerul ATmega328 suportă, de asemenea comunicație I2C (DST) și SPI. Software-ul Arduino include o bibliotecă de conexiuni (wire library) pentru a simplifica utilizarea portului I2C .
Programare
Arduino uno poate fi programată cu software-ul Arduino. Selectați "Arduino Uno din meniul Tools/Board (în conformitate cu microcontrolerul de pe placă).
Microcontrolerul ATmega328 de pe placa Arduino Uno vine cu un program de butare (bootloader) care vă permite încărcarea unui program nou fără a utiliza un compilator extern. Acesta comunică folosind protocolul STK500 original.
Se poate evita, de asemenea, bootloader –ul și, microcontrolerul se poate programa prin ICSP (In-Circuit Serial Programming).
Codul sursă al Firmware –ul microcontrolerului ATmega8U2 este disponibil, el este încărcat cu un program de butare DFU care poate fi activat cu ajutorul unui jumper de pe spatele placii, ATmega8U2 fiind resetat. Apoi se pot folosi programele Atmel’s FLIP (windows) sau DFU (Mac si Linux) pentru a încărca un nou firmware.
Resetarea automată (Software)
Pentru a nu fi nevoie de resetarea manuală, înainte de încărcarea unui program, Arduino Uno este proiectată astfel încât îi permite sa fie resetată de către software, atunci când este conectată la calculator. Una dintre liniile de control a funcționării hardware (DTR) a microcontrolerului ATmega8U2 este conectata la linia de reset al microcontrolerului ATmega328 printr-un condensator de 100 nanofarad. Atunci când această linie este activată, linia de reset este activă suficient de mult timp pentru a reseta microcontrolerul. Software-ul Arduino folosește această capacitate pentru a vă permite să încărcați un cod prin simpla apăsare a butonului de încărcare din mediul de programare Arduino. Acest lucru înseamnă că bootloader-ul are o perioadă scurtă de pauză.
Această configurare are alte implicații. Când Uno este conectată fie la un computer pe care rulează fie un sistem de operare Mac OS X sau Linux, aceasta se resetează de fiecare dată când o conexiune este realizată între ea și software (prin USB). Pentru următoarele jumătăți de secundă sau așa ceva, aplicația bootloaderul rulează pe Uno. Deși este programat să ignore date necorespunzătoare (adică nimic în afară de o încărcare a noului Cod), se vor intercepta primii biți din datele trimise către placă după ce conexiunea este deschisă.
Placa Arduino Uno conține un traseu care poate fi înterupt pentru a dezactiva resetarea automată. Zonele de pe fiecare parte a traseului înterupt pot fi lipite pentru a activa din nou resetarea automată. Traseul este denumit ”RESET_EN”. O altă modalitate de a dezactiva resetarea automată este prin a conecta un resistor de 110 ohm între linia de 5V și linia de reset.
Protecția la suprasarcină a portului USB
Arduino Uno are o siguranță resetabilă care protejează porturile USB ale computerului de scurtcircuit și suprasarcină. Deși majoritatea calculatoarelor au protecție internă proprie, siguranța oferă o protecție suplimentară. Dacă un curent mai mare de 500 mA trece prin portul USB, siguranța va întrerupe în mod automat conexiunea până la îndepărtarea suprasarcini sau scurtcircuitului.
Caracteristici fizice
Lungimea și lățimea maximă a plăcii este de 6.8 cm respective 5.3 cm, cu conectorul USB și conectorul de alimentare care ies din dimensiunile plăcii. Patru orificii de șurub care permite plăcii să fie atașată la o suprafață sau carcasă.
Schema electrică
4.3. Motoare de curent continuu
Motorul de curent continuu a fost inventat în 1873 de Zénobe Gramme prin conectarea unui generator de curent continuu la un generator asemănător. Astfel, a putut observa că mașina se rotește, realizând conversia energiei electrice absorbite de la generator. Astfel el a constatat, că generatorul "inițial" era de fapt o mașină electrică reversibilă, care putea lucra ca un convertizor de energie bidirecțional.
Indiferent de tipul motorului, acesta este construit din două părți componente: stator și rotor.
Statorul este partea fixă a motorului, ce include carcasa, bornele de alimentare, armătura feromagnetică statorică și înfășurarea statorică.
Rotorul este partea mobilă a motorului, plasată de obicei în interior. Este format dintr-un ax și o armătură rotorică ce susține înfășurarea rotorică. Între stator și rotor există o porțiune de aer numită întrefier ce permite mișcarea rotorului față de stator. Grosimea întrefierului este un indicator important al performanțelor motorului.
Turația motorului este proporțională cu tensiunea aplicată înfășurării rotorice și invers proporțională cu câmpul magnetic de excitație. Turația se poate regla prin variația tensiunii aplicate motorului de la o valoare minimă până la valoarea nominală. Cuplul dezvoltat de motor poate fi reglat prin variația curentului aplicat infășurării rotorice. Schimbarea sensului de rotație se face prin schimbarea polarității tensiunii de alimentare.
Curentul continuu este un curent electric care circulă întotdeauna în aceeași direcție dinspre o baterie sau orice altă sursă. Dacă se conectează o baterie la bobina unui motor electric simplu, aceasta se comportă ca un magnet, având la un capăt polul nord și la celălalt polul sud, întrucât polii opuși se atrag, polul nord al bobinei este atras de polul sud al magnetului permanent, iar polul sud al bobinei este atras de polul nord al magnetului permanent. Aceste forte de atractie produc rotirea bobinei.
Totuși, un schimbaător automat numit comutator schimbă direcția de circulație a curentului electric prin bobină. Cumutatorul unui motor de curent continuu simplu este alcătuit dintr-un inel de cupru tăiat în două și instalat pe un material izolator, pe axa de rotatie. Capetele bobinei sunt conectate la cele două capete ale inelului. Curentul electric circulă prin intermediul unei perechi de cărbuni numiți perii, conectați la părțile opuse ale cumutatorului. Rotația axului face ca fiecare din perii saă fie conectată pe rand la polii bobinei.
4.3.1 Motorul cu cutie de viteze 120:1 de tip Pololu
Acest motor de curent continuu este potrivit pentru roboții de dimensiuni mici și sunt destinate funcționării la 4.5 V, ele ar trebui să ruleze confortabil in intervalul 3-6V. Cutia de viteze are un ax în formă de D cu diametrul de 3mm, forma de ieșire este perpendiculară pe axul motorului și este încorporat un ambreaj de siguranță care ajută la protejarea uneltelor de încărcări excesive.
Familia motoarelor din plastic oferă două orientări ale arborelui de ieșire în raport cu arborele motorului (offset, 90°), două opțiuni motorii (normale și de mare putere) și două opțiuni de cutie de viteze (120:1 și 180:1).Versiunile 120:1 sunt de culoare albă iar versiunile de 180:1 sunt de culoare galbenă.
Dimensiunile motorului
Caracteristicile motorului Pololu 120:1
dimensiuni de gabarit 54.5 x 20 x 13.8 [mm];
masa motorului m = 0.2 [kg];
tensiunea de alimentare U = 4.5 [v];
turatia la mers in gol n0 = 120 [rot/min];
curentul consumat la mers in gol I0 =80 [mA];
curentul consumat cu axul blocat Imax = 5 [A];
cuplul maxim Mmax= 1.2 [Nm];
Driver motoare L298 versiunea 2, tip shield
Driver-ul de motoare L298 este utilizat pentru controlul motoarelor de curent continuu folosind Arduino. Arduino este capabil saă scoataă pe porturile lui o putere foarte mică, total insuficientă pentru a învârti un motor. Dacă vom conecta un motor electric direct la un port Arduino, cel mai probabil vom obtine arderea procesorului din placa Arduino.
Ca să nu se întample acest lucru, avem nevoie de un amplificator de putere, care să ia putere din sursa de alimentare și să o transmită motoarelor așa cum ii comanda Arduino. Acest amplificator poartă numele generic de "driver de motoare".
Există o multitudine de drivere de motoare, diferența majoră între ele fiind cât de multă putere pot conduce (cat de puternice pot fi motoarele pe care le pot controla). Driver-ul din această secțiune este bazat pe integratul L298, fiind un driver de nivel mediu din punct de vedere al puterii conduse. Poate controla motoare care necesită cel mult 2 Amperi.
Câteva motoare care funcționează perfect împreună cu acest driver:
toate cele din categoria micro-metal
motorul hobby fară cutie de viteze,
motorul Pololu 120:1,
cutia Tamiya.
Driver-ul se conectează la platforma Arduino folosind 4 pini digitali (3, 5, 6 si 9) prin înfigere directă în pinii plăcii Arduino. Produsul se prezintă sub forma shield-ului Arduino complet asamblat la care se adaugă o serie de elemente de conectare care nu sunt montate pe placa in mod obisnuit( doua barete mamă cu 6 pini fiecare pentru alimentarea senzorilor direct din shield, o baretă cu 6 pini mamă în unghi pentru montarea conectorului Bluetooth și doi pini tată și un jumper pentru alimentarea robotului folosind o singură sursă de tensiune). Aceste elemente de conectare nu sunt montate pe shield în varianta obisnuită.
Functionalitati suplimentare
Versiunea curentă prezintă o serie de îmbunătățiri care fac și mai simplă utilizarea acestui shield:
Poți alimenta senzorii (5V) direct din shield, folosind cei 6 conectori care oferă conexiune directă la 5V și cei 6 conectori care oferă conexiune directă la GND.
Poți conecta un Bluetooth Mate la Arduino extrem de simplu. Pe shield ai deja un conector dedicat cu 6 pini gândit special pentru Bluetooth Mate și ai o conexiune SoftwareSerial pe pinii digitali 2 si 4.
Ai la dispoziție un jumper care iți permite să alimentezi placa Arduino direct din sursa de alimentare a shield-ului sau să alimentezi shield-ul din sursa de alimentare a placii Arduino (atunci cand jumper-ul este conectat pe shield), sau să ai două surse de alimentare complet independente (atunci cand jumper-ul este scos din placă).
Alimentarea motoarelor
Alimentarea shield-ului se face prin pinii cu șurub VIN si GND. Shield-ul se alimentează în funcție de necesitățile motoarelor. Dacă motoarele acceptă o tensiune de cel mult 9V atunci poți utiliza o cutie cu 6 baterii, tensiunea totală a bateriilor este de 9V dar driver-ul consumă intern între 2.5V și 4.5V. În acest mod, pe motor, ajunge o tensiune cuprinsă între 4.5V si 6.5V, suficient cât să iși ăndeplinească funcția fară să îl arzi.
Alimentarea placii Arduino
Pentru placa Arduino, poți alege să folosești o altă sursă de tensiune sau poți alege să folosești aceeași sursă de tensiune pe care o folosești pentru motoare. Este recomandat să folosești o altă sursă de tensiune. Dacă vei folosi o singură sursă de tensiune, atunci când bateriile se descarcă prea mult, placa Arduino se poate reseta sau senzorii pot genera semnale eronate din cauză că motoarele necesită un curent prea mare când pornesc sau când iși schimbă sensul de rotație.
Bară senzori linie analogic QTR-8A
Prezentare si noțiuni generale
Bara de senzori QTR-8A este un senzor de reflexie și este conceput ca un senzor de linie, dar poate fi folosit ca scop general ca senzor de proximitate sau de reflexie. Modulul este un purtător convenabil perechii de 8 emițători si receptori IR (fototranzistor), distanțele între fototranzistori este de 9.525mm. Fiecare fototranzistor este conectat la un rezistor pentru a forma un divizor de tensiune care produce o ieșire analogică de tensiune intre 0V si VIN(care este de obicei 5 V), în funcție de IR reflectat, tensiunea de ieșire inferioară este un indiciu mai mare de reflexie.
Realizările sunt toate independente dar LED-urile sunt aranjate în perechi pentru reducerea la jumatate a consumului de curent. LED-urile sunt controlate de un MOSFET cu o punte normală permițând LED-urilor să fie oprite prin setarea MOSFET la o punte de tensiune joasă.
Oprirea LED-urilor ar putea fi avantajos pentru limitarea consumului de energie atunci când senzorii nu sunt în uz sau pentru a varia luminozitatea efectivă a LED-urilor prin intermediul PWM-ului de control. Curentul care trece prin LED, rezistențe de limitare pentru 5V, sunt aranjate în două etape, pentru a permite funcționarea la 3.3V. Curentul care trece prin LED este aproximativ 20-25 mA, ceea ce face consumul total sub 100mA.
Diagrama schematică a modulului este prezentată mai jos:
Specificații
Dimensiuni : 74.93 x 12.7 x 3.04 mm
Tensiunea de alimentare : 3.3-5V
Curent : 100mA
Output : 8 valori analogice
Tensiunea Output : 0 – Tensiunea de alimentare
Distanța optimă : 3 mm
Distanța maximă : 6 mm
Greutate : 3.09 g
Bibliografie
Nițulescu M., Cojocaru D., Vladu C., Dumitru S., Tehnologie și educație mecatronică. Dezvoltare durabilă. Modul 2 Platforme mecatronice pentru educație și formare flexibilă, FlexFORM, notițe de curs și laborator, Craiova, 2011;
Rusu. B, „Sistem multiagent pentru roboți mobili: Robotux.”, proiect de diplomă, Universitatea Tehnică din Cluj-Napoca, Iunie 2004;
Stan Gh., Roboți industriali, Editura Didactică și Pedagogică, București, 2004
Telea, D.,- Bazele robotici- ULB Sibiu, 2010;
http://documents.tips/documents/licenta-563384a4dcd9a.html
http://www.mecatronica.ro/definitie_mecatronica.html
http://www.scientia.ro/stiinta-la-minut/istoria-ideilor-si-descoperirilor-stiintifice/2500-introducere-in-istoria-roboticii.html
http://digital.csic.es/bitstream/10261/127788/7/D-c-%20Arduino%20uno.pdf
https://www.robotix.in/blog/line-follower-without-uc
Avram(Facultatea de ing mecanica si mecatronica upb)
Nitu
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Specializarea: MECATRONICĂ [301610] (ID: 301610)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
