Table of Contents

Horia-Paul ION (87586) - Quadcopter

Adresă contact: horiapaulion@gmail.com

Introducere

Proiectul presupune dezvoltare unui controller de zbor pentru o dronă de tip quadcopter. Am construit si zburat deja propria dronă folosind un controller off-the-shelf. Scopul proiectului este de a descoperi ce presupune programarea unui astfel de dispozitiv și de a vedea cât de mult mă pot apropia de performanțele și funcționalitatea unui produs comercial.

Descriere generală

Controllerul de zbor va fi capabil de următoarele operațiuni (listate în ordinea priorității de implementare):

  1. Comandarea motoarelor prin intermediul ESC (Electronic Speed Control).
  2. Preluarea datelor unei telecomenzi radio prin intermediul unui receptor 2.4GHz conectat prin SPI.
  3. Echilibrarea în zbor folosind un algoritm PID cu date de la senzori de accelerație (accelerometru) și orientare (giroscop).

Schemă bloc

Proiectare hardware

Schemă electrică

Descrierea circuitului

Receptorul RF 2.4Ghz este legat la o interfață USART a micro-controller-ului. Transmisia de date se poate realiza într-un singur sens (de la receptor către controller).
Senzorul IMU (accelerometru + giroscop) este legat la interfața I2C a micro-controllerului.
Controlul motoarelor se realizează prin intermediul a 4 module ESC. Acestea sunt legate în paralel la bateriei LiPOo, circuitul BEC integrat furnizând tensiunea de alimentare (5V) necesară funcționării controllerului de zbor. ESC-urile sunt comandate folosind pulsuri PWM distincte generate de controller.

Listă componente hardware

DenumireCod
Kit dronă F450 (cadru, 4x ESC, 4x motor A2212 1000KV, elice)
Telecomadă RF 2.4GHzFlySky FS-i6X
Receptor RF 2.4Ghz (interfață USART)FlySky FS-X6B
Senzor accelerometru și giroscopGY-521 (MPU6050)
Baterie LiPo 3S 4200mAh

Proiectare software

Setup

Setarea micro-controller-ului pentru funcționarea în mod controller de zbor presupune:

Control

Fiecare iterație a algoritmului de control durează 4ms (bucla de control la 250Hz) și parcurge următorii pași:

  1. Citirea valorilor de accelerație și viteză angulară măsurați de senzorului IMU și filtrarea acestora.
  2. Stabilirea valorilor țintă de poziție sau viteză angulară (inputul pilotului).
  3. Rularea algoritmului PID pentru determinarea valorilor de corecție (diferența de viteză a motoarelor).
  4. Setarea noilor valori pentru viteza motoarelor.

Rezultate obținute

Proiectul a avut ca rezultat o dronă quadcopter radio-comandată capabilă de echilibrare în zbor (corectarea perturbațiilor externe și executarea comenzilor operatorului).
În viitor, dezvoltarea va urmări tunarea parametrilor PID și optimizarea secvențelor de cod pentru reducerea duratei unei iterații a buclei de control și, implicit, creșterea frecvenței algoritmului de control.

Bibliografie

Această pagină în format PDF