Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:amocanu:linefollower [2021/06/02 20:30]
andrei.florescu2904 [Hardware design]
pm:prj2021:amocanu:linefollower [2021/06/03 10:56] (current)
andrei.florescu2904 [Algoritmul de reglare PID]
Line 28: Line 28:
 Algoritmul PID (Proportional Integral Derivativ) este unul din cei mai folositi algoritmi pentru regulatoare industriale,​ de exemplu pentru controlarea motoarelor, asigurand o performanta de reglare excelenta.\\ Algoritmul PID (Proportional Integral Derivativ) este unul din cei mai folositi algoritmi pentru regulatoare industriale,​ de exemplu pentru controlarea motoarelor, asigurand o performanta de reglare excelenta.\\
 \\ \\
-Un regulator PID calculeaza constant o anumita eroare intre strea actuala si starea dorita si aplica o corectie pe baza unei proportii, unei integrale si a unei derivate. Cu alte cuvinte, algoritmul raspunde automat cu o solutie pentru a reveni in starea dorita. De exemplu, regulatorul de viteza al masinilor foloseste acest algoritm; factorii externi, cum ar fi panta soselei influenteaza viteza masinii, dar algoritmul PID raspunde in cel mai optim mod pentru a reveni la viteza dorita. \\+Un regulator PID calculeaza constant o anumita eroare intre starea ​actuala si starea dorita si aplica o corectie pe baza unei proportii, unei integrale si a unei derivate. Cu alte cuvinte, algoritmul raspunde automat cu o solutie pentru a reveni in starea dorita. De exemplu, regulatorul de viteza al masinilor foloseste acest algoritm; factorii externi, cum ar fi panta soselei influenteaza viteza masinii, dar algoritmul PID raspunde in cel mai optim mod pentru a reveni la viteza dorita. \\
 \\ \\
 In cazul robotului, acest algoritm analizeaza eroare de pozitie a centrului barei de senzori (pozitia oprima) si pozitia actuala a linei negre si gaseste cel mai efficient mod de a atribui viteze celor 2 motoare astfel incat sa revina la pozitia dorita. \\ In cazul robotului, acest algoritm analizeaza eroare de pozitie a centrului barei de senzori (pozitia oprima) si pozitia actuala a linei negre si gaseste cel mai efficient mod de a atribui viteze celor 2 motoare astfel incat sa revina la pozitia dorita. \\
Line 49: Line 49:
  
 === Design === === Design ===
-{{ :​pm:​prj2021:​amocanu:​topvieweltoro2.png?​400 |}}+{{ :​pm:​prj2021:​amocanu:​topvieweltoro2.png?​500 |}} 
 +\\ 
 +{{ :​pm:​prj2021:​amocanu:​sidevieweltoro.png?​500 ​|}}
  
 === Schema electrica === === Schema electrica ===
-* insert schema *+{{ :​pm:​prj2021:​amocanu:​eltoroschemaelectrica.png?​600 |}}
  
  
Line 86: Line 88:
 **go()**\\ **go()**\\
 Primeste ca argument viteza celor 2 motoare si o atribuie acestora.\\ Primeste ca argument viteza celor 2 motoare si o atribuie acestora.\\
 +
 +**Biblioteci**\\
 +Pentru a putea interactiona cu bara de senzori am folosit biblioteca [[https://​github.com/​pololu/​zumo-shield|Zumo Shield]], iar pentru buton am folosit biblioteca [[https://​github.com/​pololu/​pushbutton-arduino|Push Button]].
  
 Codul a fost dezvoltat pe platforma Arduino 1.8.15 (IDE). Codul a fost dezvoltat pe platforma Arduino 1.8.15 (IDE).
Line 91: Line 96:
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-* Insert Video + poze *+{{ :​pm:​prj2021:​amocanu:​traseueltoro.png?​500 |}} 
 +\\ 
 +[[https://​www.youtube.com/​watch?​v=FccvBLZhaPQ|Link Demo YouTube]]\\
 ===== Concluzii ===== ===== Concluzii =====
 +
 +{{ :​pm:​prj2021:​amocanu:​eltoro.png?​600 |}}
 +
 Prin acest proiect am invatat mult mai multe despre ce inseamna sa proiectezi, construiesti si programezi un robot. Prin acest proiect am invatat mult mai multe despre ce inseamna sa proiectezi, construiesti si programezi un robot.
 Consider ca "El Toro" cum imi place sa il numesc (datorita coarnelor care tin senzorul de proximitate) isi atinge scopurile, dar recunosc ca ar putea fi imbunatatit. Consider ca "El Toro" cum imi place sa il numesc (datorita coarnelor care tin senzorul de proximitate) isi atinge scopurile, dar recunosc ca ar putea fi imbunatatit.
Line 105: Line 115:
 ===== Arhiva ===== ===== Arhiva =====
  
-* Insert arhiva *+{{:​pm:​prj2021:​amocanu:​line_follower_archive.zip|Cod sursa}}
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 [[https://​www.arduino.cc/​en/​software|Arduino IDE]]\\ [[https://​www.arduino.cc/​en/​software|Arduino IDE]]\\
Line 111: Line 121:
 [[https://​www.academia.edu/​22900396/​How_To_Write_PID_control_algorithm_using_C_language_TipsWell_1_|Implementare PID]]\\ [[https://​www.academia.edu/​22900396/​How_To_Write_PID_control_algorithm_using_C_language_TipsWell_1_|Implementare PID]]\\
 [[https://​www.pololu.com/​docs/​0J57/​2.c|Documentatie Zumo Reflectance Sensor Array]]\\ [[https://​www.pololu.com/​docs/​0J57/​2.c|Documentatie Zumo Reflectance Sensor Array]]\\
 +[[https://​www.pololu.com/​product/​136|Senzorul de distanta]] \\
 +[[https://​www.robofun.ro/​mecanice/​driver-motoare-l298-versiunea-2-tip-shield.html|Driver de motoare]] \\
 [[https://​github.com/​pololu/​zumo-shield|Github Biblioteca ZumoShield]] \\ [[https://​github.com/​pololu/​zumo-shield|Github Biblioteca ZumoShield]] \\
 [[https://​github.com/​pololu/​pushbutton-arduino|Github Biblioteca PushButton]] [[https://​github.com/​pololu/​pushbutton-arduino|Github Biblioteca PushButton]]
pm/prj2021/amocanu/linefollower.1622655021.txt.gz · Last modified: 2021/06/02 20:30 by andrei.florescu2904
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