Autorul poate fi contactat la adresa: Login pentru adresa
Proiectul consta intr-un robot de tip line-fallower, fiind o masinuta independenta ce urmareste o linie neagra pe un fundal alb.
Nume componenta | Cantitate |
---|---|
Placuta etapa 1 | 1 |
DRIVER TB6612FNG DUAL 1A | 1 |
Bara 8 senzori linie | 1 |
Motoare electrice | 2 |
Roti | 2 |
Bila Ball-Caster | 1 |
Suport baterii | 1 |
Programul pentru microcontroller a fost realizat in AVR Programmer. Controlul motoarelor se face cu ajutorul unui driver, se face setarea directie folosind cate 2 pini setati binar, iar viteza motoarelor se realizeaza printr-un PWM pe 8 biti (valoare intre 0 si 255). Prima oara folosim un algoritm simplist de directie, unde totodata calculam si eroarea traseului, iar apoi aceasta este predata unui PID, ce seteaza diferentele de viteza ce trebuie ajustate.
Rezultatul este unul destul de bun, reuseste sa urmareasca traseul cu succes, chiar si in cazul unghiurilor de 90 de grade. Viteza in linie dreapta creste, iar la curbe incetineste usor pentru o precizie cat mai buna.
Design-ul hardware a fost o provocare destul de mare, nestiind exact cum sa incepem, dar a decurs destul de repede odata ce am inteles ce e de facut, iar setarea PID-ului a fost si ea destul de dificila, insa in final robotul merge bine. A fost distractiv, la mai multe proiecte de acest tip :D.
Sursa proiectului. linefallower.zip
Primele incercari s-au soldat cu aruncarea robotului de pe masa:
Cu viteze mici inaintea implementarii PID:
Dupa implementarea PID-ului pe doua trasee diferite:
Schema electrica driver: https://www.sparkfun.com/products/9457