Sommario:

Unità di controllo quadricottero ArDrone 2.0 su modulo MPU6050 e ESP8266: 7 passaggi
Unità di controllo quadricottero ArDrone 2.0 su modulo MPU6050 e ESP8266: 7 passaggi

Video: Unità di controllo quadricottero ArDrone 2.0 su modulo MPU6050 e ESP8266: 7 passaggi

Video: Unità di controllo quadricottero ArDrone 2.0 su modulo MPU6050 e ESP8266: 7 passaggi
Video: A R Drone 2 0 Elite Edition la recensione 2024, Luglio
Anonim
Image
Image
Collegamento dell'ESP8266 all'Access Point Ar Drone 2.0
Collegamento dell'ESP8266 all'Access Point Ar Drone 2.0

Le dimensioni, il prezzo e la disponibilità del Wi-Fi consentono di realizzare un'unità di controllo economica per il quadricottero ArDrone 2.0 sul modulo ESP8266 (prezzi su AliExpress, Gearbest). Per il controllo, utilizzeremo il modulo Gy-521 sul chip MPU6050 (giroscopio, accelerometro).

Il pappagallo AR. Il drone è un quadricottero radiocomandato, ovvero un elicottero con quattro rotori principali posti su remote travi diagonali. L'AR. Il drone stesso funziona sul sistema operativo Linux e quasi tutti gli smartphone o tablet touch-screen Android o iOS possono fungere da telecomando per il quadricottero. La distanza di controllo stabile tramite Wi-Fi va da 25 a 100 metri e dipende dalla stanza e dalle condizioni meteorologiche, se i voli avvengono per strada.

Passaggio 1: collegamento dell'ESP8266 all'access point Ar Drone 2.0

Quando abilitato, AR. Il drone crea un punto di accesso SSIS "ardrone_XX_XX". Connessione senza password.

Proviamo a connetterci all'access point Ar. Dron tramite i comandi AT Collegare la scheda ESP8266 alla porta com del computer tramite l'alimentatore UART USB adattatore 3,3 V.

Apri l'IDE Arduino, il monitor della porta seriale e invia i comandi AT alla scheda ESP (il quadricottero deve essere abilitato)

Passaggio 2: comunicazione con AR. Il drone viene eseguito utilizzando i comandi AT

I comandi vengono inviati ad AR. Drone come pacchetti UDP o TCP;

Un singolo pacchetto UDP deve contenere almeno un comando completo o più; Se il pacchetto contiene più di un comando, il carattere 0x0A viene utilizzato per separare i comandi.

Le stringhe sono codificate come caratteri ASCII a 8 bit;

La lunghezza massima del comando è di 1024 caratteri;

C'è un ritardo di 30 MS tra i comandi.

Il comando è composto da

AT * [nome comando] = [numero sequenza comando come stringa] [, argomento 1, argomento 2 …]

Elenco dei principali comandi AT per il controllo dell'AR. Drone:

AT * REF-utilizzato per decollo, atterraggio, ripristino e arresto di emergenza;

AT*PCMD-questo comando viene utilizzato per controllare AR. Movimento del drone;

AT*FTRIM - sul piano orizzontale;

AT*CONFIG-configurazione AR. Parametri del drone;

AT*LED: imposta le animazioni LED su AR. drone;

AT*ANIM installa l'animazione di volo su AR. Drone.

AT * COMWDG - comando reset watchdog - lo inviamo costantemente al quadricottero.

Le seguenti porte vengono utilizzate per la comunicazione:

Port 5556-UDP-invio di comandi ad AR. drone;

Porta 5554-UDP che riceve pacchetti di dati da AR. drone;

Porta 5555-Rispondi in streaming di pacchetti video da AR. drone;

Pacchetti porta 5559-TCP per dati critici che non possono essere persi, in genere per la configurazione.

Il client si disconnette dalla porta UDP dopo un ritardo di 2 secondi dall'invio dell'ultimo comando!!! - pertanto, è necessario inviare costantemente comandi, se necessario-AT*COMWDG.

Prendi in considerazione l'acquisizione dei dati di navigazione da ARDrone (porta 5554-UDP). Il pacchetto dati di navigazione in modalità demo è lungo 500 byte. Se qualcosa va storto, il drone può inviare un pacchetto da 32 e 24 byte. Se il pacchetto è lungo 24 byte significa che la porta 5554 è in modalità BOOTSTRAP ed è necessario riconnettersi alla porta per portarla in modalità Demo ARDrone può trasmettere i dati di navigazione al client in due forme:

abbreviato (o demo), di 500 byte. completare.

Per ottenere i dati demo, inviare prima quattro byte 0x01, 0x00, 0x00, 0x00 alla porta 5554, quindi inviare un comando alla porta 5556

AT*CONFIG="+(seq++)+", \"general:navdata_demo\", / " TRUE\" dove seq è il numero sequenziale del comando.

Struttura del pacchetto dati di navigazione. Ci sono 4 valori denominati all'inizio del pacchetto:

Intestazione del pacchetto a 32 bit: flag di stato dell'elicottero 32 bit;

il numero progressivo dell'ultimo comando inviato all'elicottero dal client 32 bit;

flag di visione 32 bit. Next-l'opzione navdata Header: 20-23.

L'opzione navdata ha i seguenti campi:

BATTERIA = 24; carica della batteria in percentuale;

PASSO = 28; angolo di inclinazione lungo l'asse longitudinale;

RULLO = 32; angolo di inclinazione rispetto all'asse trasversale;

imbardata = 36; angolo di rotazione rispetto all'asse verticale;

ALTITUDINE = 40; altezza;

VX = 44; velocità dell'asse x;

VY = 48; velocità dell'asse y;

VZ = 52; velocità sull'asse z.

Passaggio 3: collegamento del display Nokia 5110 alla scheda ESP8266

Collegamento del display Nokia 5110 alla scheda ESP8266
Collegamento del display Nokia 5110 alla scheda ESP8266

Collega il display del Nokia 5110 al modulo ESP8266 e invia alcuni dati di navigazione ad esso e al monitor della porta seriale

Passaggio 4: ottenere i dati di navigazione e visualizzarli sul display del Nokia5110

Ottenere i dati di navigazione e visualizzarli sul display del Nokia5110
Ottenere i dati di navigazione e visualizzarli sul display del Nokia5110

Scarica (sketch ardrone_esp8266_01.ino) e osserva l'output dei dati di navigazione sulla porta seriale e sullo schermo del display.

Passaggio 5: invio dei comandi di decollo e atterraggio

Ora aggiungeremo al nostro progetto il decollo e l'atterraggio del quadricottero con comandi dal telecomando. Per decollare, devi inviare un comando

AT*REF=[Numero di sequenza], 290718208

Per l'atterraggio

AT*REF=[Numero di sequenza], 290717696

Prima del decollo, è necessario inviare un comando per la calibrazione orizzontale, altrimenti l'Ar Drone non sarà in grado di stabilizzarsi durante il volo.

AT * F TRIM=[Numero di sequenza]

Carica lo schizzo ardrone_esp8266_02.ino () sulla scheda ESP8266, accendi il quadricottero Ar Drone 2.0 e controlla il funzionamento del pulsante. Quando fai clic per il decollo, la prossima volta che fai clic - atterraggio, ecc.

Passaggio 6: collegamento di MPU6050 per controllare l'Ardrone 2.0

Collegamento di MPU6050 per controllare l'Ardrone 2.0
Collegamento di MPU6050 per controllare l'Ardrone 2.0
Collegamento di MPU6050 per controllare l'Adrone 2.0
Collegamento di MPU6050 per controllare l'Adrone 2.0

I sensori per la determinazione della posizione nello spazio vengono utilizzati per il controllo dei quadricotteri. Il chip MPU6050 contiene sia un accelerometro che un giroscopio a bordo, oltre a un sensore di temperatura. l'MPU6050 è l'elemento principale del modulo Gy-531 (Fig. 15.44). Oltre a questo chip, la scheda del modulo contiene l'associazione MPU6050 necessaria, compresi i resistori di pull-up dell'interfaccia I2C, nonché uno stabilizzatore di tensione da 3,3 volt con una piccola caduta di tensione (se alimentato a 3,3 volt, l'uscita del stabilizzatore sarà esattamente 3 volt) con condensatori di filtro.

Connessione al microcontrollore utilizzando il protocollo I2C.

Passaggio 7: controllo del quadricottero tramite MPU6050

Controllo del quadricottero tramite MPU6050
Controllo del quadricottero tramite MPU6050

L'uso dell'accelerometro e del giroscopio consente di determinare la deviazione sugli assi x e y e la deviazione "trasformarsi" in comandi per spostare il quadricottero lungo gli assi corrispondenti. Traduzione delle letture ricevute dal sensore nell'angolo di deflessione.

il Comando da inviare all'Ar Drone per il controllo del volo

AT*REF=[Numero di sequenza], [campo di bit flag], [Roll], [Pitch], [Gaz], [Yaw]

I valori di Rollio e Pitch nell'intervallo da -1 a 1 sono presi dalla tabella const int float , l'indice corrisponde all'angolo di deviazione calcolato dai dati del sensore mu6050.

Carica lo schizzo ardrone_esp8266_03.ino sulla scheda ESP8266, accendi il quadricottero ar Drone 2.0 e controlla il funzionamento del telecomando.

Consigliato: