Índice:

Unidade de controle de quadcóptero ArDrone 2.0 no módulo MPU6050 e ESP8266: 7 etapas
Unidade de controle de quadcóptero ArDrone 2.0 no módulo MPU6050 e ESP8266: 7 etapas
Anonim
Image
Image
Conectando o ESP8266 ao Ponto de Acesso Ar Drone 2.0
Conectando o ESP8266 ao Ponto de Acesso Ar Drone 2.0

O tamanho, preço e disponibilidade de Wi-Fi permitem que você faça uma unidade de controle de orçamento para o quadrocopter ArDrone 2.0 no módulo ESP8266 (preços no AliExpress, Gearbest). Para controle, usaremos o Módulo Gy-521 no chip MPU6050 (giroscópio, acelerômetro).

O Parrot AR. Drone é um quadrocóptero controlado por rádio, ou seja, um helicóptero com quatro rotores principais colocados em vigas diagonais remotas. O ar. O próprio Drone é executado no sistema operacional Linux e quase qualquer smartphone ou tablet com tela de toque Android ou iOS pode atuar como um controle remoto para o quadricóptero. A distância de controle estável por Wi-Fi é de 25 a 100 metros e depende do quarto e das condições meteorológicas, se os voos ocorrerem na rua.

Etapa 1: Conectando o ESP8266 ao Ponto de Acesso Ar Drone 2.0

Quando ativado, AR. Drone cria um ponto de acesso SSIS "ardrone_XX_XX". Conectando sem uma senha.

Vamos tentar conectar ao ponto de acesso Ar. Dron usando comandos AT Conecte a placa ESP8266 à porta de comunicação do computador por meio da fonte de alimentação do adaptador UART USB 3.3 V.

Abra o IDE do Arduino, o monitor da porta serial, e envie comandos AT para a placa ESP (o quadcopter deve estar ativado)

Etapa 2: Comunicação com AR. Drone é executado usando comandos AT

Os comandos são enviados para AR. Drone como pacotes UDP ou TCP;

Um único pacote UDP deve conter pelo menos um comando completo ou mais; Se o pacote contém mais de um comando, o caractere 0x0A é usado para separar os comandos.

Strings são codificados como caracteres ASCII de 8 bits;

O comprimento máximo do comando é de 1024 caracteres;

Há um atraso de 30 MS entre os comandos.

O comando consiste em

AT * [nome do comando] = [número da sequência de comando como uma string] [, argumento 1, argumento 2 …]

Lista dos principais comandos AT para controlar o AR. Drone:

AT * REF - usado para decolagem, pouso, reset e parada de emergência;

AT * PCMD - este comando é usado para controlar o AR. Movimento do drone;

AT * FTRIM - no plano horizontal;

AT * CONFIG-configurando AR. Parâmetros do drone;

AT * define animações de LED em AR. Drone;

AT * Animação de vôo de instalação do ANIM no AR. Drone.

AT * COMWDG - comando de reset do watchdog - nós o enviamos constantemente para o quadcopter.

As seguintes portas são usadas para comunicação:

Porta 5556-UDP - enviando comandos para AR. Drone;

Porta 5554-UDP que recebe pacotes de dados do AR. Drone;

Pacotes de vídeo de fluxo da porta 5555-Reply do AR. Drone;

Pacotes da porta 5559-TCP para dados críticos que não podem ser perdidos, geralmente para configuração.

O cliente se desconecta da porta UDP após um atraso de 2 segundos após o envio do último comando !!! - portanto, você deve enviar comandos constantemente, se necessário-AT * COMWDG.

Considere obter dados de navegação do ARDrone (Porta 5554-UDP). O pacote de dados de navegação no modo de demonstração tem 500 bytes de comprimento. Se algo der errado, o drone pode enviar um pacote de 32 e 24 bytes. Se o pacote tiver 24 bytes, isso significa que a porta 5554 está no modo BOOTSTRAP e você precisa se reconectar à porta para alternar para o modo Demo. O ARDrone pode transmitir dados de navegação ao cliente de duas formas:

abreviado (ou demo), 500 bytes de tamanho. completo.

Para obter dados de demonstração, primeiro envie quatro bytes 0x01, 0x00, 0x00, 0x00 para a porta 5554 e, em seguida, envie um comando para a porta 5556

AT * CONFIG = "+ (seq ++) +", / "general: navdata_demo \", / "TRUE \" onde seq é o número sequencial do comando.

Estrutura do pacote de dados de navegação. Existem 4 valores nomeados no início do pacote:

Cabeçalho do pacote de 32 bits: sinalizadores de status do helicóptero de 32 bits;

o número de seqüência do último comando enviado ao helicóptero pelo cliente 32 bits;

visão sinalizador de 32 bits. Em seguida, a opção Navdata Header: 20-23.

A opção navdata possui os seguintes campos:

BATERIA = 24; carga da bateria em porcentagem;

PITCH = 28; ângulo de inclinação ao longo do eixo longitudinal;

ROLL = 32; ângulo de inclinação em relação ao eixo transversal;

YAW = 36; ângulo de rotação em relação ao eixo vertical;

ALTITUDE = 40; altura;

VX = 44; velocidade do eixo x;

VY = 48; velocidade do eixo y;

VZ = 52; velocidade no eixo z.

Etapa 3: conectar o visor Nokia 5110 à placa ESP8266

Conectando o visor Nokia 5110 à placa ESP8266
Conectando o visor Nokia 5110 à placa ESP8266

Conecte o visor Nokia 5110 ao módulo ESP8266 e envie alguns dados de navegação para ele e para o monitor da porta serial

Etapa 4: Obter dados de navegação e exibi-los na tela do Nokia5110

Obter dados de navegação e exibi-los no visor Nokia5110
Obter dados de navegação e exibi-los no visor Nokia5110

Baixe (sketch ardrone_esp8266_01. Ino), e observe a saída dos dados de navegação para a porta serial e a tela do display.

Etapa 5: Envio de comandos de decolagem e pouso

Agora vamos adicionar ao nosso projeto a decolagem e pouso do quadricóptero com comandos do controle remoto. Para decolar, você precisa enviar um comando

AT * REF = [número de sequência], 290718208

Para pouso

AT * REF = [número de sequência], 290717696

Antes da decolagem, deve-se enviar um comando de calibração horizontal, caso contrário o Ar Drone não conseguirá se estabilizar durante o vôo.

AT * F TRIM = [número de sequência]

Carregue o sketch ardrone_esp8266_02.ino () para a placa ESP8266, ligue o Ar Drone 2.0 quadcopter e verifique a operação do botão. Quando você clica na decolagem, na próxima vez que você clicar - pousando, etc.

Etapa 6: Conectando o MPU6050 para controlar o Ardrone 2.0

Conectando MPU6050 para controlar o Ardrone 2.0
Conectando MPU6050 para controlar o Ardrone 2.0
Conectando MPU6050 para controlar o Ardrone 2.0
Conectando MPU6050 para controlar o Ardrone 2.0

Sensores para determinar a posição no espaço são usados para controlar quadrocópteros. O chip MPU6050 contém um acelerômetro e um giroscópio a bordo, bem como um sensor de temperatura. o MPU6050 é o elemento principal do módulo Gy-531 (Fig. 15.44). Além desse chip, a placa do módulo contém a ligação MPU6050 necessária, incluindo resistores pull-up da interface I2C, bem como um estabilizador de tensão de 3,3 volts com uma pequena queda de tensão (quando alimentado a 3,3 volts, a saída do estabilizador será de exatamente 3 volts) com capacitores de filtro.

Conectando-se ao microcontrolador usando o protocolo I2C.

Etapa 7: Controle do Quadcopter usando MPU6050

Controlando o Quadcopter usando MPU6050
Controlando o Quadcopter usando MPU6050

Usar o acelerômetro e o giroscópio permite determinar o desvio nos eixos xey, e o desvio "transformar" em comandos para mover o quadricóptero ao longo dos eixos correspondentes. Tradução das leituras recebidas do sensor para o ângulo de deflexão.

o Comando para enviar ao Ar Drone para controle de vôo

AT * REF = [número de sequência], [campo de bits da bandeira], [Roll], [Pitch], [Gaz], [Yaw]

Os valores de Roll e Pitch no intervalo de -1 a 1 são retirados da tabela const int float , o índice corresponde ao ângulo de desvio calculado a partir dos dados do sensor mu6050.

Faça o upload do esboço ardrone_esp8266_03.ino para a placa ESP8266, ligue o quadrocopter ar Drone 2.0 e verifique o funcionamento do controle remoto.

Recomendado: