Spisu treści:

Jednostka sterująca quadkopterem ArDrone 2.0 na module MPU6050 i ESP8266: 7 kroków
Jednostka sterująca quadkopterem ArDrone 2.0 na module MPU6050 i ESP8266: 7 kroków

Wideo: Jednostka sterująca quadkopterem ArDrone 2.0 na module MPU6050 i ESP8266: 7 kroków

Wideo: Jednostka sterująca quadkopterem ArDrone 2.0 na module MPU6050 i ESP8266: 7 kroków
Wideo: Meet the dazzling flying machines of the future | Raffaello D'Andrea 2024, Listopad
Anonim
Image
Image
Podłączanie ESP8266 do punktu dostępowego Ar Drone 2.0
Podłączanie ESP8266 do punktu dostępowego Ar Drone 2.0

Rozmiar, cena i dostępność Wi-Fi pozwalają na wykonanie jednostki kontroli budżetu dla kwadrokoptera ArDrone 2.0 na module ESP8266 (ceny na AliExpress, Gearbest). Do sterowania użyjemy modułu Gy-521 na chipie MPU6050 (żyroskop, akcelerometr).

Papuga AR. Dron to sterowany radiowo quadrocopter, czyli helikopter z czterema wirnikami głównymi umieszczonymi na odległych ukośnych belkach. AR. Sam dron działa na systemie operacyjnym Linux, a prawie każdy smartfon lub tablet z ekranem dotykowym Android lub iOS może działać jako pilot do quadkoptera. Odległość stabilnej kontroli nad Wi-Fi wynosi od 25 do 100 metrów i zależy od pomieszczenia oraz warunków pogodowych, jeśli loty odbywają się na ulicy.

Krok 1: Podłączanie ESP8266 do punktu dostępowego Ar Drone 2.0

Po włączeniu AR. Dron tworzy punkt dostępu SSIS „ardrone_XX_XX”. Łączenie bez hasła.

Spróbujmy połączyć się z access pointem Ar. Dron za pomocą komend AT Podłącz kartę ESP8266 do portu com komputera poprzez zasilacz UART USB 3,3 V.

Otwórz Arduino IDE, monitor portu szeregowego i wyślij polecenia AT do płyty ESP (kwadrokopter musi być włączony)

Krok 2: Komunikacja z AR. Dron jest wykonywany za pomocą poleceń AT

Polecenia są wysyłane do AR. Dron jako pakiety UDP lub TCP;

Pojedynczy pakiet UDP musi zawierać co najmniej jedno kompletne polecenie lub więcej; Jeśli pakiet zawiera więcej niż jedno polecenie, do oddzielenia poleceń używany jest znak 0x0A.

Ciągi są kodowane jako 8-bitowe znaki ASCII;

Maksymalna długość polecenia to 1024 znaki;

Między poleceniami występuje opóźnienie 30 ms.

Polecenie składa się z

AT * [nazwa polecenia] = [numer sekwencji polecenia jako ciąg] [, argument 1, argument 2 …]

Lista głównych komend AT do sterowania AR. Warkot:

AT * REF używany do startu, lądowania, resetowania i zatrzymania awaryjnego;

AT*PCMD-to polecenie służy do sterowania AR. Ruch drona;

AT*FTRIM - w płaszczyźnie poziomej;

Konfiguracja AT*CONFIG AR. Parametry drona;

AT*LED - ustawia animacje LED na AR. Warkot;

Animacja instalowania AT*ANIM w AR. Warkot.

AT * COMWDG - komenda resetu watchdoga - wysyłamy ją stale do quadkoptera.

Do komunikacji wykorzystywane są następujące porty:

Port 5556-UDP-wysyłanie poleceń do AR. Warkot;

Port 5554-UDP-odbieranie pakietów danych z AR. Warkot;

Port 5555-Reply przesyła strumieniowo pakiety wideo z AR. Warkot;

Pakiety portu 5559-TCP dla krytycznych danych, których nie można utracić, zwykle w celu konfiguracji.

Klient rozłącza się z portu UDP po 2 sekundach od wysłania ostatniego polecenia!!! - dlatego musisz stale wysyłać polecenia, jeśli to konieczne - AT*COMWDG.

Rozważ uzyskanie danych nawigacyjnych z ARDrone (port 5554-UDP). Pakiet danych nawigacyjnych w trybie demo ma długość 500 bajtów. Jeśli coś pójdzie nie tak, dron może wysłać pakiet 32- i 24-bajtowy. Jeśli pakiet ma długość 24 bajtów, oznacza to, że port 5554 jest w trybie BOOTSTRAP i musisz ponownie połączyć się z portem, aby przełączyć go w tryb Demo ARDrone może przesyłać dane nawigacyjne do klienta w dwóch formach:

skrócony (lub demo), rozmiar 500 bajtów. kompletny.

Aby uzyskać dane demonstracyjne, najpierw wyślij cztery bajty 0x01, 0x00, 0x00, 0x00 do portu 5554, a następnie wyślij polecenie do portu 5556

AT*CONFIG="+(seq++)+", \"general:navdata_demo\", / "TRUE\" gdzie seq jest kolejnym numerem polecenia.

Struktura pakietu danych nawigacyjnych. Na początku pakietu znajdują się 4 nazwane wartości:

32-bitowy nagłówek pakietu: 32-bitowe flagi stanu helikoptera;

numer sekwencyjny ostatniego polecenia wysłanego do helikoptera przez klienta 32 bity;

flaga wizji 32 bity. Dalej-opcja navdata Nagłówek: 20-23.

Opcja navdata ma następujące pola:

AKUMULATOR = 24; ładowanie baterii w procentach;

PODZIAŁ = 28; kąt nachylenia wzdłuż osi podłużnej;

ROLKA = 32; kąt nachylenia względem osi poprzecznej;

ODCHYLENIE = 36; kąt obrotu względem osi pionowej;

WYSOKOŚĆ = 40; wzrost;

VX = 44; prędkość w osi X;

VY = 48; prędkość w osi y;

VZ = 52; prędkość na osi Z.

Krok 3: Podłączanie wyświetlacza Nokia 5110 do płyty ESP8266

Podłączanie wyświetlacza Nokia 5110 do płyty ESP8266
Podłączanie wyświetlacza Nokia 5110 do płyty ESP8266

Podłącz wyświetlacz Nokia 5110 do modułu ESP8266 i wyślij do niego dane nawigacyjne oraz do monitora portu szeregowego

Krok 4: Pobieranie danych nawigacyjnych i wyświetlanie ich na wyświetlaczu Nokia5110

Uzyskiwanie danych nawigacyjnych i wyświetlanie ich na wyświetlaczu Nokia5110
Uzyskiwanie danych nawigacyjnych i wyświetlanie ich na wyświetlaczu Nokia5110

Pobierz (szkic ardrone_esp8266_01.ino) i obserwuj przesyłanie danych nawigacyjnych do portu szeregowego i ekranu wyświetlacza.

Krok 5: Wysyłanie poleceń startu i lądowania

Teraz dodamy do naszego projektu start i lądowanie quadkoptera z komendami z pilota. Aby wystartować, musisz wysłać polecenie

AT*REF=[Numer kolejny], 290718208

Do lądowania

AT*REF=[Numer kolejny], 290717696

Przed startem musisz wysłać polecenie kalibracji poziomej, inaczej Ar Drone nie będzie w stanie ustabilizować się podczas lotu.

AT * F TRIM=[Numer kolejny]

Wgraj szkic ardrone_esp8266_02.ino() na płytkę ESP8266, włącz quadkopter Ar Drone 2.0 i sprawdź działanie przycisku. Kiedy klikniesz-start, następnym razem – lądowanie itp.

Krok 6: Podłączanie MPU6050 do sterowania Ardrone 2.0

Podłączanie MPU6050 do sterowania Ardrone 2.0
Podłączanie MPU6050 do sterowania Ardrone 2.0
Podłączanie MPU6050 do sterowania Ardrone 2.0
Podłączanie MPU6050 do sterowania Ardrone 2.0

Do sterowania kwadrokopterami wykorzystywane są czujniki do określania położenia w przestrzeni. Układ MPU6050 zawiera zarówno akcelerometr, jak i żyroskop na pokładzie, a także czujnik temperatury. MPU6050 jest głównym elementem modułu Gy-531 (rys. 15.44). Oprócz tego układu, płytka modułu zawiera niezbędne wiązanie MPU6050, w tym rezystory podciągające interfejsu I2C, a także stabilizator napięcia 3,3 V z niewielkim spadkiem napięcia (przy zasilaniu 3,3 V wyjście układu stabilizator będzie miał dokładnie 3 wolty) z kondensatorami filtrującymi.

Połączenie z mikrokontrolerem za pomocą protokołu I2C.

Krok 7: Sterowanie quadkopterem za pomocą MPU6050

Sterowanie quadkopterem za pomocą MPU6050
Sterowanie quadkopterem za pomocą MPU6050

Korzystanie z akcelerometru i żyroskopu pozwala określić odchylenie na osiach x i y, a odchylenie „zamienia się” w polecenia poruszania quadkoptera wzdłuż odpowiednich osi. Przełożenie odczytów otrzymanych z czujnika na kąt odchylenia.

polecenie wysłania do Ar Drone w celu kontroli lotu

AT*REF=[Numer sekwencyjny], [Oznacz pole bitowe], [Roll], [Pitch], [Gaz], [Yaw]

Wartości Roll i Pitch w zakresie -1 do 1 pobierane są z tabeli const int float , indeks odpowiada kątowi odchylenia wyliczonemu z danych czujnika mu6050.

Wgraj szkic ardrone_esp8266_03.ino na płytkę ESP8266, włącz quadrocopter ar Drone 2.0 i sprawdź działanie pilota.

Zalecana: