Table of Contents

Nicolae CUDLENCO, Alexandru DUMITRAȘCO - Line follower

Autorii pot fi contactati la adresele: Login pentru adresa

Introducere

Prezentarea pe scurt a proiectului:

  • In cadrul proiectului vom realiza un line-follower.
  • Line follower e o masina care urmeaza un traseu marcat de o linie neagra pe background alb.

Descriere generală

Senzorii si restul componentelor specifice pentru line-follower urmeaza sa le cumparam saptamana asta, dupa ce o sa facem o lista completa cu ce ne trebuie. In functie de necesitati s-ar putea sa modificam schema pe parcurs. Momentan schema bloc arata in felul urmator:

Hardware Design

Lista de piese

Nume Cantitate
Microcontroller ATMEGA324PA-PU 1
Condensator neelectrolitic 15pF KEPF015 2
LED 3mm Rosu EL333 2
Bareta pini K2X10 1
Bareta pini K1X10 WSL040 1
Quartz 16MHz QMIM016 1
Rezistenta 10K 1
Rezistenta 1K 2
Rezistenta 100R 3
Rezistenta 2.2K 1
PUSHBUTTON 2
Soclu DIP40 dil40emf 1
Conector USB B Cvilux 1
Dioda Zener 2
Condensatoare 100nF 3
Jumper 1
Placa suport 1
Roti lateral 2
Roata fata 1
Senzori infrarosu 1 placuta cu 8
Motor 2
Acumulator 9V 2
Baterii 1,5V 4
Driver motor 1
Disp. pt fixare x

Software Design

  • Mediile de dezvoltare folosite au fost Programmers's Notepad si AVR Studio
  • Am folosit bootloadHID pentru a incarca programul pe placuta.
  • Pentru a controla motoarele am folosit fast PWM cu prescaler 1024 , non-inverting mode
    • Am folosit un multimetru pentru a calcula tensiunea de referinta cand senzorii sunt pe alb si pe negru. Am aflat valoarea pentru registrul ADC pe care o folosim pentru a determina cand un senzor este pe alb sau pe negru in functia isOnBlack
  • Avem 8 senzori analogici, ale caror valori le citim după ce trec printr-un comparator, liniarizand valorile citite si realizand o medie a acestora folosind o formula pe care o puteti gasi in codul atasat.
  • In functie de media realizata si de ultima medie de la pasul anterior se stabileste directia de miscare a rotilor:
    • face stanga
    • face dreapta
    • merge inainte
    • daca nu s-a citit nimic valid se va realiza miscarea in conformitate cu ultima valoare medie nenula de la pasii anteriori; astfel, dacă iese de pe traseu, robotul va ține minte pe unde a ieșit și va încerca să se redreseze.
  • Am implementat doar partea de P din algoritmul PID

Rezultate Obţinute

Am obtinut un robotel functional care urmareste linia neagra.

nefSppo7DCM

Concluzii

Proiectul a fost destul de interesant, a solicitat multa implicare pentru dobandire componente si asamblare robot.

Download

Cod + schema electrica.sch + lbr pentru senzori, motoare, driver + poze + film: Login pentru link

Jurnal

  1. Cumparare si lipire componente placa de baza
  2. Cumparare sasiu, roti si motoare
  3. Comandare driver, senzori infrarosu
  4. Lipire bara de pini pentru senzori
  5. Asamblare robot
  6. Programare si testare pe un traseu
  7. Finalizare wiki

Bibliografie/Resurse