Line Follower
Studenti
Dinu Bianca 331CA
Manea Stefan 331CA
Introducere
Ne-am propus sa implementam un Line Follower. Acest robot merge pe o suprafata alba si urmareste un traseu marcat printr-o dunga neagra. Ne-am ales acest proiect deoarece ni s-a parut cel mai interesant din anii trecuti.
Descriere generala
Elementele din care a fost construit robotul sunt:
3 senzori analogici
stabilizator 5V
Schema bloc ce prezinta imbinarea modulelor noastre:
Hardware Design
Pentru tractiune am folosit 2 motoare comandate printr-o punte H (circuitul L298N).
Atat senzorii, cat si circuitul L298N sunt legati la placuta de laborator.
Pentru a proteja motoarele se folosesc 8 diode de protectie.
Schema electrica a robotului nostru:
Software Design
Am folosit Ubuntu pentru implementare, iar pentru a incarca programul ”.hex” am folosit avrusbboot, din arhiva de pe
prj2012.
Algoritmul implementat:
La început, se fac initializarile, iar apoi într-o bucla infinita se interpreteaza valorile obtinute de la senzori.
Avand trei senzori, putem avea maxim 8 stari in care se afla masina la un moment dat (teoretic).
In practica, cazul in care senzorii 1 si 3 se afla pe negru, iar 2 pe alb, nu exista.
Pentru starea in care toti senzorii sunt pe alb, am considerat o variabila suplimentara care retine ultima stare citita de senzorii masinii. Aceasta stare ne intereseaza pentru a lua o decizie atunci cand masina trebuie sa se intoarca pe traseu.
In cazul în care se detectează linia neagra la senzorul din dreapta, masina va merge spre dreapta (motorul din stanga este activat si se salveaza starea).
In cazul în care se detectează linia neagra la senzorul din stanga, masina va merge spre stanga (motorul din dreapta este activat si se salveaza starea).
In caz contrar, aceasta va merge drept inainte.
Probleme intampinate
Cutia de viteze are doua motoare, dar rotile nu se rotesc independent. Solutia a fost sa taiem un ax care unea cele doua osii si apoi sa pilim cele doua bucati pentru a se putea roti independent.
Am folosit foarte multe fire si un sasiu improvizat, ceea ce ne-a dat mari batai de cap in ceea ce priveste contactele imperfecte si stabilitatea masinii.
Am pus o rezistenta foarte mare pentru sense-uri la circuitul L298N, ceea ce limita foarte mult curentul catre motoare. Noi am crezut ca problema era de la input-ul circuitului si am pierdut mult timp incercand sa o rezolvam. Cei care au realizat ca problema este acea rezistenta au fost asistentii de PM. In implementarea finala am legat pinii 1 si 15 la masa.
Rezultate obtinute
In prezent, proiectul este functional. Poate daca am fi avut mai mult timp la dispozitie, am fi elaborat un algoritm mai bun de urmarire a traseului si i-am fi dat masinutei noastre un aspect mai placut .
Masina in forma finala:
Traseu de test:
Concluzii
Dezvoltarea acestui proiect a fost o experienta interesanta pe care am repeta-o pentru ca am invatat foarte multe lucruri utile.
Download
Bibliografie