modélisation et interface de contrôle d'un...

72
Modélisation et interface de contrôle d'un quadri-rotor Rapport de projet Pierre Beugnet Raphaël Polonowski Nik Khairail Afzan Nik Mohamed Tuteurs : Arben Çela Abdellatif Reama

Upload: hoangminh

Post on 15-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Modélisation et interface de contrôle d'un quadri-rotorRapport de projet

Pierre Beugnet

Raphaël Polonowski

Nik Khairail Afzan Nik Mohamed

Tuteurs :

Arben Çela

Abdellatif Reama

Page 2: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

RemerciementsAvant toute chose, nous souhaiterions remercier les acteurs qui ont participé de près ou de loin au bondéroulement du projet, et plus particulièrement :

M. Cela et M. Reama, enseignants chercheurs au laboratoire COSI, et tuteurs de notre projet, pourleurs conseils avisés et leur disponibilité,

M. Belrepayre, technicien du laboratoire COSI, pour ses conseils pratiques et son aide matérielle,

M. Pereira, du magasin de composants, pour son grand choix de composants,

Le groupe s'étant occupé du projet concernant le robot pendulaire, avec qui nous avons échangébeaucoup d'informations, à savoir : M. Castelli, M. Jossoud et M. Schroeder.

2

Page 3: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Table des matières1. Introduction......................................................................................................................................................................52. Présentation......................................................................................................................................................................6

a. Qu'est-ce qu'un quadri-rotor ?.................................................................................................................................6b. Comment le piloter ?................................................................................................................................................6c. Applications possibles...............................................................................................................................................7

3. Contexte............................................................................................................................................................................8a. Modèle dynamique....................................................................................................................................................8b. Modélisation Simulink.............................................................................................................................................9c. Matériel utilisé..........................................................................................................................................................12d. Travail réalisé............................................................................................................................................................12

4. Travail planifié................................................................................................................................................................13a. Critiques....................................................................................................................................................................13b. Cahier des charges...................................................................................................................................................13

5. Travail effectué...............................................................................................................................................................14a. Etudes théoriques.....................................................................................................................................................14

i. Commande des moteurs par MOSFETs........................................................................................................14ii. La commande par PWM.................................................................................................................................15iii. Les capteurs........................................................................................................................................................17iv. Comment utiliser les capteurs........................................................................................................................21v. Filtrage de Kalman.............................................................................................................................................26vi. Le contrôleur PID............................................................................................................................................31

b. La carte embarquée.................................................................................................................................................33i. Contraintes du système.....................................................................................................................................33ii. Identification des moteurs...............................................................................................................................34iii. Choix du microcontrôleur.............................................................................................................................34

1. Ressources nécessaires.................................................................................................................................342. La famille dsPIC...........................................................................................................................................35

iv. Modules du dsPIC utilisés..............................................................................................................................361. Output/Compare/PWM..........................................................................................................................362. Convertisseur analogique/numérique.....................................................................................................363. Interruption...................................................................................................................................................374. UART.............................................................................................................................................................38

v. Algorithme général............................................................................................................................................40vi. Réalisation de la carte.......................................................................................................................................41

1. Carte du contrôleur.....................................................................................................................................412. Carte des capteurs........................................................................................................................................433. Electronique de puissance..........................................................................................................................444. Routage..........................................................................................................................................................455. Mise en place des cartes..............................................................................................................................46

c. L'interface au sol.......................................................................................................................................................47i. Utilité d'une liaison au sol.................................................................................................................................47ii. La RS-232 en bref..............................................................................................................................................48iii. Schéma de connexion......................................................................................................................................48

3

Page 4: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

iv. Liaison série sous Simulink.............................................................................................................................49v. Interface graphique............................................................................................................................................50

1. RS232 Input..................................................................................................................................................502. Scopes.............................................................................................................................................................513. Sliders.............................................................................................................................................................514. RS-232 Output............................................................................................................................................53

vi. Interfaçage avec une manette de jeu..............................................................................................................54vii. Possibilités.........................................................................................................................................................55

d. Procédure de test.....................................................................................................................................................55i. Démarrage du quadri-rotor :............................................................................................................................55ii. Lancement de la liaison série...........................................................................................................................58iii. Exemple de visualisation.................................................................................................................................59iv. Essais déjà effectués...........................................................................................................................................59v. Validation du système électronique et informatique..................................................................................60

6. Problèmes........................................................................................................................................................................61a. Résolus.......................................................................................................................................................................61

i. Bruit des capteurs, filtrage.................................................................................................................................61ii. Electronique de puissance................................................................................................................................61iii. Programmation du dsPIC..............................................................................................................................61

b. Actuellement............................................................................................................................................................62i. Banc de test..........................................................................................................................................................62ii. Contrôle en translation....................................................................................................................................62iii. Communications..............................................................................................................................................63iv. Autonomie..........................................................................................................................................................63v. Modélisation........................................................................................................................................................63vi. Contrôleur..........................................................................................................................................................64

7. Suggestions.....................................................................................................................................................................65a. Banc de test...............................................................................................................................................................65b. Contrôle en translation..........................................................................................................................................65c. Communications.....................................................................................................................................................66d. Autonomie................................................................................................................................................................66e. Modélisation.............................................................................................................................................................66f. Contrôleur.................................................................................................................................................................67

8. Conclusion.....................................................................................................................................................................689. Bibliographie..................................................................................................................................................................7010. Abstract.........................................................................................................................................................................72

4

Page 5: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Introduction

1. IntroductionCe rapport est la synthèse du travail que nous avons réalisé durant ces cinq semaines de projet passées aulaboratoire COSI.

Les projets sont pour nous une source de grande motivation, celui de 4ème année plus particulièrementencore. D'abord, car c'est le dernier que nous faisons à l'école, et ensuite c'est celui qui s'approche le plus denos affinités techniques, car étant réalisé dans le cadre de la majeure Systèmes Embarqués, majeure que nousavons choisie.

En choisissant ce projet, nous ne savions pas vraiment à quoi nous attendre, car c'était un engin et unconcept que nous n'avions jamais vu auparavant. C'est lorsque nous avons récupéré les rapports des équipesprécédentes que nous avons pu réellement entrer dans le vif du sujet et cerner ce que l'on attendait de nous.

Reprendre un projet déjà entamé était une première pour nous, dès lors on ne savait pas trop par oùcommencer ni par quel bout le prendre ; c'est finalement grâce à nos tuteurs que nous avons pu définir uncahier des charges clair.

Dans ce rapport se trouve la synthèse de ce qui a été fait auparavant, les objections faites et les objectifsrésultants, ainsi que le travail que nous avons réalisé, en théorie et en pratique. Ensuite, sont décrites desprocédures de tests afin de guider les groupes suivants, puis les différents problèmes que nous avonsrencontrés au cours du projet avec les solutions associées, et enfin les suggestions et réflexions que nousavons eu en regard des problèmes rencontrés.

5

Page 6: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Présentation

2. Présentation

a. Qu'est-ce qu'un quadri-rotor ?

Le quadri-rotor est un engin volant doté de quatre rotors placés aux extrémités d’une croix. Ce sont cesquatre rotors qui fournissent la force verticale (portance) qui permet à l’appareil de s’élever. En vol, lequadri-rotor peut évoluer suivant ses axes de lacet, tangage et roulis ainsi qu'en translation dans l'ensembledes directions. Aussi, un tel engin est complètement instable et pour le contrôler, il faut mettre au point unsystème qui pilote la puissance des moteurs individuellement pour contrer l’inclinaison sur les différentsaxes. C'est la réalisation de ce système de stabilisation qui est débattue dans ce rapport.

b. Comment le piloter ?

Avant de penser pouvoir le piloter, il faut arriver à le stabiliser. Pour cela, les quatres moteurs sont sollicitésde la manière suivante :

Axe de roulis : en agissant sur les moteurs gauche et droit, on peut maintenir l'horizontalité. Parexemple, si le quadri-rotor penche à gauche, on augmente la vitesse du moteur gauche tout endiminuant le droit.

Axe de tangage : les moteurs avant et arrière permettent de garder une assiette stable sur cet axe. Sile quadri-rotor est orienté vers l'arrière, il faut donner plus de vitesse au moteur arrière et baissercelle du moteur avant

Ensuite, pour des soucis de commodité, il se doit d'être stabilisé sur son axe de lacet. On réalise cela enagissant sur les moteurs par paires : on augmente la vitesse de rotation de deux moteurs face à face (avant etarrière) et on diminue la vitesse des deux autres (gauche et droite).

Pour finir, l'altitude doit être stable et cela est facilement réalisé en jouant sur la vitesse de rotation del'ensemble des moteurs. On diminue la vitesse des quatre moteurs pour faire descendre le quadri-rotor

6

Page 7: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Présentation

tandis qu'on l'augmente pour le faire monter.

c. Applications possibles

Ce genre de réalisation est très à la mode en ce moment, car il permet de répondre à des problématiques defacilité de pilotage et d'autonomie.

Séduite par ces qualités, la police britannique a fait l'acquisition d'hélico-robots de la même catégorie que lequadri-rotor. Ces drones embarquent une caméra vidéo et un appareil photo pour collecter des peuves sides comportements antisociaux sont détectés.

Aussi, l'armée est très intéressée par ce genre d'engin. Elle organise en effet des concours de drones afind'explorer les nombreuses capacités de ces appareils. On peut facilement imaginer qu'ils peuvent être utilespour explorer des zones dangereuses ou innaccessibles par l'homme.

Enfin, le marché du jouet n'est pas à oublier. De nombreux fans de modélisme sont passionnés par le quadri-rotor et s'amusent à en fabriquer ou à en faire l'acquisition auprès des nombreuses sociétés spécialisées qui ledistribuent.

7

Page 8: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Contexte

3. Contexte

a. Modèle dynamique

Le modèle dynamique du quadri-rotor peut être vu comme un système où les évolutions spatiales duquadri-rotor sont les sorties et la tension de chacun de ses moteurs sont les entrées.

Le modèle est régit par les équations de la mécanique qui le font évoluer sur 6 axes. Il subit des forcesd'accélération de différents types :

La portance : générée par les quatre rotors en rotation, elle permet à l'appareil de s'élever si ellecompense au moins la traînée. Elle s'écrit de la forme : x=b l 4

2−22 sur l'axe de roulis et

y=b l 32−1

2 sur l'axe de tangage avec i2 la vitesse de chaque moteur au carré en

rad / s 2 , b le coefficient de portée en kg.m /rad 2 et l la demi-envergure du quadri-rotor en mètres.

La traînée : résultante des frottements de l'air sur le quadri-rotor, elle est parallèle et opposée à latrajectoire. Son expression est : z=d 1

232−2

2−42 avec d le coefficient de traînée en

kg .m2/ rad 2 .

L'effet gyroscopique : lorsque le quadri-rotor est en rotation sur deux axes, cette force apparaît sur letroisième axe et tend à résister aux mouvements du quadri-rotor. Elle vaut :x=I rotor y31−2−4 et y= I rotor x−3−124 avec I rotor le

moment d'inertie du moteur en kg.m2 et x la vitesse angulaire suivant l'axe des x enrad /s .

En projetant les trois forces précédentes et en ajoutant l'effet sur l'accélération des moments d'inertie surchaque axe, le quadri-rotor réagit alors en roulis, tangage et lacet de la manière suivante :

Équation de la vitesse angulaire suivant l'axe de roulis

8

Modèle

tensions

moteur 1

moteur 2

moteur 3

moteur 4

vitesses angulaires

accélérations

position

x

y

z

= I y− I z

I xb l

42−2

2I x

I rotor1−23−4

I x

Page 9: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Contexte

Équation de la vitesse angulaire suivant l'axe de tangage

Équation de la vitesse angulaire suivant l'axede lacet

Aussi, le quadri-rotor subit des accélérations sur les 3 axes de l’espace. Ces accélérations dépendent de laportance générée par les moteurs notée T i qui vaut : T i=b .i

2 avec i∈{1 ,2 ,3 ,4} chaquemoteur. Du principe de la dynamique : F=m g avec F=∑T i et projetées dans les 3 dimensions del'espace, ces accélérations se résument de la sorte :

Équation de l'accélération suivant l'axe x

Équation de l'accélération suivant l'axe y

Équation de l'accélération suivant l'axe z

b. Modélisation SimulinkLes équations précédentes ont été traduites sous Simulink par les équipes précédentes afin de déterminerun algorithme de contrôle à embarquer par la suite sur le quadri-rotor.

9

= I x−I y

I zd

−122

2−324

2I z

x=cossin cossinsinm ∑

i=1

4

T i

y=sin sincos−cossinm ∑

i=1

4

T i

z=−gcos cosm ∑

i=1

4

T i

= I z− I x

I yb l

32−1

2I y

I rotor1−23−4

I y

Page 10: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Contexte

Une fois les différentes forces modélisées, les premières simulations ont pu confirmer un systèmetotalement instable. Fut alors déterminé un contrôleur agissant par le biais d'un correcteur PID. Ce dernierreçoit l'écart entre l'angle du quadri-rotor donné par intégration des gyroscopes et la consigne en angle, etl'écart entre sa position donnée par une double intégration des accéléromètres et la consigne en position.

10

Page 11: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Contexte

Les simulations réalisées en boucle ouverte et en boucle fermée ont permises de déterminer les coefficientsoptimaux à appliquer à chacun des six PID corrigeant l'ensemble des axes de libertés du système. Ensimulation, le quadri-rotor semblait robuste en réponse à de petites perturbations :

11

Page 12: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Contexte

c. Matériel utiliséAfin de mettre en pratique le résultat des études menées sous Simulink, il est repris la structure d'un quadri-rotor à un jouet du commerce, le X-UFO de Silverlit.

Au départ contrôlable à la télécommande, l'objectif est de remplacer l'électronique par le contrôleur déduitdes simulations afin de rendre le quadri-rotor totalement autonome. Est réutilisé également le lot de deuxbatteries Ni-Mh 12V de 800mAh, qui assureront la fourniture d'énergie à l'engin.

d. Travail réaliséLes équipes précédentes ont entrepris la réalisation de cette électronique de contrôle au moyen d'unmicrocontrôleur MSP430f149 de Texas Instrument. Une ébauche de programme a été faite, mais nontestée.

Aussi, des capteurs ont été interfacés pour déterminer l'état du quadri-rotor. L'accéléromètre 3 axesADXL330 est emprunté à Analog Devices tandis que les deux gyroscopes deux axes sont des IDG300 dechez InvenSense. Ils sont tous les trois montés sur une plaque prêts à être utilisés.

Enfin, des variateurs T-20B de chez Modelcraft sont implémentés afin de commander les moteursconvenablement par le biais d'un signal PPM.

Une plaque a été conçue, sur laquelle on retrouve les capteurs et des filtres passe-bas associés.

12

Page 13: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail planifié

4. Travail planifié

a. Critiques

Quelques critiques peuvent être formulées quant aux choix faits par les précédentes équipes :

Les capteurs bas de gamme étant fortement bruités, il a été envisagé l'application de filtresanalogiques sur les signaux délivrés. Aussi, il s'est révélé que ces filtres, mal dimensionnés, étaienttotalement inutiles.

Le microcontrôleur MSP430 bien que disposant d'une puissance de calculs honnête et defonctionnalités intéressantes, n'est pas en mesure de générer quatre signaux PWM avec des rapportscycliques différents. L'essence même de ce projet étant le pilotage individuel de chacun des moteurs,l'utilisation de ce microcontrôleur est à proscrire.

Les variateurs de puissance ne sont pas adaptés car ils sont en fait destinés à piloter des servo-moteurs de modèles réduits par un signal PPM, traditionnellement généré par une télécommande.Des systèmes de commande plus simples existent.

b. Cahier des charges

Ces différents soucis répertoriés nous ont aidé à définir des objectifs précis dans la réalisation del'électronique :

Mise en place d'un filtrage des signaux : un filtrage numérique sophistiqué semble nécessaire pourdéduire le signal utile noyé dans le bruit délivré par les capteurs. Un filtre de Kalman, mixant aumieux les informations pour déterminer l'état du système, est la solution la plus appropriée à notreproblème.

Conception d'une carte contrôleur : comprend l'implémentation d'un microcontrôleur sur une carteélectronique, programmé par l'algorithme de contrôle développé sous Simulink.

Réalisation d'un montage de puissance : permettant le contrôle de la vitesse de rotation des quatremoteurs commandés par des signaux PWM qui seront générés par le microcontrôleur.

13

Page 14: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

5. Travail effectué

a. Etudes théoriques

i. Commande des moteurs par MOSFETs

Pour pouvoir stabiliser en assiette le quadri-rotor, nous devons contrôler indépendamment la vitesse des 4hélices, et donc des 4 moteurs à courant continu. Cependant, la commande de moteurs à partir dumicrocontrôleur directement est impossible car le courant tiré par un moteur quel qu'il soit, est biensupérieur au courant admis par une patte d'un microcontrôleur, qui est de 25mA. Pour remédier à cela, onfait appel à une interface de puissance.

Le transistor bipolaire est largement utilisé en électronique pour commander un circuit à partir d'uncomposant faible puissance. Cependant, un transistor bipolaire est commandé assez fortement en courant,et étant donné leur gain moyen, les 25mA disponibles en entrée vont être atteints rapidement si on désirequelques ampères en commutation. Le deuxième inconvénient des transistors bipolaires est leur dissipationexcessive de chaleur, nécessitant alors des refroidisseurs imposants.

Le MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) est le transistor convenant à nosbesoins, car contrairement au bipolaire, il ne nécessite quasiment aucun courant de base pour commuter etlaisser passer plusieurs ampères. Voyons plus en détails ses principales caractéristiques :

RDS(ON) : Résistance entre la source et le drain lorsque le MOSFET est ON (interrupteurfermé).

ID(MAX) : Intensité maximale que le transistor peut laisser passer de la source au drain.

PD : Puissance dissipée maximale que le transistor peut supporter.

VGS(TH) : Tension à appliquer en entrée du MOSFET pour pouvoir le commuter.

CISS : Capacitance entre la gate et l'ensemble source-drain.

La puissance dissipée est le premier élément à prendre en compte pour le choix du MOSFET, car cela vadéterminer si un dissipateur sera nécessaire. Pour cela, il faut savoir qu'un MOSFET fonctionnant encommutation dissipe le plus lors du passage de l'interrupteur d'ouvert à fermé et inversement. En effet,lorsque l'interrupteur est fermé (MOSFET ON), VDS est très faible et IDS est élevé, et lorsque

14

Page 15: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

l'interrupteur est ouvert (MOSFET OFF), VDS est élevé et IDS est très faible. Ce n'est donc pas dans cesdeux cas que le MOSFET va dissiper de la chaleur. En revanche, lors du passage de l'état ON à l'état OFF,on peut calculer :

P=I²⋅RDSON=I⋅U

Cependant, lors du passage d'un état à l'autre, le courant et la tension aux bornes du MOSFET n'est pasmaximale, elle est a peu près divisée par 2. On aurait plutôt :

Si l'on continue dans ce raisonnement, la dissipation moyenne va dépendre du temps relatif decommutation par rapport au temps où le MOSFET reste dans un état. Il suffit d'additionner les temps demontée et de descente du MOSFET, et de diviser le tout par la période utilisée pour commuter leMOSFET. La formule devient alors :

Pmoyenne= I2⋅U

2⋅tDont Rt RVofft FtC

T2

avec P en Watts.

Un autre point à prendre en compte pour commander un MOSFET concerne la tension appliquée enentrée VGS qui doit se situer en général entre 5 et 10 volts de plus que la tension VGS(TH). De plus, CISSentre en jeu ici, car avant d'atteindre la tension désirée, il va falloir charger cette capacité. Cette chargenécessite alors un certain courant, qu'il vaut mieux éviter d'amener directement du microcontrôleur. Ledriver de MOSFETs va jouer ce rôle. Ce driver est simplement un buffer à plusieurs entrées comme celle-ci :

La sortie étant en collecteur ouvert, il suffit de tirer une résistance en sortie du composant, à la tensiondésirée, pour avoir une commande identique au signal d'entrée, mais de tension plus élevée. Enfin, c'est ledriver qui va fournir le courant demandé par le MOSFET, donc le microcontrôleur se trouve protégé.

ii. La commande par PWM

La PWM (Pulse Width Modulation) ou MLI (Modulation de Largeur d’Impulsion) en français, est uneméthode qui – comme son nom l’indique – consiste à faire varier un signal électrique non pas en amplitudeni en fréquence, mais en largeur d’impulsion. Explicitons ceci à l’aide d’un schéma :

15

Pcommutation=I2⋅U

2

Page 16: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Les trois signaux ci-dessus ont une fréquence de 20kHz soit une période de 50μs. Les temps Thaut et Tbas

sont les temps que l'on fait varier pour réaliser cette modulation. Par convention, on n'utilise que le tempsThaut pour définir le rapport cyclique, ou Duty Cycle (D.C.) en anglais, qui est donné par la formulesuivante :

(résultat en %)

Dans cet exemple, le premier signal a un D.C. égal à 50%, le second à 75%, et à 25% pour le troisième.

L'intérêt de cette technique est évident pour la commande d'un moteur à travers un MOSFET. En effet, laPWM envoyée au transistor va faire varier la tension moyenne aux bornes du moteur à courant continu. Sion utilise un moteur de 5V par exemple, un cycle de travail de 0% arrêtera le moteur (0V), tandis qu'un

16

Duty Cycle=T haut

T⋅100

Page 17: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

cycle de 50% fera tourner le moteur à la moitié de sa puissance maximale (2,5V), et qu'un cycle de 100% lefera tourner à plein régime (5V).

La fréquence de la PWM est choisie de telle manière à éviter la surcharge de bruit lors du fonctionnementde l'appareil. L'oreille humaine peut idéalement capter les sons de 50Hz à 20kHz. En dessous de la barre des50Hz, la résolution de commande devient trop faible, on ne peut commander correctement le moteur. Avecune fréquence de 20kHz, le sifflement provoqué par les frottements internes du moteur sont quasi-inaudibles pour un humain. Aussi il faut garder à l'esprit que le moteur peut être apparenté à une charge R-L, impliquant des temps de charge et de décharge non négligeables ; donc plus la fréquence sera élevée, etmoins le courant oscillera autour de sa valeur moyenne.

Cependant, il ne faut pas augmenter trop fortement la fréquence de la PWM, car comme vu en (V.a.i.), lapuissance dissipée par le MOSFET dépend du ratio entre le temps de commutation et la fréquence de laPWM, ainsi plus cette dernière sera élevée, plus le MOSFET chauffera.

iii. Les capteurs

Le groupe de l'année dernière avait fait acheter 3 capteurs, 1 accéléromètre 3 axes, et 2 gyroscopes 2 axes.Les 6 axes de libertés sont donc couverts par les capteurs, dont un en double. Il convient avant tout chose deprocéder à l'analyse des performances de ces capteurs, afin de s'assurer qu'ils sont effectivement adaptés ànotre application.

L'accéléromètre

Cet accéléromètre 3 axes est produit par Analog Devices, sous le nom ADXL330. Voici ces principalescaractéristiques :

Le capteur peut mesurer des accélérations allant jusqu'à 3,6g ce qui est largement suffisant pour notreapplication, car le quadri-rotor ne devrait pas faire de mouvements brusques. La sortie est faiblement non-

17

Page 18: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

linéaire à 0,3% de l'étendue mesurable, et ne devrait donc pas poser de problème pour les calculs futurs.

Ce composant possède une sensibilité très correcte de 300mV/g. Notre engin ne subissant la plupart dutemps que l'attraction terrestre, nous pouvons espérer, lorsque l'on fera pivoter le quadri-rotor sur ses axesde roulis et de tangage, obtenir des valeurs d'une excursion d'environ 600mV sur les axes X et Y, et d'environ300mV sur l'axe Z. L'influence de la température sur la sensibilité est très faible, voire négligeable comptetenu des conditions de nos tests qui se feront en intérieur.

La tension à 0g est de 1,5V pour une tension d'alimentation de 3V, on donc peut s'attendre à des valeurs ensortie de capteur allant de 1,2V à 1,8V pour des variations allant de -1g à 1g. Ces valeurs seront affectéestrès faiblement par l'offset dû à la température, qui est de 1mg/°C.

Une caractéristique importante pour un capteur est le bruit en sortie. Ce bruit dépend directement de labande passante en sortie du composant.

Enfin, voici la – très large – bande passante de sortie sans filtre, ainsi que la fréquence de résonnance ducomposant.

Le composant en lui-même est difficile à souder, ainsi la société Sparkfun monte ce composant sur uneplaque permettant une mise en oeuvre immédiate :

18

Page 19: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

D'après la datasheet (page 12), on peut calculer la bande passante du filtre en sortie grâce à cette formule :

La plaque Sparkfun est dotée de condensateurs de 0,1μF en sortie de chaque axe. On a donc :

Ce premier montage restreint de manière considérable la bande passante en sortie des capteurs en éliminantles hautes fréquences. La bande passante connue, il est facile de trouver la densité de bruit correspondante :

Bruit=Densité du Bruit⋅ Bande passante⋅1,6

Et d'après les données de la datasheet :

Bruit X , Y =280⋅50⋅1,6=2,5mg soit 0,7 mV

Bruit Z =350⋅50⋅1,6=3,13 mg soit 0,94mV

Les conséquences de ces bruits se répercuteront en fonction de la résolution du convertisseur analogique-numérique choisi, et bien entendu du filtrage numérique mis en place.

En sus de ces remarques, il est impératif d'avoir une source de tension correctement filtrée, car d'après ladatasheet (page 13), la sensibilité et la tension à 0g sont proportionnelles à la tension d'alimentation ducomposant. Le bruit n'est pas proportionnel à la tension d'alimentation, mais sa valeur dépend de lasensibilité, ainsi, plus la tension augmente, moins le bruit est important.

Le gyroscope

Les deux gyroscopes sont identiques, il sont produits par InvenSense, sous le nom IDG-300. Regardons deplus près ses caractéristiques :

19

F −3db=1

2⋅⋅32K⋅C X ,Y , Z= 5µF

C X ,Y , Z

F X ,Y , Z=5

0,1=50 Hz

Page 20: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Une étendue de 500°/s est bien suffisante pour notre application, vu le peu de mouvements de notre engin ;et même en cas de perturbations, il paraît peu probable d'atteindre les 500°/s. La sensibilité de 2mV/°/ssemble également suffisante puisqu'elle permettra de détecter les mouvements lents de 1°/s minimum, ainsique les mouvements plus rapides. Encore une fois, la précision de ces mesures dépendra de la résolution duconvertisseur analogique-numérique.

Contrairement à l'accéléromètre, la tension au repos et la sensibilité de ce gyroscope ne dépendent pas de latension d'alimentation : tout est calibré et figé lors de la fabrication.

Le composant possède en interne un filtre passe-bas avec une fréquence de coupure de 140Hz. Celui-ci serasuffisant avant de procéder au filtrage numérique.

On peut encore une fois calculer la densité de bruit correspondant à la bande passante des sorties :

Bruit X , Y =0,014⋅140⋅1,6=0,2 ° / s soit 0,4mV

La plaque utilisée est également montée par Sparkfun, car le composant est difficile à souder, et lescomposants externes sont déjà en place :

En regard des fréquences de résonnance des différents capteurs (ADXL330 : 5,5kHz, IDG-300 : 12 et15kHz), la fréquence de la PWM à 20kHz ne devrait pas perturber leur fonctionnement, cependant, il est

20

Page 21: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

possible que la structure du quadri-rotor vibre à une fréquence proche de celles-ci, mais dans ce cas il estimpossible de le savoir.

iv. Comment utiliser les capteurs

Essais

Maintenant que nous connaissons en détails nos capteurs, il faut les tester pour confirmer les valeursattendues, et réfléchir au meilleur moyen d'utiliser ces données pour piloter notre quadri-rotor en angle eten position.

Les premiers essais ont été effectués sur l'axe de tangage, donc avec deux des quatres moteurs allumés, et àdifférentes tensions, afin de se rendre compte du bruit généré par les moteurs et les vibrations de lastructure. Les mouvements sur l'axe de tangage vont être perçus par l'axe Y du gyroscope, et par l'axe X del'accéléromètre. Sur ces graphiques, le gyroscope sera toujours représenté en bleu, et l'accéléromètre en vert.

Ce premier essai a été effectué moteurs éteints. Les données brutes révèlent un retour assez précis sur lemouvement appliqué au quadri-rotor : en haut, le gyroscope fournit la vitesse angulaire, qui varieuniquement lors du mouvement ; et l'accéléromètre donne en quelque sorte l'angle appliqué à l'engin. Enbas, c'est l'accéléromètre en Y qui est représenté en vert, pour s'assurer que le mouvement sur l'axe detangage ne perturbe pas ses acquisitions. Le bruit est dans l'ensemble assez faible, les filtres mis en place surles cartes Sparkfun semblent efficaces et éliminer le maximum de bruit propre au capteur. Dès lors, unfiltrage semble plutôt simple à mettre en oeuvre pour obtenir des courbes lisses.

21

Page 22: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Les moteurs sont maintenant allumés à une tension de 4V :

Dès ce deuxième essai, on se rend compte de la différence de l'influence du bruit généré par les moteurs etles vibrations résultantes entre le gyroscope et l'accéléromètre. Ce dernier est très sensible et semble prendreen compte chaque petite variation de la position de la structure. Le gyroscope est moins affecté et estlégèrement plus bruité que lors de l'essai à 0V. Un filtrage adéquat est maintenant indiscutable, car à 4V lequadri-rotor ne peut pas s'envoler, et avec un tel bruit, la stabilisation est impossible.

Les moteurs sont allumés à une tension de 8V :

Encore une fois, l'accéléromètre est bien plus bruité : tandis que les variations de celui-ci restaient entre -50et +50 lors de l'essai à 4V, elles s'étendent maintenant de -100 à +100. Le gyroscope est beaucoup plusbruité maintenant, les variations au repos sont très prononcées et posent problème.

Les moteurs sont allumés à une tension de 12V :

22

Page 23: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Enfin, cet essai à 12V permet de se rendre compte du bruit potentiel pendant le vol de l'appareil. Les deuxcapteurs sont très bruités, avec des variations se mélangeant tellement qu'il est difficile de distinguerl'information utile. Le filtrage est bien une nécessité pour assurer un contrôle correct.

D'autre part, un paramètre important vient s'ajouter à ces bruits : lorsque la simulation dure plusieursminutes, on relève une dérive importante du gyroscope. Les accéléromètres cependant ne présententaucune dérive au cours du temps.

Calcul des angles

La simulation prévoyait d'intégrer les données des gyroscopes pour obtenir directement l'angle. Voici unetentative d'intégration sur les données récupérées à 0V :

Vu le bruit de sortie des capteurs et la dérive observée, il semble impossible de procéder ainsi. Remarquonsau passage que le gyroscope est plus prompt à réagir à la variation que l'accéléromètre.

S'il n'est pas possible d'obtenir l'angle par le gyroscope, il est pourtant envisageable de calculer l'angle demanière fiable grâce aux accéléromètres. Pour ce faire, regardons de plus près comment obtenir l'angle detangage par exemple :

23

Page 24: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

En ayant les vecteurs accélération sur les 2 axes, on peut obtenir l'angle résultant en calculant l'arctangenteentre les deux. Les figures 1. à 5. illustrent différentes positions du quadri-rotor (le rond vert représentantl'avant de l'engin), et les valeurs des axes X et Z de l'accéléromètre correspondants (représentéesrespectivement par les flèches rouges et bleues). La figure 6. illustre le calcul associé à chaque quadrant pour

24

AccelX = 0AccelZ = 300

AccelX = 150AccelZ = 150

AccelX = -300AccelZ = 0

AccelX = -150AccelZ = 150

AccelX = 300AccelZ = 0 Quadrant 1 :

=atan AccelZAccelX

Quadrant 4 : =atan AccelZ

AccelX360 °

Quadrant 2 : =atan AccelZ

AccelX180°

Quadrant 3 : =atan AccelZ

AccelX180°

zz

zz

zz

=−45 °

=90 °

=−90°

x x

xx

x x

1. 2.

4.3.

5. 6.

=45 °

=0 °

Page 25: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

obtenir l'angle correct.

Cependant, comme on le voit sur les graphiques, ce calcul nécessite qu'on lui retranche 90° pour obtenirl'angle du quadri-rotor. Ainsi on aura l'angle exact par ces quatres formules :

Quadrant 1 :

Quadrant 2 :

Quadrant 3 :

Quadrant 4 :

Par exemple, pour la figure 3., on aurait :

ce qui correspond bien à l'angle du quadri-rotor.

Ces calculs peuvent bien entendu s'appliquer à l'axe de roulis, à ce moment-là on remplacera juste les valeursde l'axe X de l'accéléromètre par les valeurs de l'axe Y.

Calcul de la position

Connaître la position du quadri-rotor dans l'espace est une tâche plus ardue qu'elle ne semble. Pourtant,sachant l'accélération à tout moment, on aurait :

donc,

sachant v0=0 puisque l'engin démarre avec une vitesse nulle. Alors :

et l'algorithme de calcul se limiterait donc à cette ligne :

X i =X i−10,5∗AccelX∗dt∗dt avec dt=1 par exemple, on obtiendrait au final :

X i =X i−10,5∗AccelX

Voici le résultat de cette opération, en ayant effectué un court déplacement de notre accéléromètre sur le

25

quadrirotor=atan AccelZAccelX

−90 °

quadrirotor=atan AccelZAccelX

180°−90°

quadrirotor=atan AccelZAccelX

180 °−90°

quadrirotor=atan AccelZAccelX

360 °−90 °

quadrirotor=atan 150−150

180 °−90 °=−45 °180°−90 °=45 °

a=dvdt

v=a⋅tv0

x=12⋅a⋅t²v0⋅t=

12⋅a⋅t²

Page 26: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

plan horizontal :

La position calculée est faussée car elle dérive rapidement et fortement à cause du bruit de l'accéléromètre.De plus, outre ce problème de dérive nous avons deux problèmes pour la fiabilité de la position :premièrement, il est difficile de distinguer une accélération dûe à un changement de position d'uneaccélération dûe à un changement d'angle ; et deuxièmement, il n'est pas possible de savoir, lorsquel'accélération est nulle, si c'est parceque l'engin a une vitesse constante, ou parcequ'il est vraiment à l'arrêt.

Il faut se rendre à l'évidence : il n'y a pas de moyen simple – avec le matériel à disposition – permettant deconnaître précisément la position d'un objet dans l'espace, sans aide extérieure. La preuve est que le GPS estla technologie la plus répandue aujourd'hui dans le monde pour connaître une position, mais sa précisionne serait pas suffisante pour un quadri-rotor.

Le travail réalisé se concentrera donc sur le filtrage des données des capteurs afin de pouvoir asservircorrectement le quadri-rotor en angle.

v. Filtrage de Kalman

Le filtre de Kalman est un filtre d'estimation récursif. Sa particularité est de pouvoir estimer l'état actuel àpartir du dernier état précédemment estimé et d'une nouvelle mesure. Il diffère en cela des algorithmes detype « batch », car il ne conserve aucun historique des mesures ou des estimations. L'état du filtre estreprésenté par deux variables :

x k∣k : l'état estimé à l'instant k,

P k∣k : la matrice de covariance de l'erreur (mesure de la précision de l'estimation)

L'algorithme de Kalman se déroule en deux phases : la première est la phase prédictive, pendant laquelle lefiltre récupère la dernière valeur de l'état estimé pour estimer l'état à l'instant courant ; la deuxième est laphase de mise à jour, durant laquelle une nouvelle valeur mesurée est introduite, permettant de corrigerl'estimation de la première phase, et ainsi obtenir un état plus précis.

Partie prédictive :

État prédit : x k∣k−1=F k⋅ x k−1∣k−1Bk⋅u k−1

26

Page 27: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Estimation prédite de la covariance : P k∣k−1=F k⋅P k−1∣k−1⋅F kTQk−1

avec

• F k : matrice de transition, qui relie l'état précédent à l'état actuel

• uk : entrée de commande

• Bk : matrice reliant uk à x

• P k∣k−1 : covariance de l'erreur calculée a priori

• P k∣k : covariance de l'erreur calculée a posteriori

• Qk : matrice de covariance du bruit de process

Partie de mise à jour :

Innovation : yk= yk−H k⋅ x k∣k−1

Covariance de l'innovation : Sk=H k⋅Pk∣k−1⋅H kTRk

Gain de Kalman : K k=Pk∣k−1⋅H kT⋅S k

−1

Nouvel état : x k∣k= x k∣k−1K k⋅ y k

Nouvelle covariance : P k∣k = I−K k⋅H k ⋅Pk∣k−1

avec

• yk : mesure du process à l'instant k

• H k : matrice qui relie l'état xk à la mesure yk

• Rk : covariance du bruit de mesure

Application au problème de l'estimation de l'angle du quadri-rotor :

Comme il a été débattu précédemment, l'intégration d'un gyroscope amène une valeur correcte mais biaiséede l'angle, celle-ci dérivant donc rapidement. Bien que l'angle puisse être calculée par les accéléromètres,ceux-ci sont bien plus lent que le gyroscope. L'objectif de ce filtre de Kalman est d'éliminer le biais del'intégration du gyroscope en se basant – pour l'innovation – sur l'angle donné par l'accéléromètre pourcorriger au mieux l'angle et suivre au mieux le biais dans le temps.

Les matrices constantes de l'algorithme sont :

Les valeurs de ces matrices ont été déterminées expérimentalement afin d'obtenir visuellement les meilleurs

27

Rk=Rangle

Qk=[Qangle 00 Qgyro]

Page 28: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

résultats.

Le calcul de l'angle à partir du gyroscope est donné par ces formules :

=−b⋅dt et b=b

avec

• : angle

• : vitesse angulaire

• b : biais

L'état du système est donc défini par :

Code correspondant :

/* Partie prédictive */

/* En ayant fait les développements des différents calculs on peut écrire : */

// Estimation de l'angle

x_angle += dt * ( dotAngle – x_bias );

// Estimation de la matrice de covariance

P_00 += -dt * ( P_10 + P_01 ) + Q_angle * dt;

P_01 += -dt * P_11;

P_10 += -dt * P_11;

P_11 += Q_gyro * dt;

Viennent ensuite les calculs de mise à jour :

yk= yk−H k⋅ x k∣k−1

28

x k=[b]k=[1 −dt0 1 ]k[b]k−1

[dt0 ]k [ 0 ]k−1=[−b⋅dt

b ]P k∣k−1=[1 −dt

0 1 ]k⋅Pk−1∣k−1 ⋅[1 0

−dt 1]kQk−1

⇒[P0,0−dt⋅P1,0−dt⋅P0,1Qangle⋅dt P0,1−dt⋅P1,1

P1,0−dt⋅P1,1 P1,1Qgyro⋅dt]

⇒[P0,0−dt⋅P1,0−dt⋅P0,1 P0,1−dt⋅P1,1

P1,0−dt⋅P1,1 P1,1 ][Qangle 00 Qgyro]

Page 29: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Ici, yk est l'angle donné par le résultat de l'arctangente entre les 2 axes de l'accéléromètre.

Avec H k=[1 0] , on obtient alors yk= yk−k . On peut également calculer la covariance del'innovation :

Puis, le gain de Kalman :

Et le nouvel état corrigé :

x k∣k= x k∣k−1K k⋅ y k

Enfin, la matrice de covariance mise à jour :

P k∣k = I−K k⋅H k ⋅Pk∣k−1

Code correspondant :

/* Partie de mise à jour */

/* En ayant fait les développements des différents calculs on peut écrire : */

// Innovation

y = angle_m - x_angle;

// Covariance de l'innovation

S = P_00 + R_angle;

// Gain de Kalman

K_0 = P_00 / S;

29

Sk=H k⋅Pk∣k−1⋅H kTRk=[1 0 ] Pk∣k−1⋅[10]Rk=P0,0Rangle

K k=Pk∣k−1⋅H kT⋅S k

−1=[P0,0

P1,0]⋅S−1

⇔[b]k=[b]k−1 K k⋅ yk−k

⇒[1 00 1]−[K 0

K 1]⋅[1 0 ]⋅[P0,0 P0,1

P1,0 P1,1]=[1 00 1]−[K0 0

K1 0]⋅[P0,0 P0,1

P1,0 P1,1]⇒[1−K0 0

−K 1 1]⋅[P0,0 P0,1

P1,0 P1,1]=[P0,0−P0,0⋅K 0 P0,1−P0,1⋅K 0

P1,0−P0,0⋅K 1 P1,1−P0,1⋅K1]

Page 30: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

K_1 = P_10 / S;

// Etat mis à jour

x_angle += K_0 * y;

x_bias += K_1 * y;

// Covariance mise à jour

P_00 -= K_0 * P_00;

P_01 -= K_0 * P_01;

P_10 -= K_1 * P_00;

P_11 -= K_1 * P_01;

// Retourne la valeur corrigée de l'angle

return filterdata->x_angle;

Essai et conclusion sur le filtre :

Une fois le filtre implanté dans le DSP, un test a été effectué à 12V, c'est-à-dire au maximum de puissancedes moteurs. Voici les captures d'écrans de cet essai :

30

Page 31: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Les courbes de gauche correspondent aux données brutes des différent capteurs : de haut en bas, on a legyroscope, l'axe Z puis l'axe X de l'accéléromètre. À droite, le résultat de l'angle en sortie du filtre dekalman : c'est la vitesse angulaire intégrée, otée du biais pisté grâce à l'accéléromètre. Le filtre fonctionneparfaitement pour cette application.

vi. Le contrôleur PID

Le régulateur Proportionnel-Intégral-Dérivé (PID), est un contrôleur de système en boucle fermée. Il essayede corriger l'erreur calculée entre une variable mesurée à la sortie du contrôleur et une consigne donnée enentrée, en calculant une action adaptée sensée ajuster la sortie du procédé. Ce régulateur est encore trèsutilisé dans l'industrie.

Le régulateur PID implique 3 paramètres distincts : le terme Proportionnel, le terme Intégral et le termeDérivé. Le terme proportionel détermine l'action directe par rapport à l'erreur calculée, le terme intégralconsidère la somme des erreurs récentes pour réagir, et le terme dérivé détermine la réaction par rapport à lavitesse de changement de l'erreur.

En changeant le coefficient pour chacun des trois termes, on peut changer l'évolution de la sortie en termesde responsivité à une erreur, de dépassement par rapport à la consigne, et d'oscillation autour de cetteconsigne.

Voici la formule donnant la valeur de sortie :

Les schémas suivants illustrent les différentes actions des coefficients Kp, Ki et Kd respectivement :

31

Résultat=K p⋅e t K i⋅∫0

te ⋅d Kd⋅de

dt

Page 32: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Le coefficient Kp présente l'avantage de produire un large changement en sortie par rapport à l'erreur,cependant il peut aussi rendre le système instable s'il est trop grand.

Le gain Ki accélère le mouvement du système vers la consigne et élimine l'erreur résiduelle souvent produitelors d'un contrôle uniquement proportionnel. Un Ki trop fort en revanche, présente un large dépassementet peut faire diverger rapidement le système.

Enfin, le gain Kd permet d'atténuer le dépassement et les oscillations du système, ainsi il permet de corrigerle défaut du terme intégral, mais il ralentit également le système dans l'atteinte de la consigne.

Code correspondant :

// Calcul PID pour l'axe de tangage :

previous_errorT = errorT;

errorT = setpointT - Tangage;

PropT = ((float)KpT/1000.0) * errorT;

IntT = IntT + ((float)KiT/1000.0) * errorT * dt;

DerT = ((float)KdT/1000.0) * (errorT - previous_errorT) * dt;

outputT = PropT + IntT + DerT;

Cet algorithme est effectué à intervalles réguliers sur le micro-contrôleur, le temps dt est donc connu.Les essais effectués sous Simulink sont corrects, et les coefficients du PID trouvés l'année passée semblentjuste, même si la simulation semble trop parfaite pour correspondre au quadri-rotor réel. En voici l'exempleen image, soumis à deux perturbations en roulis et en tangage :

32

Page 33: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Le temps pressant, l'étude du contrôle du quadri-rotor n'a pas été poussée plus loin que ce qui avait été faitl'année précédente, l'objectif étant d'avoir une électronique fonctionnelle qui puisse permettre de testerfacilement un PID ou tout autre type de contrôle.

b. La carte embarquée

i. Contraintes du système

Afin de rendre le quadri-rotor entièrement autonome, il est indispensable d'y embarquer l'ensemble dusystème de contrôle. Ce système est composé :

d'un microcontrôleur exécutant le filtrage numérique et l'algorithme de correction

de capteurs fournissant les informations sur l'état du quadri-rotor

d'un montage de puissance autorisant la commande des moteurs

Aussi l'ensemble des composants nécessitent une source d'énergie qui doit être embarquée sur l'engin. Des

33

Page 34: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

accumulateurs sont donc utilisés mais offrent une autonomie à l'engin de seulement quelques minutes.

ii. Identification des moteurs

La batterie délivrant du +12V, il est vraisemblable que la tension nominale des moteurs soit de 12V. À cettetension, chaque moteur consomme environ 2A.

Tandis que le modèle Simulink possédait des variables ne correspondant pas au quadri-rotor utilisé, ilsemblait intéressant de retrouver ces valeurs pour améliorer le modèle.

Pour obtenir le gain en vitesse des moteurs, un montage comme celui-ci a été mis en place :

En alignant l'émetteur et le récepteur infrarouge, il a été ainsi possible de mesurer précisément, à différentestensions, la vitesse de rotation des moteurs. Le gain est linéaire, et il est d'environ 57rad/s/V, soit541trs/min/V, soit 6500trs/min à 12V.

La poussée a été mesurée à l'aide d'une balance et de poids. Ces différents poids ont été placés dans unenacelle soulevée par le quadri-rotor, jusqu'à atteindre la limite de décollage de l'engin à partir du sol. Unefois la limite trouvée, le tout est pesé : nous obtenons environ 480g, le quadri-rotor seul (avec les plaquesdes capteurs et de contrôle) pesant 270g, et la batterie d'origine pesant 80g.

Ces données peuvent être exploitées dans la modélisation du système. Malheureusement, par manque detemps, elle n'ont pas été utilisées pendant le projet, mais pourront servir plus tard.

iii. Choix du microcontrôleur

1. Ressources nécessaires

Afin de réaliser les tâches d'acquisition des tensions des capteurs, de filtrage numérique, de correction PID,et de commande moteur, l'utilisation d'un microcontrôleur s'imposait. Aussi, il se devait de répondre àcertains critères de performances et de fonctionnalités.

Tout d'abord sont à convertir six tensions analogiques délivrées par trois capteurs, représentant lesaccélérations et les vitesses de rotation dans les six axes de libertés. Cet opération requiert un convertisseur

34

Page 35: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

analogique/numérique dôté de six canaux d'acquisition. La résolution de l'ADC n'est pas à négliger, lescapteurs ayant au mieux une sensibilité de 2mV, le convertisseur doit fournir un résultat sur 12 bits. En effetavec une amplitude de 5V, cela permettra de mesurer une variation minimale de 1,22mV.

Ensuite, les signaux seront à traîter par un filtre de Kalman, gourmand en calcul numérique en virguleflottante. L'utilisation d'un calculateur avec une architecture 16bits est conseillée pour réaliser cesopérations. Toujours dans un soucis de performances, il est également recommandé d'utiliser un circuitépaulé par des opérations arithmétiques cablées, qui se réaliseraient en un cycle d'horloge unique.

Le quadri-rotor disposant par définition de quatre moteurs, le microcontrôleur à retenir disposeranécessairement de la capacité à les commander indépendemment. La commande moteur s'opérant aumoyen d'un signal à modulation de largeur d'impulsion, le calculateur employé sera équipé de quatremodules de génération de signaux PWM, logiquement accompagnés de quatre compteurs.

Enfin, avec pour souci de faciliter le développement du contrôleur (en pouvant agir en temps réel sur lesvaleurs contenues en mémoire par exemple), il semble essentiel que le microcontrôleur à retenir disposed'une liaison série afin qu'il puisse communiquer avec un poste de travail équipé d'une interface RS232.

2. La famille dsPIC

Avec pour objectif de découvrir une nouvelle famille de microcontrôleurs, le choix a été fait de s'orientervers les dsPIC de chez Microchip. Prenant en compte les contraintes exposées précédemment, il fut retenule modèle dsPIC30F4013, microcontrôleur hautes performances à architecture RISC.

Equipé d'un convertisseur analogique/numérique d'une résolution de 12 bits, il permet l'acquisition de 13voies analogiques, chose largement suffisante à l'application. Sa vitesse de conversion de 200 000 samples àla seconde ne devrait pas non plus être un facteur limitant.

Afin d'exécuter nos opérations arithmétiques à une vitesse convenable, le 30F4013 est épaulé par un DSPengine comprenant un multiplicateur/diviseur de 17 x 17 bits câblé, ainsi qu'un additionneur/soustracteurde 40 bits rapide.

Les quatres modules Output/Compare/PWM que possède le dsPIC permettront de générerindépendemment les signaux nécessaires au contrôle de chaque moteur en accord avec des Timers matériels.

Ensuite, l'UART (contrôleur de liaison série) intégré offre la possiblité d'interfacer notre microcontrôleuravec une application tournant sur PC par exemple, afin de piloter le quadri-rotor sans avoir à programmerle dsPIC pour changer ses paramètres.

Enfin, les outils de développement associés sont robustes et gratuits. L'environnement de développementintégré MPLAB est gratuit, tout comme le compilateur C30. Le programmateur officiel est lui payant, maisun petit montage à base de transistors permet de programmer le dsPIC sans frais.

35

Page 36: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

iv. Modules du dsPIC utilisés

1. Output/Compare/PWM

Ce module, présent en quatre exemplaires sur le dsPIC30F4013, permet de générer des signauxcomparativement à une base de temps. Dans le cas du quadri-rotor, seule la fonction de génération designaux PWM est utilisée. Pour la mettre en place, la configuration de plusieurs registres est nécessaire.

Pour calculer la valeur à entrer dans le registre BRGVAL, il faut en premier lieu connaître la vitesse précised'exécution des instructions du microcontrôleur. Celle-ci est conditionnée par deux paramètres : le quartzutilisé ainsi que la PLL associé. Le dsPIC30F4014 peut fonctionner à une vitesse maximale de 30 MIPS,c'est-à-dire, de 30 millions d'instructions à la seconde. En utilisant un quartz de 20MHz, il faut chercher àatteindre la vitesse la plus importante avec les options de la PLL disponibles. Ici est utilisé le mode : HS / 3+ PLL * 4 ; il signifie que la fréquence du quartz est divisée par trois, puis que cette fréquence est multipliéepar quatre. Il est alors obtenu une vitesse de fonctionnement de 26,67 MIPS.

Aussi, la période du signal PWM doit être spécifiée. Comme rappelé dans la partie théorique, pour dépasserle spectre auditif humain, il est commun d'employer une fréquence supérieure à la dizaine de kHz. Il estemployé ici une fréquence de 20 kHz en spécifiant 1333 dans le registre PR2 du Timer2 qui pilote lesmodules PWM. Cette valeur est déduite par un simple calcul, sachant que le dsPIC tourne à 26,67 MIPS :

Ensuite, il faut spécifier le rapport cyclique désiré au travers des registres OCxR (avec x = 1, 2, 3, 4 pourchacun des modules PWM) sachant que la valeur de la période du Timer (1333) représente 100%. Si nousdésirons alors 50% de rapport cyclique, nous inscrivons 666 dans le registre OCxR.

Finalement, il ne reste qu'à indiquer aux modules Output/Compare/PWM qu'ils doivent fonctionner enmode PWM avec pour base de temps le Timer2 et à démarrer ce dernier. Sont configurés pour cela lesregistres OCxCON (avec x = 1, 2, 3, 4 pour chacun des modules PWM) et T2CON de la sorte :

OCxCON = 0x0006

Output Compare Timer Select bit = Timer2 is the clock source for compare

Output Compare Mode Select bits = PWM mode on OCx, Fault pin disabled

T2CON = 0x0001

Timer On bit = Starts 16-bit timer

2. Convertisseur analogique/numérique

L'acquisition des tensions analogiques délivrées par les trois capteurs est réalisée par le module deconversion analogique/numérique. Ses différents registres de configuration permettent de sélectionner les

36

PR2= MIPSfréquence PWM

=2666666720000

=1333,33

Page 37: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

canaux d'acquisition, les tensions de référence ainsi que la vitesse d'acquisition. Il est configuré de la sorte àconvertir à la suite six tensions analogiques sur demande, avec les résultats stockés dans des registresdistincts.

L'acquisition de l'ensemble des canaux de conversion est lancée dans la boucle principale. Conformément àla documentation du convertisseur, il faut dans un premier temps lancer un sampling des différents canaux,par la mise à 1 du bit ASAM situé dans le registre ADCON1. Lorsque ce processus est terminé, il estpossible de lancer la conversion par la remise à zéro du bit ASAM.

Le résultat étant codé sur 12 bits, il nous faut mettre en forme la valeur, que nous désirons en mV. Cela sedéroule ainsi :

AccelX = ((((float)ADCBUF0)*VREFPLUS)/ADCRES) – OffsetAccelX;

AccelY = ((((float)ADCBUF1)*VREFPLUS)/ADCRES) – OffsetAccelY;

AccelZ = ((((float)ADCBUF2)*VREFPLUS)/ADCRES) - OffsetAccelZ + 340;

GyroZ = (((((float)ADCBUF3)*VREFPLUS)/ADCRES) - OffsetGyroZ ) / 2.0;

GyroY = (((((float)ADCBUF4)*VREFPLUS)/ADCRES) - OffsetGyroY ) / 2.0;

GyroX = (((((float)ADCBUF5)*VREFPLUS)/ADCRES) - OffsetGyroX ) / 2.0;

La constante VREFPLUS vaut 5000mV, et correspond à l'étendue du convertisseur analogique/numérique.ADCRES représente la résolution du CAN, qui est de 12 bits. Pour connaître le résultat en mV, il fautsimplement multiplier le résultat de la conversion par l'entendue VREFPLUS, puis le diviser par larésolution ADCRES. Ensuite est soustrait l'offset des capteurs qui a été determiné à la mise en marche duquadri-rotor pour replacer les valeurs à zéro.

L'accéléromètre situé sur l'axe Z étant placé perpendiculairement aux deux autres, nous ajoutons 340mV à lavaleur acquise pour que son zéro représente l'horizontalité du quadri-rotor, et que le calcul de l'arctengantese déroule correctement.

Le résultat des gyroscopes est lui divisé par deux, afin de le convertir en °/s, conformément auxspécifications de la datasheet.

3. Interruption

Le dsPIC30F4013 est capable de dérouter l'exécution de son programme principal suivant de nombreusessources d'interruption. Afin d'exécuter le correcteur PID à une fréquence fixe, il est utilisé une routined'interruption déclenchée sur dépassement de compteur, le Timer1 en l'occurence.

Souhaitant une période de 10 ms pour un microcontrôleur tournant à 26,67 MIPS, il faut calculer lesvaleurs à entrer dans les registres de configuration du compteur :

PrescalerTimer1∗PériodeTimer1=Périodeinterruption∗FréquenceCPU

PrescalerTimer1∗PériodeTimer1=10 ms∗26,67 MIPS=266667

En choisissant un Prescaler de 64, il est ainsi aisé de déterminer la période :

37

Page 38: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Cette valeur est à inscrire au registre TMR1, en complément de la configuration du registre T1CON :

TMR1 = 4166

T1CON = 0x8020

Timer On Control bit = Starts the timer

Timer Input Clock Prescale Select bits = 1:64 prescale value

Il ne reste qu'à autoriser les interruptions sur dépassement du Timer1, et à leur assigner un niveau depriorité :

IPC0 = 0x4000

Timer1 Interrupt Priority bits = Interrupt is priority 4

IEC0 = 0x0008

Timer1 Enable Interrupt bit = Interrupt request enable

4. UART

L'UART, pour Universal Asynchronous Receiver Transmitter, ajoute la possibilité au microcontrôleur decommuniquer avec d'autres périphériques, au travers du standard de communication RS-232. Cela permet,via une interface graphique sur PC, de piloter les différents paramètres du quadri-rotor.

Le débit, bien qu'assez faible, reste suffisant pour cette application où il est précisément de 115,2 kbits/s.Cette vitesse de transmission est spécifiée au module UART via le registre BRGVAL, qui se doit decontenir une valeur calculée par la formule suivante :

Désirant la vitesse de transmission/réception maximale autorisée par le dsPIC, et prenant en compte lafréquence du microcontrôleur de 26,67 MIPS :

Ensuite, le module de communication doit être activé ; cela est réalisé par la configuration suivante de sonregistre U1MODE :

U1MODE = 0x8000

UART Enable bit = UART is enabled

38

PériodeTimer1=266667

64=4166

BRGVAL=MIPS /BAUDRATE 16

−1

BRGVAL=26,67 MIPS /115 200 kbits / s16

−1=13

Page 39: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

1. Transmission

La transmission d'une trame au format ASCII est grandement facilitée par les fonctions dédiées ducompilateur C30. Il faut d'abord fabriquer la trame grâce à la fonction sprintf, provenant de la bibliothèquestandard du C. Par exemple, pour envoyer les angles de tangage, roulis, lacet ainsi que les rapports cycliquesdes quatre signaux PWM, il est utilisé la syntaxe suivante :

sprintf(trame, "%d:%d:%d:%d:%d:%d:%d:%d\n", (int)Tangage, (int)Roulis,

(int)Lacet, (int)PWMAvant, (int)PWMArriere, (int)PWMGauche, (int)PWMDroite,

(int)flag);

Le flag permet de synchroniser l'envoi de la trame du côté interface PC. Ne souhaitant pas recevoir enpermanence les paramètres spécifiés sur le poste de travail pour ne pas surcharger le microcontrôleur, le flagest positionné à 1 régulièrement pour demander à l'application la mise à jour des données.

La fonction putsUART1() de la bibliothèque UART de C30 transmet la trame passée en paramètre ensortie du dsPIC sur sa ligne TX.

putsUART1(trame);

2. Réception

La réception est plus délicate à réaliser : dès réception du premier bit par le module UART, le dsPIC estdétourné vers une routine d'interruption et c'est à l'utilisateur de capturer chaque octet reçu. Pour mettre enplace ce système, il faut donner la plus haute priorité à cette interruption. En effet, la reception ne peut pasêtre interrompue par la première fonction d'interruption (sur dépassement du compteur), celacorromperait les données, et le programme buggerait. Les registres relatifs à ce fonctionnement sont alorsconfigurés de la sorte :

U1STA = 0x0400

Transmit Enable bit = UART transmitter enabled

Receive Interrupt Mode Selection bit = Interrupt flag bit is set when a character is received

IEC0 = 0x0200

UART1 Receiver Interrupt Enable bit = Interrupt request enabled

IPC2 = 0x0070

UART1 Receiver Interrupt Priority bits = Interrupt is priority 7 (highest priorityinterrupt)

Dès réception d'un premier caractère, le programme est dérouté vers la fonction d'interruption associée, etil faut récupérer la trame manuellement. L'idée est d'utiliser un caractère de fin de chaîne facilementidentifiable, car la longueur de la chaîne est variable. Le code embarqué est le suivant :

reception[rxptr] = U1RXREG; // Sauvegarde du caractère

39

Page 40: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

rxptr++; // Incrémente le pointeur

if(reception[rxptr-1] == 'x') // Si fin de chaîne

{

finreception = 1; // Indicateur pour la boucle principale

rxptr = 0; // Remise à zéro du pointeur

flag = 0; // Arrête l'envoi par l'application PC

}

Ne reste qu'à décoder la chaîne de caractères par l'intermédiaire de la fonction standard sscanf() :

sscanf(reception, "pierre:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%dx", &KpT,

&KiT, &KdT, &setpointT, &altitude, &KpR, &KiR, &KdR, &setpointR, &init,

&NewJoyRoll, &NewJoyPitch, &CmdRoll, &CmdPitch, &KpL);

Les paramètres récupérés sont :

Coefficients du correcteur PID sur l'axe de tangage : KpT, KiT, KdT

Consigne en angle sur l'axe de tangage : setpointT

Consigne en altitude : altitude

Coefficients du correcteur PID sur l'axe de roulis : KpR, KiR, KdR

Consigne en angle sur l'axe de roulis : setpointR

Reset de l'application embarquée : init

Trim en tangage et roulis : NewJoyRoll, NewJoyPitch

Commande en tangage et roulis : CmdRoll, CmdPitch

Coefficient du correcteur proportionnel sur l'axe de lacet : KpL

v. Algorithme général

L'idée générale du programme embarqué est relativement simple. Il faut dans l'ordre :

1. Convertir les tensions analogiques des capteurs

2. Mixer les données par le filtre de Kalman

3. Calculer la commande par le correcteur PID

4. Mettre à jour le rapport cyclique des moteurs

Le filtre de Kalman et le correcteur PID devant s'exécuter à une période fixe (choisie ici à 10ms), il estindispensable de les exécuter dans une fonction d'interruption, comme précisé précedemment. Il fautajouter à cela une période d'initialisation des capteurs au démarrage du programme, afin d'enregistrer laposition horizontale.

40

Page 41: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Après analyse des temps d'exécution, on constate comme attendu que l'envoi et la réception de données surla liaison série prend beaucoup de temps, à cause de la faible vitesse limitée par le protocole à 115,2 kbits/s.Mais ceci n'est pas limitant car la condition nécessaire est d'obtenir au moins une nouvelle valeur descapteurs pour chaque exécution de la fonction d'interruption. L'acquisition de la tension des capteursn'occupant seulement 1,8ms de temps CPU, la boucle principale occupe au total 6,5ms de tempsd'exécution et le filtre de Kalman dispose donc sans problème d'une valeur mise à jour à chacune de sesexécutions.

vi. Réalisation de la carte

L'ensemble de l'électronique embarquée est découpé en trois parties :

Une carte avec le microcontrôleur et l'alimentation

Une carte où sont situés les trois capteurs

Un montage de puissance situé au plus près de chaque moteur

1. Carte du contrôleur

Le dsPIC30F4013 ne nécessite pas un cablage particulièrement complexe pour l'alimenter. Il dispose detrois pins à relier à la masse et trois autres à relier au 5V. L'alimentation du convertisseuranalogique/numérique représentée par les pattes AVSS et AVDD sont reliées elles aussi à la masse et au 5Vrespectivement. Un condensateur découple l'ensemble de ces quatre entrées d'alimentation.

Ensuite, l'oscillateur du microcontrôleur est excité par le quartz à 20MHz associé à deux condensateurs de22pF, comme recommandé dans la datasheet.

N'est pas à oublier la connexion de la broche de reset appelée MCLR. Elle se connecte au 5V par

41

Début

Initialisation des capteurs

Acquisition des capteurs

Envoi / réception liaison série

Boucle infinie

Filtrage de Kalman

Correction PID

Mise à jour Duty Cycle PWMFin de la boucle

Fin du programme

1.8ms

4.7ms

0.4ms

Fonction d'interruptionExécutée toutes les 10ms

Page 42: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

l'intermédiaire d'une résistance pour limiter le courant à l'allumage.

La carte du microcontrôleur permet également de générer les trois tensions nécessaires pour alimenterl'ensemble des composants : 3,3V, 5V et 12V. Les composants à logique TTL (microcontrôleur, driver)requièrent une tension de 5V, les trois capteurs fonctionnent à 3,3V, et les moteurs tournent à une tensionnominale de 12V. Il a été retenu le choix d'utiliser des batteries de 12V qui polariseront directement lesmoteurs, tandis que les tensions de 3,3V et 5V seront obtenues par des régulateurs.

42

Page 43: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

La datasheet de ces régulateurs préconise la mise en place de condensateurs de filtrage de 10μF de part etd'autre de chaque régulateur. De plus le courant nécessité par les composants logiques n'étant pasparticulièrement élevé, la presence de dissipateurs thermiques n'est pas obligatoire.

Pour finir est placé également sur cette carte un 74LS07, driver qui, comme expliqué précédemment dans lapartie théorique va permettre de mettre à niveau les signaux PWM générés par le dsPIC. En effet, à la sortiedes broches de PWM, l'amplitude en tension est de 5V, mais pour commander les moteurs sur l'intégralitédu rapport cyclique, nous ajustons les signaux PWM à une amplitude de 12V. Pour cela chaque sortie dudriver est amené au 12V par une résistance de tirage.

2. Carte des capteurs

Afin de permettre leur remplacement plus aisé, il a été retenu de placer les capteurs sur une carte à partentière. Les composants situés sur cette carte sont des plus réduits : uniquement les capteurs y serontsoudés, ainsi qu'une barrette, afin d'y placer un connecteur pour transmettre les tensions des capteurs vers lacarte du contrôle et amener l'alimentation aux composants.

43

Page 44: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

3. Electronique de puissance

Les moteurs consommant un courant élevé (2A à pleine vitesse), le dsPIC est incapable de délivrer une telleintensité. Le montage suivant permet de fournir le courant nécessaire à leur fonctionnement.

Quatre MOSFETs IRF630 sont utilisés pour amplifier le courant. Ces MOSFETs ont été choisis car ils

44

Page 45: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

étaient disponibles de suite en magasin. Ils sont un peu surdimensionnés car si on regarde d'un peu plusprès la datasheet, ils peuvant supporter 9A chacun. On a :

RDS(ON) = 0,35Ω

ID(MAX) = 9A (en continu), 36A (en pulsations)

PD = 75W

VGS(TH) = 3V pour 250μA

CISS = 540pF avec VDS = 25V et f = 1MHz

On peut calculer la puissance dissipée :

Même en prenant une marge de 5 fois le temps normal de commutation, on arriverait à 0,09W, ce qui esttrès correct et ne nécessite pas de refroidissement, qui n'est nécessaire qu'à partir d'1W dissipé. La preuve estqu'en fonctionnement, les MOSFETs sont froids au toucher, ils ne chauffent quasiment pas.

Ils sont donc commandés par un signal PWM en provenance du dsPIC via un cable croisé avec la masse.Une diode de roue libre permet de protéger le circuit en amont et un condensateur découple l'alimentationau plus près du moteur.

4. Routage

La suite de logiciels CADSOFT Eagle répond parfaitement aux besoins de conception du projet. Elle estcomposée d'un éditeur Schematic pour réaliser graphiquement les circuits et d'un éditeur de circuitsimprimés Layout couplé à un routeur automatique.

Après un placement précis des composants et la définition des contraintes en taille des cartes, le routeurréalise le circuit imprimé. Ci-dessous, la représentation de la carte du contrôleur :

45

Pmoyenne= I2⋅U

2⋅tDont Rt RVofft FtC

T2

= 22⋅ 12

2⋅0,074

502

=6⋅0,074

25 =0,018W

Page 46: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

5. Mise en place des cartes

La carte des capteurs est placée au sommet du quadri-rotor, dans les tiges fixées par les équipes précédentes :

La carte du contrôleur est fixée sous le quadri-rotor, au moyen de scotch :

46

Page 47: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Les montages de puissance sont soudés directement sur chaque moteur comme visible en arrière-plan.

c. L'interface au sol

i. Utilité d'une liaison au sol

Avant de créer un système totalement autonome, il semblait primordial de posséder une interface quicommunique avec le système en temps réel, afin de récupérer les différents paramètres et pouvoir lesmodifier. En effet, on peut imaginer l'énorme perte de temps engendrée par la programmation dumicrocontrôleur à chaque modification de variable. Il fallait donc imaginer un dispositif qui puisse mettre àjour la mémoire du dsPIC de manière assez simple, de façon à ne pas avoir à développer une applicationspécifique.

Du point de vue matériel, plusieurs types de communications étaient appropriées au problème :

Liaisons filaires : USB, RS-232, CAN, Ethernet, ...

Liaison sans fil : Zigbee, Bluetooth, Wi-Fi...

L'idéal est bien sur d'utiliser les ondes radios comme moyen de communication pour éviter l'utilisation desfils mais il a été finalement adopté une liaison filaire de type RS-232, pour plusieurs raisons :

Simplicité d'utilisation au niveau logiciel : standard très répandu

Coût modique : un circuit intégré et un câble

Mise en oeuvre matérielle aisée : un simple composant logique

Du point de vue logiciel, il était possible de développer une petite application pour accéder au port série.Néanmoins, il a été retenu d'utiliser le logiciel Simulink, qui permet l'affichage de graphique et de donnéesde manière très simple, sans avoir recours à un éditeur de code.

47

Page 48: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

ii. La RS-232 en bref

RS-232 est une norme qui standardise un port de communication de type série. Il est disponible surpresque tous les PC même s'il a tendance à être remplacer pas le populaire USB. Malgré cela, il reste encoretrès utilisé dans l'industrie notamment, grâce à sa robustesse et à sa simplicité.

Sur la liaison série, les bits d'information (1 ou 0) arrivent successivement, à des intervalles réguliers. L'octetà transmettre est envoyé bit par bit (en commençant par le bit de poids faible) par l'émetteur sur la ligne Txde la machine 1, vers le la ligne Rx de la machine 2. Ce type de liaison est en fait une liaison asynchrone caril n y a pas d'horloge commune entre l'émetteur et le récepteur. Du coup, pour que la communication puissefonctionner correctement, des bits supplémentaires sont indispensables :

Bit de début - bit (start = 0) placé au début du trame.

Bit de fin - bit (stop) placé à la fin du trame.

Exemple de trame de message:

Transmission de $59 (01011001)

Repos Start Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Stop Repos

iii. Schéma de connexion

Pour réaliser la liaison série entre le PC et le quadri-rotor, nous avons utilisé un MAX232 de MAXIM. Ilsert d'interface électrique entre une liaison série TTL (0-5V) et une liaison série RS232 (+12 -12V) et ceavec une simple alimentation 5V.

48

Page 49: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Ce montage est réalisé sur une carte de développement à part entière, cela dans un souci de modularité. Eneffet, sur la carte du contrôleur sont disponibles les connexions Rx et Tx sur des broches spécifiques, il seraitdonc très aisé d'interchanger le moyen de communication, avec une liaison sans fil par exemple.

iv. Liaison série sous Simulink

Au niveau logiciel, Simulink ne disposant pas nativement de la capacité à accéder au port série, il lui a étéajouté un blockset spécifique développé par Leonardo Daga et distribué gratuitement.

Sur l'image ci-dessus sont représentés les différents blocs disponibles dans le blockset qui permettentd'accéder au port série en lecture et en écriture.

49

Page 50: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

v. Interface graphique

La capture d'écran suivante présente l'interface principale globale de l'application. Elle est composée dequatre parties distinctes :

RS232 Input : réceptionne les trames envoyés par le quadri-rotor

Scopes : présente les données sous forme graphique

Sliders : permet de régler les différents paramètres

RS232 Ouput : transmet les données au quadri-rotor

1. RS232 Input

Ce bloc permet de configurer les paramètres de la liaison série ainsi que le format des messages envoyés parle microcontrôleur. La configuration se fait par les blocs RS232 Setup et RS232 Read Format. Le premierbloc permet de spécifier les options de la liaison série (vitesse, parité, contrôle de flux) tandis que le secondrequiert le format de la trame à décoder. Ce format doit être conforme à celui utilisé par le dsPIC lors del'émission (décrit dans le chapitre sur la carte embarqué).

50

Page 51: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Les données décodées sont transmises au sous-système Scopes par le biais de la sortie Visualisation tandisque la dernière valeur représentant le flag se retrouve injecté vers le bloc d'émission.

2. Scopes

Comme son nom l'indique, ce bloc se compose entièrement de graphiques qui permettent de visualiser lesdonnées arrivant du bloc précédent. Il est possible d'ajouter ici des blocs plus ludiques comme un horizonartificiel pour représenter l'assiette du quadri-rotor de manière graphique ou bien une interface permettantla communication avec un simulateur de vol, afin d'afficher le quadri-rotor en temps réel sous FlightSimulator par exemple.

3. Sliders

Le bloc Sliders propose le réglage des coefficients des correcteurs PID, de l'altitude, et permet de redémarrerle microcontrôleur.

51

Page 52: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Sur la figure ci-dessous, nous pouvons voir les trois Sliders qui correspondent à chacun des coefficientsproportionnel, intégral et dérivé du correcteur PID de l'axe de tangage L'interface est identique pour leréglage du PID sur l'axe de roulis. Il est possible également de donner des consignes en altitude ainsi qu'enangle si l'on ne désire pas un vol stationnaire.

52

Page 53: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

4. RS-232 Output

Ce bloc contient le bloc RS232 Write Format qui permet de formatter la chaine du message à envoyer sur laliaison série. Les données qui sont envoyées proviennent des Sliders du sous-système précédent. Cotéquadri-rotor, le microcontrôleur se doit de disposer du même format de trame pour être en mesure de ladécoder.

53

Page 54: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

vi. Interfaçage avec une manette de jeu

Pour offrir un contrôle manuel du quadri-rotor, il a été ajouté une interface pour manette de jeu. Celle-ciest en mesure de recevoir l'état de tout contrôleur configuré sous Windows. Cela permet alors de:

Contrôler l'altitude du quadri-rotor

Trimer l'appareil en vol

Déplacer le quadri-rotor en translation

Ci-dessous est représenté l'affectation des boutons sur une manette:

54

Page 55: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

vii. Possibilités

Simulink est un outil très puissant qui a fortement aidé au développement du quadri-rotor. Aussi, on peutimaginer augmenter les possibilités offertes via cette interface.

Des dizaines de blocksets sont disponibles et permettent des visualisations plus intéressantes que descourbes classiques, et des interfaçages avec des simulateurs de vols par exemple.

De plus, cette interface étant flexible, il est facile de déplacer l'algorithme de filtrage et de correction PIDvers Simulink, voire de le remplacer par un autre type de contrôle ; l'application pouvant récupérer lesdonnées des capteurs par la liaison série, effectuer les calculs, puis réexpédier la commande des moteurs versle dsPIC.

d. Procédure de test

i. Démarrage du quadri-rotor :

Voici le quadri-rotor dans son ensemble :

55

Page 56: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Le câble connecté à la carte possède six fils :

Ces six fils correspondent à :

l'alimentation en +12V : jaune et vert

la masse du montage : fil dénudé

la masse à relier sur la carte RS232 : noir

l'alimentation à relier à la carte RS232 : rouge

56

Page 57: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

les câbles TX et RX ensembles : rouges

On les connecte comme ceci sur la plaque RS232 :

57

Page 58: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

Une fois le quadri-rotor branché comme il se doit, il faut le poser au sol et le plaquer pour empêcher toutdépart inattendu des moteurs. Cette action est nécessaire car il faut également que la phase d'initialisationdes capteurs se fasse à l'horizontal.

Surtout, il faut éviter lors de l'allumage de dépasser les +14V car cela pourrait endommager fortement lesmoteurs.

ii. Lancement de la liaison série

Une fois le quadri-rotor sous tension, il faut rapidement lancer la liaison série sous Simulink pour que leprogramme prenne des valeurs correctes pour la PWM des moteurs. Il faut insérer « inf » dans la casecorrespondant au temps de simulation, puis appuyer sur le bouton Play.

Pour plus de tranquilité lors des premiers essais, mieux vaut mettre tous les coefficients des différents PID àzéro :

Enfin, il est préférable de mettre l'altitude à une faible valeur, 200 par exemple :

58

Page 59: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

iii. Exemple de visualisation

Il est facile à présent de visualiser les angles du quadri-rotor, ainsi que les consignes PWM appliquées enentrée des moteurs :

iv. Essais déjà effectués

Les essais – empiriques – effectués ont révélés des coefficients permettant une stabilisation de quelquessecondes du quadri-rotor. Voici les valeurs de ces coefficients pour les deux axes :

K p=5,5

K i=0,1

59

Page 60: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Travail effectué

K d=10,5

Le transfert sur la liaison série s'effectuant en entiers, on envoie les valeurs en milliers, donc il faut régler lesslides comme cela pour les deux axes :

v. Validation du système électronique et informatique

Le travail réalisé en électronique et en informatique permet de communiquer rapidement et facilement avecle quadri-rotor. Il est possible d'effectuer des tests en changeant les coefficients du PID sans pour autantavoir à reprogrammer le microcontrôleur. Cela s'avère très pratique pour effectuer une batterie d'essais enun temps limité.

Le système fonctionne parfaitement bien que le quadri-rotor ne soit pas complètement stabilisé. Ce résultatpeut être constaté par la vidéo des essais en vol disponible sur le CD-Rom accompagnant ce rapport.

De plus, un deuxième programme du dsPIC est disponible sans l'algorithme PID, le microcontrôleurenvoyant les différents angles filtrés et réceptionnant les valeurs des PWM à envoyer directement auxquatres moteurs. Ainsi, il sera aisé pour les personnes travaillant sur le quadri-rotor dans le futur, de pouvoirmettre en place sous Simulink d'autres types de contrôle sans avoir à reprogrammer le dsPIC constamment.

60

Page 61: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Problèmes

6. Problèmes

a. Résolus

i. Bruit des capteurs, filtrage

Comme évoqué précédemment, le bruit généré par les vibrations des moteurs et de la structure est trèsimportant et pose un problème certain lors du vol du quadri-rotor. Il à été très difficile d'éliminer les bruits :un filtre passe-bas a d'abord été testé, puis un premier algorithme de Kalman qui n'était pas satisfaisant, etenfin l'algorithme que nous avons décrit dans le rapport. À ce jour, l'algorithme que nous avons mis en placeest certainement le plus fiable et précis que nous ayons trouvé.

ii. Electronique de puissance

L'électronique de puissance est peut-être la partie qui nous a posé le plus de problème lors de la réalisationde la carte. En effet, les masses du circuit de contrôle et du circuit de puissance de la première plaque n'ayantpas été séparées, beaucoup de perturbations au niveau de l'alimentation étaient présentes. La plaque decontrôle a dû être refaite en conséquence, avec une séparation claire des masses et des pistes plus larges,comme indiqué sur le schéma Eagle et visible sur le typon en annexe sur le Cd-Rom.

Un autre problème était le découplage de la masse au niveau des différents composants du circuit. Alors quela première plaque tirée ne contenait aucun condensateurs de découplage, même au niveau des moteurs, lesperturbations au niveau de l'alimentation étaient très importantes (plusieurs centaines de mV) ; ce qui poseproblème pour les capteurs par exemple, quand on sait que les valeurs de sorties sont dépendantes de latension d'alimentation. La deuxième plaque comporte un condensateur de découplage pour le dsPIC, pourle driver de MOSFETs, et pour chaque moteur.

iii. Programmation du dsPIC

La famille dsPIC de Microchip requiert un programmateur particulier pour les faire fonctionner dontl'école ne dispose pas. Aussi, nous disposions d'un débuggeur sur circuit ICD2 qui nous a permis de corrigerles erreurs de programmation très facilement. Malheureusement, après une erreur de manipulation, cet outiln'a plus voulu fonctionner. Il nous a fallu concevoir un programmateur « maison », bien moins performantqu'un ICD2, mais également moins riche en fonctionnalités. En effet, il n'est pas possible avec un simpleprogrammateur d'explorer la mémoire du microcontrôleur ou d'exécuter le code pas à pas, chose facilitantgrandement le développement.

61

Page 62: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Problèmes

b. Actuellement

i. Banc de test

Le principal problème que nous recontrons à l'heure actuelle est de l'ordre de l'expérimentation. En effet,tester un engin volant pouvant se déplacer dans l'ensemble des directions n'est pas des plus simples. Pourcela il a été imaginé différents bancs de tests :

Banc sur un axe : fabrication artisanale d'un banc de test en bois maintenant le quadri-rotor auniveau d'une tige et ne lui laissant donc qu'un axe de rotation de liberté. Malheureusement, celasoulève deux soucis imputable au banc de test. Premièrement, les frottements sont très importantset les tests ne sont donc pas représentatifs de la situtation réelle. Ensuite, le système n'est plusconforme au modèle dynamique car seuls deux moteurs fonctionnent et le quadri-rotor n'est paslibre de tous ses mouvements. Cela ne permet donc pas de valider le PID déterminé en simulation.

■ Accroché au plafond par un fil : le quadri-rotor est accroché en son centre par un fil qui est attachéautour d'une poutre située en hauteur. L'engin est maintenant libre dans tous les axes mais il seretrouve également stabilisé à l'horizontal par la seule action des fils. Il est donc difficile de validerle bon fonctionnement du contrôleur.

■ Libre mais retenu par des fils : cette fois le quadri-rotor est entièrement lâché et on peut doncévaluer l'action du contrôleur. Il y est accroché tout de même quatre fils qui permettent de leretenir, s'il a tendance à se déplacer en translation. Le soucis est qu'il nécessite deux personnes pourtenir les fils et accompagner le quadri-rotor dans ses déplacements.

ii. Contrôle en translation

Un autre souci rencontré dès les premières expérimentations où le quadri-rotor se retrouvait libre était qu'ila tendance à se déplacer naturellement en translation. En effet, seule une correction en assiette est

62

Page 63: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Problèmes

implémentée, ce qui permet d'observer le quadri-rotor voler. Aussi, celui-ci se déplace horizontalement, àune vitesse plus ou moins importante, et lors de la rencontre d'obstacles, nous sommes dans l'obligation dele retenir, et nous ne pouvons donc valider un fonctionnement parfait sur un long moment.

Il est tout à fait logique d'obtenir ce résultat, n'ayant pas mis en mise au niveau du contrôleur un contrôle entranslation. Le quadri-rotor n'a alors aucune référence, et toute dérive est donc permise.

iii. Communications

Bien qu'associé à une interface de contrôle intéressante, celle-ci se doit de communiquer en permanence sesdonnées avec le quadri-rotor. Il a été implémenté pendant ce projet, une liaison série basée sur le protocoleRS-232. Cette technologie permet de disposer d'un débit suffisant pour l'application, mais nécessiteégalement la connexion par un fil entre le quadri-rotor et le poste hébergeant l'application.

Cela restreint les déplacements possibles de l'engin, en le limitant à la longueur des fils de transmissions. Deplus, cette longueur ne peut être augmentée indéfiniement, le standard RS-232 limitant la portée àquelques mètres.

iv. Autonomie

Le quadri-rotor est bien entendu prévu pour fonctionner sur batteries mais celles d'origine ont uneautonomie bien faible. En effet, moins de cinq minutes de vol sont disponibles. Cela est dû à la technologieNi-Mh, assez encombrante et lourde, qui est mal adaptée aux engins volants. De plus, les temps de chargesont assez long (plusieurs heures) et ne sont pas compatibles avec des besoins en tests incessants.

Les expérimentations se sont alors réalisées au moyen d'une alimentation stabilisée pouvant délivrer 10A à12V. Le problème est le câble pour amener cette énergie au quadri-rotor. Celui-ci est épais et gêne l'enginpendant son vol, en le faisant osciller fortement, sabotant alors les performances du correcteur.

v. Modélisation

Découvrant des inexactitudes dans le comportement attendu du quadri-rotor, il nous est venu à l'esprit enfin de période de projet de repenser le modèle développé sous Simulink. En effet celui-ci, bien que lesdifférentes forces entrant en jeu sont correctement implémentées, n'est pas parfaitement conforme àl'ensemble du système, et ce, sur un point crucial, les capteurs.

Les accéléromètres et gyroscopes sont décrits comme de simples lecteurs de position et d'angle du quadri-rotor, or, il n'en n'est rien. Les accéléromètres, en plus d'être sensibles aux accélérations, subissent l'attractionterrestre et leur tension de sortie reflète donc leur inclinaison par rapport à l'horizon terrestre. De plus,gyroscopes comme accéléromètres sont excessivement bruités, et c'est bien ceci la principale difficulté de ceprojet.

63

Page 64: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Problèmes

vi. Contrôleur

De l'étude du modèle Simulink est également ressorti une remarque sur les correcteurs PID mis en place. Lasimulation permettant de donner des perturbations au système, nous nous sommes essayés à reproduire descomportements que le quadri-rotor est amené à rencontrer en réalité.

Par exemple, on peut imaginer une petite perturbation : un angle de dix degrés par seconde. Or, bien que lesPIDs soient configurés de manière optimale, le contrôleur ne peut corriger une telle perturbation et lequadri-rotor entre en instabilité. Il a été remarqué que la limite est atteinte pour une perturbation d'aumaximum quelques degrés par seconde, ce qui est bien peu.

64

Page 65: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Suggestions

7. SuggestionsDans la suite seront évoquées quelques suggestions aux problèmes présentés précédemment.

a. Banc de test

Le système actuel n'est pas particulièrement mauvais, car il permet d'observer le quadri-rotor libre de toutmouvement, dans son comportement attendu. Aussi cela nécessite la présence de toute l'equipe où deuxpersonnes se voient tenir le quadri-rotor par des fils tandis qu'un troisième s'attache aux réglages surl'interface de contrôle.

Un banc de test qui permettrait d'expérimenter seul le fonctionnement du quadri-rotor serait un système derotule. Cela limiterait les mouvements du quadri-rotor sur deux axes de rotations et, si la rotule présente desfrottements négligeables, de valider un correcteur robuste en assiette.

Une évolution serait de fixer cette rotule sur une tige, libre verticalement. Ce serait dans le but de laisserdeux axes de libertés supplémentaires au quadri-rotor : rotation en lacet et translation verticale. Pourraientalors être facilement expérimenté la correction de l'angle en lacet ainsi que l'asservissement de l'altitude.

b. Contrôle en translation

Ce point nous semble essentiel pour la bonne suite du projet et diverses solutions, en vue de maintenir lequadri-rotor à une position fixe, sont envisageables :

Contrôle par télécommande : bien que ne répondant plus à la problématique du projet ensupprimant la fonctionnalité autonome de l'engin, le contrôle en translation au moyen d'unetélécommande est la manière la plus simple de maintenir le quadri-rotor dans une zone donnée.Déjà implémenté dans l'algorithme, ce contrôle nécessite une personne tenant la manette, et donnerdes consignes inverses aux directions vers lesquelles le quadri-rotor translate.

Détection d'obstacles : ceci est une solution qui permet de donner une certaine autonomie au quadri-rotor, d'une manière relativement aisée. L'idée est de placer un ou plusieurs capteurs (ultrasons, ...)sur le quadri-rotor, et empêcherai ce dernier de toucher des obstacles, en commandant le quadri-rotor dans le sens opposé. C'est en fait une méthode qui permet de s'abstenir de la personne quipilote l'engin via la manette, mais cela ne permet toujours pas de le maintenir à une position fixe.

Webcam et LEDs : un système composé de LEDs placés sur le quadri-rotor et d'une webcamassociée à un poste de travail permettrait cette fois-ci de maintenir le quadri-rotor à une positionfixe, sans intervention humaine. Malheureusement, bien que cela ne soit pas bien compliqué àmettre en place, le quadri-rotor n'est alors plus autonome. En effet, un ordinateur doit enpermanence être à ses côtés, et si l'engin volant sort du champ de vision de la webcam, il sembleimpossible de le retrouver à sa position initiale.

65

Page 66: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Suggestions

Ajout d'un GPS : une technique couramment employée dans l'asservissement en position de dronesest l'emploi d'un GPS. Il permet de connaître la position absolue sur la terre, et autorise donc uneautonomie totale de l'engin. Aussi, la position d'un tel système est très limité (dizaine de mètres) etn'est utilisable qu'en extérieur. Cela peut tout de même être une piste à explorer, en association à unecentrale inertielle plus évoluée.

Ajout d'une caméra : voici la technique qui semble la plus adaptée au projet, mais en contrepartie,elle est également la plus compliquée à mettre en place. Elle consiste à doter le quadri-rotor d'unecaméra vidéo, d'acquérir les images, et d'en analyser le contenu, afin de déterminer l'environnement(murs, sol, plafond, obstacles). Serait alors possible de maintenir le quadri-rotor à une distance fixeet déterminée entre deux murs par exemple, et de ce fait, est utilisable en intérieur. Mais ce systèmenous semble assez complexe à mettre en oeuvre, et pourrait même occuper cinq semaines de projet àlui seul, et pourquoi pas, ferait un bon sujet en majeure Signaux et Télécommunications.

c. Communications

L'utilisation d'une interface de pilotage au sol nous semble essentiel pour la bonne conduite de ce projet, etle remplacement de la liaison RS-232 se révèle primordial. Des solutions moyennement onéreuses,particulièrement performantes et simples d'emploi sont envisageables. Elles consistent en différentsprotocoles de communication sans fil tels que le ZigBee, le bluetooth ou le Wi-Fi. De petits modules prêt àêtre utilisés sont disponibles pour un coût de quelques dizaines d'euros, et autoriseraient un vol sur degrandes distances au quadri-rotor.

d. Autonomie

Ce point nous a fortement pénalisé en fin de projet, pourtant une solution rapide et efficace peut êtrefacilement mise en oeuvre. Cela consisterait à remplacer les batteries actuelles par des Li-Po, technologiebien plus performante en poids et en énergie que les actuelles batteries Ni-Mh. Une autonomie dépassant ladizaine de minutes serait alors possible, et des tests sans aucun fils pourraient alors être réalisés.

Aussi, il serait intéressant de concevoir une carte unique avec des composants au format CMS, regroupant àelle seule les capteurs et le contrôleur. Cela permettrait d'économiser un certain poids, et ainsi d'augmenterl'autonomie de l'appareil.

e. Modélisation

Une bonne modélisation d'un système nous semble essentiel dans la réalisation de son contrôle. C'est danscette optique qu'il serait intéressant de remanier quelque peu le modèle développé sous Simulink.

Premièrement, en décrivant au mieux le comportement des capteurs utilisés, qui sont, dans la simulation,très éloignés de leur fonctionnement pratique. Il semble intéressant de leur ajouter du bruit (assezimportant sur les accéléromètres) ainsi qu'une dérive dans le temps (pour le gyroscope).

66

Page 67: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Suggestions

Ensuite, il serait aisé de décrire un contrôleur plus proche du comportement relevé expérimentalement, entransposant d'abord le filtrage de Kalman réalisé sur le microcontrôleur. Ensuite, le modèle étantconcordant avec l'algorithme embarqué, il devient aisé de valider les coefficients optimaux des correcteursPID à mettre en place.

f. Contrôleur

Les cours suivis récemment dans la majeure nous ont montré que différents types de correcteurs existent, etque le PID n'est peut-être pas le contrôle le plus optimal pour notre système. C'est un aspect que nousn'avons pas eu le temps d'explorer dans le temps imparti, mais il pourrait sembler intéressant d'étudier unasservissement plus moderne du quadri-rotor comme un correcteur RST.

67

Page 68: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Conclusion

8. ConclusionÀ la conclusion de ce projet, nous pouvons faire état de beaucoup de points positifs mais aussi négatifs.Comme nous l'avons évoqué dans l'introduction, reprendre un projet était quelquechose de nouveau pournous. Les difficultés ont étés multiples au niveau du décryptage de ce qui avait été fait, et nous ne savionspas de suite comment l'on devait de positionner par rapport à cela.

Pourtant, cette facette du projet a été d'une grande utilité pour nous, dans le sens où en étant dans cetteposition, on a pu se rendre compte des défauts et des qualités d'un rapport ; quelles parties étaient limpides,quelles parties étaient obscures, quels enseignements on pouvait en tirer pour notre propre rédaction derapport, et sur notre gestion de projet en général.

Pour commencer, faisons état de ce qui a été, et de ce qui n'a pas été réalisé. Nous avons pu en toute fin deprojet faire voler le quadri-rotor, avec un contrôle PID certes non robuste mais fonctionnel. Ce résultat estla preuve du bon fonctionnement de ce que nous avons réalisé : une électronique désormais fiable, unprogramme embarqué structuré, souple et portable, une interface Simulink facile à prendre en main,permettant de visualiser les signaux voulus et de mettre à jour des variables dans le micro-contrôleur. C'estvraiment ce que nous voulions : faire quelquechose qui fonctionne et qui puisse être repris sans aucun doutepar les groupes suivants. Nous voulions éviter à tout prix avoir travaillé et dépensé autant de temps pourréaliser quelquechose qui serait refait l'année suivante ; c'est chose faite car avec cette base solide, n'importequel groupe peut se concentrer sur la partie automatique et implémenter l'algorithme de contrôle approprié.

Parmis les travaux que nous n'avons pas réalisé, nous pouvons compter la stabilisation en lacet, lastabilisation en position dans l'espace, et l'amélioration du modèle Simulink.

Au niveau technique, nous avons beaucoup appris sur l'électronique de puissance, mais aussi sur les DSP dechez Microchip, sur le filtre de Kalman, sur les capteurs en général, et enfin sur le routage de circuits.

Toujours dans les apprentissages, au niveau humain cette fois, nos tempéraments au sein du groupe étantplutôt conciliants, la gestion du projet s'est faite sans accrocs. Nous avons toujours tout fait pour être le plusefficace possible sans gêner les autres, et être disponible pour aider et pour conseiller sans pour autantsacrifier notre temps de travail. Le sujet nous motivant autant tous les trois, nous n'avons pas eu deproblèmes de répartition de tâches car chacun était prêt à faire n'importe quelle partie du projet.

Ce projet est un projet ambitieux. C'est le genre de projet que l'on fait habituellement en tant que projet defin d'études, avec une durée de 6 mois. De là, on peut comprendre notre paradoxe : vouloir être le plusexhaustif possible à tous les niveaux, théoriques, matériels, logiciels, et dans le même temps vouloir rendrequelquechose de concret au bout.

Ce problème s'est révélé au cours du projet, et est devenu de plus en plus présent lorsque le projet touchait àsa fin. Le temps imparti est très court, et nous a complètement conditionné au niveau du travail à effectuer.En effet, plus les jours avançaient, plus le projet prenait de l'ampleur, plus il y avait de problèmes, et plus onse rendait compte des choses que nous devions faire et que nous ne pourrions pas faire au final. Pourtant, il

68

Page 69: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Conclusion

n'était pas question de s'arrêter et nous avons travaillé sans relâche pour obtenir un résultat.

Outre le problème de temps, le problème de ressources s'est révélé important. Nous avions au début prévude nous répartir les tâches, et ainsi de mener plus rapidement le projet à terme. Certaines tâches ont pu sefaire en même temps, par exemple : les recherches, certains calculs, la validation du filtre de Kalman sousmatlab, etc. Seulement, nous n'avions pas idée de la difficulté de répartition de tâches autour d'un projet quin'est pas duplicable. Un logiciel est quelquechose que l'on peut facilement dupliquer pour travailler enparallèle dessus ; le quadri-rotor était unique, et ainsi impossible à partager. Au final, nous avons du passerplus de 70% du temps à être trois autour du même problème et de la même tâche, ce qui d'une partpermettait en général de résoudre les problèmes plus rapidement, mais d'autre part ralentissait d'autresaspects que nous n'avons pas pu explorer, comme l'amélioration du modèle Simulink.

Aussi, nous pensons que c'est un projet qui mérite d'être mieux segmenté par années. Tous les ans, unepartie, et seulement une partie du projet devrait être confiée à un groupe. Cela aurait pour intérêt d'éviterde repartir quasiment de zéro chaque année, et d'essayer dans la précipitation de faire voler le quadri-rotorsans prendre en compte tous les paramètres importants.

Pour finir, nous voulions exprimer notre satisfaction d'avoir pu réaliser un projet qui nous a plongé dans lemonde des systèmes embarqués. Automatique, électronique, informatique, problèmes de place,d'autonomie, de réactivité, etc., toutes les composantes étaient réunies pour nous faire comprendre l'enjeud'un système embarqué dans l'industrie. C'est sûrement un des aspects du projet qui nous aura le plusmarqué, et qui nous aidera certainement lors de nos stages ou de notre premier emploi.

69

Page 70: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Bibliographie

9. BibliographieForums de discussion

http://www.xbird.fr/Forum francophone spécialisé dans la réalisation d'engins volants.

http://forum.xufo.net/Forum allemand (traduisible en anglais) sur les X-UFOs.

http://forum.sparkfun.com/Forum anglophone dédié aux capteurs produits par la marque (accéléromètres, ...).

http://forums.futura-sciences.com/Forum francophone consacré à l'électronique (entre autres).

Projets similaires

http://tom.poub.free.fr/blog/Blog retraçant la conception d'un quadri-rotor par un passionné.

http://quentin.quadrat.free.fr/helico_intro-fr.htmlSite personnel d'un ingénieur décrivant la fabrication d'un quadri-rotor.

http://tom.pycke.be/mav/Blog sur la conception d'un mini-avion autopiloté.

http://openuav.astroplanes.com/Site comportant de la documentation sur les UAV en général.

http://autopilot.sourceforge.net/Site sur la conception d'un hélicoptère de modélisme autopiloté.

Traitement du signal

Numerical Recipes, The Art of Scientific Computing, Third EditionWilliam H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery

http://personnel.supaero.fr/alazard-daniel/Pdf/cours_Kalman.pdfIntroduction au filtre de Kalman, D.Alazard.

http://www.cert.fr/dcsd/THESES/obonnet/refdoc/kalmanNav.pdfFiltrage de Kalman appliqué à la navigation inertielle, Olivier Bonnet Torres.

ftp://ftp.irisa.fr/local/sigma2/campillo/cours/1996-dess-trajecto.pdfFiltrage de Kalman, application en trajectographie, Fabien Campillo.

70

Page 71: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

Bibliographie

Accéléromètres

http://wiki.openmoko.org/wiki/Accelerometer_FundamentalsLes fondamentaux sur les accéléromètres.

Contrôle PID

http://www.actc-control.com/resource_centre/tech_pid.htmlRessources sur le PID.

MOSFETs

http://www.bedwani.ch/electro/ch17/Les transistors FET.

http://homepages.which.net/~paul.hills/SpeedControl/Mosfets.htmlLes MOSFETs et les drivers de MOSFETs.

Documentation technique

http://ww1.microchip.com/downloads/en/DeviceDoc/70138E.pdfMicrochip dsPIC30F4013 DataSheet

http://www.analog.com/UploadedFiles/Data_Sheets/ADXL330.pdfAnalog Devices ADXL330 DataSheet

http://www.invensense.com/shared/pdf/IDG300_Datasheet.pdfInvenSense IDG300 DataSheet

71

Page 72: Modélisation et interface de contrôle d'un quadri-rotorgedonet.free.fr/fichiers/avions/rapportquadri.pdf · Modélisation et interface de contrôle d'un quadri-rotor Rapport de

MODÉLISATION ET INTERFACE DE Projet I4 SEMODÉLISATION ET INTERFACE DE CONTRÔLE D’UN QUADRI-ROTOR

Projet I4 SE22 février 2008

Dates du projet : 21/01/2008 au 22/02/2008 Ressources : 720 heures hommes

Un quadri-rotor est un engin volant possédant quatre hélices permettant à celui-ci de se stabiliser en vol et de se déplacer dans toutes les directions. Le but de ce

j t t d d j t i li é l d X UFO d lprojet est de reprendre un jouet commercialisé sous le nom de X-UFO de lasociété Silverlit, de retirer l’électronique existante et de la remplacer afin que lequadri-rotor se stabilise de manière autonome en vol.

Pour parvenir à ces fins, des capteurs (accéléromètres, gyroscopes) ont étéutilisés pour déterminer les angles de roulis, tangage et lacet, ainsi que laposition spatiale de l’engin.

Ce projet regroupe l’ensemble des thématiques de la majeure SystèmesEmbarqués, à savoir : l’électronique, l’informatique et l’automatique.L’informatique et l’électronique de contrôle ont été entièrement réalisées, et lecalcul et le filtrage des angles de roulis et de tangage ont été implémentés,permettant une stabilisation en assiette fonctionnelle mais pas encore robuste del’engin. Ceci est un problème car il faut pouvoir répondre à des perturbations del engin. Ceci est un problème car il faut pouvoir répondre à des perturbations del’environnement (coup de vent, collision).

Le quadri-rotor devait répondre aux contraintes du monde de l’embarqué,malheureusement la carte développée est encore lourde, l’autonomie est faibleet ces points seront a améliorer. Pour aider au développement du projet, il faudratravailler sur une modélisation du système plus proche de la réalité permettantde définir le contrôleur adapté Concernant le contrôle en position il n’est pasde définir le contrôleur adapté. Concernant le contrôle en position, il n est pasencore fonctionnel et une étude supplémentaire sera nécessaire pour le mettreen place.

Les apports de ce projet au groupe ont été multiples ; d’abord humainement,celui-ci nous a permis de nous mettre en situation de travail en groupe, avectoutes les concessions et discussions que cela engendre. Techniquement, nous

éli é i él t i é i t d iavons amélioré nos connaissances en électronique numérique et de puissance.Pour finir, nous avons développé notre aisance à l’oral grâce aux diversesprésentations que nous avons animées.

Auteurs :Pierre Beugnet ([email protected])Nik Mohamed ([email protected])Raphaël Polonowski (polonowr@esiee fr)

Modélisation en 3D du quadri-rotor étudié

Raphaël Polonowski ([email protected])Elèves en 4ème année du cursus ingénieur

Commanditaires :Arben CelaAbdellatif ReamaEnseignants au laboratoire COSI de l’ESIEE