Vlad BAROSAN, Alexandru GHIUTA - Line Follower

Autorii pot fi contactati la adresa:

Login pentru adresa

Login pentru adresa

Introducere

Ce este un Line Follower?

Un Line Follower este o masina care poate urmari un traseu. Traseul poate fi marcat ca o linie neagra pe o suprafata alba, sau invers.

De ce un Line Follower?

Detectarea unei linii si manevrarea robotului pentru a mentine traseul, corectand constant miscarile, urmarind feedback-ul mecanismului, constituie un sistem closed loop simplu, dar eficient (sistemul closed loop este un sistem in care un senzor monitorizeaza mediul inconjurator si trimite date unui controller care face modificarile necesare pentru a obtine rezultatul dorit).

Astfel, am avut ocazia de a imbina softul cu hardware-ul intr-un proiect cool :-D . In plus, faptul ca la finalul proiectului are loc un concurs ne-a dat o motivatie suplimentara.

Aplicatii practice ale unui Line Follower: sistem de ghidare pentru roboti industriali, masini autonome, etc.

Descriere generală

Schema bloc:

Principiul de functionare:

Cei 4 senzori de culoare Pololu QTR-1A sunt conectati la pinii PINA0-PINA3 ai portului A. Folosind ADC-ul incorporat, tensiunea masurata la nivelul pinilor este convertita la o valoare digitala (0-1023), pe baza careia uC ia o decizie, pe care o trimite mai departe driver-ului de motoare.

Hardware Design

Componente:

  • placa de baza PM realizata in prima etapa a proiectului, ce contine uC-ul ATMega 324PA
  • driver motoare L298N
  • kit robot Magician Robot Kit (achizitionat de la Robofun)
  • 4 senzori culoare Pololu QTR-1A
  • 6 baterii 1.5V
  • componente auxiliare (fire, suruburi, piulite, etc).

Driver motoare L298N:

Kit robot:

Senzor QTR-1A:

Schema Electrica:

Software Design

Mediu de dezvoltare

AVR Studio, Visual Studio 2012, Notepad++

Algoritm

Robotul functioneaza la viteza maxima tot timpul.

In momentul in care senzorii nu detecteaza nimic, inseamna ca suntem pe drumul cel bun ( asta deoarece distanta intre senzorii centrali este mai mare ca latimea benzii).

Consideram cel mai din stanga senzor si cel mai din dreapta senzor ce detecteaza ceva. De asemenea, retinem directia anterioara de miscare dictata motoarelor.

Astfel, daca la momente succesive se dicteaza o miscare in sensuri opuse ( dreapta, stanga ), atunci schimbam directia de miscare spre inainte, caci inseamna ca am ajuns sa fim centrati, si evitam o oscilare stanga-dreapta. Altfel, schibam directia de miscare spre partea in care a fost activ primul senzor.

Rezultate Obţinute

Rezultatul obtinut a fost un Line Follower ce functioneaza la viteza maxima ce o poate dezvolta.

Testing phase

Ready-for-action phase :-D

Concluzii

A fost un proiect interesant, prima materie in care am avut de a face si cu proiectare de hardware si din acest motiv a fost o gura de oxigen fata de numeroasele teme de software :-) .

Download

Arhiva ce contine sursa si Makefile

arhiva_pm.zip

Bibliografie/Resurse

pm/prj2013/dtudose/line-follower.txt · Last modified: 2021/04/14 17:07 (external edit)
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