This is an old revision of the document!
Obstacle Avoiding Car
Autor
Ioniță Dragoș 332CB, e-mail: dragos.ionita2303@stud.acs.upb.ro
Introducere
Proiectul constă într-o mașinuță cu două motoare, cu senzori de viteză a rotației celor două motoare
și capacitatea de a urma trasee predefinite la apăsarea unor butoane.
Pe parcursul traseului, mașinuța va fi capabilă să identifice obstacolele din fața sa
și să le ocolească / să se oprească.
Descriere generală
Mașina nu va fi controlată remote / bluetooth / wi-fi,
ci va porni la apăsarea unuia din butoanele corespunzătoare pentru un traseu predefinit.
Ideea de la care am pornit a fost folosirea de senzori și întreruperi hardware pentru a crea ceva ce se
aseamănă cât mai mult cu o mașină robot 'inteligentă'.
Mașina va fi pre-programată software pentru a urma orice traseu, pe orice direcție, cu viteze diferite,
putând astfel simula 'coregrafii', urmând diverse pattern-uri și mișcări stânga-dreapta, înainte-înapoi, inclusiv
rotiri în jurul propriei axe.
Conexiunile GND și VCC pentru senzorii fotoelectrici LM393 ai motoarelor
Senzorii vor fi conectați la motoare, pe șasiul mașinuței și vor măsura viteza de rotație a roților motoare.
Schema completă fără senzorul ultrasonic de distanță HC-SR04
Prin intermediul driverului L298N, se vor putea controla motoarele pentru a putea predefini traseele de urmat,
iar distanțele și vitezele vor fi calculate cu ajutorul output-ului senzorilor și trimise către motoare prin
intermediul driverului L298N.
Cablajele fără senzorul ultrasonic de distanță HC-SR04
Schema bloc logică cu senzorul de distanță HC-SR04
Va exista si senzorul HC-SR04 ultrasonic pentru măsurarea distanței, care va fi montat în partea
din față a mașinuței. Acesta va transmite distanța până la un eventual obstacol din față, iar mașinuța va
reacționa, fie prin oprire și schimbarea direcției de mers, fie prin ocolirea acestuia și continuarea drumului.
Hardware Design
-
-
-
-
-
-
-
4 x baterii de 1.5V pentru motoarele mașinuței (4 x baterii clasice de 1,5 V)
Baterie de 9V pentru alimentarea Arduino + conector pentru Arduino (baterie clasică Alkaline de 9V)
-
-
-
Componente auxiliare pentru montare și alimentare
Pistol de lipit (pentru firele alimentării motoarelor)
Șuruburi și piulițe (1,5mm; 2mm; 2,5mm; 3mm) pentru fixarea tuturor componentelor pe șasiul de plexiglas
Pistol cu super-glue (pentru fixarea senzorilor)
Mini-bormașină (pentru a da găuri în șasiu, pentru o mai bună fixare a componentelor pe el)
Software Design
Jurnal
16 Mai 2021
Comanda 2 x condensator ceramic de 10nF și 2 x condensator ceramic de 3,3nF
Montare senzori fotoelectrici LM393 și interfațarea acestora cu Arduino.
În urma testării acestora după cum se vede în următoarele videoclip-uri [4], roțile encodoare ale motoarelor ce conțin 20 de fante se învârt trecând printre stâlpii optocuplatorului H2010 al senzorului fotoelectric cu comparator LM393.
Conform specificațiilor motoarelor, la alimentarea acestora la 6V (am alimentat la 4 x baterii de 1,5V în videoclip), acestea se învârt la aproximativ 200-230 RPM.
După cum se vede în screenshot-urile atașate, senzorii măsoară mult mai mult, undeva la 2700-2800 RPM, calculat după formula RPM = (counter / diskslots) * 60.00
, unde counter este de câte ori se întrerupe fascicolul infraroșu al optocuplatorului, diskslots sunt numărul de fante din roțile encodoare ale motoarelor (20 în cazul meu), iar * 60.00 pentru a transforma in Rotații Pe Minut (RPM).
Diferența survine din cauza că senzorul cu comparator LM393 este foarte sensibil și, aparent, declanșează mult mai multe întreruperi pe RISING EDGE al semnalului digital OUT decât cele declanșate în mod real prin obstrucția razei infraroșii a optocuplatorului.
Acest senzor este foarte sensibil la interferențele care pot fi introduse între pinii VCC și GND. Dacă alimentăm senzorul de la Arduino cu 5V, regulatorul de tensiune al Arduino poate introduce curenți de fugă în senzor, ceea ce duce la declanșarea mult mai multor întreruperi pe rising edge al semnalului digital OUT (sursa: [3]).
În acest sens, am comandat condensatori ceramici de 3,3 si 10 nF, pentru a-i lipi între pinii GND și OUT ai senzorilor, pentru a netezi semnalele și a mitiga problema.
Rezultate Obţinute
Concluzii
Download
Bibliografie/Resurse