Sylvain Mahé Le site Web Retour à l'accueil Principes Partager mes idées et mes projets librement et gratuitement. Thématiques Mécatronique du système embarqué, artisanat pluridisciplinaire, bricolage commun, esthétique logicielle et matérielle, minimalisme fonctionnel, conceptualisation alternative, rédaction technique et littéraire, partage pédagogique documenté. Contact ✆ Téléphone : 06.45.49.96.98
✉ E-mail : contact@sylvainmahe.site
✎ Site Web : sylvainmahe.site
Écriture de la page : Sylvain Mahé
Le quadri-hélicoptère Le quadri-hélicoptère (et non pas drone, voir plus bas "L'amalgame du drone en aéromodélisme") est un type d'hélicoptère propulsé par quatre moteurs. Ce projet est un hélicoptère acrobatique conçu spécialement pour effectuer de la voltige 3D (acrobaties en vol dos avec inversion du sens de rotation des moteurs), le tout piloté avec ma radiocommande de conception personnelle (pour plus d'informations, voir dans la section "Fabrications et diverses réalisations" en page d'accueil de mon site Web, page "La radiocommande"). Vidéo ci-dessous, un vol en cours de conception (filmé au début du projet) : Photos ci-dessous, montage de l'électronique et assemblage du châssis : Programmation de l'automate programmable MODULABLE 32 avec MODULE :
Le programme en langage C++ fonctionnant avec MODULE est téléchargeable ici :
Télécharger le programme du quadri-hélicoptère (.zip, ≈ 6.7Kio) Les paramètres (settings) sont à régler via la radiocommande, voici les valeurs que j'ai indiqué qui sont optimisées pour un hélicoptère comportant des caractéristiques précises (voir les caractéristiques de mon hélicoptère plus bas) : - "FRES" = 800Hz (fréquence PWM des ESC).
- "CUES" = 187μs (coupure des ESC, moteur arrêté).
- "MIEN" = 198μs (gaz minimum des ESC en vol normal).
- "MAEN" = 250μs (gaz maximum des ESC en vol normal).
- "MIEI" = 176μs (gaz minimum des ESC en vol inversé).
- "MAEI" = 125μs (gaz maximum des ESC en vol inversé).
- "SPPI" = 360°/s (vitesse angulaire maximale sur l'axe de tangage).
- "SPRO" = 360°/s (vitesse angulaire maximale sur l'axe de roulis).
- "SPYA" = 360°/s (vitesse angulaire maximale sur l'axe de lacet).
- "GAPI" = 97% (gain du gyroscope sur l'axe de tangage).
- "GARO" = 95% (gain du gyroscope sur l'axe de roulis).
- "GAYA" = 99% (gain du gyroscope sur l'axe de lacet).
- "TRAV" = 40% (proportion des débattements de l'axe de tangage et de roulis par rapport au lacet).
- "PROP" = 100% (diminution des gains en fonction des gaz).
- "LOCK" = 30% (augmentation des gains lors des acrobaties).
- "LIMI" = 100% (limitation des gaz maximums).
Connexions (automate programmable MODULABLE 32 sur les différents systèmes embarqués) : - Port GPIO 5 (PB4) sur broche CSN (slave select) composant nRF24L01+.
- Port GPIO 6 (PB5) sur broche MOSI (master output slave input) composant nRF24L01+.
- Port GPIO 7 (PB6) sur broche MISO (master input slave output) composant nRF24L01+.
- Port GPIO 8 (PB7) sur broche SCK (serial clock) composant nRF24L01+.
- Port GPIO 9 (PD0) sur broche PWM ESC moteur 1 (avant gauche).
- Port GPIO 10 (PD1) sur broche PWM ESC moteur 2 (avant droit).
- Port GPIO 11 (PD2) sur broche PWM ESC moteur 3 (arrière gauche).
- Port GPIO 12 (PD3) sur broche PWM ESC moteur 4 (arrière droit).
- Port GPIO 17 (PC0) sur broche SCL (serial clock line) composant MPU6050.
- Port GPIO 18 (PC1) sur broche SDA (serial data line) composant MPU6050.
- Port GPIO 25 (PA7) sur broche WAVE (onde) buzzer de signalement.
- Port GPIO 31 (PA1) sur sortie pont diviseur de tension 10kΩ / 2kΩ (tension de la batterie).
Historique, faisabilité, et caractéristiques : Étant fortement intéressé par les aéronefs en général, j'ai toujours souhaité faire se sustenter un objet semi-autonome en stationnaire au dessus du sol par un moyen technique de propulsion quel qu'il soit. Cette idée est devenue davantage une possibilité de réalisation sous la forme d'un réel projet technique, lorsque j'ai commencé le pilotage des aéro-modèles dans une association. À cette période, la propulsion électrique des modèles réduits d'aéronefs était à ses débuts, mais on voyait déjà apparaître sur les terrains d'aéromodélisme des mini-hélicoptères radio-commandés qui peinaient tout juste à se soulever de quelques centimètres, puis quelques mètres au dessus du sol. Depuis ce temps, la technologie a fait un bond, notamment au niveau des accumulateurs au lithium-ion polymère (LiPo) et des moteurs sans charbons (brushless), ce qui a permis des avancées jusqu'alors insoupçonnées en matière de durée de vol et de performances. La miniaturisation de l'électronique, notamment des gyroscopes et des émetteurs/récepteurs radios, a progressé à tel point qu'aujourd'hui en comparaison des volumes occupés, toute l'électronique tient dans une petite boîte ! L'algorithme de vol :
Le vol basique d'un aéronef à 4 hélices a été avec le programme MODULE solutionné sans difficulté. En effet le programme MODULE simplifie grandement la mise en œuvre du calculateur et des périphériques requis pour ce type de projet, tels qu'un gyroscope et 4 contrôleurs de moteurs sans charbons, ceci sans passer des heures en programmation.
En revanche, là où la première version de l'algorithme de vol a montré quelques limites au début du projet, fut lors des premiers tests acrobatiques (boucles, tonneaux). Ainsi, après de nombreux essais en vol (mises gaz au ralenti/pleins gaz et angles vifs à plat et sur le dos volontairement), je me suis aperçu qu'il fallait programmer dans le calculateur embarqué bien plus qu'une simple stabilisation (plus évoluée qu'un pendule stabilisé par exemple). Pour se faire, j'ai dû suivre une logique différente de ma première approche prototype, en voici quelques notions importantes : - La consigne sur les 3 axes est un offset des vitesses angulaires données par le gyroscope.
- À l'image de vases communicants proportionnels, un échange linéaire des débattements alloué pour les corrections à effectuer sur un même axe de vol (tangage, roulis, ou lacet) est effectué proportionnellement entre les différents moteurs suivant la position du manche de gaz, de sorte d'avoir toute la plage de corrections disponibles que ce soit manche de gaz positionné sur ralenti moteur, ou positionné sur plein gaz.
- En résulte que les débattements maximums sur les 3 axes sont alloués à l'algorithme de stabilisation afin d'effectuer les corrections les plus importantes possibles dans toutes les conditions.
- En résulte également un ralenti moteur à 0% et un plein gaz à 100%.
- Le gain sur les 3 axes de l'algorithme de stabilisation est une modification proportionnelle de l'intervalle des vitesses angulaires minimales et maximales allouées par le gyroscope (cet intervalle se réduit de façon linéaire suivant l'augmentation du gain).
- Le rendement des hélices est variable avec la vitesse de rotation, en résulte la variabilité de la sensibilité des corrections que l'algorithme doit effectuer (gains variables) selon les ordres du pilote aux gaz.
- Le gain sur les axes de tangage et de roulis augmente proportionnellement suivant les ordres du pilote au cyclique afin de garantir un meilleur verrouillage de l'assiette lors des acrobaties.
Tous ces calculs assez subtils participent au bon comportement en vol de l'ensemble, et permettent des vols acrobatiques assez poussés (notamment pour la voltige 3D, comprendre ici le vol dos ou inversé). Projet validé :
L'expérience acquise lors de la conception de cet hélicoptère, de la logique de l'algorithme de vol, ainsi que le nombre de vols effectués, m'ont permis de valider le fonctionnement de l'ensemble des cartes électroniques à bord du modèle en matière de robustesse, de fiabilité, et de performances.
Les caractéristiques du quadri-hélicoptère :
- Automate programmable MODULABLE 32 équipé du microcontrôleur ATmega644P.
- Émetteur/récepteur radio 2.4GHz (composant nRF24L01+).
- Communication bidirectionnelle.
- Antenne Trèfle omnidirectionnelle 4 branches (7dBm).
- Communication par trames de 32 bits.
- Centrale inertielle MPU6050.
- Buzzer de signalement.
- Système à tolérance de pannes (fail-safe) sur 5 bits (0 à 31).
- Surveillance de l'activité du modèle (watchdog) sur 5 bits (0 à 31).
- 3 modes de vol ("Full 2D", "Half 2D", et "Full 3D").
- Contrôleurs de moteurs sans charbons KISS ESC 2-5S 24A Race Edition.
- Moteurs sans charbons TIGER MOTORS MN2206 2000kV.
- Hélices 3D Graupner 6" x 3".
- Accumulateur lithium-ion polymère (LiPo) TURNIGY 4S (+14.8V) 2200mAh 40/50C.
- Tension de la batterie envoyée à la radiocommande sur 10 bits (0 à 1023).
- Allumage ou extinction du modèle ou de la radiocommande dans n'importe quel ordre.
- Châssis en tubes d'aluminium 10mm x 12mm.
- Entre-axes moteurs : 372mm x 372mm.
Boîte de transport sur-mesure en contre-plaqué 10mm : Les modes de vol : À l'instar des machines de voltige équipées de pas variable collectif, cet hélicoptère est conçu pour effectuer des acrobaties 3D (vol inversé) grâce à l'inversion du sens de rotation des moteurs en plein vol (sens normal, l'air est aspiré au dessus et est refoulé en dessous de l'hélicoptère, sens inversé, l'air est aspiré en dessous et est refoulé au dessus de l'hélicoptère). Ceci permet à l'aide d'hélices adaptées, soit symétriques et à double sens de rotation, de voler sur le dos (c'est le vol inversé). Pour un pilote habitué au vol 3D, cette caractéristique d'inversion du sens de rotation des moteurs en vol est intuitive, ce premier étant familiarisé à l'inversion du pas collectif (de positif à négatif et inversement) sur des hélicoptères à rotors classiques (rotor principal et rotor anti-couple), avec un neutre c'est-à-dire un pas collectif à 0 degrés, situé manche de gaz au milieu. En revanche pour un pilote non-initié à la voltige 3D, cette convention d'un ralenti moteur manche de gaz au milieu, avec leur rotations inversées suivant la position de ce manche de gaz sur la moitié inférieure ou supérieure de sa course totale serait non seulement contraignante, contre-intuitive, mais pourrait être également très dangereuse ! C'est pourquoi j'ai décidé de programmer 3 modes de vol adaptés aux différentes situations, que vous pouvez sélectionner à tout moment via l'interrupteur auxiliaire A (3 positions) : - Interrupteur auxiliaire A sur position 1 = Mode "Full 2D" : toute la course du manche de gaz (de 0% à 100%) est utilisée sans inversion du sens de rotation des moteurs.
- Interrupteur auxiliaire A sur position 2 = Mode "Half 2D" : la moitié supérieure de la course du manche de gaz (de 52.5% à 100%) est utilisée sans inversion du sens de rotation des moteurs.
- Interrupteur auxiliaire A sur position 3 = Mode "Full 3D" : toute la course du manche de gaz (de 0% à 100%) est utilisée avec inversion du sens de rotation des moteurs (inversé si manche de gaz inférieur ou égal à 47.5%, normal si manche de gaz supérieur ou égal à 52.5%).
Plus exactement, en mode de vol "Full 3D", lorsque le manche de gaz descend au moins à 47.5% de sa course totale (soit égal ou inférieur à 47.5%), le sens de rotation des moteurs s'inverse, au contraire lorsque le manche de gaz monte au moins à 52.5% de sa course totale (soit égal ou supérieur à 52.5%), le sens de rotation des moteurs s'inverse à nouveau (sens normal). C'est donc un hystérésis de 5% qui a pour avantage de ne pas faire inverser le sens de rotation des moteurs de façon intempestive lorsque le manche de gaz se situe dans la zone du milieu (vers la moitié de sa course totale). Pour éviter un démarrage involontaire des moteurs à l'allumage du modèle quel que soit le mode de vol, il est indispensable d'avoir en premier lieu prévu les sécurités nécessaires pour prévenir tout accident (voir ci-dessous : "Les sécurités d'avant vol"). Les sécurités d'avant vol : Afin de garantir le non-démarrage des moteurs à l'allumage du modèle, j'ai mis en place quelques sécurités (ou conditions à remplir) :
- Vérification de l'arrivée de toutes les voies de la radiocommande.
- Vérification que l'interrupteur de coupure moteur soit activé.
- Vérification que le manche de gaz soit inférieur à 5% de sa course totale (ralenti moteur en mode "Full 2D"), ou inférieur à 52.5% de sa course totale (ralenti moteur en mode "Half 2D"), ou centré entre 47.5% à 52.5% de sa course totale (ralenti moteur en mode "Full 3D"), sans trim ni courbe de gaz.
- Buzzer de signalement (code sonore).
Le buzzer de signalement produit 3 types de signaux différents :
- 2 bips consécutifs : le modèle ne reçoit pas la radiocommande, il est en "fail-safe", et/ou est en attente que l'utilisateur active l'interrupteur de coupure moteur, et positionne le manche de gaz en cohérence avec le mode de vol sélectionné avec l'interrupteur auxiliaire A.
- Mélodie courte : le modèle confirme qu'il a mis à jour ses paramètres (section "UPDATE" de la radiocommande) et qu'il les a sauvegardé dans sa mémoire interne.
- Mélodie longue : le modèle est prêt à voler.
Une fois les conditions remplies, l'hélicoptère est prêt à être mis en vol, il est alors en attente du basculement de l'interrupteur de coupure moteur pour une mise au ralenti de ces derniers (sous réserve d'une position du manche de gaz cohérente au mode de vol sélectionné). Par sécurité, cet hélicoptère est équipé d'un système à tolérance de pannes (fail-safe), ce qui permet d'arrêter les moteurs lorsque la radiocommande ne répond plus. Précautions : On ne rappellera jamais assez que les hélicoptères en aéromodélisme ne sont pas des jouets, surtout quand il s'agit d'hélices entraînées à plusieurs milliers de tours par minute comme c'est le cas sur cet hélicoptère ! Vous devez prendre une extrême précaution lors des réglages d'un tel hélicoptère, il est vivement conseillé de démonter les hélices lors des réglages et de les remonter uniquement lorsque vous êtes certain de vos paramètres. Possibilités d'évolution : Il est possible d'utiliser le capteur BNO055 si vous souhaitez voler avec un horizon artificiel (vol assisté conseillé pour les débutants), ainsi que le capteur BME280 si vous souhaitez mesurer la pression atmosphérique et donc connaître l'altitude de votre hélicoptère. Exemple de l'utilisation de l'horizon artificiel (vol du prototype) : L'amalgame du drone en aéromodélisme : Qu'est-ce qu'un drone ? Si ce n'est un mot anglais dont la simple traduction est "bourdonnement", "vrombissement", ou encore "ronronnement". Dans ce cas, un bourdon, une voiture de course, et un chat seraient-ils des drones ? La question est posée ! Plus sérieusement, je vais essayer d'expliquer simplement ce que je pense être l'origine de l'amalgame qui est fait aujourd'hui, largement propagé par les médias (de tous types, amateurs et professionnels), et venu s'incruster dans les mœurs de nos fameux terrains d'aéromodélisme ! Quel est le premier drone ayant marqué l'histoire récente ? Cela semble être le tristement mythique V1, un avion militaire allemand sans pilote équipé d'une lourde bombe destinée à faire des ravages outre Manche contre le Royaume-Uni (plus précisément Londres), et plus tard sur la Belgique. Cela a fait partie des armes secrètes de l'Allemagne Nazie... Cet avion avait à son bord trois gyroscopes permettant de le guider d'une façon autonome, et était propulsé par un moteur (appelé parfois moteur-fusée) de type pulso-réacteur : Ce type de moteur fait énormément de bruit ! Bien plus encore qu'un turbo-réacteur conventionnel (équipé d'un rotor), surtout à notre époque où beaucoup de progrès sont réalisés pour diminuer les émissions sonores notamment pour les vols commerciaux. Ce bruit s'apparente à un bourdonnement sourd (avec beaucoup de sons dans les bases fréquences), audible à de grandes distances. Propulsé par le pulso-réacteur, cette machine infernale sans pilote était destinée à tomber à court de carburant, précisément au dessus des grandes villes (comme Londres), et venait s'écraser dans une violente explosion, faisant de nombreuses victimes la plupart du temps civils. Bien plus tard, des drones ont été élaboré dans l'armée américaine sous diverses formes, dans un premier temps dans un but de prospection (simplement équipés de caméras, de radars, etc...), et dans un deuxième temps équipés de missiles et autres engins de destruction de cibles considérées ennemies. Vous l'aurez compris, dans ma compréhension de cette problématique plus d'ordre littéraire qu'autre chose, les drones civils n'existent pas, l'historique veut qu'un drone est un engin sans pilote à but militaire, et cela doit le rester ! Autrement dit, un tri-hélicoptère (trois rotors), un quadri-hélicoptère (quatre rotors), un hexa-hélicoptère (six rotors), ou encore un octo-hélicoptère (huit rotors), sont des types d'hélicoptères radiocommandés (ou radio-pilotés), soit entièrement pilotés, semi-pilotés ou semi-autonomes, ou bien complètement autonomes, appelés également multi-coptères, ou multi-hélicoptères (pour plus de 2 rotors, en opposition au rotor principal et anti-couple d'un hélicoptère plus conventionnel), mais ces machines volantes ne sont en aucun cas des drones ! Sauf si effectivement pour vous, les bourdons dans mon jardin, ma voiture de course, ou mon chat sont des drones, auquel cas je ne peux plus rien faire pour vous !