This is an old revision of the document!


Lego Technic RC mod

Nume: Baldovin-Răzvan-Mihai-Marian

Grupa: 332CA

Introducere

Odată cu explozia în popularitate a Formulei 1 de acum câțiva ani, am început și eu să urmăresc acest sport. Încă de la început m-a atras echipa McLaren și în special Lando Norris, care, deși nu câștiga curse atunci când am început eu să urmăresc F1, a reușit între timp să urce pe prima treaptă a podiumului. Chiar dacă McLaren nu era cea mai puternică echipă în acea perioadă, am rămas un fan al lor.

În 2022, LEGO a lansat un set Technic cu monopostul McLaren de Formula 1, la scară 1:8, semi-funcțional, în stilul clasic Technic. Am economisit bani, iar spre finalul anului am reușit să-l cumpăr. Asamblarea a durat două zile (cu tot cu pauze), urmate de săptămâni întregi în care pur și simplu am admirat cum o echipă de ingineri a reușit să creeze acest model de la zero, DIN LEGO.

Dar încă din secunda în care am terminat construcția, m-am gândit: „Are suspensii, volan funcțional, motor V6 care învârte roțile… Scheletul e acolo, ar fi mișto să o pot conduce!” Din păcate, am rămas mult timp doar cu gândul acesta, fiind descurajat de lipsa experienței în „ingineria adevărată”. Știam să scriu cod, dar nu aveam nicio idee cum să transform această idee în realitate.

Și aici intervine materia PM. Când am aflat că trebuie să realizăm un proiect cu un microcontroller și că avem libertatea să alegem orice temă, atâta timp cât îndeplinește cerințele minime, am știut imediat ce voi face. A sosit momentul să-i dau viață mașinii.

Acum că știți povestea din spatele deciziei, e timpul să vedem și implementarea.

Descriere generală

Proiectul are ca și controller un ESP32-S3-N16R8, care va avea următoarele funcții:

  • Va prelua comenzi de la utilizator (precum înainte, înapoi, stânga, dreapta)
  • Va comunica cu servomotorul, acționând comenzile de direcție (stânga și dreapta)
  • Va comunica cu driverul de motor, acționând comenzile de propulsie (înainte și înapoi)

Comunicația se va face astfel:

  • ESP32 → driver de motor (GPIO + PWM)
  • ESP32 → servomotor (PWM)
  • driver de motor → motor (PWM)

Din moment ce comenzile utilizatorului vor genera schimbări de stare, vom folosi și întreruperi.

Astfel, conceptele din laborator utilizate sunt:

  • GPIO
  • Întreruperi
  • PWM

Hardware Design

Bill of Materials

Piesa Cantitate Pret Link
ESP32-S3-N16R8 1 5.75 (96% off) AliExpress
Driver de motor TB6612FNG 1 24.99 Optimus Digital
Modul DC-DC Step-Down LM2596 1 16.49 Optimus Digital
Motor brushless FK-180SH-3244 1 14.99 Optimus Digital
Servomotor MG90S 1 19.33 Optimus Digital
Suport de Baterii 2 x 18650 1 3.99 Optimus Digital
18650 LI-ION 3450mA 8A 4 26.18 * 4 eMAG

Wiring

Pinout

ESP32

Pin ESP Componenta legata Pin componenta Protocol Functie
5Vin Modul DC-DC Step-Down Vout+ Power Sursa de 5V
GND Modul DC-DC Step-Down Vout- Power Ground
GPIO10 Servomotor IN PWM Controleaza servomotorul
GND Servomotor GND Power Ground
GPIO4 Motor Driver AIN2 GPIO Controleaza directia motorului
GPIO5 Motor Driver AIN1 GPIO Controleaza directia motorului
GPIO6 Motor Driver PWMA PWM Controleaza viteza motorului
GPIO7 Motor Driver STBY GPIO Activeaza motor driverul
GND Motor Driver GND Power Ground

Motor Driver

Pin driver Componenta legata Pin componenta Protocol Functie
PWMA Motor Driver GPIO6 PWM Controleaza viteza motorului
AIN2 Motor Driver GPIO4 GPIO Controleaza directia motorului
AIN1 Motor Driver GPIO5 GPIO Controleaza directia motorului
STBY Motor Driver GPIO7 GPIO Activeaza motor driverul
GND Motor Driver GND Power Ground
VM Modul DC-DC Step-Down Vout+ Power Alimentare motor
VCC Modul DC-DC Step-Down Vout+ Power Alimentare logica
A1 Motor VCC Power Activeaza motorul
A2 Motor GND Power Ground

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

07.05.2025 - Au ajuns toate piesele

18.05.2025 - Am implementat hardware-ul

19.05.2025-Prezent - Am incercat sa fac conexiunea la masina din Lego, fara succes :(

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2025/mdinica/razvan.baldovin.1748290956.txt.gz · Last modified: 2025/05/26 23:22 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