Cristina-Gabriela MORARU & Adrian-Sabin PETROŞANU - Line Follower

Autorii pot fi contactati la adresele: Login pentru adresa

si Login pentru adresa

Introducere

Scopul proiectului este construirea unui robot de tipul line-follower.

Descriere generală

Schema bloc

Hardware Design

Listă de piese:

  • 1 x Microcontroller: ATMEGA324PA-PU
  • 1 x Mufa alimentare: CONECT JACK 2089
  • 2 x Condensator: 15pF KEPF015
  • 2 x LED EL333
  • 1 x Bareta pini K2X10
  • 1 x Bareta pini K1X10 WSL040
  • 1 x Quartz 16MHZ QMIM016
  • 1 x Rezistenta 10K
  • 2 x Rezistenta 1K
  • 3 x Rezistenta 100R
  • 1 x Rezistenta 2,2K
  • 2 x PUSHBUTTON
  • 1 x Soclu DIP40 dil40emf
  • 1 x USB-B
  • 2 x Dioda ZENER
  • 1 X placuta 75×100 foto
  • 1 x placa 100×100 gauri
  • 3 X Condensatoare 100nF
  • 1 x 7805CT
  • 1 x Jumper
  • 1 X Condensator electrolitic 100uF
  • 1 x Kit Smart Car (sasiu + motoare + roti + suport baterii)
  • 1 x Driver motor L9110S H-bridge
  • 4 x Senzori infrarosu

Schema electrica

Am ales ca conectam driverul la placuta prin portul D deoarece pinii acestui port ofera suport pentru PWM (Pulse Width Modulation).

Driverul are la baza componenta L9110 cu rol de limitare a tensiunii care ajunge la motoare si trimiterea semnalelor de control

Semnale digitale pentru controlul motoarelor (factor de umplere reglat prin PWM):

Software Design

Programarea s-a realizat in limbajul C utilizand biblioteca avr/io.h si compilatorul avr-gcc. Programul se trimite la placuta prin USB prin incarcarea in prealabil a unui program numit bootloader.

Algoritmul: Am implementat un algoritm de tip PID care implica trei constante diferite: valorile proportionale, valorile integrale si derivate, notate P, I și D. Aceste valori pot fi interpretate in termeni de timp: P depinde de prezenta eroare, I depinde de acumularea de erori din trecut, iar D este o predictie de erori în viitor, în functie de rata actuala de schimbare. Suma ponderata a acestor trei actiuni este folosita pentru a ajusta procesul. Pentru controlul robotului nostru am utilizat in principiu valorile curente ale erorilor, aceasta implementare dovedindu-se una destul de eficienta chiar si pe trasee cu multe curbe stranse.

Rezultate Obţinute

Am proiectat un robotel line-follower care reuseste sa urmareasca linia chiar si pe trasee ce contin curbe stranse.

Concluzii

Problema principala pe care am intampinat-o in lucrul cu senzori a fost incoerenta datelor primite: din cauza luminii, senzorii receptau culoarea alba chiar daca ei se aflau pe linia neagra ceea ce a condus, evident, la o problema in implementare. Am rezolvat aceasta problema prin acoperirea senzorilor cu o folie fotoizolatoare pentru a diminua lumina venita din exterior si a recepta doar culoarea traseului.

Proiectarea robotului a fost o experienta interesanta si foarte antrenanta, ne-a ajutat sa intelegem aplicabilitatea unor concepte despre care invatasem doar teoretic. Am constatat ca este important atat design-ul inteligent al hardware-ului cat si al software-ului pentru a obtine performante bune ale proiectului.

Bibliografie/Resurse

Datasheet ATmega 324 Datasheet L9110 Tutoriale implementare algoritm PID pid

pm/prj2014/amocanu/start.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