LINE FOLLOWER ROBOT - Batutu Raluca & Rosoiu Maria 331CA

Introducere

Ce este un line follower?

Un line follower este o masina care poate urmari un drum. Drumul este vizibil ca o linie neagra pe o suprafata alba sau invers.

De ce sa construim un robot line follower?

Sa “simta” linia, sa manevrezi robotul sa stea pe traseu si sa creezi cod pentru acest lucru ni s-a parut o provocare. Este primul pas in crearea unei inteligente artificiale si proiectul perfect pentru a invata.

Aplicatii practice: il putem folosi ulterior sa faca lucruri mai complicate cum ar fi masinile viitorului care vor invata un traseu(ex: casa-scoala) si il vor urma fara sa fie nevoie de interactiune umana.

Descriere generală

Robotul va fi coordonat de microcontrolerul ATMega 16 la care se va conecta puntea H si linia de senzori. Linia de senzori va fi legata la un convertor care va trimite semnale digitale pinilor de la microcontroler.

Cum functioneaza?

  • initial robotul va merge inainte
  • cand detecteaza cu unul din senzori linia se va pozitiona exact pe mijlocul ei
  • in dreptul curbelor in functie de care senzor distinge linia vom adapta masina

Hardware Design

Lista de piese

  • placuta realizata in cadrul laboratorului de PM
  • Controler capabil sa coordoneze 2 motoare L293D
  • 4 diode IR
  • 4 fototranzistori
  • 4 rezistente de 330 Ω
  • 4 rezistente de 10KΩ
  • comparator LM324
  • masiunta teleghidata cu 2 motoare capabila sa ia curbele strans si alimentata cu cel putin 4 baterii de 1.5V(tip AA)

Schema electrica

Microcontrolerul va fi alimetat de 6 baterii de 1.5V adica 9V in total.Pentru a evita arderea placutei il vom conecta la stabilizatorul de tensiune. Din placuta vom alimenta si linia de senzori iar motoarele vor fi alimentate separat la 6V.

Puntea H

Puntea va controla cele 2 motoare.

Am conectat pinii 2,7,10,15 pe portul D al microcontrolerului iar pinii 3,6 la motorul fata respectiv 11,14 motorul spate. Pinii de enable 1,9 impreuna cu vs(pinul 8) si vss(pinul 16) i-am conectat la VCC. Pinii de ground sunt conectati la masa. Pentru alimentarea motoarelor folosim 4 baterii de 1.5V. Motoarele se alimenteaza separat de placuta si senzori.

Linina de senzori

pm:prj2009:ca:batutu_raluca

Linia de senzori a fost facuta folosind 4 diode IR si 4 fototranzistori, un potentiometru pentru setarea unei tensiuni de referinta si un comparator LM324. Fiecare senzor a fost conectat astfel:

Fototranzistorul are emitatorul legat la ground impreuna cu catodul diodei. La colectorul fototranzistorlui am conectat o rezistenta de 10KΩ iar la anodul diodei o rezistenta de 330Ω. Acestea se leaga pe pinii comparatorului.

Pentru a distinge intre cele 2 culori, alb negru am folosit un potentiometru pentru a seta tensiunea de referinta. Fototranzistorul emite o tensiune de sub 2V pe alb si >4V pe negru. Aceste rezultate sunt trimise comparatorului care trimite o valoare digitala microcontrolerului(pe portul A).Am ales aceasta varianta cu diode si fototranzistori in locul uneia cu senzori gata cumparati in scop financiar si pentru ca ne-a placut provocarea.

Trebuie mentionat ca linia de senzori trebuie ferita de lumina exterioara astfel se evita erorile.Am folosit o improvizatie: banda izoliera neagra, care nu lasa lumina din jur sa patrunda la dioda sau fototranzistor ele fiind orientate in jos. In functie de valoarea senzorilor motoarele se misca astfel:

Software Design

Pentru implementarea codului am folosit AVR Studio. Ca si la laborator am redenumit pinii pe care sunt conectati senzorii si puntea H.Codul este simplu si in functie de datele primite de la senzori microcontrolerul trimite puntii H decizia. Am setat portul A de intrare(DDRA=0x00) iar portul D ca iesire DDRD=0xFF (conectat la motoare). Am folosit operatii simple pe biti.

Codul il puteti gasi la sectiunea de download.

Rezultate Obţinute

Am reusit sa facem o masina functionala, linia de senzori sa detecteze cele doua culori. Din pacate nu am reusit sa racim puntea H mai mult masinuta fiind capabila sa functioneze doar 30 de secunde inainte sa fie nevoie sa o oprim pentru a nu arde puntea H.

Concluzii

In urma realizari proiectului am aflat cum sa alimentam placuta la un voltaj mai mare de 5V, cum putem sa ardem 2 microcontrolere in aceeasi zi nepunand alimentarea unde trebuie, cum sa reducem sensibilitatea liniei de senzori si ca ar trebui sa folosim baterii de calitate din prima pentru ca se vor consuma repede. Bateriile de 9V nu au putere sa alimenteze motoarele dar 4 baterii de 1.5 pot.

Poze

Download

Arhiva cu sursele si schemele:

cod-sursa.zip

scheme.zip

cod-2.zip

Bibliografie/Resurse

pm/prj2010/dtudose/flwrobot.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