Top Banner
1 CONTROLLER QUADCOPTER Zsolt KOVÁCS Coordonator ştiinţific: Prof. dr. ing. Dan NICULA Rezumat Această lucrare prezintă paşii de proiectare a unui controller de quadcopter implementat pe o placă de dezvoltare Zybo rezultând un sistem hardware combinat cu software. Paşii sunt: înţelegerea fenomenului, proiectarea unui algoritm de control, validarea algoritmului prin simulare, proiectarea hardwareului şi softwareului, testarea dispozitivului. Rezultatul lucrării este un controller realizat pe placă de dezvoltare Zybo capabil să controleze un quadcopter, să preia comenzi de la o telecomandă şi să menţină altitudinea în timpul zborului. Cuvinte cheie: quadcopter, PID, filtru Kalman, BLDC, ESC, MEMS, FPGA, Zynq 1. Înţelegerea fenomenului (Cum zboară un quadcopter?) Quadcopterul – sau quadrotor elicopter – este o aeronavă de tip elicopter multirotor care este ridicat şi propulsat de patru elice antrenate de motoare fixate în general la extremităţile cadrului. Pentru eliminarea forţelor care rotesc cadrul quadcopterului după axa yaw sunt folosite elice CW (produc forţă ridicătoare rotind în sens al acelor de ceas) şi CCW (produc forţă ridicătoare rotind în sens contrar al acelor de ceas). Pentru corecţia unei rotaţii după axele pitch şi roll se accelerează două motoare şi se decelerează celelalte două motoare, cum este şi prezentat pe figurile de mai jos. Figura 1: Dinamica de zbor a quadcopterului
5

elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

Nov 01, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

1

CONTROLLER QUADCOPTER

Zsolt KOVÁCS

Coordonator ştiinţific: Prof. dr. ing. Dan NICULA

Rezumat Această lucrare prezintă paşii de proiectare a unui controller de quadcopter implementat pe

o placă de dezvoltare Zybo rezultând un sistem hardware combinat cu software. Paşii sunt:

înţelegerea fenomenului, proiectarea unui algoritm de control, validarea algoritmului prin

simulare, proiectarea hardwareului şi softwareului, testarea dispozitivului. Rezultatul lucrării este un controller realizat pe placă de dezvoltare Zybo capabil să

controleze un quadcopter, să preia comenzi de la o telecomandă şi să menţină altitudinea în

timpul zborului.

Cuvinte cheie: quadcopter, PID, filtru Kalman, BLDC, ESC, MEMS, FPGA, Zynq

1. Înţelegerea fenomenului (Cum zboară un quadcopter?)

Quadcopterul – sau quadrotor elicopter – este o aeronavă de tip elicopter multirotor care

este ridicat şi propulsat de patru elice antrenate de motoare fixate în general la

extremităţile cadrului.

Pentru eliminarea forţelor care rotesc cadrul quadcopterului după axa yaw sunt folosite

elice CW (produc forţă ridicătoare rotind în sens al acelor de ceas) şi CCW (produc forţă

ridicătoare rotind în sens contrar al acelor de ceas).

Pentru corecţia unei rotaţii după axele pitch şi roll se accelerează două motoare şi se

decelerează celelalte două motoare, cum este şi prezentat pe figurile de mai jos.

Figura 1: Dinamica de zbor a quadcopterului

Page 2: elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

2

2. Proiectarea şi simularea algoritmului de control

Algoritmul de control este bazat pe module PID, care sunt bucle închise de control. S-au

folosit patru bucle PID: trei pentru corecţia rotaţiilor în jurul celor trei axe şi unul pentru

menţinerea altitudinii.

PID-urile pentru corecţia rotaţiilor au ca referinţă o valoare de viteză unghiulară care se

poate modifica de la telecomandă, iar reacţia buclei este generată de giroscopul – care

măsoară viteză unghiulară - montat pe cadrul quadcopterului.

PID-ul pentru menţinerea altitudinii are ca referinţă o altitudine care se poate modifica de

la telecomandă iar reacţia buclei este o altitudine estimată de filtrul Kalman, folosind un

senzor de distanţă ultrasonic şi un accelerometru fixaţi pe cardul quadcopterului.

Pentru simulare s-a folosit ca proces un element de întârziere de ordinul II.

Figura din colţul de stânga sus prezintă intrarea iar din colţul de dreapta jos răspunsul

sistemului controlat cu o buclă PID.

Filtrul Kalman foloseşte datele de la accelerometru în faza de predicţie şi datele de la

senzorul ultrasonic în faza de corecţie.

Figura 3: Simularea unei bucle PID

Figura 2: Bucla PID

Page 3: elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

3

3. Proiectarea sistemului

Pentru că sistemul proiectat conţine atât soluţii hardware cât şi software, sistemul

proiectat conţine şi sistem de procesare dar şi hardware personalizat.

Modulul apbpwm este modulul hardware proiectat care comunică cu procesorul (ZYNQ)

din sistemul pe procesare prin interfaţa APB. Acest modul hardware este responsabil

pentru generarea şi citirea semnalelor PWM pentru comanda perifericelor.

4. Proiectarea hardwareului şi a softwareului 4.1 Proiectarea hardwareului

Hardwareul a fost scris în limbajul Verilog şi a fost verificat folosind simulatorul

Modelsim, în care a fost construit şi un mediu de verificare. Folosind acest

mediu s-au corectat erorile, şi s-a verificat funcţionarea hardwareului.

După depanarea erorilor (debug) din hardware s-a folosit programul Vivado

pentru împachetarea codului, realizarea sistemului care conţine atât modulul

hardware proiectat cât şi modulele necesare pentru sistemul de procesare, şi

generarea bitsreamului care se poate încărca pe o placă de dezvoltare cu FPGA.

Figura 4: Arhitectura sistemului

Page 4: elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

4

4.1 Proiectarea softwareului Implementarea modulelor PID în software: submodulele P, I şi D se pot implementa prin

adunări, scăderi sau înmulţiri:

Structura sistemului software:

Figura 6: O buclă PID implementat in software

Figura 5: Sistemul realizat in Vivado

Page 5: elegerea fenomenului (Cum zboar ăold.unitbv.ro/Portals/5/Stiri/Documente/SCSS2017/CONTROLLER QUADCOPTER... · 3 3. Proiectarea sistemului Pentru c ă sistemul proiectat con ţine

5

5. Depanarea şi Testarea dispozitivului

După generarea bitstreamului şi încărcarea acestuia pe FPGA s-a realizat depanarea pe

FPGA folosind chipscope.

După depanarea hardwareului cu chipscope o ultimă fază a depanării se realizează

folosind osciloscopul:

6. Concluzii Sistemul proiectat corespunde cerinţelor definite în faza de proiectare: prelucrează datele

de la senzori şi comenzile de la telecomandă în timp real şi permite utilizatorului

teleghidarea quadcopterului.

7. Bibliografie

[1] Moldoveanu F., Floroian D., Comnac V., Teoria sistemelor de reglare automată,

Braşov: Universităţii Transilvania din Braşov, 2006.

[2] Biezen, Michel van, „Lectures in The Kalman Filter,”

http://www.ilectureonline.com/lectures/subject/SPECIAL%20TOPICS/26, 2015.

[3] M. Ivanovici, „Curs: Bazele Procesării Semnalelor,” Universitatea Transilvania din

Braşov, Braşov, 2015

Figura 8: Semnalele trigger - echo pentru sonar