This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:stefan.oprea1711 [2026/05/17 00:25] stefan.oprea1711 [Detalii] |
pm:prj2026:atoader:stefan.oprea1711 [2026/05/17 01:04] (current) stefan.oprea1711 [Jurnal] |
||
|---|---|---|---|
| Line 92: | Line 92: | ||
| Direcția de rotație a fiecărui motor este setată o singură dată la inițializare prin pinii de direcție ai driverelor MX1616H, nu prin PWM. Algoritmul PID modifică doar viteza (registrele OCR), nu și direcția — motoarele brushed pe o dronă nu își inversează sensul în zbor normal. | Direcția de rotație a fiecărui motor este setată o singură dată la inițializare prin pinii de direcție ai driverelor MX1616H, nu prin PWM. Algoritmul PID modifică doar viteza (registrele OCR), nu și direcția — motoarele brushed pe o dronă nu își inversează sensul în zbor normal. | ||
| + | |||
| ===== Software Design ===== | ===== Software Design ===== | ||
| - | Mediu de dezvoltare: **PlatformIO** / **Arduino IDE**. | ||
| - | Librării și surse 3rd-party planificate: | + | <note tip> |
| + | 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 | ||
| + | </note> | ||
| - | * **RF24** - pentru gestionarea comunicației cu modulul NRF24L01 | + | ===== Rezultate Obţinute ===== |
| - | * **Wire** - pentru comunicația I2C cu senzorul MPU6050 | + | |
| - | * **PID_v2** (sau implementare custom) - pentru calculul buclelor de stabilizare | + | |
| - | * **MPU6050_light** - pentru filtrarea datelor brute din accelerometru și giroscop | + | |
| - | Algoritmi și structuri planificate: | + | <note tip> |
| + | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
| + | </note> | ||
| - | * **Filtru Complementar**: Combină datele de la giroscop (precis pe termen scurt) cu cele de la accelerometru (precis pe termen lung) pentru a obține unghiul real de înclinație. | + | ===== Concluzii ===== |
| - | * **Bucle PID**: Trei instanțe separate de PID (pentru Roll, Pitch și Yaw). | + | |
| - | * **Mixer de Motoare**: Algoritm care combină output-ul de Throttle (comanda utilizatorului) cu corecțiile PID pentru a seta valorile finale PWM pe fiecare motor. | + | |
| - | Functii principale planificate: | + | ===== Download ===== |
| - | * ''readIMU()'' - citește și filtrează datele de orientare | + | <note warning> |
| - | * ''computePID()'' - calculează corecția pentru fiecare axă | + | 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ă ;-). |
| - | * ''updateMotors()'' - scrie valorile PWM către driverele DRV8833 | + | |
| - | * ''receiveData()'' - verifică dacă au sosit pachete noi de la telecomandă | + | |
| - | * ''failsafeCheck()'' - oprește motoarele dacă nu există semnal radio | + | |
| - | ===== 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> | ||
| - | ===== Concluzii ===== | + | ===== Jurnal ===== |
| - | ===== Download ===== | + | ==Etapa 1 de Hardware== |
| + | * Am lipit pe o placa de prototipare buck converterul si driverele ca sa aibe gnd si vcc comun de la baterie. | ||
| + | * Am lipit pini pe o placa de prototipare pe care am bagat-o in placuta pentru a putea lipi in continuare fire. | ||
| + | * Am terminat de lipit tot ce era acolo dupa aproximativ 30 ore oneste de munca. | ||
| + | * Am reusit sa ansamblez drona si sa cuprind tot inauntrul ei. | ||
| + | * Momentan am reusit sa setez elicele in sensurile bune, deci se ridica de la sol, dar nu pentru mult timp, trebuie reglata software mult. | ||
| - | ===== Jurnal ===== | + | {{:pm:prj2026:atoader:da.jpeg?500|}} |
| + | {{:pm:prj2026:atoader:smek.jpeg?500|}} | ||
| - | ===== Bibliografie/Resurse ===== | ||
| - | ==== Resurse Hardware ==== | ||
| - | * [[[https://www.ti.com/lit/ds/symlink/drv8833.pdf](https://www.ti.com/lit/ds/symlink/drv8833.pdf)|Datasheet DRV8833]] | + | ===== Bibliografie/Resurse ===== |
| - | * [[[https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf](https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf)|Datasheet MPU6050]] | + | |
| - | * [[[https://www.nordicsemi.com/products/nrf24l01](https://www.google.com/search?q=https://www.nordicsemi.com/products/nrf24l01)|Info NRF24L01]] | + | |
| - | ==== Resurse Software ==== | + | ==== Resurse hardware ==== |
| - | * [[[https://github.com/nRF24/RF24](https://github.com/nRF24/RF24)|Biblioteca RF24]] | + | * **ATmega328PB Xplained Mini** documentatie Microchip: https://www.microchip.com/en-us/development-tool/ATMEGA328PB-XMINI |
| - | * [[[https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023-2024](https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023-2024)|PM Lab 3 - PWM pentru control motoare]] | + | * **Modul GY-521 (MPU6050)**: https://sigmanortec.ro/Modul-giroscopic-si-accelerometru-3-axe-GY-521-p126016326 |
| - | * [[[https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024](https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024)|PM Lab 4 - I2C pentru IMU]] | + | * **Driver MX1616H**: De la Victor din laborator |
| + | * **Motor coreless 8x20mm 3.7V**: https://sigmanortec.ro/en/mini-coreless-motor-20x85-1mm-shaft-50000rpm-37v | ||
| + | * **Modul NRF24**: https://www.sigmanortec.ro/en/nrf24l01-24ghz-wireless-transceiver-module | ||
| + | * **Modul ridicător tensiune 3.7V → 5V**: https://sigmanortec.ro/en/step-up-modules | ||
| + | * **Baterie LiPo 3.7V 95C 500mah**: https://www.emag.ro/baterie-r-line-gens-ace-tattu-500-mah-3-7-v-95-c-multicolor-taa5001s95jsl/pd/DP84FRMBM/ | ||
| + | ==== Resurse software / scheme ==== | ||
| + | |||
| + | * EasyEDA - realizare schema electrica: https://easyeda.com/ | ||
| + | * Arduino - citire accurate a sezorilor: https://forum.arduino.cc/t/mpu6050-gyroscope-readings-are-drifting/1113217/10 | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
| + | |||