Line Follower

Autor: Pavel Elena-Alexandra

Grupa: 332CC

Introducere

Mașină cu 3 roți, una fiind mobilă, și 2 motoare care vor urmări path-ul unei linii negre. (curbele si direcția) Scopul acestui proiect este de a realiza o comunicarea eficientă între plăcuța Arduino și cele 2 motoare pe baza inputului de la senzor.

Descriere generală

Schemă bloc:

  • Utilizatorul va avea posibilitatea de a porni printr-un switch mașinuța.
  • Mișcarea mașinii va fi controlată de către driver-ul de motor pe baza informației provenite din partea un bări de senzori infraroșu reflectivi. Cele 2 motoare conectate la driver vor fi primi semnale potrivite pentru a acționa mașina în direcția dorită.

Hardware Design

Listă Componente:

  • 1 x Arduino
  • 2 x motoare
  • 1 x cablu USB
  • Rezistențe
  • Fire de legătură
  • 2 x roti
  • 1 x roată mobila
  • 1 x Base Board
  • 1 x suport de baterie (4 buc)
  • 1 x dual motor driver DRV8833
  • 1 x bară de senzori infraroșu reflectivi QTR-8RC
  • 1 x switch
  • Led-uri

Schemă electrică:

Software Design

Acest proiect este împărțit în 3 părți:

  • Citirea și calibrarea celor 8 senzori infraroșu.
  • Algoritmul PID pentru calcularea vitezei și interpretarea datelor de la senzori.
  • Setarea vitezei motoarelor.

Am folosit biblioteca QTRSensors.h pentru a citi senzorii și am setat manual motoarele cu digitalWrite.

În timpul dezvoltării software, am abordat multe modalități de calcul al vitezelor pentru cele 2 motoare. De la cea mai complicată abordare care mergea doar pe o linie dreaptă, am atins și un comportament funcțional doar pentru curbe. Între timp am descoperit cu ajutorul laborantului că ar trebui să folosesc algoritmul PID.

Rezultate Obţinute

Pentru a vedea exact ce face robotul pe care l-am realizat: https://youtu.be/ACG9y0rzLEM.

În urma acestui proiect am obținut un prototip funcțional, în ciuda unui motor DC care nu mai merge la capacitate maximă si a unui driver care face destul de des probleme cu conexiunea dintre placa Arduino și motoare.

Galerie cu mașinuța:

Concluzii

  • Uzura și supraîncălzirea unui motor DC reprezintă o amenințare mare pentru proiectul Line Follower.
  • Pinii digitali de pe plăcuța Arduino UNO ar putea suferi probleme și ar trebui să nu îi suprasolicităm.
  • Componentele de plastic/lemn pot suferi accidente datorită folosirii excesive.
  • Constantele folosite în algoritmul PID pentru urmărirea unei linii negre depind foarte mult de sezorii pe care îi foloșesti (anul de fabricație, specificațiile lor) și, de asemenea, depind de designul mașinuței, pe lângă toate calculele pe care le realizezi.
  • Am încercat să folosesc 3 baterii legate în serie pentru am alimenta motor driver-ul, dar fără succes.
  • În ultima clipă a trebuit să schimb pinii pe care îi folosește senzorul cu infraroșu deoarece nu aveam destuli pini digitali și se stricase unul între timp.

Download

Jurnal

24.04 - Achiziționarea unui procent mare de componente.

6.05 - Lipirea unor componete.

16.05 - Realizare design și reseach pentru partea de hardware, dar și software a proiectului.

20.05 - Realizare legarea tuturor componentelor și scrierea unui cod de verificare a motoarelor și a senzorului infraroșu.

22.05 - Realizare cod fără Algoritmul PID.

28.05 - Calculare constante și viteze pentru Algoritmul PID.

28-1.06 - Debbuging proiect realizat cu succes.

1.06 - Finalizare mașină

Bibliografie/Resurse

pm/prj2022/fstancu/linefollower.txt · Last modified: 2022/06/02 07:47 by elena.pavel1312
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