Un robot avoider edge este destul de similar cu proiectul meu anterior „Line Follower Robot”. Acest robot bazat pe microcontroler 8051 detectează o margine și o evită prin rotire sau oprire. Să vedem cum putem proiecta cu ușurință un robot de evitare a marginilor.
Conceptul robotului Edge Avoider
Conceptul de robot Edge Avoider este același cu următorul liniei. În aceste tipuri de roboți, folosim în general comportamentul luminii la suprafața alb-negru. Când lumina cade pe o suprafață albă, aceasta se reflectă aproape complet și, în cazul suprafeței negre, lumina este absorbită de suprafața neagră. Acest comportament al luminii este utilizat atât la un robot de linie, cât și la un robot de evitare a marginilor.
Aici am folosit un transmițător și un receptor IR numiți și diode foto pentru a trimite și a primi lumină. IR transmite lumini infraroșii. Când razele infraroșii cad pe orice suprafață, cu excepția suprafețelor negre sau mult întunecate, acestea sunt reflectate înapoi și captate de fotodiodă și generează unele modificări de tensiune. Când lumina IR cade pe suprafața neagră, lumina este absorbită de suprafața neagră și nici o rază nu se reflectă în spate, rezultând astfel dioda foto nu primește nicio lumină sau raze.
Aici, în acest robot Edge Avoider când senzorul detectează suprafața albă, atunci microcontrolerul primește 0 ca intrare și când detectează controlerul de linie neagră primește 1 ca intrare.
Diagrama circuitului și explicația de lucru
Putem împărți proiectul Edge Avoider Robot în trei secțiuni diferite care sunt secțiunea senzorului, secțiunea de control și secțiunea șoferului.
Secțiunea senzorului: Această secțiune conține diode IR, potențiometru, comparator (Op-Amp) și LED-uri. Potențiometrul este utilizat pentru setarea tensiunii de referință la un terminal al comparatorului și senzorii IR sunt utilizați pentru a detecta linia și a oferi o schimbare a tensiunii la al doilea terminal al comparatorului. Apoi comparatorul compară ambele tensiuni și generează un semnal digital la ieșire. Aici, în acest circuit, folosim doi comparatori pentru doi senzori. LM 358 este folosit ca comparator. LM358 a încorporat două amplificatoare opționale cu zgomot redus.
Secțiunea de control: microcontrolerul 8051 este utilizat pentru controlul întregului proces al robotului de linie. Ieșirile comparatoarelor sunt conectate la pinul P0.0 și P0.1 din 8051. 8051 citește aceste semnale și trimite comenzi către circuitul driverului pentru a conduce urmăritorul de linie.
Secțiunea driver: Secțiunea driver constă în driverul motorului și două motoare de curent continuu. Driverul motorului este utilizat pentru acționarea motoarelor, deoarece microcontrolerul nu furnizează suficientă tensiune și curent pentru a acționa motorul. Așadar, adăugăm un circuit de conducător motor pentru a obține suficientă tensiune și curent pentru motor. Microcontrolerul trimite comenzi către acest driver de motor și apoi acționează motoare.
Lucru
Funcționarea acestui robot de evitare de margine este destul de interesantă și identică cu cea a liniei, dar diferența în operațiuni după detectarea intrărilor. La acest robot, când detectează suprafața albă, acesta merge înainte și când oricare dintre senzori sau ambii senzori nu simt niciun semnal sau suprafață neagră, se oprește și se mișcă înapoi și își schimbă direcția și dacă din nou simte suprafața albă decât merge înainte.
Schema de circuit este prezentată pentru acest robot de evitare a muchiei. Ieșirea comparatoarelor este conectată direct la pinul P0.0 și P0.1 al microcontrolerului. Și pinul de intrare al șoferului motorului 2, 7, 10 și 15 este conectat la pinul P2.3, P2.2, P2.1 și respectiv P2.4. Și un motor este conectat la pinul de ieșire al driverului 3 și 6 al motorului și un alt motor este conectat la 11 și 14.
În programarea în primul rând, am definit pinii de intrare și ieșire. Și apoi în funcția principală am verificat intrările și trimitem ieșirea în consecință pinilor de ieșire pentru motorul de acționare. Există patru condiții în acest avoider de margine pe care le citim folosind microcontrolerul 8051. Am folosit doi senzori și anume senzorul stâng și cel drept.
Conditii:
Intrare |
Ieșire |
Mișcarea robotului |
||||
Senzor stâng |
Senzor drept |
Motor stânga |
Motor dreapta |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
1 |
0 |
1 |
0 |
Redirecţiona |
0 |
1 |
1 |
0 |
0 |
0 |
Opriți / înapoi / virați la dreapta |
1 |
0 |
0 |
0 |
1 |
0 |
Opriți / înapoi / virați la stânga |
1 |
1 |
0 |
0 |
0 |
0 |
STOP / spate / virați la stânga |
Avem program scris conform condițiilor din tabelul de mai sus.
Aspect PCB