Differences

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

Link to this comparison view

pm:prj2025:mdinica:razvan.baldovin [2025/05/27 20:17]
razvan.baldovin Updatat jurnal
pm:prj2025:mdinica:razvan.baldovin [2025/05/30 09:37] (current)
razvan.baldovin Update software
Line 41: Line 41:
   * PWM   * PWM
 ===== Hardware Design ===== ===== Hardware Design =====
 +
 +Piesele au fost alese cu urmatoarele caracteristici in gand:
 +  * Dimensiunea spatiului util
 +  * Caracteristicile Lego-ului (pentru a putea misca Lego-ul)
 +
 +Astfel, inainte sa detaliem piesele pe care le-am achizitionat,​ hai sa detaliem putin cu ce lucram
 +
 +{{ :​pm:​prj2025:​mdinica:​lego_under.png?​500 |}}
 +
 +Avem aici 2 zone in care putem lucra:
 +  * Rosu - 10.4 x 5.5 x 3.2 cm (lungime x latime x inaltime)
 +  * Verde - 10.4 x 4.0 x 6.0 cm
 +  * Albastru - 8.0 x 5.5 x 6.0 cm
 +
 +(In functie de nevoie, putem alege intre verde si albastru ca spatiu (ambele sunt valide in situatia de fata)
 +
 +{{ :​pm:​prj2025:​mdinica:​lego_side.jpeg?​700 |}}
 +
 +Specificatii Lego:
 +  * Dimensiuni: 65.0 x 27.0 x 13.0 cm
 +  * Greutate: 1.4kg
 +  * Diametru roti: 8.0 cm
 +
 +Ca sa stabilim viteza cu care ar trebui sa se invarta motorul am facut urmatoarele calcule
 +
 +  - Calculam circumferinta rotii
 +    * circumferinta = π * diametru = π * 0.08 m = 0.2513 m
 +  - Calculam numarul de rotatii per minut al rotii
 +    * Presupunem o viteza de 10km/h
 +    * 10 km/h = 2.78 m/s
 +    * RPS roata = viteza / circumferinta = 2.78 m/s / 0.2513 m ≈ 11.06 RPS
 +    * RPM roata = RPS roata * 60 s = 11.06 * 60 = 664 RPM
 +  - Calculam numarul de rotatii per minut al motorului
 +    * Observam ca o rotatie a axului de motor reuseste sa invarta aproximativ jumatate de roata
 +    * RPM motor = RPM roata * 2 = 664 RPM * 2 = 1328 RPM
 +
 +Totusi, viteza motorului nu este totul, ne trebuie si destul cuplu cat sa putem pleca de pe loc
 +
 +  - Calculam forta de rezistenta la rulare
 +    * F rezistenta = coef de rezistenta la rulare * masa * gravitatia = 0.01 * 1.4kg * 9.81m/s^2 = 0.137N
 +    * coeficientul de rezistenta la rulare pentru cauciuc am gasit sa fie 0.01
 +  - Calculam Cuplul minim necesar
 +    * cuplu = F rezistenta * raza rotii = 0.137N * 4cm = 0,0055 N*m
 +    * transformam din N*m in kg * cm
 +    * 0.0055 N*m ≈ 0.056 kg * cm
 +  - Luam ca marja de eroare un factor de 4x, care sa tina cont de flexarea, rezistenta si frecarea pieselor Lego
 +    * cuplu final = cuplu minim * 4 = 0.056 kg * cm * 4 ≈ 0.2 kg * cm
  
 ==== Bill of Materials ==== ==== Bill of Materials ====
Line 95: Line 142:
  
 Am folosit urmatoarele biblioteci: Am folosit urmatoarele biblioteci:
 +  * ESP32Servo.h - Pentru a controla servomotorul prin functii predefinite
   * WiFi.h - Pentru a permite conexiunea la Wi-Fi   * WiFi.h - Pentru a permite conexiunea la Wi-Fi
   * WebServer.h - Pentru a crea un server web local   * WebServer.h - Pentru a crea un server web local
  
-Am creat o pagina web destul de elementara, care are doua joystick-uri:+Am creat o pagina web destul de elementara, care are doua slidere:
   * Cel din stanga are rolul unui volan, astfel se ocupa de virat stanga-dreapta   * Cel din stanga are rolul unui volan, astfel se ocupa de virat stanga-dreapta
   * Cel din dreapta are rolul de a propulsa/​opri masina (inainte-inapoi)   * Cel din dreapta are rolul de a propulsa/​opri masina (inainte-inapoi)
Line 106: Line 154:
   * Se initializeaza serverul web (pe o adresa locala, deci trebuie sa ne aflam in aceeasi retea)   * Se initializeaza serverul web (pe o adresa locala, deci trebuie sa ne aflam in aceeasi retea)
   * Asteapta input de la utilizator prin serverul web   * Asteapta input de la utilizator prin serverul web
-  * Comenzile, sunt transformate in semnale PWM (in functie de cat de mult tragem spre oricare extrema joystickul, astfel valorile fiind 0 (stanga maxim), 512 (default), 1024 (dreapta maxim)) ​catre componentele respective:​ +  * Comenzile, sunt transformate in semnale PWM catre componentele respective:​ 
-    * Joystick ​stanga -> servomotor +    * Slider ​stanga -> servomotor ​(intre 0 si 180) 
-    * Joystick ​dreapta -> motor+    * Slider ​dreapta -> motor (intre -255 (maxim inapoi) si 255 (maxim inainte))
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
Line 148: Line 196:
   * Am achizitionat un servomotor mai puternic (MG90S)   * Am achizitionat un servomotor mai puternic (MG90S)
   * Am printat un conector 3D reglabil, pentru a putea strange mai mult ca motorul sa poata transmite putere la Lego   * Am printat un conector 3D reglabil, pentru a putea strange mai mult ca motorul sa poata transmite putere la Lego
-  * Am scos ESP32-ul din Devboard, si am realizat conexiunile cu fire mama-mama+  * Daca scot ESP32-ul din Devboard, si schimb din fire tata-tata in fire tata-mama, poate incapea totul
  
 23.05.2025 - Din cauza unei singure piese din Lego, nu incapea motorul cu noul conector, am stat undeva la 2 ore pentru a desface masina (si documenta, pentru a o reface la loc :)) ), urmata de a muta piesa mai in spate pentru a crea spatiu, iar apoi reasamblat. 23.05.2025 - Din cauza unei singure piese din Lego, nu incapea motorul cu noul conector, am stat undeva la 2 ore pentru a desface masina (si documenta, pentru a o reface la loc :)) ), urmata de a muta piesa mai in spate pentru a crea spatiu, iar apoi reasamblat.
Line 156: Line 204:
 24.05.2025 - Am incercat sa adaug diferite bucati subtire de material intre motor si conector ca sa incerc sa conectez mai bine si sa adaug frecare (poate-poate merge). Din pacate nu a mers, tot se invarte in gol. 24.05.2025 - Am incercat sa adaug diferite bucati subtire de material intre motor si conector ca sa incerc sa conectez mai bine si sa adaug frecare (poate-poate merge). Din pacate nu a mers, tot se invarte in gol.
  
-28.05.2025 - Am incercat sa mai printez inca un conector ​pentru ​motor.+28.05.2025 - Am desfacut lipiturile vechi pentru ​a putea inlocui cu fire tata-mama pentru a putea scapa de dev board.
  
-<note tip> +28.05.2025 - Am incercat sa actionez MG90S, dar nu am avut succes, am schimbat temporar inapoi la SG90 pana gasesc ​solutie mai buna 
-Puteți avea și secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului+ 
-</​note>​+29.05.2025 - Am incercat sa mai printez inca un conector pentru motor. (fara succes, problema finala este puterea :( ) 
 + 
 +29.05.2025 - Am folosit un alt motor (TT motor), si ARE DESTULA PUTERE SA MISTE MASINA :-D 
 + 
 +29.05.2025 - Update-uri la cod, pagina, si finalizare proiect pentru prezentare
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2025/mdinica/razvan.baldovin.1748366247.txt.gz · Last modified: 2025/05/27 20:17 by razvan.baldovin
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