Table of Contents

Ioan-Mihail STAN, Ion-Mihai SOARE - Line Follower

Autorul poate fi contactat la adresa: Login pentru adresa

Preambul

Eroul nostru, Rio, candidat la titulatura de Regele Shaman isi doreste sa gaseasca orasul Dobi petru a participa la Turneul Shaman. Avand in vedere ca prietenul sau, Yoh, a gasit deja drumul, l-a rugat sa ii arate si lui drumul presarand o linie neagra prin desert catre acest oras. Singura problema este ca Rio nu e tocmai cel mai inteligent shaman, iar pentru a evita problemele si a fi sigur de reusita el a cerut ajutorul fantomei sale gardian, Tokagero. soare_intro_rio.jpeg Pentru a realiza misiunea cu succes, Tokagero ia forma spiritului si formeaza carul de lupta Yamata no orochi, unindu-se cu un puternic spirit asemanator unui dragon cu sapte capete. In aceasta forma, reusita trebuie sa fie aproape, iar cei 2 pornesc intr-o calatorie epica urmand drumul trasat de Yoh… soare_yamata_no_orochi.jpeg

Introducere

Proiectul nostru este un Line Follower. Acesta:

  • Are la baza un microcontroller ATMega
  • Citeste o banda neagra situata peste o suprafata alba cu ajutorul unor senzori infrarosii
  • Se deplaseaza pe traiectoria astfel identificata turand convenabil cele 2 motoare din dotare
  • Am ales acest proiect pentru ca ni s-a parut mai challenging =)
  • La inceput ne uitam la el asa: 8-o apoi cand ne chinuiam sa il finalizam eram asa: m( iar cand a functionat in final am fost asa: 8-)
  • Proiectul este destul de amplu si am invatat multe lucruri interesante pe parcursul realizarii lui, legat de functionarea microcontroller-ului, programarea pinilor sai, utilizarea corecta a pieselor si elementelor de circuit, dar mai ales cum sa NU tinem ledcon-ul in mana…

Descriere generală

Pe scurt, a fost nevoie de o serie de piese pe care le-am cumparat de la diferite magazine de componente electronice, placuta cu fotorezist, microcontroller, placuta de test, motoare, roti, senzori si conectori. Am ales sa facem doua alimentari searate: una de 6V pentru placa si controller si cealalta de 9V pentru motoare.

Schema bloc a proiectului arata asa: diagramablocisis.jpg

Hardware Design

Materiale necesare/folosite (driver motoare + componente mecanice + senzori + placa de baza):

Nume componenta Cantitate
Placuta etapa 1 1
Jumper 2
Driver TB6612FNG Dual 1A 1
Driver L298N 1
Diode 8
Condensator 100nF 2
Condensator 470uF 1
Rezistenta 0.5 2
Bareta senzori analog infrarosu 1×8
Bareta pini mama-tata 2×10
Motoare electrice 2
Roti 2
Ball caster 1
Suport Motor 2
Suport baterii pentru placa de baza 1
Baterii placa de baza 1.5 V 4
Baterii motoare 4.5V 2
Conectori cu surub 4
Cablaj baterii 2
Conductori mama-tata 3×10
Conductori 3×10
Jack alimentare tata 2
Intrerupator 1

Mentionam ca am fost in posesia multor piese de rezerva: o alta placuta, alt microcontroller, mai multe barete pini, conectori cu surub, conductori, jumpere, rezistente, pana si jack… Am implementat si testat ambele drivere (si cel propus de kitul Robofun si cel facut de noi manual). De folosit il folosim pe cel manual (Cu L298).

Schema electrica

Software Design

Programul pentru microcontroller a fost realizat in AVR Studio, cu ajutorul Programmer's Notepad. Am am folosit PWM, fast PWM cu prescaler 1024 , non-inverting mode. Implementarea este una simpla, in care robotul avanseaza atata timp cat vede negru, iar cand senzorii de pe o anumita margine detecteaza negru si restul alb, robotul va merge inspre zona de unde s-a detectat negru, turand motorul exterior mai mult si pe cel interior in sens invers, mai putin.

Rezultate Obţinute

Prezentam mai jos o serie de poze cu rezultatul final, si doua filmulete cu robotul in actiune.

soare_stage_5.jpg

Ice skating in the rain: watch

Testing enthusiasts: watch

First complete tour: watch

Concluzii

Proiectul a fost interesant, dar ne-a costat destul de mult, avand in vedere ca am avut multe piese de rezerva. Codul putea fi scris mai bine si mai optim, mai complex si cu mai multe functionalitati, dar din lipsa timpului am hotarat sa mizam pe functionalitate minimala si rezultat concret decat pe o abordare complicata, pasibila de erori.

Am invatat foarte multe lucruri si am fost satisfacuti de rezultatul muncii noastre. Materia “proeictare cu microcontrolere” este bogata in activitati practice al caror rezultat se observa simplu si rapid.

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

ioanstan_ionsoare_linefollower.zip

Va urma, imediat ce scriem README si ne hotaram asupra sursei/arhivei finale.

Jurnal

Operatiile au fost facute in ordinea:

  1. * asamblare initiala a kitului
  2. * fixare provizorie cu distantiere a componentelor
  3. * finalizare componente placuta de baza (jumper si condensator)
  4. * montare driver prefabricat
  5. * confectionare driver manual
  6. * montare placi
  7. * montare alimentare
  8. * inchidere chircuite (intrerupator), conectare componente
  9. * testare motoare si senzori
  10. * programare fara PWM
  11. * programare cu PWM
  12. * testare si calibrare (urmate de retestari si recalibrari)

1. Varianta initiala soare_stage_1.jpg 2. Driver fata-verso soare_stage_2a.jpg soare_stage_2b.jpg 3. Robot varianta avansata soare_stage_3.jpg 4. Robot varianta aproape finala soare_stage_4.jpg

Bibliografie/Resurse

Datasheet microcontroller ATmega36A doc2466.pdf

Datasheet L298N L298N.pdf

Laboratoarele de PM prj2012

Motto: Vivat leulloe, deus eorum ;)