Innholdsfortegnelse:

ArDrone 2.0 Quadcopter Control Unit på MPU6050 og ESP8266 -modul: 7 trinn
ArDrone 2.0 Quadcopter Control Unit på MPU6050 og ESP8266 -modul: 7 trinn

Video: ArDrone 2.0 Quadcopter Control Unit på MPU6050 og ESP8266 -modul: 7 trinn

Video: ArDrone 2.0 Quadcopter Control Unit på MPU6050 og ESP8266 -modul: 7 trinn
Video: Parrot AR Drone Full Review 2024, November
Anonim
Image
Image
Koble ESP8266 til Ar Drone 2.0 -tilgangspunktet
Koble ESP8266 til Ar Drone 2.0 -tilgangspunktet

Størrelsen, prisen og tilgjengeligheten til Wi-Fi lar deg lage en budsjettkontrollenhet for ArDrone 2.0 quadrocopter på ESP8266-modulen (priser på AliExpress, Gearbest). For kontroll vil vi bruke Gy-521-modulen på MPU6050-brikken (gyroskop, akselerometer).

The Parrot AR. Drone er et radiostyrt quadrocopter, det vil si et helikopter med fire hovedrotorer plassert på eksterne diagonale bjelker. AR. Drone kjører selv på Linux-operativsystemet, og nesten hvilken som helst Android- eller iOS-berøringsskjerm-smarttelefon eller nettbrett kan fungere som en fjernkontroll for quadcopter. Avstanden til stabil kontroll over Wi-Fi er fra 25 til 100 meter og avhenger av rommet og værforholdene, hvis flyvninger finner sted på gaten.

Trinn 1: Koble ESP8266 til Ar Drone 2.0 -tilgangspunktet

Når den er aktivert, vil AR. Drone oppretter et SSIS -tilgangspunkt "ardrone_XX_XX". Koble til uten passord.

La oss prøve å koble til Ar. Dron -tilgangspunktet ved hjelp av AT -kommandoer Koble ESP8266 -kortet til datamaskinens comport via strømforsyningen UART USB -adapter 3,3 V.

Åpne Arduino IDE, den serielle portmonitoren, og send AT -kommandoer til ESP -kortet (quadcopter må være aktivert)

Trinn 2: Kommunikasjon med AR. Drone utføres ved hjelp av AT -kommandoer

Kommandoer sendes til AR. Drone som UDP- eller TCP -pakker;

En enkelt UDP -pakke må inneholde minst én fullstendig kommando eller mer; Hvis pakken inneholder mer enn én kommando, brukes tegnet 0x0A til å skille kommandoene.

Strenger er kodet som 8-biters ASCII-tegn;

Maksimal kommandolengde er 1024 tegn;

Det er en 30 MS forsinkelse mellom kommandoer.

Kommandoen består av

AT * [kommandonavn] = [kommandosekvensnummer som en streng] [, argument 1, argument 2 …]

Liste over de viktigste AT -kommandoene for å kontrollere AR. Drone:

AT * REF brukes til start, landing, tilbakestilling og nødstopp;

AT*PCMD-denne kommandoen brukes til å kontrollere AR. Drone bevegelse;

AT*FTRIM - på horisontalplanet;

AT*CONFIG-konfigurere AR. Drone parametere;

AT*LED setter LED-animasjoner på AR. Drone;

AT*ANIM-installering av flyanimasjon på AR. Drone.

AT * COMWDG-watchdog reset-kommando-vi sender den konstant til quadcopter.

Følgende porter brukes til kommunikasjon:

Port 5556-UDP-sendingskommandoer til AR. Drone;

Port 5554-UDP-mottakende datapakker fra AR. Drone;

Port 5555-Svarstrøm videopakker fra AR. Drone;

Port 5559-TCP-pakker for kritiske data som ikke kan gå tapt, vanligvis for konfigurasjon.

Klienten kobler seg fra UDP -porten etter en forsinkelse på 2 sekunder etter å ha sendt den siste kommandoen !!! - derfor må du hele tiden sende kommandoer, om nødvendig-AT*COMWDG.

Vurder å få navigasjonsdata fra ARDrone (Port 5554-UDP). Navigasjonsdatapakken i demomodus er 500 byte lang. Hvis noe går galt, kan dronen sende en pakke på 32 og 24 byte. Hvis pakken er 24 byte lang betyr dette at port 5554 er i BOOTSTRAP -modus, og du må koble til porten på nytt for å bytte den til demomodus ARDrone kan overføre navigasjonsdata til klienten i to former:

forkortet (eller demo), 500 byte i størrelse. fullstendig.

For å få demodata, send først fire byte 0x01, 0x00, 0x00, 0x00 til port 5554, og send deretter en kommando til port 5556

AT*CONFIG = "+(seq ++)+", / "general: navdata_demo \", / "TRUE \" der seq er sekvensielt nummer for kommandoen.

Oppbygning av navigasjonsdatapakken. Det er 4 navngitte verdier i begynnelsen av pakken:

32-biters pakkeoverskrift: helikopterstatusflagg 32 bits;

sekvensnummeret til den siste kommandoen sendt til helikopteret av klienten 32 bits;

visjonsflagg 32 bits. Neste-alternativet navdata-overskrift: 20-23.

Navdata -alternativet har følgende felt:

BATTERI = 24; batteriladning i prosent;

PITCH = 28; hellingsvinkel langs lengdeaksen;

RULL = 32; hellingsvinkel i forhold til tverrgående akse;

YAW = 36; rotasjonsvinkel i forhold til den vertikale aksen;

HØYDE = 40; høyde;

VX = 44; x-aksen hastighet;

VY = 48; y-aksen hastighet;

VZ = 52; hastighet på z -aksen.

Trinn 3: Koble Nokia 5110 -skjermen til ESP8266 -kortet

Koble Nokia 5110 -skjermen til ESP8266 -kortet
Koble Nokia 5110 -skjermen til ESP8266 -kortet

Koble Nokia 5110 -skjermen til ESP8266 -modulen og send ut noen navigasjonsdata til den og til den serielle portmonitoren

Trinn 4: Få navigasjonsdata og vise dem på Nokia5110 -skjermen

Få navigasjonsdata og vise dem på Nokia5110 -skjermen
Få navigasjonsdata og vise dem på Nokia5110 -skjermen

Last ned (skisse ardrone_esp8266_01. Ino), og observer utdataene fra navigasjonsdata til den serielle porten og displayet.

Trinn 5: Sende start- og landingskommandoer

Nå vil vi legge til vårt prosjekt start og landing av quadcopter med kommandoer fra fjernkontrollen. For å ta av, må du sende en kommando

AT*REF = [Sekvensnummer], 290718208

For landing

AT*REF = [Sekvensnummer], 290717696

Før start må du sende en kommando for horisontal kalibrering, ellers vil ikke Ar Drone kunne stabilisere seg under flyging.

AT * F TRIM = [Sekvensnummer]

Last opp skissen ardrone_esp8266_02.ino () til ESP8266 -kortet, slå på Ar Drone 2.0 quadcopter og kontroller knappens drift. Når du klikker på start, neste gang du klikker-landing osv.

Trinn 6: Koble MPU6050 til Control Ardrone 2.0

Koble MPU6050 til Control Ardrone 2.0
Koble MPU6050 til Control Ardrone 2.0
Koble MPU6050 til Control Ardrone 2.0
Koble MPU6050 til Control Ardrone 2.0

Sensorer for å bestemme posisjonen i rommet brukes til å kontrollere quadrocopters. MPU6050 -brikken inneholder både et akselerometer og et gyroskop om bord, samt en temperatursensor. MPU6050 er hovedelementet i Gy-531-modulen (fig. 15.44). I tillegg til denne brikken inneholder modulkortet den nødvendige MPU6050-bindingen, inkludert pull-up-motstander fra I2C-grensesnittet, samt en 3,3-volt spenningsstabilisator med et lite spenningsfall (når den drives med 3,3 volt, vil utgangen til stabilisatoren vil være 3 nøyaktig volt) med filterkondensatorer.

Koble til mikrokontrolleren ved hjelp av I2C -protokollen.

Trinn 7: Kontrollere Quadcopter ved hjelp av MPU6050

Kontrollere Quadcopter ved hjelp av MPU6050
Kontrollere Quadcopter ved hjelp av MPU6050

Ved hjelp av akselerometeret og gyroskopet kan du bestemme avviket på x- og y -aksene, og avviket "blir" til kommandoer for å flytte quadcopter langs de tilsvarende aksene. Oversettelse av avlesningene mottatt fra sensoren til nedbøyningsvinkelen.

kommandoen for å sende til Ar Drone for flykontroll

AT*REF = [Sekvensnummer], [Flagg bitfelt], [Rull], [Pitch], [Gaz], [Yaw]

Verdiene for Roll and Pitch i området -1 til 1 er hentet fra tabellen const int float , indeksen tilsvarer avviksvinkelen beregnet fra mu6050 sensordata.

Last opp skissen ardrone_esp8266_03.ino den til ESP8266 Board, slå på ar Drone 2.0 quadrocopter og sjekk driften av fjernkontrollen.

Anbefalt: