Cuprins:

Unitatea de control ArDrone 2.0 Quadcopter pe modulul MPU6050 și ESP8266: 7 pași
Unitatea de control ArDrone 2.0 Quadcopter pe modulul MPU6050 și ESP8266: 7 pași

Video: Unitatea de control ArDrone 2.0 Quadcopter pe modulul MPU6050 și ESP8266: 7 pași

Video: Unitatea de control ArDrone 2.0 Quadcopter pe modulul MPU6050 și ESP8266: 7 pași
Video: Урок 96: Датчик атмосферного давления, температуры, приблизительной высоты BMP390 с ЖК-дисплеем 2024, Noiembrie
Anonim
Image
Image
Conectarea ESP8266 la punctul de acces Ar Drone 2.0
Conectarea ESP8266 la punctul de acces Ar Drone 2.0

Dimensiunea, prețul și disponibilitatea rețelei Wi-Fi vă permit să creați o unitate de control bugetar pentru quadrocopterul ArDrone 2.0 de pe modulul ESP8266 (prețuri pe AliExpress, Gearbest). Pentru control, vom folosi modulul Gy-521 de pe cipul MPU6050 (giroscop, accelerometru).

AR Papagal. Drona este un quadrocopter radio-controlat, adică un elicopter cu patru rotoare principale plasate pe grinzi diagonale la distanță. AR. Drone în sine rulează pe sistemul de operare Linux și aproape orice smartphone sau tabletă cu ecran tactil Android sau iOS poate acționa ca o telecomandă pentru quadcopter. Distanța de control stabil asupra Wi-Fi este de la 25 la 100 de metri și depinde de cameră și de condițiile meteorologice, dacă zborurile au loc pe stradă.

Pasul 1: Conectarea ESP8266 la punctul de acces Ar Drone 2.0

Când este activat, AR. Drona creează un punct de acces SSIS „ardrone_XX_XX”. Conectarea fără parolă.

Să încercăm să ne conectăm la punctul de acces Ar. Dron folosind comenzile AT Conectați cardul ESP8266 la portul de computer al computerului prin sursa de alimentare a adaptorului USB UART 3,3 V.

Deschideți Arduino IDE, monitorul portului serial și trimiteți comenzi AT către placa ESP (quadcopterul trebuie activat)

Pasul 2: Comunicare cu RA. Drona este efectuată folosind comenzile AT

Comenzile sunt trimise la AR. Drone ca pachete UDP sau TCP;

Un singur pachet UDP trebuie să conțină cel puțin o comandă completă sau mai multe; Dacă pachetul conține mai multe comenzi, caracterul 0x0A este utilizat pentru a separa comenzile.

Șirurile sunt codificate ca caractere ASCII pe 8 biți;

Lungimea maximă a comenzii este de 1024 caractere;

Există o întârziere de 30 MS între comenzi.

Comanda constă din

AT * [numele comenzii] = [numărul secvenței comenzii ca șir] [, argumentul 1, argumentul 2 …]

Lista principalelor comenzi AT pentru controlul RA. Trântor:

AT * REF - utilizat pentru decolare, aterizare, resetare și oprire de urgență;

AT * PCMD-această comandă este utilizată pentru a controla AR. Mișcarea dronelor;

AT * FTRIM - pe plan orizontal;

AT * CONFIG-configurare AR. Parametrii dronelor;

AT * LED-uri setează animații LED pe RA. Trântor;

AT * ANIM-instalarea animației de zbor pe RA. Trântor.

AT * COMWDG-comanda de resetare a câinelui de supraveghere-o trimitem constant la quadcopter.

Următoarele porturi sunt utilizate pentru comunicare:

Portul 5556-UDP-trimiterea comenzilor către AR. Trântor;

Portul 5554-UDP-recepționarea pachetelor de date de la AR. Trântor;

Portul 5555-Răspundeți pachete video în flux din AR. Trântor;

Pachetul Port 5559-TCP pentru date critice care nu pot fi pierdute, de obicei pentru configurare.

Clientul se deconectează de la portul UDP după o întârziere de 2 secunde după ce a trimis ultima comandă !!! - prin urmare, trebuie să trimiteți în mod constant comenzi, dacă este necesar-AT * COMWDG.

Luați în considerare obținerea datelor de navigație de la ARDrone (portul 5554-UDP). Pachetul de date de navigație în modul demo are o lungime de 500 de octeți. Dacă ceva nu merge bine, drona poate trimite un pachet de 32 și 24 de octeți. Dacă pachetul are o lungime de 24 de octeți, acest lucru înseamnă că portul 5554 este în modul BOOTSTRAP și trebuie să vă reconectați la port pentru a-l comuta în modul Demo ARDrone poate transmite datele de navigație către client în două forme:

prescurtat (sau demo), 500 octeți în dimensiune. complet.

Pentru a obține date demo, trimiteți mai întâi patru octeți 0x01, 0x00, 0x00, 0x00 la portul 5554, apoi trimiteți o comandă la portul 5556

AT * CONFIG = "+ (seq ++) +", / "general: navdata_demo \", / "TRUE \" unde seq este numărul secvențial al comenzii.

Structura pachetului de date de navigație. Există 4 valori numite la începutul pachetului:

Antet de pachete pe 32 de biți: steaguri de stare ale elicopterului pe 32 de biți;

numărul de ordine al ultimei comenzi trimise elicopterului de către client pe 32 de biți;

steag de viziune 32 de biți. Următorul opțiune navdata Antet: 20-23.

Opțiunea navdata are următoarele câmpuri:

BATERIE = 24; încărcarea bateriei ca procent;

PITCH = 28; unghiul de înclinare de-a lungul axei longitudinale;

ROL = 32; unghiul de înclinare față de axa transversală;

YAW = 36; unghiul de rotație relativ la axa verticală;

ALTITUDINE = 40; înălţime;

VX = 44; viteza axei x;

VY = 48; viteza axei y;

VZ = 52; viteza pe axa z.

Pasul 3: Conectarea afișajului Nokia 5110 la placa ESP8266

Conectarea afișajului Nokia 5110 la placa ESP8266
Conectarea afișajului Nokia 5110 la placa ESP8266

Conectați afișajul Nokia 5110 la modulul ESP8266 și transmiteți câteva date de navigație la acesta și la monitorul portului serial

Pasul 4: Obținerea și afișarea datelor de navigare pe ecranul Nokia5110

Obținerea și afișarea datelor de navigare pe ecranul Nokia5110
Obținerea și afișarea datelor de navigare pe ecranul Nokia5110

Descărcați (schiță ardrone_esp8266_01. Ino) și observați ieșirea datelor de navigație către portul serial și ecranul de afișare.

Pasul 5: Trimiterea comenzilor de decolare și aterizare

Acum vom adăuga la proiectul nostru decolarea și aterizarea quadcopterului cu comenzi de pe telecomandă. Pentru a decola, trebuie să trimiteți o comandă

AT * REF = [Număr secvență], 290718208

Pentru aterizare

AT * REF = [Număr secvență], 290717696

Înainte de decolare, trebuie să trimiteți o comandă pentru calibrarea orizontală, altfel Ar Drone nu se va putea stabiliza în timpul zborului.

AT * F TRIM = [Număr secvență]

Încărcați schița ardrone_esp8266_02.ino () pe placa ESP8266, porniți quadcopterul Ar Drone 2.0 și verificați funcționarea butonului. Când faceți clic-decolare, data viitoare când faceți clic - aterizare etc.

Pasul 6: Conectarea MPU6050 la controlul Ardrone 2.0

Conectarea MPU6050 la controlul Ardrone 2.0
Conectarea MPU6050 la controlul Ardrone 2.0
Conectarea MPU6050 la controlul Ardrone 2.0
Conectarea MPU6050 la controlul Ardrone 2.0

Senzorii pentru determinarea poziției în spațiu sunt utilizați pentru controlul cvadrocopterelor. Cipul MPU6050 conține atât un accelerometru, cât și un giroscop la bord, precum și un senzor de temperatură. MPU6050 este elementul principal al modulului Gy-531 (Fig. 15.44). În plus față de acest cip, placa modulului conține legarea necesară MPU6050, inclusiv rezistențe de tracțiune ale interfeței I2C, precum și un stabilizator de tensiune de 3,3 volți cu o mică cădere de tensiune (când este alimentat la 3,3 volți, ieșirea stabilizatorul va fi de 3 volți exact) cu condensatori de filtru.

Conectarea la microcontroler folosind protocolul I2C.

Pasul 7: Controlul Quadcopterului folosind MPU6050

Controlul Quadcopterului folosind MPU6050
Controlul Quadcopterului folosind MPU6050

Utilizarea accelerometrului și giroscopului vă permite să determinați abaterea pe axele x și y, iar abaterea „se transformă” în comenzi pentru deplasarea quadcopterului de-a lungul axelor corespunzătoare. Traducerea citirilor primite de la senzor la unghiul de deviere.

Comandamentul pentru a trimite la Ar Drone pentru controlul zborului

AT * REF = [Număr secvență], [Semnalizare câmp de biți], [Roll], [Pitch], [Gaz], [Yaw]

Valorile Roll și Pitch în intervalul -1 la 1 sunt preluate din tabelul const int float , indicele corespunde unghiului de deviere calculat din datele senzorului mu6050.

Încărcați schița ardrone_esp8266_03.ino pe placa ESP8266, porniți quadrocopterul ar Drone 2.0 și verificați funcționarea telecomenzii.

Recomandat: