Autorul poate fi contactat la adresa: Login pentru adresa
si Login pentru adresaLine follower basic : urmareste o linie (neagra) , un traseu .
Schema bloc simpla : avem microcontrollerul care comunica cu senzorii si driverul pentru motor
Idee :
Microcontroller-ul va lua informatiile de la senzori , va aplica un algoritm pentru a urmarii linia si in functie de aceasta decizie, va comunica cu driver-ul pentru motoare, inaintand / virand dupa caz.
Intr-o implementare simplista , 3 senzori sunt indeajuns pentru a urmari o linie . Acestia sunt amplasati in fata sasiului , in linie , unul pe mijloc, 2 laterali [pentru a putea urmari linia cand merge inainte si cand face stanga/dreapta ].
Componente
Design hardware :
Avem sasiul cu cele 2 roti in spate + un ball caster in fata. Senzorii sunt montati in fata , pe sasiu. Tot pe sasiu avem montati conectorii pentru alimentare , alaturi de driverul pentru motoare.
Mediu de dezvoltare : Notepad++
Scurta descriere algoritm :
Se fac initializarile pentru : senzori , PWM , lcd(in debug mode) , pini in/out
Se asteapta apasarea pe buton pentru a porni algoritmul de linefollowing care merge pe urmatoarea idee :
pot merge inainte (imi raspunde senzorul din mijloc) ? --[da]-- pot face stanga/dreapta ? --[da]-- fa stanga/dreapta --[nu]-- mergi inainte --[nu]-- pot face stanga/dreapta ? --[da]-- fa stanga/dreapta --[nu]-- niciun senzor nu este pe traseu , deci sunt in cadrul unui viraj .
Pentru acest ultim caz imi retin atat ultima miscare facuta , cat si ultimul viraj inceput ( stanga / dreapta ). In cazul in care niciun senzor nu este pe traseu inseamna ca am inceput un viraj si pur si simplu continuu sa fac acel viraj.
Pentru viraje am abordat o metoda simplista : viraj cu pivotare , in sensul ca opresc un motor si aplic PWM pe canalul corespunzator celuilalt , astfel ca se vira , avand ca pivot motorul oprit.
In urma muncii depuse a rezultat un linefollower decent [cu multe lucruri care ar putea fi inbunatatite - poate pe viitor] in sensul ca isi atinge scopul si nu arata ca in spate nu sunt decat niste metode simpliste prin care ia cateva decizii.
multumim Lidl pt ajutor [poza asta e pt voi !]
design-ul :
click pt design : kyRwZwDh6J8
Echipa noastra va multumeste :
in the meantime : watch
si live @pmfair15 : Image-53.png
Un proiect la care ne-a facut placere sa participam si in urma caruia am ramas cu destule lucruri noi .
Hands-on experience is the best kind of experience.
Arhiva cu codul sursa , makefile , scheme , comentarii , datasheet-uri , bootloader