Differences

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

Link to this comparison view

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 81: Line 81:
 | Buck converter | VIN | VBAT (LiPo) | Intrare 3.7V de la baterie | | Buck converter | VIN | VBAT (LiPo) | Intrare 3.7V de la baterie |
 | Buck converter | VOUT | VCC placă | Ieșire 5V pentru partea logică | | Buck converter | VOUT | VCC placă | Ieșire 5V pentru partea logică |
-==== Detalii ==== 
- 
 Pinii PC4 și PC5 au fost aleși pentru MPU6050 deoarece sunt pinii dedicați pentru I2C pe ATmega328PB. Comunicarea se face la 400kHz (fast mode) pentru a minimiza latența citirii datelor IMU. Pinii PC4 și PC5 au fost aleși pentru MPU6050 deoarece sunt pinii dedicați pentru I2C pe ATmega328PB. Comunicarea se face la 400kHz (fast mode) pentru a minimiza latența citirii datelor IMU.
  
Line 94: 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 cazulcu 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>​
 +
pm/prj2026/atoader/stefan.oprea1711.1778966708.txt.gz · Last modified: 2026/05/17 00:25 by stefan.oprea1711
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