This is an old revision of the document!


Robot ocolitor de obstacole

Introducere

Robot complet autonom care evita obstacole bazat pe Arduino. Acesta poate evita orice obstacol cu care se confruntă atunci când se mișcă. Când robotul întâlneste un obstacol în timp ce se deplasa înainte, face un pas înapoi si se roteste in cel mai bun mod posibil. Fie în direcția stângă, dacă există un alt obstacol în dreapta, fie în direcția dreaptă, dacă există un alt obstacol în partea stângă.

Descriere generală

Schema bloc:



Componente:

DC Motors (motor de curent continuu)

Caracteristici:
- viteza e data de tensiune;
- direcţia e data de polaritate;
- rotaţie continuă, cât timp motorul este sub tensiune;

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;

Driver-ul de motoare L298N Dual H-Bridge
Driver-ul se conectează la platforma Arduino folosind 4 pini digitali, conectaţi la pinii In1, In2, In3 şi In4.
Tensiune de alimentare motoare: 5…35V.
Tensiune circuit logic: 5 V (poate genera această tensiune pentru alimentare Arduino).
Poate controla maxim 2 motoare care necesita cel mult 2 Amperi (2000 mA).

Schema circuitului L298N



Fiecare motor are trei pini de control. Astfel, primul motor este controlat de pinii EnA, In1, si In2, iar motorul al doilea de pinii EnB, In3 si In4. Pinii En sunt conectati la nivelul logic 1 prin jumperi, deci prin program vom controla doar pinii In. Sunt disponibile următoarele combinatii:

Ultrasonic Sensor
Senzorul cu ultrasunete utilizează un sonar pentru a determina distanța față de un obiect.
Masurarea distantei se bazeaza pe diferenta dintre momentul de timp la care s-a transmis pulsul sonic si momentul la care acesta se detecteaza inapoi, avand in vedere viteza sunetului si folosind formula din fizica pentru spatiu.

Etapele procesarii:
1.Transmițătorul (trig pin) trimite un semnal: un sunet de înaltă frecvență.
2.Când semnalul găsește un obiect, acesta este reflectat.
3.Emițătorul (ecou) îl primește.

Descriere:

Tensiune: 5V
Tensiune HIGH: 5V
Tensiune LOW: 0V
Unghiul senzorului: 15 grade
Distanta detectata: 2cm - 450cm
Precizie: 0.3cm

Pini:

  VCC: +5VDC\\
  Trig : Trigger (INPUT)\\
  Echo: Echo (OUTPUT)\\
  GND: GND\\
  

Motor Servo
Spre deosebire de motoarele DC, care produc rotatie continuă cât timp sunt conectate la o sursă de tensiune, motoarele servo sunt folosite pentru a obtine rotatii partiale, stabile şi controlate, pentru efectuarea unor operatii cu amplitudine mică dar cu precizie ridicată: pozitionare senzori. Motoarele servo au 3 fire, iar culoarea acestora variază în funcție de producător. Culoarea roșie desemnează de obicei Vcc (5V), în timp ce GND este de obicei negru sau maro. Pe lângă aceste două fire de alimentare, există un al treilea, firul de comandă, care este de obicei galben, portocaliu sau alb.
Motorul servo nu va executa (de obicei!) o rotatie completă, ci va devia de la pozitia de echilibru cu un unghi controlat de tensiunea aplicată pinului de semnal. Folosind un semnal PWM pe acest pin, vom avea control asupra unghiului de rotatie al motorului.
Cel mai simplu mod de a controla motoarele de tip servo este prin folosirea bibliotecii Servo.

Specificatii:
Tensiune de alimentare: 4.8V;
Consum curent: 220 ± 50 mA;
Unghi rotire: 180 grade;
Consum redus de curent;
Viteza de funcționare: 0.12 s/60o @ 4.8 V;
Cuplu în blocare la 4.8V: 1.8 kgf*cm;
Frecvență PWM: 50Hz;
Temperatura de funcționare: -30° C - +60° C.
Dimensiuni: 21.5 x 11.8 x 22.7 mm

Arduino UNO
Arduino UNO este o placă de dezvoltare open-source realizată pe baza microcontrolerului ATmega328P. Acesta din urmă prezintă un procesor AVR cu o arhitectură de tip RISC (set restrâns de instrucțiuni).
Schema:

Caracteristici:

Structura placii:

Hardware Design

Listă de piese:
  • Arduino UNO
  • Ultrasonic Sensor
  • 2X DC Motors with wheels
  • Jumper wires
  • Motor Driver L298
  • breadboard
  • Motor Servo
  • Battery
  • Leduri





Schema electrica:


Diagrame de semnal:

Ultrasonic Sensor
Senzorul cu ultrasunete emite unde ultrasonice la o frecvență de 40 000 Hz și se deplasează prin aer. Dacă există obiecte sau obstacole în cale, acesta va fi reflectat înapoi la modul. Având în vedere timpul de călătorie și viteza sunetului, putem calcula distanța.
Pentru a genera ultrasunete, setez Trig high pentru 10μs. Aceasta va trimite un impuls sonic de 8 cicluri care se va propaga la viteza v și va fi primit în pinul Echo. Pinul Echo va emite timpul în care unda sonoră se deplasează în microsecunde.


DC Motors
Într-un circuit analogic, viteza motorului este controlată de nivelul tensiunii.Într-un circuit digital,avem doar două soluţii:
–Folosirea unui circuit de rezistenţă variabilă pentru a controla tensiunea aplicată motorului (soluţie complicată,care iroseşte energie sub formă de căldură)
–Aplicarea intermitentă atensiunii sub formă PWM.
Când tensiunea este aplicată, motorul este acţionat de forţa electromagnetică.
Când tensiunea e oprită, inerţia cauzează motorul să continue rotaţie pentru scurt timp.
Dacă frecvenţa pulsurilor este suficient de mare, acest proces de pornire + mers din inerţie permite motorului o rotaţie uniformă, controlabilă prin logica digitală.


Motor Servo
–Lățimea pulsului controlează amplitudinea rotației
–1.5ms–poziția neutră
–1ms–poziție maxim stânga(dreapta)
–2ms–poziție maxim dreapta(stânga)
–Codificare PWM, frecvența purtătoare între 30Hz și 60Hz

Software Design

Mediu de dezvoltare:

ArduinoIDE


Rezultate Obţinute

TODO

Concluzii

TODO

Bibliografie/Resurse

pm/prj2021/abirlica/robot_ocolitor_de_obstacole.1622368751.txt.gz · Last modified: 2021/05/30 12:59 by daniel.asimionesei
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0