Autopilote IXIR drone

Modélisme & Electronique

Aide au pilotage électronique pour un modèle réduit d'avion : première étape dans réalisation d'un drône

Asservissement des angles de tangage et de roulis d'un planeur avec un montage électronique composé d'un microcontrôleur et d'un accéléromètre

I) Description


Electronique embarquée

Nous disposons d'une aile volante encaissant bien les chocs et d'un microcontrôleur entouré de quelques composants électroniques. L'objectif est de réaliser un asservissement angulaire de l'aile volante IXIR II. L'électronique embarqué détermine les angles que fait le planeur avec l'horizontal et calcule les commandes permettant d'atteindre l'angle de consigne. Les deux angles de consignes, respectivement en roulis et tangage sont transmis à l'avion en vol via un simple ensemble radio commande-récepteur deux voies. Cette réalisation est la continuation d'un projet effectué en 2003 à l'ESIEE.

II) Principe de fonctionnement

Le point sensible de ce projet est l'estimation de l'atitude de l'avion en vol. Plusieurs solutions sont envisageables comme cela est décrit dans les précédents projets de pilote automatique. La solution retenue ici est d'utiliser un unique accéléromètre deux axes placé au centre de l'avion.

Un accéléromètre deux axes permet de mesurer la direction du vecteur force de gravité noté G si le montage électronique n'est soumis à aucune accélération.

L'aile volante, pendant un vol stabilisé, plane en ligne droite à vitesse constante. Elle ne subit dans ce cas aucune accélération.

En supposant que l'avion ne subisse aucune accélération, les mesures de chaque axe indexé par les indices {1,2} de l'accéléromètre s'écrivent : ai = |G| * sin (alphai) avec alphai l'angle de l'axe i avec le plan horizontal. La dérivée de ai par rapport à alphai est maximal pour alphai = 0. Le calcul de alphai sera donc d'autant moins sensible au bruit que l'angle avec l'horizontal est faible. Autour de 0, un développement limité du 1er ordre donne sin (alphai) = alphai. On approxime l'angle alphai ainsi :

alphai =ai/G

Cette relation est précise uniquement autour de l'angle 0. Pour des angles importants, les valeurs d'angles estimées avec cette relation seront plus faibles que leur valeur réelle et entraîneront une sous correction.

Connaissant les deux angles de l'avion avec le plan horizontal, un contrôleur type PID permet de ramener le planeur jusqu'à l'angle de consigne définie par la radio commande.

 

III) Réalisation électronique

Le plan du montage n'est pas donné ici car le prototype a été réalisé "à la volée". Les informations importantes essentielles développées ici devraient permettre de réaliser ce montage.


2 faces de la
carte électronique

La carte électronique est réalisée autour du microcontrôleur PIC 18f1320. Celui-ci capture quatre signaux numériques codés en largeur d'impulsions (PWM pour Pulse Width Modulation). Les deux signaux provenant du récepteur de la radio commande codent les deux voies. Les deux autres signaux PWM générés par l'accéléromètre ADXL213 codent pour les valeurs des accélérations sur chaque axe de l'accéléromètre. Après avoir effectué les calculs, le microcontrôleur génère à son tour deux signaux PWM pour commander les deux servos actionnant les volets de l'aile volante. Il y a donc 6 signaux PWM de fréquences différentes à chronométrer simultanément tout en effectuant les calculs. L'utilisation astucieuse des interruptions est nécessaire pour réaliser un programme à la fois multi-tâches et respectant les contraintes temps réel. Toute erreur de chronométrage de l'un des signaux se propagerait dans le calcul et engendrerait la vibration des volets.

L'horloge est générée par un quartz de 10Mhz. Un circuit PLL interne au microcontrôleur permet de multiplier la fréquence par 4. Une fréquence de fonctionnement plus élevée réduit la difficulté "temps réel", mais elle augmente aussi la tension minimum de fonctionnement du microcontrôleur. Celui-ci étant le coeur du système de pilotage, un dysfonctionnement de cet élément est catastrophique pour le modèle réduit. Le circuit PLL du microcontrôleur n'a donc pas été utilisé.

Quatre éléments Nimh de 500mah de type AAA fournissent à vide un peu plus de 5v. Ils alimentent à la fois le circuit électronique, le récepteur et les servos moteurs. Les servos moteurs drainent un courant important. À Chaque mouvement d'un servos, l'alimentation est parasitée. Il est donc important de découpler l'alimentation des servos avec l'alimentation du circuit à l'aide de capacités et de résistances. La marge de fonctionnement du microcontrôleur est grande du fait qu'à 10Mhz, celui-ci peut fonctionner avec moins de 2,4v. L'accéléromètre est perturbé par les parasites de son alimentation.

Une sortie série permet d'échanger des informations avec un PC. La conversion de voltage entre les +-15V du PC et les +5V du montage électronique se font avec un MAX232 ou équivalent. Celui-ci n'est pas intégré dans le système embarqué.

Les composants discrets CMS ont été soudés sur l'envers du montage. Ceci permet de gagner du poids et de la place.

 

IV) Logiciel embarqué

Le microcontrôleur contient deux algorithmes distincts définissant deux modes de fonctionnement. Le premier permet de mixer les ordres de la télécommande sur les servos comme le ferait un mixer. La télécommande est en prise directe sur les servos via ce mixeur. Le pilotage est "standard". Le second algorithme est le pilote automatique. Celui-ci réalise l'asservissement angulaire.

On peut passer d'un mode de fonctionnement à l'autre sur le terrain. L'activation de l'asservissement angulaire s'effectue en éteignant la télécommande pendant 6 secondes, puis en la rallumant avec la commande de profondeur tirée à fond pendant 3 secondes. Pour réactiver le pilotage classique, il faut éteindre à nouveau la télécommande pendant 6 secondes puis la rallumer avec la commande de profondeur au neutre. Ce système d'activation est à la fois robuste et pratique sur le terrain puisqu'il n'est pas nécessaire d'accéder au montage électronique qui est au fond de l'aile volante.

Les deux algorithmes contiennent un grand nombre de paramètres. Ceux-ci sont réglables via une interface graphique sous Labview.


Onglet de configuration du pilote automatique
sous Labview

On peut distinguer différents types de paramètres :


Installation circuit électronique

Les paramètres intrinsèques à la construction de l'avion définissent les débattements maximum des servos moteurs. Les dissymétries de la tringlerie sont également corrigées. De plus, le montage électronique est callé à plat dans l'avion. Les deux axes de l'accéléromètre sont donc dans le plan défini par les axes longitudinal et transversal de l'avion. Il est nécessaire d'aligner les axes de l'accéléromètre sur ceux de l'avion. Pratiquement, l'alignement précis des axes de l'accéléromètre est difficile. On aligne donc l'accéléromètre virtuellement en calculant le projeté des deux vecteurs accélération sur les deux axes principaux de l'avion. Une matrice de rotation d'angle Theta permet d'effectuer cette transformation. La calibration est réalisée en maintenant l'avion nez vers le sol. Les deux axes virtuels sont transmises à Labview. Le calcul atan2 donne l'angle d'un axe virtuel par rapport à la gravité définie dans le plan de l'accéléromètre. Un curseur définissant Theta permet de le modifier et de ramener ainsi cet angle à 0. L'angle Theta n'est pas transmis directement au microcontrôleur, mais son sinus et cosinus sont transmis évitant ainsi au microcontrôleur d'effectuer des calculs trigonométriques.

De nombreuses courbes définies par 4 portions de droites contrôlent la sensibilité des commandes.

Enfin, le dernier type de paramètre permet de définir les paramètres du pilote automatique. Pour le moment, seule le terme proportionnel du PID est utilisé. La plage de vol de l'avion est aussi réglable : On peut faire correspondre différentes plages de commande d'angle à chacun des deux axes de la télécommande. Ainsi, les angles maximums de commande peuvent être limités à +-20° ou à +-60°.

 

V) Résultats

Quelques vidéos des tests réalisés.

Ces vols ont été réalisé avec un correcteur proportionnel. Les angles de consigne de roulis et de tangage sont contrôlés par la radio commande. Sur ces vols, le gain en tangage était suffisant voir trop important entraînant des oscillations autour du point de consigne. Le gain en roulis lui était trop faible.

Les oscillations obtenues sur l'axe de tangage montrent que l'estimation de l'attitude de l'avion permette de stabiliser l'avion.

Ces vols ont été réalisées à Anglet en août 2005. Ils illustrent aussi la capacité du modèle réduit à encaisser les chocs.


Téléchargez la vidéo DivX 5.11

VI) Améliorations

Liste des améliorations à effectuer :

L'effet des ailerons est proportionnel au carré de la vitesse. Celle-ci est inconnue dans la version actuelle.