This shows you the differences between two versions of the page.
pm:prj2025:vstoica:george.ciobanu2204 [2025/05/18 03:59] george.ciobanu2204 [Hardware Design] |
pm:prj2025:vstoica:george.ciobanu2204 [2025/05/28 07:44] (current) george.ciobanu2204 |
||
---|---|---|---|
Line 15: | Line 15: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2025/vstoica/george.ciobanu2204_schema_kicad.jpg}} | ||
<note tip> | <note tip> | ||
Aici puneţi tot ce ţine de hardware design: | Aici puneţi tot ce ţine de hardware design: | ||
Line 23: | Line 23: | ||
* rezultatele simulării | * rezultatele simulării | ||
</note> | </note> | ||
+ | |||
+ | === Lista Piese (Bill Of Materials) === | ||
^ Piesa ^ Link ^ Datasheet ^ | ^ Piesa ^ Link ^ Datasheet ^ | ||
- | | ESP32 | https://www.optimusdigital.ro/ro/placi-cu-bluetooth/4371-placa-de-dezvoltare-esp32-cu-wifi-i-bluetooth-42.html?search_query=esp32&results=28 | https://www.mouser.com/datasheet/2/891/esp-wroom-32_datasheet_en-1223836.pdf | | + | | ESP32 x 2 | https://www.optimusdigital.ro/ro/placi-cu-bluetooth/4371-placa-de-dezvoltare-esp32-cu-wifi-i-bluetooth-42.html?search_query=esp32&results=28 | https://www.mouser.com/datasheet/2/891/esp-wroom-32_datasheet_en-1223836.pdf | |
- | | ESP8266 | https://www.optimusdigital.ro/ro/placi-esp8266/3312-plusivo-micro-placa-de-dezvoltare-wifi-cu-esp8266-i-ch340g.html | https://components101.com/sites/default/files/component_datasheet/ESP8266-NodeMCU-Datasheet.pdf | | + | |
| MPU6050 | https://www.optimusdigital.ro/ro/senzori-senzori-inertiali/96-modul-senzor-triaxial-mpu-6050.html?search_query=mpu6050&results=13 | https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf | | | MPU6050 | https://www.optimusdigital.ro/ro/senzori-senzori-inertiali/96-modul-senzor-triaxial-mpu-6050.html?search_query=mpu6050&results=13 | https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf | | ||
| Circuit Board | https://www.aliexpress.com/item/1953276071.html | - | | | Circuit Board | https://www.aliexpress.com/item/1953276071.html | - | | ||
| Drona Zyma X5UC | https://www.emag.ro/drona-syma-x5uc-white-functie-hover-camera-hd-720p-2-4-ghz-a00001/pd/DW8P6CBBM/ | - | | | Drona Zyma X5UC | https://www.emag.ro/drona-syma-x5uc-white-functie-hover-camera-hd-720p-2-4-ghz-a00001/pd/DW8P6CBBM/ | - | | ||
+ | | Condensator 10uF x 2 | - | - | | ||
+ | | Rezistor 1kOhm x 2 | - | - | | ||
+ | |||
+ | |||
+ | Am incercat de asemenea sa folosesc un ESP8266 pentru receiver, dar dupa testari am observat ca nu poate folosi functiile de PWM si WiFi in acelasi timp. | ||
+ | |||
+ | |||
+ | * **ESP32 - Sender**: Folosit pentru a citi informatiile primite de la giroscop MPU6050. Preia datele de la giroscop folosind I2C, si le trimite mai departe catre ESP8266 folosind Wi-Fi. Acesta isi ia alimentarea prin portul Micro-USB, de la o baterie externa. Se folosesc pinii D21 (SDA) si D22 (SCL) pentru comunicarea prin I2C. | ||
+ | * **ESP32 - Receiver**: Folosit pentru a comunica cu drona. Acesta este conectat la telecomanda dronei, trimitand semnale PWM pentru a simula folosirea unui joystick. Acesta va fi alimentat de la laptop prin portul Micro-USB. Se folosesc pinii D12, D14, D25 si D26. D14 pentru miscarea pe axa OZ, D12 pentru rotatia pe aceasta (Yaw), D25 pentru rotatia pe axa OY (Pitch) si D26 pentru miscarea pe axa OX (Roll). | ||
+ | * **MPU6050**: Un giroscop cu acelerometru, care va fi legat de ESP32, care vor fi montate pe o manusa care va fi pusa pe mana. Acesta va detecta miscarile mainii si le va transmite prin I2C. Acesta este alimentat de la porturile de 3.3V si GND de la ESP32. | ||
+ | * **Circuit Board**: Aceasta este folosita pentru a lega mai usor ESP32 de MPU6050. | ||
+ | * **Drona**: Aceasta va functiona asa cum a fost intentionata, doar ca in loc sa primeasca inputurile de la 2 joystick-uri, aceasta le va primi de la un microcontroller. | ||
+ | * ** Rezistente si Condensatoare **: Am folosit pentru filtruri RC pentru a transforma semnalele PWM trimise, pentru a le transforma in semnal analog (pentru telecomanda dronei). | ||
===== Software Design ===== | ===== Software Design ===== | ||
Line 41: | Line 55: | ||
</note> | </note> | ||
- | ===== Rezultate Obţinute ===== | + | Platforme: ** PlatformIO, PyGame** |
- | <note tip> | + | Librarii Folosite: ** esp_now.h, WiFi.h, Wire.h, math.h ** |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | ** ESP32-Emitter **: Manusa in sine contine microcontrollerul ESP32, impreuna cu giroscopul MPU-6050 si cu un buton. Aici, scopul ESP-ului este de a prelua informatiile prin I2C de la MPU-6050 si sa le transmita mai departe prin ESP-NOW. De asemenea butonul are rolul de a intrerupe programul in cazul in care utilizatorul considera necesara o sincronizare cu drona. ESP32 -> MPU-6050: Pentru conexiunea dintre cele 2 am folosit libraria Wire.h, deoarece am avut probleme cu partea de creeare de prroiect folosind framework-ul esp-idf. Prin aceasta conexiune am facut rost de datele legate de orientare, rotatie si miscarea pe axa oZ. |
- | ===== Download ===== | + | ** ESP32-Receiver **: Pentru comunicarea cu drona am dezasamblat controllerul unei drone mai vechi si am inlocuit joystick-urile cu diferite conexiuni pe microcontroller. Am legat 2 pini prin DAC si alti 2 pini prin PWM, deoarece ESP32 nu are mai multi pini pe care sa poata sa transmita semnale DAC. Pentru a converti totusi semnalul PWM la un semnal "analog" am folosit cate un filtru RC pentru fiecare pin. |
- | <note warning> | + | ** Drone-Shower **: Am implementat de asemenea o interfata grafica in python in care s-ar vedea aproximativ cum se misca drona. Acesta a fost facut refolosind concepte din tema unei materii de semestrul trecut. |
- | 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ă ;-). | + | ===== Rezultate Obţinute ===== |
- | + | ||
- | 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**. | + | |
- | </note> | + | |
- | + | ||
- | ===== Jurnal ===== | + | |
<note tip> | <note tip> | ||
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | Care au fost rezultatele obţinute în urma realizării proiectului vostru. |
- | </note> | + | |
- | + | ||
- | ===== Bibliografie/Resurse ===== | + | |
- | + | ||
- | <note> | + | |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
</note> | </note> | ||
+ | Drona zboara cu succes si se misca conform miscarilor mainii (pe care am pus placa ESP32 cu giroscopul); De asemenea si pe Drone-Shower se poate vedea cum zboara drona din aceleasi comenzi. | ||