Licenta PowerPoint Baker
-
Upload
anonymous-619wgf -
Category
Documents
-
view
26 -
download
5
Transcript of Licenta PowerPoint Baker
Conducător ştiinţific: Absolvent:
Conf.Dr.Ing. Gabriel Popescu Baker Sayed
Controlul robotului autonom prin
interfaţa bluetooth
Ce este un inginer
Un inginer este o persoană cu o pregătire tehnică, teoretică şi
practică, obţinută într-un institut de învăţământ superior, care
practică ingineria .
Spre deosebire de oamenii de ştiinţă, care studiază natura şi
fenomenele naturale pentru a stabili principii, axiome şi teoreme,
inginerii aplică principiile teoretice din matematică şi fizică
pentru a crea un produs concret, ca de exemplu un rulment sau
un telefon.
Robotica
Robotica este un domeniu al ştiinţei si tehnicii relativ nou, cu o rapidă
dezvoltare, legat de realizarea şi folosirea roboţilor şi a sistemelor
tehnice. cerinţele economice şi concurenţiale au determinat exploatarea
acesteia pe scară largă.
Robotul, trebuie să reprezinte un fel de copie umană care înţelege
limbajul uman, are gândire proprie, execută cu promptitudine dispoziţiile
date de oameni, are toate simţurile omului şi în plus o mare viteză de
mişcare.
Robotul, este „muncitorul” din oţel cu „creier electronic” care rezolvă cu
succes toate problemele legate de muncă. calităţile recunoscute ale
robotului sunt: are forţă fizică inepuizabilă; este disciplinat şi
conştiincios; dexteritate ridicată şi rapiditate la cerere ; extrem de
flexibil.
Roboţii
Generalităţi:
Un robot este un agent artificial mecanic sau virtual, de obicei, o
maşină electro-mecanică si care este ghidată de către un program
de calculator sau circuite electronice.
Odată cu dezvoltarea tehnicilor mecanice, în era industrială, au
apărut mai multe aplicaţii practice, cum ar fi maşini automate,
control de la distanţă şi control la distanţă fără fir.
Primul robot programabil şi digital a fost inventat de george devol în
1954 şi a fost numit „unimate”.
Sistemele robotizate sunt un mod extrem de eficient de
automatizare a multor tipuri de procedee care înlocuiesc sau reduc
forţa de muncă manuală şi sunt utilizate pe scară largă în aproape
toate domeniile în aceste zile.
Clasificarea roboţilor
Sistemele robotizate sunt clasificate în mai multe tipuri
principale, în funcţie de cerinţele, structura si funcţiile acestora.
După baza de date a sistemului de coordonate, există roboţi:
în sistem de coordonate cartezian;
în sistem de coordonate cilindric;
în sistem de coordonate sferic.
Tipul de comandă de pe platforma de bază îi împarte în roboţi cu:
comanda punct cu punct (unde nu interesează traiectoria
propriu-zisă);
comanda pe contur (implică coordonarea mişcării axelor);
comanda pe întreaga traiectorie (implică toţi parametrii de
mişcare).
Reteaua wireless Bluetooth
Bluetooth-ul a reuşit sa revoluţioneze tehnologia deja in continua
dezvoltare. El şi-a primit denumirea după un puternic rege, Harald
Bluetooth (Dinte Albastru) care a unit in mod spectaculos.
Bluetooth-ul se remarcă prin mijlocirea comunicaţiei aparatelor care ne
înconjoară şi care interacţionează între ele, folosind unde radio
criptate, în banda ISM (Industrial, Scientific, Medical) ,între 2400 şi
2480 MHz. Capabil să creeze o bandă de comunicare PAN (Personal Area
Network ) între două sau mai multe dispozitive, cu grad ridicat de
securitate.
Fiecărui dispozitiv Bluetooth îi este oferită o adresă unică, fiind o
adresă fizică formată din 48 de biţi. Această adresă nu este utilizată
doar pentru identificarea dispozitivului, ci şi pentru sincronizarea
acestuia în salturile de frecvenţă şi pentru procedurile de securitate.
Modulul Bluetooth HC-05
Acesta este un modul Bluetooth SPP (Serial Port Protocol) uşor
de utilizat, destinat pentru a face conexiuni wireless (fără fir).
Caracteristici:
Frecvenţă: 2,4 GHz;
Puterea de emisie: ≤ 4 dBm;
Sensibilitate: ≤ -84 dBm;
Alimentare: 3,3 VDC, 50 mA;.
Dimensiuni: 26.9mm x 13mm x 2.2mm.
Sistemul de comandă
Arduino Mega 2560 este o placă de dezvoltare care are la bază un
microcontroler ATMega 2560.
Această placă de dezvoltare are 54 de intrări/ieşiri digitale (din care
14 pot fi folosite ca ieşiri PWM), 16 intrări analogice, 4 UART (porturi
seriale, seriale hardware), un oscilator de 16 MHz, conexiune prin
USB, o mufă de alimentare, un antet ICSP şi un buton de resetare.
ATmega 2560 este compatibil cu cele mai multe scuturi concepute
pentru arduino,
ATmega 2560 este un microcontroler ce executa instrucţiuni
puternice într-un singur ciclu de ceas şi permite sistemului de a
optimiza consumul de energie.
Specificaţii tehnice Arduino Mega 2560 ● Microcontroler: ATmega2560;
● Voltajul de operare: 5 V;
● Voltajul de ieşire (recomandat): 7-12 V;
● Voltajul de intrare (limitare): 6-20 V;
● Pini digitali I/O: 54 (din care 14 pot fi folosiţi ca PWM);
● Pini analogi de intrare: 16;
● DC Curent pentru pinii de I/O: 40 mA;
● DC Curent pentru pinul de 3.3 V: 50 mA;
● Memoria: 256 KB din care 8 KB utilizati de bootloader;
● Memoria SRAM: 8 KB;
● Memoria EEPROM: 4 KB;
● Clock Speed: 16 MHz;
● Lungime: 101,5 mm;
● Lăţime: 53,3 mm;
● Greutate: 37 g.
Driver-ul de motoare L298N (shield)
Acest driver de tip shield L298 se foloseşte pentru controlul motoarele de
curent continuu.
Arduino fiind o placă de dezvoltare ce funcţionează cu o tensiune de 5 v nu
dispune de curentul necesar pentru a învârti un motor de curent continuu
pentru care sunt necesare tensiuni şi puteri mai mari.
Dacă am alimenta direct motorul de pe placa de dezvoltare, acesta s-ar
solda, cel mai probabil, cu arderea procesorului din placa Arduino.
Pentru evitarea acestui lucru şi pentru a alimenta corespunzător motoarele
de curent continuu, este necesar un amplificator de putere care să preia
curentul din sursă (baterie) şi să o conducă către acestea, aşa cum îi spune
Arduino.
Acest dispozitiv se numeşte ”driver de motoare”
sau interfaţa de comandă.
Driverul nostru de tip Shield (scut) se montează
direct în pinii plăcii de dezvoltare, nemaifiind
necesară conectarea prin fire şi care are ca
avantaj, un montaj compact şi mai ales, lipsa
contactelor imperfecte care pot fi generate din
cauza vibraţiilor în timpul funcţionării.
Senzorul ultrasonic HC-SR04
Senzorul de ultrasunete HC-SR04 funcţionează pe principiul
sonarului pentru a aprecia distanţa până la un obiect, oferind o
mare precizie a distanţei măsurate (de la 2 cm până la 400 cm,
cu precizie de până la 3 mm). Modulul include atât
Transmiţătorul (T) care trimite semnalul cât şi Receptorul (R)
care îl recepţionează.
Distanţa este calculată folosind formula L= C * T/2, unde L este
lungimea, C este viteza sunetului în aer (344 m/s la
temperatura ambiantă de 20 grade C), iar T este diferenţa de
timp de la trasmitere până la recepţionare; timpul este
înjumătăţit deoarece distanţa este parcursă în ambele sensuri
Modulul are 4 pini:
Vcc: tensiunea de alimentare +5 V;
Trig: care transmite semnalul;
Echo: cel care asteaptă ecoul;
Gnd: reprezintă masa.
Motoarele de curent continuu
Motorul de curent continuu transformă energia electrică de curent
continuu în energie mecanică.
Principalele sale avantaje sunt acelea că se poate regla viteza şi
sensul de rotaţie destul de simplu.
Funcţionarea sa se bazează pe fenomenul de apariţie a forţei
electromagnetice care acţionează asupra unui conductor parcurs de
curent şi situat în câmp magnetic.
Pentru a funţiona, acesta trebuie alimentat cu tensiune continuă
atăt înfăşurarea de excitaţie cât şi înfăşurarea rotorică.
Prin înfăşurarea polilor de excitaţie va trece curentul continuu 𝐼𝑒, care crează câmp magnetic de excitaţie.
Motorul de curent continuu MG-6-48
Caracteristici:
Reductor cu raport de transmisie: 120:1;
Tensiunea de alimentare: 6V;
Curent nominal: 240 mA;
Cuplu la pornire: 1,27 mN*m;
Cuplu în regim normal: 0,39 mN*m;
Viteza de rotaţie: 230 rot/ min.
Reductoarele mecanice
Reductoarele cu roţi dinţate: sunt mecanisme independente
formate din roţi dinţate cu angrenare permanentă, montate pe
arbori şi închise într-o carcasa etanşă.
Acestea servesc la:
micşorarea turaţiei;
creşterea momentului de torsiune transmis ;
modificarea sensului de rotaţie sau a planului de mişcare;
însumează fluxul de putere de la mai multe motoare către o
maşină de lucru;
distribuie fluxul de putere de la un motoare către mai multe
maşini de lucru.
Reductoarele mecanice
Reductoare cu roţi dinţate conice sunt:reductoare ce schimbă direcţia
mişcării la 90°, fiind utilizate atât în varianta constructivă simplă (un
singur angrenaj conic concurent ortogonal) cât şi în varianta combinată
(împreună cu 1 sau 2 angrenaje cilindrice paralele).
În privinţa utilizării acestor tipuri de angrenaje mai trebuiesc amintite şi
domeniile de viteza recomandate pentru angrenajele conice, funcţie de
tipul danturii:
pentru danturi conice drepte
vmax = 3 m/s;
pentru danturi conice înclinate
vmax = 12 m/s;
pentru danturi conice curbe
vmax = 40 m/s.
Programarea deplasării robotului
#define trigPin1 17
#define echoPin1 18
#define trigPin2 36
#define echoPin2 37
int MOTOR2_PIN1=3;
int MOTOR2_PIN2=5;
int MOTOR1_PIN1=6;
int MOTOR1_PIN2=9;
void setup()
{
Serial.begin (9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(MOTOR1_PIN1, OUTPUT);
pinMode(MOTOR1_PIN2, OUTPUT);
pinMode(MOTOR2_PIN1, OUTPUT);
pinMode(MOTOR2_PIN2, OUTPUT);
}
Programarea deplasării robotului
void loop()
{
analogWrite(MOTOR1_PIN1, 0);
analogWrite(MOTOR1_PIN2, 255); //Inainte
analogWrite(MOTOR2_PIN1, 0);
analogWrite(MOTOR2_PIN2, 255);
long duration1, distance1;
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn (echoPin1, HIGH);
distance1 = (duration1/2) / 29.1;
if (distance1 < 15)
Programarea deplasării robotului
}
analogWrite(MOTOR1_PIN1, 255); //Rotire spre dreapta
analogWrite(MOTOR1_PIN2, 0);
analogWrite(MOTOR2_PIN1, 0);
analogWrite(MOTOR2_PIN2, 255);
Serial.println("SenzorStanga = Obstacol!");
delay(1050);
}
else
{
Serial.print(distance1);
Serial.println(" cm (SenzorStanga)");
long duration2, distance2;
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
Programarea deplasării robotului
duration2 = pulseIn (echoPin2, HIGH);
distance2 = (duration2/2) / 29.1;
if (distance2 < 15)
{
analogWrite(MOTOR1_PIN1, 0);
analogWrite(MOTOR1_PIN2, 255); //Rotire spre stanga
analogWrite(MOTOR2_PIN1, 255);
analogWrite(MOTOR2_PIN2, 0);
Serial.println("SenzorDreapta = Obstacol!");
delay(1050);
}
else
{
Serial.print(distance2);
Serial.println(" cm (SenzorDreapta)");
}
delay(25);
}
delay(25);
}