Line Follower

Studenti

Ivanov Bogdan 334CA
Buhai Corina 334CA

Introducere

  • Notiunea de Line Follower defineste un robot care poate sa urmareasca o cale. Calea poate fi vizibila ,ca de exemplu o linie trasata sub forma unui traseu sau invizibila, un fir electric introdus in podea.
  • Proiectul nostru consta intr-un robotel ce urmareste o linie neagra pe fundal alb.
  • Motivul pentru care am ales aceasta tema a fost dorinta de a construi ceva practic asemanator jucariilor adevarate care sa ne apartina. Pentru ca deja aveam la dispozitie o masinuta teleghidata veche, am folosit motoarele, sasiul si rotile acesteia pentru construirea robotului line follower.

Descriere generala

Robotul este construit din mai multe module:

  • Placa de baza realizata la etapa I - contine microcontrollerul, primeste informatii de la senzori si trimite comenzi catre drivere;
  • Placa pentru controlul motoarelor - contine 2 drivere ce comanda motoarele stanga-dreapta;
  • Placa de senzori - obtine informatii de la cei 3 senzori infrarosu si le trimite catre placa de baza;
  • Alimentarea placii de baza la 6V;
  • Alimentarea senzorilor si a driverelor la 3V.
  • Sasiul si rotile

Schema bloc ce prezinta imbinarea modulelor:

Hardware design

Lista de componente utilizate

Placa drivere motoare

Tinand cont de capabilitatea in curent a porturilor ATMega16 (max 20mA/pin, max 200mA/total porturi), au fost folosite
2 tranzistoare Darlington cu amplificare in curent de peste 1000. Rezistenta de limitare a curentului de comanda a fost aleasa de 1,5 kΩ,
ceea ce inseamna ca incarcarea fiecarui pin este de aproximativ 3mA.
In antiparalel cu motoarele s-a montat cate o dioda de comutatie pentru eliminarea supratensiunilor la comutatie.
Local pentru fiecare motor au fost prevazute 2 condensatoare de filtrare care sa asigure tensiunea constanta chiar si la comutatii.

Placa senzori

Pentru limitarea curentului pe LED-uri au fost montate rezistente de ∼200Ω(300Ω || 470Ω).
Pentru polarizarea fototranzistoarelor s-a utilizat cate o rezistenta de 4,7kΩ montata in colector ce limiteaza curentul de colector la sub 1mA.

Sunt disponibile atat semnale analogice din colectoarele tranzistoarelor care pot fi conectate la intrarile convertorului analogic-numeric,
cat si semnale formatate digital (folosite de catre programul curent) cu ajutorul a 3 porti NAND Trigger-Schmitt.


Pentru a nu incarca suplimentar sursa stabilizata a microcontrolerului, atat driverele motoarelor cat si senzorii
au fost alimentati direct din sursa nestabilizata.

Software design

  • Partea de software pentru acest proiect a fost destul de simpla deoarece nu necesita algoritmi complicati.
  • Mediul de dezvoltare folosit a fost WinAVR pe Windows 7. Fisierul .hex l-am incarcat pe Atmega16 prin avrusbboot.
  • Algoritmul este relativ intuitiv : intr-o bucla infinita se verifica valorile preluate de la senzori si in functie de acestea se iau decizii de oprire/pornire a motoarelor prin intermediul driverelor.
  • Codul complet il puteti accesa in arhiva : linefollower.zip

Rezultate obtinute

Robotul functioneaza si in urma testarii pe un traseu propriu de dimensiuni reduse obtine rezultate bune. Datorita dimensiunii acestuia, nu reuseste sa ia curbele stranse destul de bine, moment in care este posibil sa paraseasca drumul marcat. Totusi, speram sa obtinem rezultate mai bune pe traseul de concurs care probabil va fi mai amplu.
Initial robotul functiona cu ajutorul unor senile,insa datorita performantelor scazute pe care le-am obtinut, am decis sa renuntam la aceasta implementare:





In ceea ce priveste algoritmul pentru setarea directiei am intampinat anumite probleme deoarece nu functiona exact cum ne asteptam. Prin testare repetata am ajuns la un program ce obtine rezultate acceptabile.

Acesta este comportamentul si starea finala a line followerului construit de noi:

Concluzii

  • Implementarea robotelului s-a derulat pe parcursul intregului semestru si s-a incheiat cu succes.
  • Robotul este functional si detecteaza in mod corect traseul marcat.
  • Dezvoltarea unui proiect complet - de la asamblarea hardwareului pana la programarea software - a fost o experienta interesanta, fiind prima de acest gen pentru amandoi.

Bibliografie

pm/prj2012/avoinescu/2.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