FollowTheLight

Introducere

FollowTheLight” se dorește a fi faza incipientă a unui mic cap de roboțel, așezat pe un motor, și dotat cu doi “ochi”. Rolul lui este ca în momentul în care se detectează o lumina mai puternică în dreptul unui ochi, să se miște capul în direcția respectivă astfel încât să se echilibreze nivelul de luminozitate. Ideea de la care am plecat a fost să încep crearea unui roboțel propriu, pe parcursul unei perioade mai lungi, și acesta am considerat că ar fi primul pas în acest sens.

Descriere generală

În conformitate cu ideile exprimate în introducere, vor fi folosite următoarele componente în realizarea proiectului:

  • Microcontroller ATMega16;
  • Senzori de lumină Brick;
  • Motor de turație mică, și cuplu mare (9Kg/cm), cu raport de distribuție 1000:1, și cu viteză maximă 32 RPM;

Proiectul este format din următoarele componente bloc:

  • placa de bază, creată la laborator, și controlată folosind microcontroller-ul ATMega16;
  • placa auxiliară, ce conține puntea H, necesară controlului motorului;
  • senzorii de lumină, sub formă de circuite brick;
  • motorul 1000:1.

Interacțiunea între componente se desfășoară în felul următor:

  • la inițializarea programului de microcontroller se vor configura
    • timerul 1, care se va triggera la 0.5 secunde;
    • sistemul ADC, care va colecta datele de la senzori;
  • în momentul în care se activează întreruperea de la timer, se citesc valorile de la senzori, și se stabilește dacă și în ce direcție să se miște motorul;
  • se activează în acest moment porturile corespunzătoare folosirii motorului, în ideea direcției spre care trebuie să se deplaseze; se definesc aici 3 stări:
    • mișcare stânga;
    • mișcare dreapta;
    • staționare.
  • ciclul anterior se continuă atât timp cât există alimentare la placă.

Datorită faptului ca alimentarea plăcii de bază se va face prin USB, fără alimentare externă, și fiindcă pentru motor este nevoie de o sursă puternică de curent, am folosit o soluție externă formată din 4 baterii de 1.5 V legate în serie, care alimentează puntea H ce se ocupă cu controlul motorului.

Hardware Design

Componenta de bază:

  • plăcuța PM cu microcontroller ATMEGA 16

Componente auxiliare:

  • 2 x Senzori de lumină brick
    • 2 senzori
    • 2 rezistențe 1K
  • Circuit integrat L298N (punte H)
  • 4 x Diodă Zener 3.3V
  • 2 x Capacități 100nF
  • Fire de legătură
  • Slot de pini 4+5, folosit pentru legătura între plăci

Schemele electrice pentru integratul L298N sunt:

Schema Eagle a întregului proiect este:

Software Design

Caracteristici software:

  • sistem de operare - Windows (am folosit sistemul de operare WIndows datorită integrării cu ușurință a driverului USB, spre deosebire de sistemul Linux, care are probleme pe 64 de biți);
  • mediu de dezvoltare - WinAVR;
  • editor text - Programmer's Notepad;
  • desenare schemă - Eagle 6 (versiunea freeware);

Descrierea funcțiilor:

  • _GetADCValue - extrage valoarea unui pin de tip ADC, pe un anumit canal, definit sub forma de enumerație;
  • _InitADCBehavior - inițializează modul ADC al microcontroller-ului;
  • _MoveClockwise + _MoveCounterClockwise + _HaltMovement - asigură mișcările motorului, în funcție de poziție;
  • _InitTimer1Behavior - inițializează timerul 1 să dea întrerupere la fiecare 0.5 secunde;
  • _IsInLimit - verifică diferențele între cei doi senzori.

Imagini proiect

Placa de baza

Ansamblul general

Motor + senzori

Placa auxiliara

Concluzii

În acest moment, proiectul este în stadiu funcțional, la nivel de componente. Ar mai fi fost necesară asamblarea componentelor pe o tijă metalică, astfel încât ansamblul să fie similar unui cap.

Per total, a fost un proiect interesant, care mi-a oferit cunoștințe noi, legate în principal de lucrul cu motoare și controlul lor prin punți H. Sper să pot continua acest proiect și în continuare, în limita timpului, astfel încât la un moment dat să fie un cap de robot semi-funcțional.

Download

Bibliografie/Resurse

Componente:

Bibliografie:

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