Table des matières:

Unité de contrôle quadrirotor ArDrone 2.0 sur module MPU6050 et ESP8266 : 7 étapes
Unité de contrôle quadrirotor ArDrone 2.0 sur module MPU6050 et ESP8266 : 7 étapes

Vidéo: Unité de contrôle quadrirotor ArDrone 2.0 sur module MPU6050 et ESP8266 : 7 étapes

Vidéo: Unité de contrôle quadrirotor ArDrone 2.0 sur module MPU6050 et ESP8266 : 7 étapes
Vidéo: Centrale inertielle faite maison 2024, Juillet
Anonim
Image
Image
Connecter l'ESP8266 au point d'accès Ar Drone 2.0
Connecter l'ESP8266 au point d'accès Ar Drone 2.0

La taille, le prix et la disponibilité du Wi-Fi vous permettent de réaliser une unité de contrôle budgétaire pour le quadricoptère ArDrone 2.0 sur le module ESP8266 (tarifs sur AliExpress, Gearbest). Pour le contrôle, nous utiliserons le module Gy-521 sur la puce MPU6050 (gyroscope, accéléromètre).

Le perroquet AR. Le drone est un quadricoptère radiocommandé, c'est-à-dire un hélicoptère avec quatre rotors principaux placés sur des faisceaux diagonaux distants. L'AR. Le drone lui-même fonctionne sur le système d'exploitation Linux, et presque tous les smartphones ou tablettes à écran tactile Android ou iOS peuvent servir de télécommande pour le quadricoptère. La distance de contrôle stable du Wi-Fi est de 25 à 100 mètres et dépend de la pièce et des conditions météorologiques, si les vols ont lieu dans la rue.

Étape 1: Connecter l'ESP8266 au point d'accès Ar Drone 2.0

Lorsqu'il est activé, AR. Le drone crée un point d'accès SSIS "ardrone_XX_XX". Connexion sans mot de passe.

Essayons de nous connecter au point d'accès Ar. Dron à l'aide des commandes AT Connectez la carte ESP8266 au port com de l'ordinateur via l'alimentation de l'adaptateur USB UART 3,3 V.

Ouvrez l'IDE Arduino, le moniteur de port série et envoyez des commandes AT à la carte ESP (le quadricoptère doit être activé)

Étape 2: Communication avec AR. Le drone est exécuté à l'aide de commandes AT

Les commandes sont envoyées à AR. Drone sous forme de paquets UDP ou TCP;

Un seul paquet UDP doit contenir au moins une commande complète ou plus; Si le package contient plusieurs commandes, le caractère 0x0A est utilisé pour séparer les commandes.

Les chaînes sont codées en caractères ASCII 8 bits;

La longueur maximale de la commande est de 1024 caractères;

Il y a un délai de 30 MS entre les commandes.

La commande consiste en

AT * [nom de la commande] = [numéro de séquence de la commande sous forme de chaîne] [, argument 1, argument 2 …]

Liste des principales commandes AT pour contrôler l'AR. Drone:

AT * REF utilisé pour le décollage, l'atterrissage, la réinitialisation et l'arrêt d'urgence;

AT*PCMD-cette commande est utilisée pour contrôler AR. Mouvement de drones;

AT*FTRIM - sur le plan horizontal;

AT*CONFIG-configuration AR. Paramètres du drone;

AT*LED définit des animations LED sur AR. Drone;

AT*ANIM-installation d'animation de vol sur AR. Drone.

AT * COMWDG-commande de réinitialisation du chien de garde - nous l'envoyons constamment au quadricoptère.

Les ports suivants sont utilisés pour la communication:

Port 5556-UDP-envoi de commandes à AR. Drone;

Port 5554-UDP recevant des paquets de données d'AR. Drone;

Port 5555-Reply diffuse des paquets vidéo depuis AR. Drone;

Paquets du port 5559-TCP pour les données critiques qui ne peuvent pas être perdues, généralement pour la configuration.

Le client se déconnecte du port UDP après un délai de 2 secondes après l'envoi de la dernière commande !!! - par conséquent, vous devez constamment envoyer des commandes, si nécessaire-AT*COMWDG.

Envisagez d'obtenir les données de navigation de l'ARDrone (port 5554-UDP). Le paquet de données de navigation en mode démo fait 500 octets. En cas de problème, le drone peut envoyer un paquet de 32 et 24 octets. Si le paquet fait 24 octets, cela signifie que le port 5554 est en mode BOOTSTRAP et que vous devez vous reconnecter au port pour le basculer en mode démo. ARDrone peut transmettre des données de navigation au client sous deux formes:

abrégé (ou démo), 500 octets de taille. Achevée.

Pour obtenir des données de démonstration, envoyez d'abord quatre octets 0x01, 0x00, 0x00, 0x00 au port 5554, puis envoyez une commande au port 5556

AT*CONFIG="+(seq++)+", \"general:navdata_demo\", / " TRUE\" où seq est le numéro séquentiel de la commande.

Structure du paquet de données de navigation. Il y a 4 valeurs nommées au début du package:

En-tête de paquet 32 bits: indicateurs d'état de l'hélicoptère 32 bits;

le numéro de séquence de la dernière commande envoyée à l'hélicoptère par le client 32 bits;

indicateur de vision 32 bits. Ensuite, l'option navdata En-tête: 20-23.

L'option navdata comporte les champs suivants:

BATTERIE = 24; charge de la batterie en pourcentage;

PAS = 28; angle d'inclinaison le long de l'axe longitudinal;

ROULEAU = 32; angle d'inclinaison par rapport à l'axe transversal;

LAC = 36; angle de rotation par rapport à l'axe vertical;

ALTITUDE = 40; la taille;

VX = 44; vitesse de l'axe x;

VY = 48; vitesse de l'axe y;

VZ = 52; vitesse sur l'axe z.

Étape 3: connexion de l'écran Nokia 5110 à la carte ESP8266

Connexion de l'écran Nokia 5110 à la carte ESP8266
Connexion de l'écran Nokia 5110 à la carte ESP8266

Connectez l'écran Nokia 5110 au module ESP8266 et envoyez des données de navigation vers celui-ci et vers le moniteur du port série

Étape 4: Obtenir des données de navigation et les afficher sur l'écran Nokia5110

Obtenir des données de navigation et les afficher sur l'écran Nokia5110
Obtenir des données de navigation et les afficher sur l'écran Nokia5110

Téléchargez (sketch ardrone_esp8266_01.ino), et observez la sortie des données de navigation vers le port série et l'écran d'affichage.

Étape 5: Envoi des commandes de décollage et d'atterrissage

Nous allons maintenant ajouter à notre projet le décollage et l'atterrissage du quadcopter avec les commandes de la télécommande. Pour décoller, vous devez envoyer une commande

AT*REF=[Numéro de séquence], 290718208

Pour l'atterrissage

AT*REF=[Numéro de séquence], 290717696

Avant le décollage, vous devez envoyer une commande de calibration horizontale, sinon l'Ar Drone ne pourra pas se stabiliser en vol.

AT * F TRIM=[Numéro de séquence]

Téléchargez le croquis ardrone_esp8266_02.ino () sur la carte ESP8266, allumez le quadcopter Ar Drone 2.0 et vérifiez le fonctionnement des boutons. Lorsque vous cliquez sur le décollage, la prochaine fois que vous cliquez – atterrissage, etc.

Étape 6: Connecter le MPU6050 pour contrôler l'Ardrone 2.0

Connexion du MPU6050 pour contrôler l'Ardrone 2.0
Connexion du MPU6050 pour contrôler l'Ardrone 2.0
Connexion du MPU6050 pour contrôler l'Ardrone 2.0
Connexion du MPU6050 pour contrôler l'Ardrone 2.0

Des capteurs pour déterminer la position dans l'espace sont utilisés pour contrôler les quadricoptères. La puce MPU6050 contient à la fois un accéléromètre et un gyroscope à bord, ainsi qu'un capteur de température. le MPU6050 est l'élément principal du module Gy-531 (Fig. 15.44). En plus de cette puce, la carte du module contient la liaison MPU6050 nécessaire, y compris les résistances de rappel de l'interface I2C, ainsi qu'un stabilisateur de tension de 3,3 volts avec une faible chute de tension (lorsqu'il est alimenté à 3,3 volts, la sortie du stabilisateur sera de 3 volts exactement) avec des condensateurs de filtrage.

Connexion au microcontrôleur à l'aide du protocole I2C.

Étape 7: Contrôle du quadricoptère à l'aide du MPU6050

Contrôler le quadricoptère à l'aide du MPU6050
Contrôler le quadricoptère à l'aide du MPU6050

L'utilisation de l'accéléromètre et du gyroscope vous permet de déterminer la déviation sur les axes x et y, et la déviation "se transforme" en commandes pour déplacer le quadricoptère le long des axes correspondants. Translation des lectures reçues du capteur à l'angle de déviation.

la commande à envoyer à l'Ar Drone pour le contrôle de vol

AT*REF=[Numéro de séquence], [Flag bit-field], [Roll], [Pitch], [Gaz], [Yaw]

Les valeurs de roulis et de tangage comprises entre -1 et 1 sont extraites du tableau const int float , l'indice correspond à l'angle de déviation calculé à partir des données du capteur mu6050.

Téléchargez le croquis ardrone_esp8266_03.ino sur la carte ESP8266, allumez le quadricoptère ar Drone 2.0 et vérifiez le fonctionnement de la télécommande.

Conseillé: