Asist.univ.dr.ing. Manta Liviu -Florin Iulie 2017 CRAIOVA ii UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ… [610902]
1
UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
DEPARTAMENTUL MECATRONIC Ă ȘI ROBOTICĂ
PROIECT DE DIPLOMĂ
DINCĂ COSTIN DANIEL
COORDONATOR ȘTIINȚIFIC
Asist.univ.dr.ing. Manta Liviu -Florin
Iulie 2017
CRAIOVA
ii
UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
DEPARTAMENTUL DE MECATRONICĂ ȘI ROBOTICA
Robot mobil cu braț robotic pentru preluarea pieselor ș i depunearea lor in alt loc
DINCĂ COSTIN DANIEL
COORDONATOR ȘTIINȚIFIC
Asist.univ.dr.ing. Manta Liviu -Florin
Iulie 2017
CRAIOVA
iii
„Învățătura este o comoară care își urmează stăpânul pretutindeni .”
Proverb popular
iv
DECLARAȚIE DE ORIGINALITATE
Subsemnatul Dinc ă Costin Daniel , student: [anonimizat], Calculatoare și Electronică a Universit ății din Craiova, certific prin prezenta
că am luat la cunoșt ință de cele p rezentate mai jos și că î mi asum, în acest context,
originalita tea proiectului meu de licență :
cu titlul Robot mobil cu braț robotic pentru preluarea pieselor ș i depunerea lor in alt
loc,
coordonată de Asist.univ.dr.ing. Manta Liviu -Florin
prezentată în sesiunea Iulie 2017 .
La elaborarea proiectului de licență, se consideră plagiat una dintre următoarele acțiuni:
reproducerea exactă a cuvintelor unui alt autor, dintr -o altă lucrare, în limba română
sau prin traducere dintr -o altă limbă, dac ă se omit ghilimele și referința precisă,
redarea cu alte cuvinte, reformularea prin cuvinte proprii sau rezumarea ideilor din
alte lucrări , dacă nu se indică sursa bibliografică,
prezentarea unor date experimentale obținute sau a unor aplicații realizate de alți
autori fără menționarea corectă a acestor surse,
însușirea totală sau parțială a unei lucrări în care regulile de mai sus sunt respectate,
dar care are alt autor.
Pentru evitarea acest or situații neplăcute se recomandă:
plasarea într e ghilimele a citatelor directe și indicarea referinței într -o listă
corespunzătoare la sfărșitul lucrării,
indicarea în text a reformulării unei idei, opinii sau teorii și corespunzător în lista de
referințe a sursei originale de la care s -a făcut preluare a,
precizarea sursei de la care s -au preluat date experimentale, descrieri tehnice, figuri,
imagini, statistici, tabele et cetera ,
precizarea referințelor poate fi omisă dacă se folosesc informații sau teorii
arhicunoscute, a căror paternitate este unani m cunoscută și acceptată.
Data , Semnătura candidat: [anonimizat] ,
v
UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Mecatronică și Robotica
Aprobat la data de
…………………
Șef de departament,
Prof. dr. ing.
Dorian Cojocaru
PROIECTUL DE DIPLOMĂ
Numele și prenumele student: [anonimizat]/ -ei:
DINCĂ COSTIN DANIEL
Enunțul temei:
Robot mobil cu brat robotic pentru preluarea pieselor si
depunerea lor in alt loc
Datele de pornire:
ROBOȚI MOBILI, VEHICULE GHIDATE AUTOMAT
Conținutul proiectului :
Capitolul 1 INTRODUCERE
Capitolul 2 ISTORIC ÎN DOMENIU
Capitolul 3 DESCRIEREA COMPONENTELOR
Capitolul 4 PREZENTAREA APLICAȚIEI
Capitolul 5 CONCLUZII
Material grafic obligatoriu:
Consultații:
Săptămanale
Conducătorul științific
(titlul, nume și prenume, semnătura):
Asist.univ.dr.ing Manta Liviu -Florin
Data eliberării temei :
12.10.201 6
Termenul estimat de predare a
proiectului :
28.06 .2017
Data predării proiectului de către
student și semnătura acestuia:
28.06.2017
vi
UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Mecatronică și Robotica
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
Numele și prenumele candida tului/ -ei: Dincă Costin Daniel
Specializarea: Mecatronică
Titlul proiectului : Robot mobil cu brat robotic pentru preluarea pieselor si
depunerea lor in alt loc
Locația în care s -a realizat practica de
documentare (se bifează una sau mai
multe din opțiunile din dreapta): În facultate □
În producție □
În cercetare □
Altă locație:
În urma analizei lucrării candidatului au fost constatate următoarele:
Nivelul documentării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□
Tipul proiectului Cercetare
□ Proiectare
□ Realizare
practică □ Altul
[se detaliază ]
Aparatul matematic utilizat Simplu
□ Mediu
□ Complex
□ Absent
□
Utilitate Contract de
cercetare □ Cercetare
internă □ Utilare
□ Altul
[se detaliază ]
Redactarea lucrării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□
Partea grafică, desene Insuficient ă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□
Realizarea
practică Contribuția autorului Insuficientă
□ Satisfăcătoare
□ Mare
□ Foarte mare
□
Complexitatea
temei Simplă
□ Medie
□ Mare
□ Complexă
□
Analiza cerințelor Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine
□
Arhitectura Simplă
□ Medie
□ Mare
□ Complexă
□
Întocmirea
specificațiilor
funcționale Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□
Implementarea Insuficientă Satisfăcătoare Bună Foarte bună
vii
□ □ □ □
Testarea Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună
□
Funcționarea Da
□ Parțială
□ Nu
□
Rezultate experimentale Experiment propriu
□ Preluare din bibliografie
□
Bibliografie Cărți
Reviste
Articole
Referințe web
Comentarii
și
observații
În concluzie, se propune:
ADMITEREA PROIECTULUI
□ RESPINGEREA PROIECTULUI
□
Data, Semnătura conducătorului științific,
viii
CUPRINSUL
1 INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………….. ……… 1
1.0 SCOPUL ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 1
1.1 MOTIVAȚIA ………………………….. ………………………….. ………………………….. ………………………….. …………… 1
1.2 REZUMAT ………………………….. ………………………….. ………………………….. ………………………….. …………….. 2
2 ISTORIC ÎN DOMENIU ………………………….. ………………………….. ………………………….. ………………………… 3
2.0 TERMENUL ROBOTICĂ ȘI LEGIILE ROBOTICII SCRISE DE ISAAC ASIMOV ………………………….. ………………………….. … 3
2.1 CE ESTE ROBOTICA ? ………………………….. ………………………….. ………………………….. ………………………….. … 3
2.2 CLASIFICAREA ROBOȚILO R ………………………….. ………………………….. ………………………….. ………………………. 5
2.3 ROBOȚII MOBILI ………………………….. ………………………….. ………………………….. ………………………….. ……… 7
2.4 CLASIFICAREA ROBOȚIIL OR MOBILI : ………………………….. ………………………….. ………………………….. ……………. 9
2.5 NAVIGAREA VEHICULELOR GHIDATE AUTOMAT ………………………….. ………………………….. ………………………….. 9
2.6 APLICATII COMUNE ALE VGA -URILOR : ………………………….. ………………………….. ………………………….. ………. 11
2.7 ROBOT ASEMĂNĂTOR ………………………….. ………………………….. ………………………….. …………………………. 13
3 DESCRIEREA COMPONENT ELOR ………………………….. ………………………….. ………………………….. ………… 16
3.0 DESCRIERE APLICAȚIEI ARDUINO IDE………………………….. ………………………….. ………………………….. … 16
3.1 DESCRIEREA COMPONENTELOR ELECTRONICE ………………………….. ………………………….. ………………. 17
3.2 DESCRIEREA COMPONENTELOR FIZICE ………………………….. ………………………….. …………………………. 27
4 PREZENTAREA APLICAȚI EI………………………….. ………………………….. ………………………….. …………………. 29
4.0 SCHEMA DE PRINCIPIU ………………………….. ………………………….. ………………………….. …………………………. 29
4.1 PROTOCOLUL DE FUNCȚIO NARE ȘI CONEXIUNILE LA MICROCONTROLER ………………………….. ………………………….. 30
4.2 CONECTAREA COMPONENTE LOR LA MICROCONTROLE R ………………………….. ………………………….. ……………….. 31
4.2.1 Conectarea barei de senzori QTR -8A ………………………….. ………………………….. ………………………… 31
4.2.2 Conectarea Receiverului RF 433 Mhz ………………………….. ………………………….. ………………………… 32
4.2.3 Conectarea shieldului L298N la microcontroler și a motoarelor ………………………….. ………………… 33
4.2.4 Conectarea Buz zerului la microcontroler ………………………….. ………………………….. …………………… 35
4.3 PROGRAMUL REALIZAT ………………………….. ………………………….. ………………………….. ……………………….. 36
4.3.1 Realizarea programului ………………………….. ………………………….. ………………………….. ………………. 36
4.3.2 Programul pentru folosirea senzorilor de linie QTR -8A ………………………….. ………………………….. … 36
4.3.3 Programul pentru deplasarea robotului pe traseu ………………………….. ………………………….. ……… 37
ix
4.3.4 Programul pentru Receptorul RF ………………………….. ………………………….. ………………………….. …. 39
4.3.5 Programul sistemului de avertizare ………………………….. ………………………….. ………………………….. 39
4.4 POZE DIN TIMPUL REALI ZĂRII APLICAȚIEI ………………………….. ………………………….. ………………………….. …….. 40
5 CONCLUZII ………………………….. ………………………….. ………………………….. ………………………….. …………. 44
6 BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. …….. 45
7 REFERINȚE WEB ………………………….. ………………………….. ………………………….. ………………………….. ….. 46
A. CODUL SURSĂ ………………………….. ………………………….. ………………………….. ………………………….. …….. 47
C. CD / DVD ………………………….. ………………………….. ………………………….. ………………………….. …………… 51
x
LISTA FIGURILOR
FIGURA 1 CONCEPTUL DE MECATRONICĂ ………………………….. ………………………….. ………………………….. ……………………. 6
FIGURA 2 PRIMUL VGA DE LA BARRETT ELECTRONICS ………………………….. ………………………….. ………………………….. …….. 8
FIGURA 3 VGA DE TIP TRANSPORTOR C E URMĂREȘTE UN TRASE U ………………………….. ………………………….. …………………… 12
FIGURA 4 ROBOTUL KMR IIWA ………………………….. ………………………….. ………………………….. ………………………….. …. 14
FIGURA 5 INTERFAȚĂ SOFTWARE ………………………….. ………………………….. ………………………….. ………………………….. .. 16
FIGURA 6 PLĂCUȚA DE DEZVOLTARE ARDUINO UNO ………………………….. ………………………….. ………………………….. ……… 18
FIGURA 7 SHIELDUL DE MOTOARE L298N ………………………….. ………………………….. ………………………….. …………………. 20
FIGURA 8 MOTOR CU REDUCTOR ȘI ROATĂ ………………………….. ………………………….. ………………………….. ………………… 21
FIGURA 9 BARA DE SENZORI QTR -8A ………………………….. ………………………….. ………………………….. ………………………. 22
FIGURA 10 BATERIA ZIPPY COMPACT ………………………….. ………………………….. ………………………….. ………………………. 23
FIGURA 11 ÎNCĂRCĂTORUL LIPO B3 ………………………….. ………………………….. ………………………….. ………………………… 24
FIGURA 12 MODUL DC-DC COBORÂTOR DE TENSIUNE LM2596 ………………………….. ………………………….. …………………. 25
FIGURA 13 BUZZER ACTIV ………………………….. ………………………….. ………………………….. ………………………….. ……….. 25
FIGURA 14 RECEPTOR RF 433 MH Z ………………………….. ………………………….. ………………………….. ……………………….. 26
FIGURA 15 SUPORT POLOLU CU BILĂ DIN PLASTIC ………………………….. ………………………….. ………………………….. ……….. 27
FIGURA 16 USTENSILE FOLOSITE ………………………….. ………………………….. ………………………….. ………………………….. … 28
FIGURA 17 SCHEMA DE PRINCIPIU ………………………….. ………………………….. ………………………….. ………………………….. . 29
FIGURA 18 TRASEUL ROBOTULUI MOB IL ………………………….. ………………………….. ………………………….. ……………………. 31
FIGURA 19 CONECTAREA QTR -8A LA MICROCONTROLER ………………………….. ………………………….. ………………………….. .. 32
FIGURA 20 CONECTAREA RECEIVERUL UI LA MICROCONTROLER ………………………….. ………………………….. ……………………… 33
FIGURA 21 CONECTAREA SHIELDULUI L298N LA MICROCONTROLER ȘI ALIMENTAREA LUI ………………………….. …………………… 34
FIGURA 22 CONECTAREA BUZZERULUI ACTIV LA MICROCONTRO LER. ………………………….. ………………………….. ……………….. 35
FIGURA 23 TRASEUL PE CARE ROBOT UL SE DEPLASEAZĂ ………………………….. ………………………….. ………………………….. ….. 40
FIGURA 24 AMPLASAREA PE ȘASIU A MOTOARELOR DAR ȘI A ALTOR COMPONENTE ………………………….. ………………………….. . 41
FIGURA 25 AMPLASAREA BRAȚULUI R OBOTIC ȘI FIX AREA ALTOR COMPONENT E ………………………….. ………………………….. …… 42
FIGURA 26 PANOUL DE COMADĂ ………………………….. ………………………….. ………………………….. ………………………….. .. 42
FIGURA 27 ROATA DINȚATĂ RUPTĂ ………………………….. ………………………….. ………………………….. …………………………. 43
1
1 INTRODUCERE
1.0 Scopul
Scopul lucrării este realizarea unui robot mobil ghidat automat(vehicul ghidat
automat -VGA sau în engleza automated guided vehicle -AGV) având capacitatea de a fi
folosit in diferite m edii atât industriale cât și farmaceutice, alimentare sau mediul chimic.
Robotul mobil ghidat automat realizat în acest proiect este folosit î n mediul industrial
în procesul de paletizare/depaletizare. El preia piesa cu ajutorul unui braț robotic amplasat pe
șasiul ace stuia. Brațul robotic îi adaugă versatilitatea necesară putând fi folosit astfel în
numeroase medii.
Ca terminal al brațului robotic se găsește un gripper de tip clește care prinde piesa ce
trebuie manipulată. Cu ajutorul articulațiilor brațului robotic se produce o secvența de mișcări
ce realizează prinderea in siguranță a piesei făra a provoca deteriorarea piesei in cauză.
Robotul mobil sau vehicul ghidat automat(VGA) se deplasează cu ajutorul a două roți
ce sunt puse în mișcare fieca re de către un motor. El urmăreș te un traseu elaborat anterior cu
ajutorul unei benzi negre amplasată pe podea. Citirea benzii se face cu ajutorul unor senzori
speciali ce trimit semnalele necesare microcontrolerului amplasat pe vehicul ce deține rolul
de cr eier al robotului.
1.1 Motivația
Motivul alege rii temei a pornit de la dorința de a crea un produs ieftin și util in cât mai
multe și diverse domenii și industrii. Un exemplu ar fi creșterea siguranței sau pentru a ușura
munca lucrătorilor din mediul industria l sau celor din mediul chimic..
Etapa conducerii complexe a proceselor tehnologice a permis conceperea și realizarea
unor mijloace tehnice care asigură conducerea complexă a proceselor, fără să fie nevoie de
intervenția operatorului uman, după strategii el aborate chiar de către om. Teoria sistemelor
automate a cunoscut o continuă dezvoltare atât din punct de vedere conceptual, cât și din
punct de vedere aplicativ.
Principiile de funcționare și construire a elementelor și sistemelor automate se ocupă
de prob lemele:
– Analiza funcțională a sistemelor;
– Corecția funcțională și structurală a sistemelor;
2
– Sinteza (proiectarea) sistemelor automate.
Acest robot mobil a fost creat ca manipularea lui de către orice utilizator, începă tor
sau experiment at în domeniu să fie ușoară. F iabilitatea este una crescută datorită pieselor
accesibile atât ca preț dar și cât ca existența lor pe piața specializată .
Pe par cursul realizări proiectului s -a decis folosirea componente lor ce se gă sesc la
orice magazin specializat în domeniu pentru a putea ca în cazul unor defecțiuni să fie găsite
cu ușurintă .
1.2 Rezumat
În prezenta lucrare ,, Robot mobil cu braț robotic pentru preluarea pieselor și
depunearea lor in alt loc ” am realizat un robot mobil ce urmărește un trase u cu ajutorul unor
senzori și preia o piesă dintr -un loc specificat și o depune în alt loc.
Capitolul 1 conține scopul si motivația lucrări pe care am ales -o.
Capitolul 2 cuprinde istoricul în domeniu, ce este robotica și cu ce a ajutat ea la
dezvotarea civilizației moderne, clasificarea roboților, explicarea termenului de mecatronică
dar și descrierea roboților mobili.
Capitolul 3 cuprinde descrierea componentelor, a aplicației utilizate, a limbajului de
programare.
Capitolul 4 este rezervat descrieri ap licației, conexiunilor hardware dintre componete
și microcontroler dar și descrierea funcțiilor folosite in programul realizat pentru funcționarea
robotului mobil.
Capitolul 5 reprezintă concluziile rezultate în urma realizării acestui proiect.
3
2 ISTORIC ÎN DOMENIU
2.0 Termenul Robotică ș i Legiile Roboticii scrise de Isaac Asimov
Termenul robotică , a fost introdus de Isaac Asimov, binecunoscut autor de literatură
științifico -fantastică, prin scurta sa povestire Runaround (1942) unde a scris si despre cele 3
legi ale roboticii:
Legea I. Un robot nu poate afecta existența umană sau datorită
inacțiunii sale să permită existenței umane să mearg ă către distrugere.
Legea II:Un robot trebuie să îndeplinească sarcinile date de om cu
excepția celor care vin in conflict cu prima lege .
Legea III:Un robot trebuie să se protejeze singur contra distrugerii cu
excepția cazurilor ce fac obiectul legii întâi sau legii a doua .[1]
2.1 Ce este Robotica?
Robotica este o etapă naturală în procesul evolutiv al ingineriei moderne. Numai
după anii 1970 au fost dirijate eforturi de cercetare importante către aceste sofisticate
dispozitive controlate cu calculatorul:[2]
– dezvoltarea calculatorului , apoi a microcomputerului și a
computerului înglobat într -un singur cip .
– progresele generale ale programării și tehnologiei informației .
– aspectele economice ale piețelor mondiale, din ce în ce mai concurențiale, care
au solicitat și impus noi tehnologii de fabricație .
• Privind în perspectiva secolului al XXI -lea și având în vedere așteptatele progrese
tehnico științifice, se poate aprecia cu certitudine că viitorul roboticii este extrem de
promițător, plin de potențial și perspective.
Secolul al XX -lea:
• 1960 – Geor ge Devol (SUA) vinde 40 de brevete firmei CONDEC (Consolidated
Diesel Corporation), care începe să producă prima serie de roboți Unimate în
4
filiala sa specializată UNIMATION Inc.
• 1961 – primul robot industrial UNIMATE care este instalat pe o linie de mon taj
(General Motors, SUA) .
• 1963 – utilizarea vederii artificiale pentru conducerea unui robot .
• 1971 – se produce primul microprocesor pe 4 biți, INTEL 4004 .
• 1974 – se produce primul microprocesor pe 8 biți, INTEL 8080 .
• 1978 – apare primul microcont roller.
• după anii ‘80 – impactul permanent al evoluțiilor calculatorului modern, al
microelectronicii,
micromecanicii, nanotehnologiilor și al tehnologiei informației .
• 1981 – primul calculator personal IBM PC -XT.
• 1985 – lansarea unor sisteme software ca AUTOCAD, dBASE și a unor limbaje de
nivel superior ca PASCAL și C .
• 1986 – primele limbaje destinate rezolvării problemelor de inteligență artificială ca
LISP, PROLOG precum și primele încercări de procesare în limbaj natural .
• 1987 – lansarea calculatoarelor dotate cu hard -disk, o adevărată explozie
tehnologică în domeniu .[2]
Designul conceptual și schițele sistemelor artificiale și mecanis mele capabile de
locomoție umană au apărut in Europa în timpul renașterii. Roboții care s -au materializat din
desig nul conceptual au depins în principal de sisteme mecanice complexe care cuprind mai
multe articulaț ii, roți, camere, etc. pentru controlul și coordonarea în timpul locomoție i.
Robotul trebuie să interacționeze cu mediul înconjurător cu unul sau mai multe
efectoare care sunt capabile să îndeplinească sarcina dorită. Ele sunt un element foarte
important al oricărui sistem robotic, capacitatea și modul de utilizare conferă o ide ntitate și
un caracter distinctiv. În sistemele robotizate autonome, există două moduri de bază de
utilizare a efectorilor astfel încât punctul de acțiune al efectoarelor să se afle în spațiul de
lucru al robotului: să se deplaseze robotul (care rezultă "l ocomoție") și (Ceea ce duce la
"manipulare").
5
2.2 Clasificarea roboț ilor
1) Din punct de vedere al gradului de mobilitate se cunosc roboți ficși ș i
mobili;
2) Din punct de vedere al informației de intrare și a metodei de instruire
există:
roboți acționați de om;
roboți cu sistem de comandă cu relee(secvențial);
roboți cu sistem secvențial cu program modificabil;
roboți repetitori(cu programare prin instruire);
roboți inteligenți;
3) Din punct de vedere al sistemului de coordonate roboții sunt în sistem
de coordonate carteziene (18%) , cilindrice (33%) și sferice (40%);
4) Din punct de vedere al sist emului de comandă:
comandă punct cu punct (unde nu interesează traiectoria
propriu zisă);
comandă pe contur (implică coordonarea mișcărilor axelor);
comandă pe înt reaga traiectorie (impli că toți par ametrii de
mișcare);
5) Din punct de vedere al sarcinii manipulate;
6) Din punct de ve dere al sistemului de acționare :hidraulică
(40%),elec trică(30%),pneumatică(21%),mixtă ;
7) Din punct de vedere al preciziei de poziționare :sub 0 .1mm ,0.1 –
0.5mm,0.5 -1mm,1 -3mm,peste 3mm;
8) Din punct de vedere al tipului de programare :
cu pr ogramare r igidă (fără posibilități de corecție);
cu programare flexibilă (există posibilitatea m odificării
programului);
cu programare adaptivă (există posibilitat ea adaptării automate
a programului în timpul funcționării);
6
Sistemele mecatronice sunt denumite în prezent și dispozitive inteligente deoarece
includ elemente specifice: logica, reacția negativă, algoritmi de conducere și de calcul
care simulează la un loc procesul uman de gân dire etc.
Din punct de vedere al tehnologilor de fabricație, mecatronica este rezultatul evoluției
firești, de la tehnologia “pur mecanică” la cea “mecatronică”.
• tehnologia electronică a stimulat foarte mult această evoluție,dezvoltarea
microelectronicii a permis mai întâi integrarea electromecanică.
• ulterior, prin integrarea microprocesoarelor în structurile electromecanice, acestea au
devenit “inteligente” și astfel s -a ajuns la primele structuri mecatronice.
Figura 1 Conceptul de Mecatronică
Un sistem mecatronic integ rează , componente mecanice, electronice și de procesare
numerică pentru a realiza un control sofisticat al deplasă rilor și forțelor, în vederea obținerii
unor funcț ii mult iple.
Exemple de sisteme mecatronice:
sistemele din interiorul automobilelor (ABS, ESP, sistemele de
siguranța activă și pasivă ), camioanelor, trenurilor, avioanelor;
roboț i (industriali, medicali, de servire, de salvare etc.);.
7
echipamente periferic e pentru calculatoa re (imprimante, plottere,
unităț i de discuri magnetice, optice, monitoare);
aparate digitale foto si video, DVD -player -e, recorder -e;
sisteme de poziționare automată , supraveghere, vedere artificială etc.
2.3 Roboț ii mobili
Un vehicul ghidat automat ( VGA ) sau “automated guided vehicle”(AGV) este un
robot mobil care urmează markere sau fire în podea sau utilizează vizoare, magneți sau lasere
pentru navigație. Acestea sunt cel mai adesea folosite în aplicații industriale pentru a muta
material ele în jurul unei unități de producție sau depozit. Aplicarea vehiculului cu ghid
automat a fost extinsă la sfârșitul secolului al XX -lea.[3]
Roboții mobil i sunt comandați de la distanță (prin unde radio sau prin cablu), sistemele
de acționare ale brațului manipulator fiind de tip electro -hidraulic sau electric, cu motoare
hidraulice liniare sau motoare electrice rotative.
La realizarea sistemelor de locomoție ale roboților mobili trebuie să se aibă în atenție
îndeplinirea unor activități complexe cum ar fi: abordarea scărilor, escaladarea diferitelor
obstacole, deplasarea în terenuri accidentate etc.
Gabaritul redus (atât longitudinal cât și transversal), ca și greutatea proprie redusă,
reprezintă condiții extrem de severe impuse roboților mobili; aceștia trebuie să pătrundă în
clădiri și locuri mai puțin accesibile, să se deplaseze pe culoare sau în pasaje proiectate inițial
numai pentru accesul operatorului uman.
Primul VGA a fost adus pe piață în anii 1950, de către Barrett Electronics din
Northbrook, I llinois, și la acea vreme era pur și simplu un camion de remorcare care a urmat
o sârmă în podea în loc de o șină. Din această tehnologie a apărut un nou tip de VGA, care
urmează markeri UV invizibili pe podea, în loc să fie remorcați de un lanț. Primul as tfel de
sistem a fost desfășurat la Tower Willis (fostul Turn Sears) din Chicago, Illinois pentru a
livra poștă în toate birourile sale.
8
Figura 2 Primul VGA de la Barrett Electronics
Un vehicul cu roți este considerat robot mobil numai dacă dispune de un an umit grad
de autonomie în navigație. Roboț ii manipulatori convenționali, specifici aplicațiilor
industriale, pot dobâ ndi mobilitate prin inst alarea lor pe o platforma mobilă .
Un vehicul ghidat automat poate tracta obiecte în spatele lor în remorci la care se pot
atașa automat. Remorcile pot fi utilizate pentru a muta materiile prime sau produsul finit. De
asemenea , poate stoca obiecte pe un sup ort sau palet. Obiectele pot fi așezate pe un set de
role motorizate (transportoare) și apoi împinse prin inversarea lor. VGA -urile sunt angajate în
aproape toate sectoarele industriale, inclusiv celuloză, hârtie, metale, ziare și fabricarea
generală. Se efectuează și transportul de materiale, cum ar fi alimente, lenjerie sau
medicamente în spitale.[4]
Prin comparație cu roboții convenț ionali, robo ții mobili propriu ziși ocupă în prezent
un loc relativ modest, ceea ce se explică prin faptul că mediul indu strial a folosit cu
precădere până acum soluțiile tradiț ionale pentru rezolvarea sarc inilor specifice transferului
de materiale.
Interesul pentru roboț ii mobili a fost însă recent și foarte inten s stimulat, atât de noile
cerințe ale industriei în privința flexibilități, cât și de o gamă nouă de aplicații solicitate î n
domeniul serviciilor , al divertismentului și al educaț iei. Cronologic, primele cercetări
9
temeinice și avansate asupra robo ților mobili cu deplasare prin roț i s-au realizat în SUA înca
din anul 1975.
Robotul mobil este un dispozitiv mecatronic complex, care asigură un anumit grad de
autonomie ce permite deplasarea î n scen ele de operare, fiind capabil să execu te o clasă de
sarcini utile pe parcursul deplasă rii sale. Din acest punct de vedere există o g amă foarte largă
de configuraț ii.
2.4 Clasificarea roboț iilor mobili:
Din punct de vedere al nivelului de autonomie al unui r obot mobil, se pot distinge
urmă toarele soluț ii:
• Robot mobil telecomandat permanent de un operator uman, la care o peratorul
comandă și controlează într -o manieră continuă toate sarcinile elementare ce urrnează a fi
realizate de robot.
• Robot mobil telecom andat periodic de un operator uman, la care operatorul
intervine numai pentru a asigura nivelul decizional global, robotul control ând acțiunile sale
între comenzile primite de la operator.
• Robot mobil autonom, ce realizează obiectivele predefinite cu ajutorul capacități
decizionale proprii (sistem de ghidare, de navigație). Aceasta clasă prezintă cel mai mare
interes științific di n punct de ve dere al autonomiei și inteligenț ei artificiale integrate[5]
2.5 Navigarea Vehiculelor Ghidate Automat
Anumite vehicule ghidate automat utilizează bandă pentru ghidare. Benzile pot fi
magnetice sau colorate. VGA -ul este prevăzut cu senzorii de ghidare corespunzători pentru a
urmări calea benzii. Un avantaj major al benzii de ghidare este faptul că poate fi ușor
îndepărtat și mutat în cazul în care cursul trebuie să se schimbe. Banda colorată este inițial
mai puțin costisitoare, dar nu are avanta jul de a fi încorporată în zone cu trafic ridicat unde
banda poate deveni deteriorată sau murdară. O bară magnetică flexibilă poate fi de asemenea
încorporată în sârma podelei, dar funcționează sub ace leași principii ca și banda magnetică și
astfel rămâne nealimentată sau pasivă. Un alt avantaj al benzii magnetice de ghidare este
polaritatea dublă. Mici bucăți de bandă magnetică pot fi plasate pentru a schimba stările pe
baza polarității și secvenței etichetelor.[6]
10
Exist ă de asemenea și deplasarea prin ca blu unde u n locaș este tăiat prin podea și un
fir este plasat la aproximativ un centimetru sub suprafață. Acest locaș este tăiat de -a lungul
căii pe care VGA -ul o ca urma . Acest fir este utilizat pentru a transmite un semnal radio. Un
senzor este instalat pe fundul VGA -ului aproape de sol. Senzorul detectează poziția relativă a
semnalului radio transmis de fir. Aceste informații sunt folosite pentru a regla circuitul de
direcție, făcând vehiculul să urmeze firul.
Navigarea cu ajutorul laserului se face prin montarea unei benzi reflectorizante pe
pereți, poli sau mașini fixe. VGA -ul are amplasat pe o turetă rotativă un transmițător și un
receptor laser. Laserul este transmis și recepționat de același senz or. Unghiul și distanța sunt
calculate automat față de orice reflector care apare în rază de acțiune a robotului . Această
informație este comparată cu harta dispunerii refl ectorului stocată în memoria VGA și
permite sistemului de navigație să t rianguleze poziția curentă a sa .
O altă formă de orientare a vehicu lelor ghidate automat este navigația inerțială. Cu
ajutorul ghidării inerțiale, un sistem de control al computerului direcționează și atribuie
sarcini vehiculelor. Transponderele sunt încorporate în podeaua fabricilor sau uzinelor. VGA
utilizează aceste tr anspondere pentru a verifica dacă vehiculul se află pe traseul stabilit . Un
giroscop este capabil să detecteze cea mai mică schimbare în direcția vehiculului și o
corectează pentru a l menține pe traseul său . Această metodă poate funcționa în aproape o rice
mediu, inclusiv pe culoare înguste sau în cazul temperaturilor extreme.
Navigarea fără modernizarea spațiului de lucru se numește navigație direcțională
naturală. O metodă utilizează unul sau mai mulți senzori de identificare a distanței, cum ar fi
un apar at de căutare cu laser, precum și giroscoape sau unități de măsurare inerțiale cu tehnici
de localizare Monte -Carlo / Markov pentru a înțelege care este planificarea dinamică a celei
mai scurte căi admise. Avantajul acestor sisteme este că sunt foarte flex ibile pentru livrarea la
cerere în orice locație. Acestea pot face față eșecului fără a aduce în jos întreaga opera țiune
de producție, deoarece VGA -urile pot planifica trasee în jurul dispozitivului defect. Acestea
sunt, de asemenea, rapid de instalat, cu mai puțin timp de așteptare pentru fabrica .
Un alt tip de VGA sunt cele ghidate vizual care pot fi instalate fără modificări ale
mediului sau infrastructurii. Acestea funcționează utilizând camere pentru a înregistra
caracteristici de -a lungul traseului, p ermițând VGA să redea traseul utilizând caracteristicile
înregistrate pentru a naviga. Viziunea VGA -urilor ghidate utilizează tehnologia Evidence
Grid, o aplicație de sensibilizare volumetrică probabilistică și a fost inventată și inițial
11
dezvoltată de Dr. Hans Moravec de la Universitatea Carnegie Mellon. Tehnologia Evidence
Grid utilizează probabilitățile de ocupare pentru fiecare punct din spațiu pentru a compensa
incertitudinea în performanța senzorilor și în mediul înconjurător. Senzorii principali de
navigație sunt camerele stereo special concepute. VGA -ul ghidat vizual utilizează imagini de
360 de grade și construiește o hartă 3D, care le permite să urmeze un traseu pregătit fără
asistență umană sau adăugarea unor caracteristici speciale, repere sau sisteme de poziționare.
Alt tip de VGA este cel geoghidat care recunoaște mediul său pentru a -și stabili
locația. Fără nicio infrastructură, stivuitorul echipat cu tehnologie de geoghidare detectează și
identifică coloane, rafturi și pereți din depozit. Fo losind aceste referințe fixe, se poate
poziționa în timp real și își poate determina traseul. Nu există nicio limitare a distanțelor
pentru acoperirea sau numărul de locații de preluare sau abandonare. Rutele pot fi modificate
infinit.[7]
Pentru a ajuta navigarea unui vehicul ghidat automat, se pot folosi trei sisteme de
control diferite. Controlul vitezei diferențiale este cel mai des întâlnit. În această metodă
există două roți independente de antrenare. Fiecare unitate este acționată la viteze diferite
pentru a porni cu aceeași viteză pentru a permite VGA -ului să se deplaseze înainte sau înapoi
și se mișcă în același mod similar unui tanc. Această metodă de direcție este cea mai simplă,
deoarece nu necesită motoare și mecanism e suplimentar e de direcție. De cele mai multe ori,
acest lucru se întâlnește pe un VGA care este utilizat pentru a transporta și a se întoarce în
spații strâmte sau atunci când VGA -ul lucrează în apropierea mașinilor. Unul din
dezavantajele folosirii aceste i metode este faptul ca nu poate sa fi e folosită o remorca
deoarece nu s -ar putea î ntoarce din cauza sist emului de ataș are al remorcii.
2.6 Aplicatii comune ale VGA -urilor:
Vehiculele ghidate automat pot fi utilizate într -o mare varietate de aplicații pentru a
transporta mai multe tipuri de materiale, inclusiv paleți, role, rafturi, căruțe și containere.
AGV -urile excelează în aplicații cu următoarele caracteristici:
Mișcarea repetat ă a materialelor la distanță
Livrarea regulată a încărcăturilor stabile
Capacitate medie / volum
Când livrarea la timp este critică și livrările târzii cauzează
ineficiență
12
Operațiuni cu cel puțin două schimburi
Procesele în care materialul de urmărire este important
Manip ularea materiilor prime , AGV -urile sunt utilizate în mo d obișnuit pentru a
transporta materii prime cum ar fi hârtia, oțelul, cauciucul, metalul și plasticul. Aceasta
include transportul materialelor de la primirea în depozit și livrarea materialelor direc t către
liniile de producție .[8]
Figura 3 VGA de tip transportor ce urmărește un traseu
Mișcarea "Work -in-Process" este una dintre primele aplicați i în care au fost fol osite
vehicule ghidate automat și include mutarea repetitivă a materialelor în timpul procesului de
fabricație. VGA -urile pot fi utilizate pentru a muta materialul de la depozit la linii de
producție sau de prelucrare sau de la un proces la altul.
Manipularea paleților este o aplicație extrem de populară pentru VGA -uri, deoarece
mișcarea repetitivă a paleților este foarte obișnuită în procesele de fabricatie și distribuție. Pot
deplasa paleți din paletizator pentru a întinde ambalajul la depozit sau la d ocurile de
expediere.
Mutarea produselor finite de la fabricație la locul de depozitare sau la mijlo acele de
transport este ultima mișcare a materialelor înainte ca acestea să fie livrate clienților. Aceste
mișcări necesită adesea cea mai delicată manipulare a materialelor, deoarece produsele sunt
complete și sunt supuse unor deteriorări datorate manipul ării greșite. Deoarece VGA -urile
13
funcționează cu navigație precisă, accelerație și decelerare, acest lucru minimizează
potențialul de deteriorare, făcându -le o alegere excelentă pentru acest tip de aplicație.
Încărcarea automată a remorcilor este o aplicaț ie relativ nouă pentru vehicule
automatizate ghidate și devine din ce în ce mai populară. VGA -urile sunt utilizate pentru
transportul și încărcarea paletelor de produse finite direct în remorci standard, fără
echipament special de andocare. VGA -urile pot p relua paleți din benzi transportoare, rafturi
sau benzi de tracțiune și le pot livra în remorcă în modelul de încărcare specificat. Unele
VGA -uri de încărcare automată a remorcilor utilizează direcționarea naturală pentru a
vizualiza pereții remorcii pentr u navigație. Aceste tipuri de vehicule ghidate automat pot fi fie
vehicule complet fără șofer, fie vehicule hibride.
VGA -urile utilizează o serie de opțiuni de încărcare a bateriei. Fiecare opțiune depinde de
preferințele utilizatorilor. Cele mai utilizate tehnologii de încărcare a acumulatorilor sunt
schimbarea bate riei, încărcare automată și schimb automat de baterii .
2.7 Robot asemănă tor
KMR iiwa
Robotul autonom LBR iiwa este un robot mobil foarte capabil. Acesta combină
forțele robotului LBR iiwa cu cele ale unei platforme mobile, autonome. Kmr iiwa este
independent de locație și extrem de flexibil, avantaje perfecte pentru satisfacerea cerințelor în
industria modernă.
KMR înseamnă KUKA Mobile Robotics. După cum sugerează și numele și
componentele individu ale, KMR iiwa se remarcă prin gradul ridicat de mobilitate și
flexibilitate.
Procesele de producție se schimbă constant. De aceea, sistemele robotice mobile
trebuie să fie foarte adaptabile. Mobilitatea maximă și metodele de lucru autonome
optimizează semn ificativ producția.
14
Figura 4 Robotul KMR iiwa
Sistemul modular KMR iiwa oferă numeroase combinații robotice tehnologice,
platforme mobile și componente industriale. Șapte senzori speciali de cuplu pe fiecare axă a
robotului LWR iiwa îl fac foarte sensibil la mediul său. Se navighează în siguranță și fără
garduri de protecție – contactul extern va face ca acesta să se oprească imediat. Datorită
scanerelor laser, platforma mobilă poate naviga complet autonom. Monitorizează mediul
înconjurător. Și reacționează imediat dacă o persoană sau un obiect este în cale. Roțile
Mecanum special dezvoltate permit platformei mobile să se deplaseze omnidirecțional și să
execute rotații de 360 de grade. O roată constă din mai multe role care sunt fiecare aliniate la
un unghi de 45 de grade față de axă. Această manevrabilitate superioară scurtează timpii de
transfer și reduce timpul de așteptare în procesul de fabricație. Kwa iiwa atinge o precizie de
poziționare de până la +/ – 1 milimetru, chiar ș i în cele mai strânse spații. Cu soluția KUKA
Navigation, KMR iiwa se poate deplasa în sigur anță în jurul obstacolelor și caută un nou
traseu.
Ușor de utilizat: KUKA Sunrise, un controler multifuncțional pentru vehicul și robot,
ușurează funcționarea și f olosirea KMR iiwa în practică.
KUKA Navigation Solution este soluția de navigație pentru n avigarea autonomă a
vehiculelor . Folosind metoda SLAM – care este un acronim pentru localizarea simultană și
cartografiere, platforma este capabilă să își identifice locația în timp real pe o hartă a
mediului său, creată din datele scanerelor laser de siguranță și senzorilor din roți. S oftware -ul
de sistem KUKA Sunrise.OS este utilizat pentru KUKA KMR iiwa. Acest software este
15
personalizat pentru a acționa roboți ușori și oferă funcții de programare, planificare și
configurare a aplicațiilor robot ușor.
16
3 DESCRIEREA COMPONENTELOR
3.0 DESCRIERE APLICAȚ IEI ARDUINO IDE
Figura 5 Interfață Software
Arduino este o companie , open -source , care produce atât plăcuțe de dezvoltare
bazate pe microcontrolere , cât și partea de software destinată funcționăr ii și programării
acestor a . Pe lângă acestea, compania mai include ș i o comunitate uria șă care se ocup ă cu
crearea ș i distribuirea de proiecte care au ca scop creare a dispozitivelor ce pot sesiza și
controla diverse activități sau procese în lumea reală . Numele companiei , “Arduino” ,
provine d e la un bar unde fondatorii obișnuiau să se întâlnească .
Prima lansare facută de Arduino a fost în anul 2005 , având ca ț intă găsirea unor soluții
mai puțin costisitoare și mai ușor realizabile atât pentru începători cât și pentru profe sioniș ti ,
pentru a putea crea dispositive capabile să interacționeze cu mediul, folosindu -se de senzori și
sisteme de acționare, plăcuț ele fiind di sponibile sub forma preasamblată sau kit -uri de
asamblare acasă .
17
3.1 DESCRIEREA COMPONENT ELOR ELECTRONICE
Arduino Uno
Plăcuța de dezvoltare folosită în acest proiect este ARDUINO UNO. Arduino Uno
este un microcontroler bazat pe microprocesorul Atmega328. Microcontrolerul are 14 pini
digitali de intrare/ieș ire dintre care 6 pini au ie șire PWM(Pulse Width Modulation) , un
oscilator cu quart de 16 MHz, o conexiune USB, o mufă de alimentare, o muf ă ICSP ș i un
buton de resetare. Am ales acest microcontroler deoarece este accesibil ca preț si ușor de
folosit. Având numărul de pini necesari proie ctului realizat a constituit un al doilea motiv
pentru care a fost ales în defavoarea altor microcontrolere aflate pe piață. Ca alternativă
există pe piață un alt tip de microcontroler tot din familia Arduino și anume Mega 2560 ce
deține mai mulți pini per mițând astfel adăugarea în plus a unor senzorii sau f uncționalită ți ale
vehiculului ghidat automat. Însa acesta are și o dimensiune mai mare ceea ce nu î l face
potrivit pentru robotul mobil realizat.
Alimentarea externă (non-USB) poate veni fie de la un ad aptor AC -la-DC sau o
baterie. Adaptorul poate fi conectat printr -un conector de 2.1mm cu centru -pozitiv.
Conectare a de la o baterie poate fi realizată conectând la GND si V in capetele de la conectorii
de alimentare. Placa de d ezvoltare poate opera pe o sur să externă de 6 -20 volți. Dacă este
alimentată la mai puț in de 7V, există posibilitatea, ca pinul de 5V să furnizeze mai puțin de
cinci volț i și placa să devină instabilă . Dac ă se alimentează cu mai mult de 12V, regulato rul
de tensiune se poate supra -încăl zi acest lucru ducând la deteriorarea microcontrolerului .
Intervalul de tensiu ne recomandat de către producător este de 7 -12 volț i.
Pinii de tensiune și aliment area sunt următorii :
– Vin. Tensiune a de intrare pe placa de dezvoltare atunci când este utilizată o sursă de
alimentare externă (spre deosebire de 5 volț i de la conexiunea USB sau a lte surse de energie
stabilizată). Puteț i introduce tensiuni de alimentare prin intermediul acestui pin, sau, în cazul
în care tensiunea de alimentare se face prin intermediul co nectorului de alimentare externă, o
puteț i accesa prin acest pin.
– 5V. Regulator de tensiune utilizat pentru alimentarea microcontrolerului ș i a altor
componente de pe placa de dezvoltare. Aceasta poate fi alimenta tă fie de la VIN printr -un
regulator de pe placa d e dezvoltare, fie furnizat de că tre USB sau de o alt ă sursă de tensiune
de 5V.
18
– 3V3. O alimentare de 3.3 volți generat de că tre reg ulatorul de tensiune de pe placă.
Curentul maxim ce îl furnizează este de 50 mA.
– GND. Pini de î mpămâ ntare.
Memoria microprocesorului ATmega328 are 32 KB (cu 0,5 KB utilizate pentru
bootloader). Ea are, de asemenea, 2 KB SRAM si 1 KB de EEPROM.
Figura 6 Plăcuța de dezvoltare Arduino Uno
Arduino este un instrument prin care poți realiza sisteme informatice capabile să
‘perceapă’ și să ‘c ontroleze’ lumea înconjurătoare . Acest instrument este open -source și este
compus dintr -un mediu de dezvoltare (o variantă de Wiring – platforma folosită pentru
procesare multi media) și o placă de dezvoltare cu microcontroler AVR.
Arduino poate fi folosit pentru dezvoltarea de obiecte interactive. Informația este
preluată de la o gamă variată de senzori și comutatoare, se procesează în interiorul
19
microcontrolerului AVR, și este transmisă către o gamă la fel de variată de lumini, motoare,
actuatoare etc.
Pe piață există o gamă foarte variată de sisteme de dezvoltare bazate pe
microcontroler, avantajele pe care le are Arduino față de aceste sisteme sunt:
Costuri de achiziție reduse .
Poate fi folosit pe orice sistem de operare (Linux,Windows sau
MacOS).
Majoritatea plăcilor de dezvoltare fiind limitate la sistemul de operare
Windows.
Un mediu de programare simplu și usor de învățat.
Este open source, atât placa de dezvoltare cât și mediul de programare
Modul cu Driver de Motoare Dual L298N
Caracteristici tehnice:
Tensiune motoare: 5V – 35V;
Tensiune circuite logice: 5V;
Curent motoare: 2A (MAX);
Curent logică : 36mA;
Frecvență maximă pwm: 40kHz.
Dimensiuni: 43 x 43 x 27 mm.
Driver -ul conține și un limitator de tensiune liniar, astfel că atunci când tensiunea d e
alimentare a motoarelor este mai mare de 7V, nu este nevoie să alimentăm separat partea de
logică. Driver -ul este unul dual, putând să controleze două motoare. El poate fi folosit și
pentru motoare pas cu pas. Chiar dacă are dimensiuni mai mari, este util prin faptul că
beneficiază de un radiator destul de mare și disipă o cantitate mare de caldură. Una dintre
alternative și cea mai accesibilă era folosirea unui simplu integrat L293D însă acesta nu este
foarte fiabil în timp sau folosirea unui shield de motoare L293D ce are o multitudine de
funcționalitați printre care capabilitatea de a controla două servomotoare, patru motoare de
curent continuu sau dou ă motoare pas cu pas. Pentru f olosirea acestui shield este necesară o
librarie specială care se află in conflict cu librăria modulelor radio ceea ce a dus la alegerea
driverului L298N.
20
Figura 7 Shieldul de motoare L298N
Motoare cu reductor și roți
Caracterist ici tehnice :
Diametru roată: 65mm;
Reducție motor: 1:48;
Tensiune de alimentare motor: 3V – 6V DC;
Cuplu: 0.8 kg * cm;
RPM: 3V:125rpm, 5V:200rpm, 6V:230rpm;
Curent: 3V:60mA, 5V:100mA, 6V:120mA.
21
.
Figura 8 Motor cu reductor și roată
Bară de senzori de linie QTR -8A
Caracteristici tehnice:
Tensiune de alimentare: 3.3V sau 5V;
Curent maxim consumat: 100mA;
Output: 8 pini analogici;
Interval tensiune de ieșire: 0V – tensiunea de alimentare;
Distanță optimă de reflexie: 3mm;
Distanță maximă de reflexie: 6mm.
Dimensiuni: 2.95" x 0.5" x 0.125".
Bara de senzori este potrivit ă pentru a fi folosită la un robot urmăritor de linie (line
follower). Bara este formată dintr -un array de opt senzori IR cu output analogic, ce dau o
tensiune între 0V și tensiunea de alimentare (5V sau 3.3V) , conform cu culoarea suprafeței de
sub ei, albă sau neagră. Funcționa rea senzorilor se bazează pe proprietatea luminii IR, aceea
că albul reflectă și negrul absoarbe radia ția IR. Am folosit doar ș ase senzori deoa rece
microcontrolerul are doar ș ase pini analogici ce permit citirea valorilor senzorilor.
22
Am ales acest produs p entru că este un sensor foarte versatil, de dimensiuni reduse și
care se folosește de opt senzori de tip infraroșu de dimensiuni foarte reduse. Ca alternativă
există pe piață o variantă ce are outp utul senzorilor digitali(adică în 1 și 0) QTR -8RC.
Figura 9 Bara de senzori QTR -8A
Acumulator ul LiPo Zippy Compact
Zippy Compact oferă o performanță excelentă și de calitate într -o baterie mică. Este
ideal pentru proiect necesitâ nd un spațiu redus pentru amplasare , oferind o rată de descărca re
de 25C , alimentează motoarele și servomotoarele brațului robotic pentru o perioadă lungă de
timp.
Caracteristici tehnice:
Capacitate: 1000mAh
Configurație: 3s1p / 11.1V / 3Celule
Rata de descărcare : 35C
Greutate: 95g
Dimensiune: 74x34x21mm
Conector: JST -XH
Mufă de descărcare: XT60
23
Capacitatea bateriei de 1000mAh este suficientă pentru alimentarea atât a motoarelor
cât și a celorlalte componente folosite.
Unul din tre dezavantaj e îl constituie greutatea dar și faptul că bateriile Li -Poly sunt
foarte periculoase dacă sunt supra âncălzite sau puse în scurt ori înț epate accidental.
Figura 10 Bateria Zippy Compact
Acumulatorul este incărcat de un încărcător LiPo B3 care are urmă toarele
caracteristici:
Dimensiuni : 92 x 59 x 35.5mm
Putere de încă rcare : 20W
Curentul de încă rcare: 1.6A
Curentul balansat de încă rcare : 1600mA
Tensiune intrare : AC 110 că tre 240V
Tensiune ieș ire: 20 Watts
Tipurile de baterii ce pot fi folosite: LiPo 2S – 3S
Greutate: 100g
24
Figura 11 Încărcătorul Lipo B3
Modul DC-DC Coborâtor de tensiune LM2596
Caracteristici tehnice:
Tensiune intrare: 3V – 35V;
Tensiune ieșire: 1.5V – 33V;
Curent ieșire: 3A maxim;
Eficiență maximă: 92%;
Riplu: 30mV;
Frecvență de funcționar e: 65kHz.
Dimensiune: 45mm x 20mm x 14mm.
El poate limita tensiuni între 3V și 35V, având un curent de ieșire de maxim 3A.
Modulul reprezintă o sursă în comutație, astfel că nu disipă foarte multă căldură.
Tensiunea de ieșire poate fi reglată din potențio metru.
Unul dintre dezavantaje îl constituie faptul că are nevoie de un radiator suplimentar
pentru a funcționa la capacitate maximă .
25
Este folosit la proiect pentru alimentarea shieldului de motoare cu curentul necesare
motoarelor la 6V . La intr ările modulului (In+,In -) se conecteaz ă bateria iar la ieșire
(Out+,Out -) este conectat shieldul de motoare.
Figura 12 Modul DC -DC Coborâtor de tensiune LM2596
Buzzer
Caracteristici tehnice:
Tensiune recomandată: 5V;
Tensiune de funcționare: 2V – 5V;
Curent: 30mA (MAX);
Minim 80dB, la 10cm distanță;
Frecvență de rezonanță: 2300 -+ 300 Hz;
Dimensiuni: 12mm x 9.5mm.
Distanță între pini: 0.3 inch .
Figura 13 Buzzer activ
26
Receptor RF 433 MHz
Caracteristici Tehnice:
Tensiune alimentare: 5V;
Curent: 4mA;
Frecvență recepționată: 433.92MHz;
Sensiv itate: -105dB.
Dimensiuni: 30mm x 14mm x 7mm.
Pentru receptor, se poate monta o antenă externă de 32cm. Modulul format din
receptor și emițător RF poate fi utilizat împreună cu plăci de dezvoltare Arduino sau alte
tipuri de microcontro lere pentru transmisia datelor la distanță. Este folosit pentru a recepta
datele trimise de emiță tor.
Figura 14 Receptor RF 433 MHz
27
3.2 DESCRIEREA COMPONENTELOR FIZICE
Șasiul Robotului Mobil
Șasiul robotului mobil este fabricat din polietilenă tereftalată, un material ușor
rezistent și fiabil. Dimensiunile sunt următoarele 220mm x 130mm x 2mm.
Figura 3.11 Șasiul robotului mobil
Suport Pololu cu Bilă din Plastic
Acest suport include o ca rcasă ABS neagră , o bilă de plastic cu diametrul de 9.5 mm ,
două distanțiere (1.58 mm și 3.17 mm grosime ) și două seturi de șuruburi. Înălțimea totală a
suportului cu bilă, este de 10.16 mm, poate fi mărită la apro ximativ 15.24 mm folosind
distanțierele incluse . Cele două șuruburi incluse pot fi utilizate pentru montarea suportului la
șasiu (distanța dintre găurile pentru șuruburi este de 13.46 mm ).
Figura 15 Suport Pololu cu Bilă din Plastic
28
Ustensile Folosite
Ca ustensile am folosit un letcon electric pentru lipit fire, tuburi termocon tractibile de
diferite grosimi ș i culori, șurubelnițe, fludor cu grosimea de 1 mm, fire de diferite lungimi ș i
culori, șurubu ri pentru prinderea componentelor electronice pe șasiu , clește și patent.
Figura 16 Ustensile Folosite
29
4 PREZENTAREA APLICAȚI EI
4.0 Schema de principiu
Schema de principiu care stă la baza logicii și a funcționării robotului mobi l este
prezentată in figura urmă toare.
Figura 17 Schema de principiu
Arduino Uno este microcontrolerul robotului mobil adică blocul decizional sau
creierul, senzorul de line QTR -8A, receiverul, reprezintă inputurile pe baza cărora se vor lua
deciziile vitale funcționării corecte a sistemului. Partea de motoare reprezintă locomoția
robotului care se face și cu ajutorul shieldului L298N în funcție de outputurile oferite de
microcontroler. Buzzerul reprezintă sistemul de avertizare iar alimentarea întregului sistem se
face cu ajutorul bateriilor acestea din urmă folosindu -se de ajutorul altor componente pentru
o funcționare completă ca exemplul modului step -down care reglează curentul de alimentare
al motoarelor în func ție de necesitatea acestora.
În partea din față a robotului mobil se află montată o bară de senzori QTR -8A
prezentată mai sus in Figura 3.5 . Senzorii sunt folosiți la roboții urmăritori de linie și sunt
concepuți pentru a face diferența între o suprafață d e culoare albă sau culoare neagră cu
ajutorul radiației în infraroșu, având proprietatea că negrul absoarbe și albul reflectă radiația.
Radiația infraroșie este un tip de radiație electromagnetică precum si undele radio, radiația
ultavioletă sau razele X. Lumina infraroșie aparține spectrului electromagnetic, fiind
30
invizibilă ochiului uman. Pentru ca senzorii infraroșii de pe bara de senzori QTR -8A să
realizeze citirea corectă s -a folosit o bandă neagra de doi centimetri lățime.
Pornirea si oprirea în caz d e pericol se face de la panoul d e comandă care este separat
de sistem. Comunicarea între panoul de comandă și robotul mobil se realizea ză prin
intermediul unei pereche de emițător/ receptor ce funcționează cu ajutorul undelor radio. În
urma semnalului rec epționat de receptor de la panoul de comandă robotul mobil începe
procesul sau după caz se oprește în cazul unei probleme apărute în timpul procesului.
Sistemul de avertizare (buzzerul) este folosit atunci când robotul mobil se deplasează
în spate după ce a preluat piesa în cauză sau în cazul opriri sistemului de la panoul de
comandă.
Motoarele sunt puse în mișcare prin intermediul shieldului L298N și reprezintă partea
de locomoție a robotului mobil. În funcție de inputurile pe care le primește microcontrolerul
acestea vor realiza înaintarea, oprirea, deplasarea în spate si virarea pe traseu a robotului.
Microcontrolerul va transmite semnalele necesare pentru operațiile enumerate mai sus
shieldului de motoare.
4.1 Protocolul de funcționare și conexi unile la microcontroler
La apă sarea butonului “START” de pe panoul de comandă robotul mobil va aș tepta
trei secunde iar apoi va incepe procesul de la punctul de start de pe traseu(C), va urmă ri
traseul p ână la prima intersecție unde va face dreapta că tre punctul de preluare a piesei(A)
unde va prelua piesa cu gripperul braț ului robotic amplasat pe robotul mobil. Dup ă preluarea
piesei din punctul A v -a reveni î napoi pe traseul principal unde se va deplasa că tre locul de
depunere al piesei(B) , unde va depune piesa. După depunerea piesei va pleca că tre punctul de
start unde se va ș i opri. Traseul pe care robotul il va avea de urmărit este cel din figura
urmă toare .
31
Figura 18 Traseul robotului mobil
4.2 Conectarea componentelor la microc ontroler
4.2.1 Conectarea barei de senzori QTR -8A
Conectarea barei de senzori de linie QTR -8A la microcontrolerul Arduino Uno se va
face prin intermediul unor fire la pini analogici de pe microcontroler. Pini analogici ai
microcontrolerului sunt A0, A1, A2, A3, A4, A5 și fiecărui pin îi va corespunde câte un
senzor IR de pe bara și anume senzorul unu va fi conectat la A0, senzorul doi la A1, senzorul
trei la A2 și așa mai departe . Bara de senzori va fi alimentată prin intermediul pinulului VCC
conectat la pi nul de 5V al mic rocontrolerului iar realizarea circuitului se va realiza prin
conectarea pinurilor de grou nd(GND) al ambelor componente. Se vor folosi doar șase din cei
opt senzori disponibili pe bara QTR -8A datorită existenței a doar șase intrări analogi ce ale
microcontrolerului.
32
Figura 19 Conectarea QTR -8A la microcontroler
4.2.2 Conectarea Receiverului RF 433 Mhz
Modulul este alimentat prin intermediul pinului VCC ce se va conecta la pinul de 5V al
microcontrolerului iar închiderea circuitului se va realiza prin conectarea groundului(GND) aflat pe
cele două componente. Semnalul primit de receiver va fi trimis către microcontroler prin conectarea
unuia dintre cei doi pini RX disponibili pe modulul radio la pinul digital notat cu 2. Acestui receiver i
se poate adăuga opțional o antenă pentru recepționarea semnalelor de la o distanță mai mare cea ce nu
este cazul în realizarea aplicației de față.
33
Figura 20 Conectarea receiverului la microcontroler
4.2.3 Conectarea shieldului L298N la microcontroler și a motoarelor
Pentru ca shieldul de motoare L298N să funcționeze corespunzător acesta necesită
șase pini ai microcontrolerului și anume patru pini digitali și doi pini ce au ieșire PWM
pentru controlul vitez ei motoarelor. Cei patru pini digitali sunt folosiți câte doi de câte un
motor pentru controlul direcției de deplasare a robotului. Shieldul de motoare are doi pini
ENA(motor 1), ENB(motor 2) ce reprezintă intrările PWM de la microcontroler iar IN1
34
respect iv IN2 pini pentru controlul direcției pentru primul motoru și IN3 respectiv IN4 pini
pentru controlul direcției celui de al doilea motor. Conectarea la microcontroler se va face
astfel :
IN1 respectiv IN2 la pinul 1 respectiv pinul 4 al microcontrolerului
IN4 respectiv IN4 la pinul 7 respectiv pinul 8 al microcontrolerului
ENA respective ENB la pinul 3 respectiv pinul 7 al microcontrolerului
OUT1 respectiv OUT2 se va conecta primul motor
OUT3 respectiv OUT4 se va conecta al doilea motor.
Pentru a aliment a shield ul acesta este conectat la o sursă de curent continuu
coborâtoare de tensiune LM2596 ce va reduce tensiunea de la 11.1V cât are bateria lipo la 6V
pentru alimentarea motoarelor. LM2596 are două ieșiri Out+ respectiv Out – ce se vor conecta
la conectorul de +5V respectiv ground(GND) al shieldului. Pentru ca circuitul să fie complet
și funcțional se va realiza și conexiunea între groundul (GND) shieldului de motoare și cel al
microcontroler ului.
Figura 21 Conectarea sh ieldului L298N la microcontroler și alimentarea lui
35
4.2.4 Conectarea Buzzerului la microcontroler
Buzzerul este unul de tip activ și are rolul de a atenționa prin producerea unui sunet
atunci cân d robotul mobil se deplasează în spate sau când este oprit de le panoul de comandă
în cazul apariției unui pericol sau defect. Un major avantaj al acestui dispozitiv este faptul că
acesta are o construcție mult mai simplă decât difuzoarele din boxele audio de unde rezultă și
dimensiuni le reduse. Va avea nevoie doar de un pin digital al microcontrolerului și anume
pinul cinci iar groundul va fi conectat la GND -ul placuței de dezvoltare.
Figura 22 Conectarea buzzerului activ la microcontroler.
36
4.3 Programul Realizat
4.3.1 Realizarea programului
Programul este scris in limbajul de programare C, este un limbaj de
programare relativ minimalist ce operează în strânsă legătură cu hardware -ul, fiind cel mai
apropiat de limbajul de asamblare , față de majoritatea celorlalte limbaje d e programare. A
fost dezvoltat la începutul anilor 1970 de Ken Thompson și Dennis Ritchie , care aveau
nevoie de un limbaj simplu și portabil pentru scrierea nucleului sistemului de operare UNIX .
Aplicația în care am scris liniile de cod este Arduino IDE ce reprezintă utilitarul cu ajutorul
căruia am compilat codul și am încărcat codul pe microcontrolerul Arduino Uno.
4.3.2 Programul pentru folosirea senzori lor de linie QTR -8A
Pentru citirea valorilor trimise de la senzori către microcontroler am declarat la
începutul programului porturile la care sunt conectați.
int senzor1 = A0;
int senzor2 = A1;
int senzor3 = A2;
int senzor4 = A3;
int senzor5 = A4;
int senzor6 = A5;
A0 reprezintă portul la care este conectat primul senzor ;A1 portul la care este conectat
senzorul doi; A2 portul senzorului trei ; A3 portul senzorului patru ; A4 portul senzorului cinci
și A5 portul senzorului șase . Acestea sunt toate porturi analogice ale microcontrolerului.
Pentru a citi valorile senzorilor am folosit funcția analogRead() iar citirea fiecărui
senzor si valoarea acestuia se atribuie unor variabile inițializate la î nceput cu zero.
sensorValue1 = analogRead(senz or1);
sensorValue2 = analogRead(senzor2);
sensorValue3 = analogRead(senzor3);
sensorValue4 = analogRead(senzor4);
sensorValue5 = analogRead(senzor5);
sensorValue6 = analogRead(senzor6);
37
Pentru compararea valori lor senzorilor am inițializat o vari abilă BaseValue cu 700 ce
reprezintă media valorilor tuturor senzorilor.
4.3.3 Programul pentru deplasarea robotului pe traseu
Pentru înaintarea robotului senzorul trei si senzorul patru trebuie să se afle deasupra
benzii negre ceea ce îns eamnă că valoarea retu rnată de aceștia este mai mare decât valoarea
de bază(BaseValue) iar codul arată în felul următor.
if(sensorValue3>BaseValue && sensorValue4>BaseValue) {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200);}
Dacă valoarea senzorului trei și valoarea senzorului patru este mai mare decât 700 se
vor activa cele două motoare pentru deplasarea în față folosindu -ne de funcția digitalWrite()
care activează porturile la care este conectat motorul prin intermediul shieldului L298N.
Declararea porturilor se face la început la fel ca și în cazul senzorilor.
// motor1
int enA = 3;
int in1 = 1;
int in2 = 4;
// motor2
int enB = 11;
int in3 = 7;
int in4 = 8;
in1 respectiv in2 reprezintă pini pentru controlul primului motor iar porturile
microcontrolerului pentru aceștia sunt 1 și 4. enA reprezintă semnalul PWM pentru controlul
vitezei și este conectat la portul 3 al microcon trolerului.
in3 respectiv in4 reprezintă pini pentru controlul celui de al doilea motor iar porturile
microcontrolerului pentru aceștia sunt 7 și 8. enB reprezintă semnalul PWM pentru controlul
vitezei și este conectat la portul 11 al microcontrolerului.
38
Virarea motorului se face diferențiat și anume pentru a se deplasa în stânga motorul
din dreapta se va deplasa in față cu o viteză constantă iar cel din stânga se va deplasa în spate
cu o viteză constantă până când robotul se va centra pe centru liniei de urmărit. Pentru virarea
în dreapta se va folosi același principiu dar sensuril e de rotaț ie a motoarelor vor fi inversate și
anume cel din stâ nga se va deplasa în față ș i cel din dreapta în spate.
Codul pentru virarea în stânga este următorul :
digitalWri te(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200);
iar pentru virarea în dreapta este:
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 200);
Pentru oprirea robotului mobil pe banda neagră este necesar ca toți senzor i să aibă
valoarea mai mare decâ t BaseValue(700) iar în acest caz comenziile motoarelor vor fi LOW
adică tensiunea de 0V va fi direcționată către pini. C odul va arăta în felul următor:
if(sensorValue1>BaseValue && sensorValue2>BaseValue &&
sensorValue3>BaseValue && sensorValue4>BaseValue && sensorValue5>BaseValue &&
sensorValue6> BaseValue) {
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
39
4.3.4 Programul pentru Receptor ul RF
Pentru folosirea recept orului am declarat la început librăria acestuia numită
VirtualWire , #include <VirtualWire.h >. Acesta este conectat la pinul 2 de pe microcontroler
și declarat la începutul programului, #define RX 2, iar mesajele sunt stocate într-un buffer și
lungimea acestuia într -o variabilă messageLength.
byte message[VW_MAX_MESSAGE_LEN];
byte messageLength = VW_MAX_MESSAGE_LEN;
Pentru a extrage mesajul din buffer ne folosim de funcția vw_get_message(message,
&messageLength) iar mai departe putem folosi mesajul în aplicație după cum urmează :
if(message[0] == '1' || message[0] == '2'){
incepe_p roces();}else
if(message[0] == '0'){
oprire();}
}
Dacă mesajul primit este 1 sau 2 robotul mobil va începe procesul respectiv îl va
continua iar dacă este 0 robotul se va opri până la următoarea comandă.
4.3.5 Programul sistemului de avertizare
Sistemul de avertizare este folosit pentru a atenționa atunci când robotul mobil se
deplasează cu spatele și este constituit dintr -un buzzer activ conectat la pinul cinci al
microcontrolerului.
Se definește la începutul programului portul la care acesta este conectat cu ajutorul
funcției #define.
#define Buzzer 5
Iar funcția acestuia este :
int buzzer(){
tone(5, 1000 );
delay(200);
noTone(5);
delay(1500);
}
Funcția tone(5,1000) trimite un semnal sonor de un 1KHz pe pinul 5 iar funcția
delay(1000) întrerupe programul pentru o secundă și noTone(5) oprește semnalul sonor.
40
4.4 Poze din timpul realizării aplicației
Traseul este prezentat în figura următoare, acesta este făcut prin aplicarea unei benzi
negre de doi centimetri pe bucată de plastic pătrată cu dimensiune a de 1 metru și grosimea de
1 centimetru.
Figura 23 Traseul pe care robotul se deplasează
41
Fixarea pe șasiu a microcontrolerului, shieldului de motoare a bateriei lipo dar și
fixarea poziției unde se vor amplasa motoarele.
Figura 24 Amplasarea pe șasiu a motoarelor dar și a altor componente
42
Amplasarea barei de senzori QTR -8A la distanța optima de banda neagră, fixarea
suporturilor cu bila Pololu dar și amplasarea brațului robotic pe șasiu.
Figura 25 Amplasarea brațului robotic și fixarea altor componente
Figura 26 Panoul de comadă
43
O problemă a reprezentat ruperea unuia dintre dinți roți ce punea in mișcare
servomotorul de la baza brațului robotic necesitând astfel schimbarea acestuia.
Figura 27 Roata dințată ruptă
44
5 Concluzii
Primul capitol reprezintă scopul pentru care am ales acest proiect de diplom ă
împreună cu motivaț ia, adic ă ce m -a determinat să concep și să duc la bun sf ârșit aceast ă
lucrare de diplomă .
Cel de -al doilea capitol cuprinde un scurt istoric despre roboți mobili de la apariția lor
până in zilele noastre.
Capitolul 3 reprezintă descrierea componentelor necesare p entru realizarea proiectului
de dip lomă și cum funcționeaza. Acestea sunt: un microcontroler ArduinoUNO, sevomotoare
SG90 9g, module infraro șii, acumulator LiPo Zippy Compact, surse coborâtoare de tensiune
DC-DC LM2596.
Capitolul 4 este rezervat pentru prezentarea aplica ției și conț ine schema de principiu
și protocolul de funcționare al robotului mobil. Prezentarea codului și a funcțiilor folosite dar
și a varaibilelor. Acestea sunt prezentate mai detaliat î n acest capitol.
Capitolul 5 s e încheie cu concluzia proiectul meu de diploma des cris in c âteva
cuvinte.
45
6 BIBLIOGRAFIE
1. Runaround, Isaac Asimov, Street & Smith, 1942
2. Roboț i mobili, Mircea Nițulescu, Sintech, 1998
3. The Basics of Auotmated Guided Vehicles, AGV Systems, Savant, 2006
4. Guidance Options for AGVS, Jervis B. ,Webb Company, 2007
5. Roboți mobili, Mircea Nițulescu, Sintech, 1998
6. Inertial(magnet) Navigation, Egemin Automation INC.,2014
7. Sonar Sensor and Mounting, University of Birmingham, 2006
8. Common AGV Applications:Raw Material Handling, JBT Corporation, 2009
46
REFERINȚE WEB
[1] Magazin web: https://www.optimusdigital.ro/
[2] Arduino IDE: https://www.arduino.cc/en/Guide/Environment
[3] Arduino Uno: https://store.arduino.cc/arduino -uno-rev3
[4] Librărie Servomotoare: https://www.arduino.cc/en/Reference/Servo
[5] Librărie Emiț ator/Rceceptor: https://www.pjrc.com/teensy/td_libs_VirtualWire.html
[6] Specificații servomotor: http://www.micropik.com/PDF/SG9 0Servo.pdf
[7] AGV : https://en.wikipedia.org/wiki/Automated_guided_vehicle
[8] Kmr iiwa: https://www.kuka.com/en -de/products/mobility/mobile -robots/kmr -iiwa
[9] Aplica ția Fritzing : http://fritzing.org/home/
47
A. CODUL SURSĂ
#include <VirtualWire.h>
#define Buzzer 5 //pinul 5 pentru buzzer
#define IRBrat 13 // senzorul de la bratul robotic
#define RX 2 // pin receiver radio
byte message[VW_MAX_MESSAGE_LEN]; // a buffer to store the incoming messages
byte messageLength = VW_MAX_MESSAGE_LEN; // the size of the message
// motor one
int enA = 3;
int in1 = 1;
int in2 = 4;
// motor two
int enB = 11;
int in3 = 7;
int in4 = 8;
int senzor1 = A0;
int senzor2 = A1;
int senzor3 = A2;
int senzor4 = A3;
int senzor5 = A4;
int senzor6 = A5;
int sensorValue1 = 0;
int sensorValue2 = 0;
int sensorValue3 = 0;
int sensorValue4 = 0;
int sensorValue5 = 0;
int sensorValue6 = 0;
int BaseValue = 550;
void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(B uzzer, INPUT);
pinMode(IRBrat, INPUT);
pinMode(RX, INPUT);
Serial.begin(9600);
48
Serial.println("Device is ready");
// Initialize the IO and ISR
vw_set_rx_pin(2);
vw_setup(2000); // Bits per sec
vw_rx_start(); // Start the receiver
}
void loop(){
//citire valori senzori
sensorValue1 = analogRead(senzor1);
sensorValue2 = analogRead(senzor2);
sensorValue3 = analogRead(senzor3);
sensorValue4 = analogRead(senzor4);
sensorValue5 = analogRead(senzor5);
sensorValue6 = analogRead(senzor6);
if (vw_get_message(message, &messageLength)) // Non -blocking
{
Serial.print("Received: ");
if(message[0] == '1' || message[0] == '2'){
incepe_proces();}else
if(message[0] == '0'){
oprire();}
}
for (int i = 0; i < messageLength; i++)
{
Serial.write(message[i]);
}
Serial.println();
}
incepe_proces(){
if(sensorValue1>BaseValue && sensorValue2>BaseValue && sensorValue3>BaseValue
&& sensorValue4>BaseValue && sensorValue5>BaseValue && sensorValue6>BaseValue)
{ oprire();
}else
if(sensorValue3>BaseValue && sensorValue4>BaseValue && sensorValue5>BaseValue
&& sensorValue6>BaseValue){
dreapta();
}else
if(sensorValue1>BaseValue && sensorValue2>BaseValue && sensorValue3>BaseValue
&& sensorValue4>BaseValue){
stanga();
}else
forward();}
int forward(){
if(sensorValue3>BaseValue && sensorValue4>BaseValue){
inainte();
49
}else
if(sensorValue3>BaseValue && sensorValue4 <BaseValue){
centrare_dreapta();
}else
if(sensorValue3<BaseValue && sensorValue4>BaseValue){
centrare_s tanga();
}}
int inainte(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200);
}
int centrare_dreapta(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 100);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enB, 200);
}
int centrare_stanga(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 100);
}
int oprire(){
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
int dreapta(){
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(enA, 200);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
50
analogWrite(enB, 200);
}
int stanga(){
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(enA, 200);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enB, 200);
}
51
CD / DVD
Autorul atașează în această anexă obligatorie , versiunea electronică a aplicației, a acestei
lucrări, precum și prezentarea finală a tezei .
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: Asist.univ.dr.ing. Manta Liviu -Florin Iulie 2017 CRAIOVA ii UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ… [610902] (ID: 610902)
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.
