Innehållsförteckning:

ArDrone 2.0 Quadcopter Control Unit på MPU6050 och ESP8266 -modul: 7 steg
ArDrone 2.0 Quadcopter Control Unit på MPU6050 och ESP8266 -modul: 7 steg

Video: ArDrone 2.0 Quadcopter Control Unit på MPU6050 och ESP8266 -modul: 7 steg

Video: ArDrone 2.0 Quadcopter Control Unit på MPU6050 och ESP8266 -modul: 7 steg
Video: Parrot AR Drone Full Review 2024, Juli
Anonim
Image
Image
Ansluter ESP8266 till Ar Drone 2.0 -åtkomstpunkten
Ansluter ESP8266 till Ar Drone 2.0 -åtkomstpunkten

Storleken, priset och tillgängligheten för Wi-Fi gör att du kan skapa en budgetkontrollenhet för ArDrone 2.0 quadrocopter på ESP8266-modulen (priser på AliExpress, Gearbest). För kontroll kommer vi att använda Gy-521-modulen på MPU6050-chipet (gyroskop, accelerometer).

The Parrot AR. Drone är en radiostyrd quadrocopter, det vill säga en helikopter med fyra huvudrotorer placerade på avlägsna diagonala balkar. AR. Drone körs själv på Linux-operativsystemet, och nästan alla Android- eller iOS-pekskärms-smarttelefoner eller surfplattor kan fungera som fjärrkontroll för quadcoptern. Avståndet för stabil kontroll över Wi-Fi är från 25 till 100 meter och beror på rummet och väderförhållandena, om flygningar sker på gatan.

Steg 1: Anslutning av ESP8266 till Ar Drone 2.0 -åtkomstpunkten

När den är aktiverad, AR. Drone skapar en SSIS -åtkomstpunkt "ardrone_XX_XX". Ansluter utan lösenord.

Låt oss försöka ansluta till Ar. Dron -åtkomstpunkten med AT -kommandon Anslut ESP8266 -kortet till datorns com -port via UART USB -adapter strömförsörjning 3,3 V.

Öppna Arduino IDE, seriell portmonitor och skicka AT -kommandon till ESP -kortet (quadcoptern måste vara aktiverad)

Steg 2: Kommunikation med AR. Drone utförs med AT -kommandon

Kommandon skickas till AR. Drone som UDP- eller TCP -paket;

Ett enda UDP -paket måste innehålla minst ett fullständigt kommando eller mer. Om paketet innehåller mer än ett kommando används tecknet 0x0A för att separera kommandona.

Strängar kodas som 8-bitars ASCII-tecken;

Den maximala kommandolängden är 1024 tecken;

Det finns en 30 MS fördröjning mellan kommandon.

Kommandot består av

AT * [kommandonamn] = [kommandon sekvensnummer som en sträng] [, argument 1, argument 2 …]

Lista över huvud AT -kommandon för att styra AR. Drönare:

AT * REF används för start, landning, återställning och nödstopp;

AT*PCMD-detta kommando används för att styra AR. Drönarrörelse;

AT*FTRIM - på horisontalplanet;

AT*CONFIG-konfigurerande AR. Drone parametrar;

AT*LED ställer in LED-animationer på AR. Drönare;

AT*ANIM-installation av flyganimering på AR. Drönare.

AT * COMWDG-watchdog reset command-vi skickar det ständigt till quadcopter.

Följande portar används för kommunikation:

Port 5556-UDP-kommandon till AR. Drönare;

Port 5554-UDP-mottagande datapaket från AR. Drönare;

Port 5555-Svara strömma videopaket från AR. Drönare;

Port 5559-TCP-paket för kritisk data som inte går förlorad, vanligtvis för konfiguration.

Klienten kopplar från UDP -porten efter en fördröjning på 2 sekunder efter att det sista kommandot skickats !!! - därför måste du ständigt skicka kommandon, vid behov- AT*COMWDG.

Överväg att få navigationsdata från ARDrone (Port 5554-UDP). Navigationsdatapaketet i demoläge är 500 byte långt. Om något går fel kan drönaren skicka ett paket på 32 och 24 byte. Om paketet är 24 byte långt betyder det att port 5554 är i BOOTSTRAP -läge och du måste ansluta till porten igen för att växla till demoläge ARDrone kan överföra navigationsdata till klienten i två former:

förkortad (eller demo), 500 byte i storlek. komplett.

För att få demodata skickar du först fyra byte 0x01, 0x00, 0x00, 0x00 till port 5554 och skickar sedan ett kommando till port 5556

AT*CONFIG = "+(seq ++)+", / "general: navdata_demo \", / "TRUE \" där seq är kommandonas sekventiella nummer.

Navigationsdatapaketets struktur. Det finns 4 namngivna värden i början av paketet:

32-bitars paketrubrik: helikopterstatusflaggor 32 bitar;

sekvensnumret för det sista kommandot som skickades till helikoptern av klienten 32 bitar;

synflagga 32 bitar. Nästa-navdata-alternativet Rubrik: 20-23.

Navdata -alternativet har följande fält:

BATTERI = 24; batteriladdning i procent;

PITCH = 28; lutningsvinkel längs längdaxeln;

ROLL = 32; lutningsvinkel i förhållande till tväraxeln;

JAW = 36; rotationsvinkel i förhållande till den vertikala axeln;

HÖGDOM = 40; höjd;

VX = 44; x-axelhastighet;

VY = 48; y-axels hastighet;

VZ = 52; hastighet på z -axeln.

Steg 3: Anslutning av Nokia 5110 -skärmen till ESP8266 -kortet

Ansluta Nokia 5110 -skärmen till ESP8266 -kortet
Ansluta Nokia 5110 -skärmen till ESP8266 -kortet

Anslut Nokia 5110 -skärmen till ESP8266 -modulen och mata ut vissa navigeringsdata till den och till den seriella portmonitorn

Steg 4: Skaffa navigeringsdata och visa dem på Nokia5110 -skärmen

Få navigationsdata och visa dem på Nokia5110 -skärmen
Få navigationsdata och visa dem på Nokia5110 -skärmen

Ladda ner (skiss ardrone_esp8266_01. Ino) och observera utmatningen av navigeringsdata till serieporten och skärmen.

Steg 5: Skicka start- och landningskommandon

Nu kommer vi att lägga till vårt projekt start och landning av quadcopter med kommandon från fjärrkontrollen. För att starta måste du skicka ett kommando

AT*REF = [Sekvensnummer], 290718208

För landning

AT*REF = [Sekvensnummer], 290717696

Innan start måste du skicka ett kommando för horisontell kalibrering, annars kommer Ar Drone inte att kunna stabilisera under flygning.

AT * F TRIM = [Sekvensnummer]

Ladda upp skissen ardrone_esp8266_02.ino () till ESP8266 Board, sätt på Ar Drone 2.0 quadcopter och kontrollera knappens funktion. När du klickar på start, nästa gång du klickar-landning osv.

Steg 6: Anslutning av MPU6050 till styrning av Ardrone 2.0

Ansluter MPU6050 till styrning av Ardrone 2.0
Ansluter MPU6050 till styrning av Ardrone 2.0
Ansluter MPU6050 till styrning av Ardrone 2.0
Ansluter MPU6050 till styrning av Ardrone 2.0

Sensorer för att bestämma positionen i rymden används för att styra fyrdubbar. MPU6050 -chipet innehåller både en accelerometer och ett gyroskop ombord, samt en temperatursensor. MPU6050 är huvudelementet i Gy-531-modulen (bild 15.44). Förutom detta chip innehåller modulkortet den nödvändiga MPU6050-bindningen, inklusive pull-up-motstånd i I2C-gränssnittet, samt en 3,3-volts spänningsstabilisator med ett litet spänningsfall (vid strömförsörjning på 3,3 volt, utsignalen från stabilisator kommer att vara 3 exakt volt) med filterkondensatorer.

Ansluter till mikrokontrollern med I2C -protokollet.

Steg 7: Kontrollera Quadcopter med MPU6050

Styra Quadcopter med MPU6050
Styra Quadcopter med MPU6050

Med hjälp av accelerometern och gyroskopet kan du bestämma avvikelsen på x- och y -axlarna och avvikelsen "förvandlas" till kommandon för att flytta quadcopter längs motsvarande axlar. Översättning av avläsningarna från sensorn till avböjningsvinkeln.

kommandot att skicka till Ar Drone för flygkontroll

AT*REF = [Sekvensnummer], [Flagga bitfält], [Rulla], [Pitch], [Gaz], [Yaw]

Värdena för Roll and Pitch i intervallet -1 till 1 hämtas från tabellen const int float , indexet motsvarar avvikningsvinkeln beräknad från mu6050 sensordata.

Ladda upp skissen ardrone_esp8266_03.ino till ESP8266 Board, sätt på ar Drone 2.0 quadrocopter och kontrollera hur fjärrkontrollen fungerar.

Rekommenderad: