Je me suis mis en tête de réaliser un quadricoptère dont la stabilisation serait basée sur un MPU_6050 et une (des) carte Arduino.
J'ai commencé à fureter sur la toile pour voir de quoi il en retournait et je me suis aperçu que cela mettait en œuvre des composants que je ne connais pas, le premier étant un "ESC", c'est-à-dire un "Electronic Speed Control", composant avec des fonctionnalités complexes. Voici un exemple de ce que je choisirais et la doc relative à cet engin.
Avis aux connaisseurs : dans la doc, j'ai vu que ce composant est relié directement à un récepteur et par ailleurs, j'ai cru comprendre que le signal utilisé (donc celui sortant du récepteur) était du PWM. J'aimerais une confirmation/infirmation de cela.
Avis à ceux qui fréquentent des forums spécialisés : je me suis inscrit au forum "RC-Net", mais je n'arrive pas à obtenir de leur part le mail de validation de mon inscription. Pour ce genre de problème, ils disent de contacter l'administrateur, mais après avoir tourné toutes les pages du site et des recherches sur le net, je n'ai pas trouvé comment joindre cet administrateur. Donc, si parmi vous, il y avait une personne étant inscrite à ce forum, pourrait-elle contacter l'administrateur pour lui parler de mon problème.
3Sigma:
... A ta place, j'utiliserais un MPU9250: il a un magnétomètre en plus, ce qui permet d'avoir a priori un lacet plus stable.
Oui, tu as raison, mais j'ai aussi un petit module avec un magnétomètre 3 axes, je compte l'utiliser, et au final, si j'arrive au bout de ma réalisation, je penserai aux optimisations et donc à l'utilisation du MPU9250.
Pour les ESC, tu as raison.
Il faut les commander en PWM.
L'impulsion doit varier entre 1ms (arrêt) et 2ms (full speed) et doit être répétée toutes les 20ms environ.
Attention au type d'ESC choisi et à leur cablage.
Il existe des ESC avec BEC (Battery Eliminator Circuit) qui sont capables de fournir du 5v à partir de l'accu, généralement de type LIPO.
Ils permettent d'alimenter ta carte arduino par exemple et/ou ton récepteur.
Il faut alors choisir un des Esc pour alimenter la carte et surtout ne pas mettre en commun les 5V fournis par chaque ESC. (Problèmes assurés !)
Il existe aussi des ESC sans BEC. Dans ce cas, tu devras trouver une source d'alimentation (ou installer un BEC spécifique) pour alimenter ton électronique.
coyotte:
... Pour les ESC, tu as raison.
Il faut les commander en PWM.
L'impulsion doit varier entre 1ms (arrêt) et 2ms (full speed) et doit être répétée toutes les 20ms environ. ...
Le module ESC que je donne en exemple est du type BEC. Par contre , je n'ai aucune idée de son mode de commande et c'est ce que j'aimerais savoir.
Je suis étonné du timing PWM que tu indiques. Ça ressemble beaucoup à un contrôle de servo.
coyotte:
... parce que c'est justement sensé se connecter sur un récepteur...comme un servo !
Si tu sais piloter un servo, tu sais piloter un ESC...
Cool n'est-ce pas ?
Coyotte
Effectivement, en relisant plusieurs liens, je m'aperçois que, comme tu le dis, ça se pilote comme un servo.
Maintenant, ce qui m'inquiète (je n'ai jamais fait de pilotage) c'est qu'on va passer de vitesse 0 à vitesse max sur quelques millisecondes. Est-ce que le pas de quantification sera suffisamment fin pour faire une stabilisation à une hauteur donnée.
Comme la poussée est proportionnelle au carré de la vitesse (à un cheval près) , je pense qu'il faudra que je compense cela par une loi de commande en racine carrée. Mais bon, ça va être amusant tout cela.
3Sigma:
A priori une loi de commande classique linéaire fonctionne très bien.
J'espère que j'aurai l'occasion de vérifier tout ça.
Peut-être pouvez-vous me confirmer ce que je pense être le fonctionnement d'un ESC :
Le moteur piloté est une moteur (brushless) à aimants permanents triphasé sans capteur de position. C'est ce que je vais appeler un moteur synchrone. Afin de pouvoir faire varier sa vitesse de rotation, il faut qu'il soit déjà accroché à une vitesse donnée et alors, l'ESC fait monter progressivement la fréquence des tensions de commande avec une progression qui est telle que, compte-tenu de l'inertie, le couple assure une accélération compatible à un non décrochage. Je suppose que c'est ce qui est appelé le Start mode (Normal, Soft, Super soft) ou le Timing (Low, Medium, High). Je ne sais pas trop lequel de ces deux paramètres joue le plus dans ce phénomène d'accélération contrôlée.
En gros, la position du moteur est déterminée en analysant l'EMF sur les 3 phases (back emf), pour se faire il faut que le moteur tourne déjà, mais il faut bien démarrer le moteur sans connaître cette position, sauf que sans grosse charge et donc au "ralenti moteur" le soucis de décrochage ne se pose pas et de toute façon, dès que le moteur commence ses premiers tours au ralenti le back emf est déjà assez fiable.
Pour gérer la vitesse du moteur on envoi un courant sur les phases (2 phases) pendant un certain temps (via une longueur d'impulsion), plus ce temps est long et plus les enroulements auront de la puissance (si on fait une moyenne sur une plus longue durée), donc plus les aimants seront attirés et plus le rotor ira vite à sa prochaine position de commutation, position que le moteur indiquera à l'esc via le back emf, c'est à ce moment que l'esc prendra la commutation suivante (suivant le sens de rotation du moteur), et ainsi de suite.
Dans le back emf il faut analyser la phase laissée en l'air, et détecter quand elle arrive a quelque chose comme zéro.
A partir de la il peut y avoir des temps d'avance ou de retard, c'est ça qui est évoqué dans la doc de ton esc.
Le start mode c'est pas ça, c'est juste pour démarrer tes gaz progressivement pour éviter de te surprendre plein gaz si jamais tu a oublié ou basculé un inter coupure moteur avec ton manche de gaz à fond !
Merci "sylvainmahe" pour cette explication. Ce qui est marrant (pour moi) c'est que c'est un principe que j'avais étudié dans le début des années 70 pour faire tourner une gyroscope (de haute précision !). Je l'avais complètement oublié.
Intéressant ChPr, l'autre jour j'ai vu un documentaire sur les premiers gyroscopes pour le pilotage des fusées à l'époque, très intéressant... Je pense que c'est sans doute pas loin de ce que tu as connu !
Pour l'esc, tu peux fabriquer tes propres esc ou utiliser du tout fait, c'est ce que j'ai fait au départ mais ce n'est plus le cas maintenant.
Ceux que j'avais utilisé pour mon prototype de quadri étaient des kiss esc 18A faisant tourner des tiger motor mn2206, ils ont un mode ou ils acceptent un ordre allant de 125 à 250us, découpés par morceaux de 0.125us
(250 - 125) / 0.125 = 1000 pas théoriques, cela signifie que théoriquement ton manche de gaz est découpé en 1000 parties.
L'intérêt de la plage de largeur d'impulsion de 250us max fait que tu peux les faire fonctionner jusqu'à 1000Hz avec 1 seul oscillateur, car:
1000000Hz / 250us / 4 esc = 1000Hz
La différence de comportement en vol entre 125Hz (1000000Hz / 2000us / 4 esc) et 1000Hz est assez significative, les gains au niveau de l'asservissement gyro/ordres du pilote peuvent être augmentés largement, et le quadri est plus verrouillé en vol ce qui rajoute beaucoup en confort de pilotage.
Après je te laisse voir ça pour plus tard, car le prix n'est pas le même que ton lien, mais c'est bien de savoir ça pour la suite...
Pour ton problème d'inscription sur "RC-Net", en effet leur système automatique de récupération de mot de passe ne fonctionne pas...
Le projet RC-Net est un projet amateur à base d'une carte perso avec l'atmega2560, et la bibliothèque multiwiicopter + arduino. L'équipe "RC-Net" est actuellement complètement dissociée du fait d'une mésentente entre les 3 ou 4 membres.
J'ai déjà reçu des mp du seul membre qui reste encore, disant qu'il était intéressé par mon projet sans arduino, mais je lui est répondu que je n'avais pas vraiment le temps et que de faire équipe ça peut être bancal, comme le montre d’ailleurs son expérience personnelle... Par contre il est très sympa et leur projet à le mérite d'exister.
Cela dit, ce projet reste quand même au niveau copie/récup de code, leur carte en revanche est perso, sur ce point la ils ont fait un effort, mais faut avouer que 1 an et demi de boulo je crois à 3 ou 4 personnes juste pour faire le design d'une carte de vol et récupérer du code tout fait en surcouche d'autres bibliothèques, ça va quand même pas chercher très loin !
Je souhaitais m'inscrire sur ce forum dans le but de trouver des informations non pas sur du code pas plus que sur des cartes de gestion car mon but est de réinventer la poudre, pour m"amuser. Je souhaitais trouver des informations sur les moteurs, les hélices, les batteries, les ESC.
Pour le reste, c'est la détermination des divers paramètres (inerties, fonctions de transfert de chaque étage, ...), la mise au point des asservissements de stabilisation et de gestion des mouvements qui m'intéressent.
Il m'importe peu (pour l'instant) de faire une machine performante, mais de voir comment interagissent tous les différents paramètres.
A propos des esc : (j'en utilise souvent car je pratique l'aéromodélisme) - Pour un avion, le moteur ne tourne pas à une vitesse uniquement définie par la valeur du PWM (et de la tension) - globalement l'ensemble Esc/moteur est un dipôle électrique dont le modèle est proche de celui d'un moteur classique à courant continu et balais.
Pour des valeurs fixées de PWM et de tension seule la vitesse "a vide" est définie. Moteur "a fond" (donc avec PWM max) si on la nomme w0 elle se calcule simplement ( en 1ere approximation) par le produit Kv*V.
kv est le nombre de t/mn/V qui caractérise le moteur et V la tension continue sur l'esc.
Par exemple avec un moteur dont le Kv est 1000 t/mn/V et pour une tension de 10V, la vitesse de rotation du moteur sans hélice "a fond" sera proche de 10.000 t/mn
Dans ce même exemple si on applique une charge mécanique au moteur (hélice) alors la vitesse diminuera très sensiblement. (Vers 75% de la vitesse "a vide" par exemple) donc dans ce cas 7500 t/mn
Si on veut préciser un peu les résultats, il faut améliorer le modèle et faire intervenir les pertes (pertes fer, pertes cuivre) ainsi que le couple mécanique de frottement.
Tous ces calculs fonctionnent très bien avec nos petits zavions, l'ensemble batterie, moteur, hélice est en boucle ouverte.
Pour un drone, l'ensemble est soumis a des asservissements supplémentaires permettant le pilotage et la stabilisation.
Généralement les esc destinés aux drones ne sont pas les identiques, ils possédent un flashage spécial du programme interne dans le but d'améliorer la vitesse de réaction du système bouclé.
Il existe aussi des cartes de calcul spéciales pour le contrôle des drones avec des algorithmes spécifiques ...
Fait quand même gaffe avec des hélices 9" tripales dites carbones aussi peu chère... J'ai des amis qui les ont reçus dans la figure pour moins chinois que ça !
Et faut prier pour qu'elles soient bien équilibrés vu le nombre de pales pour que ça retransmettre pas de vibrations au mpu6050.
Par contre tu veux soulever quoi avec tout ça, ton chat ? Parce que ça fait quand même une puissance énorme.
sylvainmahe:
Fait quand même gaffe avec des hélices 9" tripales dites carbones aussi peu chère... J'ai des amis qui les ont reçus dans la figure pour moins chinois que ça !
Et faut prier pour qu'elles soient bien équilibrés vu le nombre de pales pour que ça retransmettre pas de vibrations au mpu6050.
Par contre tu veux soulever quoi avec tout ça, ton chat ? Parce que ça fait quand même une puissance énorme.
Merci pour ce conseil de précaution. Tu penses que des tri-pales pourraient être moins bien équilibrées que des bi-pales ?
Mon but n'est pas de soulever des tonnes, ces moteurs et ces hélices me le permettant a priori, mais d'avoir un engin relativement silencieux (ce n'est pas pour la discrétion, mais pour que cela ne me casse pas les oreilles) en faisant tourner celles-ci à une faible vitesse.
Dans le lot de mes essais figurent des essais de poussée de ce groupe hélice/moteur en fonction de la vitesse de rotation en mode effet de sol ou non.