Alina CLIT (78388) - Line Follower
Autorul poate fi contactat la adresa: Login pentru adresa
Introducere
Masina care urmareste linia neagra pe un fundal alb folosindu-se de mai multi senzori infrarosu.
Descriere generală
Senzorii de infrarosu trimit către microcontroller-ul ATMega324A informații despre suprafață (alb ⇒ Low, negru ⇒ High).
In functie de informatiile primite, Microcontroller-ul decide in ce directie trebui sa se miste masina si trimite comenzile corespunzătoare driverului de motoare.
Driverul va controla motoarele în mod corespunzător.
Hardware Design
Listă de piese:
Schema electrica:
Software Design
Implementarea software a aplicatiei se va face folosing limbajul de programare C si compilatorul avr-gcc. Incarcarea programului pe microcontroler se face cu ajutorul bootloader-ului pus la dispozitie in laborator.
Pentru a controla motoarele am folosit fast PWM cu prescaler 256 non-inverting mode.
Programul contine 3 functii: init(), move() si main():
Functia init() initializeaza pinii(input si output), timer1 si PWM-ul.
Functia move() seteaza viteaza motoarelor prin porturile OCR1A si OCR1B.
Funtia main() citeste de la senzori intr-un while si aplica functia move.
Se marcheaza senzorul cel mai apropiat de centru care detecteaza negru (atat in partea stanga cat si din partea dreapta) si numarul de senzori din fiecare parte care detecteaza linia. In functie de aceste date se decide viteza si directia in care se va deplasa masina.
Daca nici unul dintre cei 8 senzori nu detecteaza culoarea neagra, masina se va invarti o data in incercarea de a regasi linia neagra, daca nu o va gasi atunci se va opri.
Testare
Pentru inceput am testat senzorii aprinzand cate un led pentru fiecare senzor ce detecta culoarea neagra.
Ceva mai comlicata a fost pornirea si testarea motoarelor. Din cauza lipsei de putere acestea nu porneau, asa ca am mai adaugat o baterie portabila care alimenteaza placa de baza si partea logica a driverului de motoare, iar pentru punerea in miscare a motoarelor folosesc o baterie de 9V(care intre timp s-a descarcat si mai are undeva la 4-5V) si alte 4 baterii de cate 1.5V.
Pentru a testa algoritmul am verificat întâi dacă răspunde bine la curbe, iar apoi am desenat un traseu. In functie de comportamenul masinii am modificat putin algoritmul si viteza motoarelor.
Rezultate Obţinute si Concluzii
Download
Jurnal
Documentare
Cumpărare piese necesare(OptimusDigital, Robofun, str. Maica Domnului)
Constructie robot
Testare senzori si motoare
Modificare circuit
Scris algoritm
Testat robot + ajustari algoritm
Scris documentație
Bibliografie/Resurse