Jouer avec le « Motor Mixer Editor » des cartes KK2

Les contrôleurs de vol KK2 ont une petite fonctionnalité interessante à coté de laquelle on peut assez facilement passer. Il s’agit du « Mixer Editor ».

banner article

Dans cet article je vais essayer d’expliquer simplement comment on peut en tirer parti notamment pour faire des châssis de quadricoptères avec des formes plus rigolotes.

Le menu « Mixer Editor », selon la doc de la version Steveis du firmware, permet « d’ajuster le signal transmis aux moteurs depuis les senseurs et la télécommande ». Pour simplifier on va indiquer au contrôleur de vol des informations sur la géométrie de l’appareil.

On peut y définir notamment :

  • La quantité de gaz (throttle), habituellement 100%.
  • Le « Type » d’appareil raccordé au canal (ESC ou servo).
  • « Rate » : La fréquence de rafraîchissement (élevée pour un ESC ou basse pour un servo)
  • Des trims et des offsets pour les axes « Aileron », « Elevator » et « Rudder ».

On va s’intéresser précisement à ces 3 derniers trims puisqu’ils influent/dépendent directement de la forme du châssis et du montage souhaité.

On part pour l’exemple sur une configuration quadricoptère en X. Comme pour le DIY Quad par exemple, elle ressemble à ceci :

Ordre des moteurs et sens de rotation.
Châssis Quad X : Ordre des moteurs et sens de rotation.

Le paramètre du « Rudder » est facile à traiter. Il détermine en effet si le moteur tourne en direction horaire (CW, valeur 100%) ou anti-horaire (CCW, valeur -100%).

Suivant cette logique, avec une carte KK, on a :

  • Moteur 1 (M1) : Rudder=100
  • M2 : Rudder=-100
  • M3 : Rudder=100
  • M4 : Rudder=-100

Vous avez saisi le principe? c’est le réglage par défaut.

Passons maintenant à Elevator/Aileron. Ces deux paramètres indiquent l’éloignement du moteur par rapport à l’axe Elevator ou Aileron. La valeur est mesurée en centimètres ou millimètres puis ramenée à une échelle de 0 à 100 (normalisation).

schema-motor-mixer
Schéma Motor Mixer

Dans un montage par défaut (Quad X), les valeurs sont toujours 100 ou -100 car le châssis est symétrique (la distance entre les moteurs et les axes A et E est toujours la même, la fonction de normalisation donnera toujours +/- 100 car les distances sont les mêmes).

Pour résumer donc, avec un châssis symétrique on va avoir les valeurs suivantes :

  • M1 :
    • Aileron = -100
    • Elevator = +100
    • Rudder = +100 (CW)
  • M2 :
    • Aileron = +100
    • Elevator = +100
    • Rudder = -100 (CCW)
  • M3 :
    • Aileron = +100
    • Elevator = -100
    • Rudder = +100 (CW)
  • M4 :
    • Aileron = -100
    • Elevator = -100
    • Rudder = -100 (CCW)

C’est maintenant que cela devient fun, une fois qu’on a compris ce principe on peut faire des châssis asymétriques, comme par exemple un deadcat (meoooww).

Le deadcat, qu’est ce que c’est donc ? Un châssis de bon goût ressemblant à un chat écrasé 🙂

En fait, je pense plutôt à ça :

25884-1(1)

Comme vous pouvez le voir, ce type de cadre, très adapté à des montages FPV et caméra, est asymétrique. Les bras avant sont plus écartés que les bras arrière. Pas de problème grâce au Motor Mixer, il suffit de customiser les réglages pour que cela vole bien. Voici comment faire avec un exemple :

schema-deadcat
Exemple châssis dead cat

On a donc l’espacement suivant entre chaque moteur et les axes Aileron et Elevator :

  • M1 :
    • A = -300mm
    • E = +200mm
  • M2 :
    • A = +300mm
    • E = +200mm
  • M3 :
    • A = +250mm
    • E = -300mm
  • M4 :
    • A = -250mm
    • E = -300mm

Le plus simple est d’utiliser un fichier excel et quelques formules pour qu’il fasse la normalisation tout seul, je vous donnerai mon exemple à la fin. Pour l’instant voici ce que ça donne lorsque l’on reporte ces valeurs en millimètres dans un tableau :

Capture d’écran 2014-11-12 à 16.28.45

NB : on arrondira les valeurs avec des virgules (KK2 Values).

NB2 : la fonction de normalisation est simplement 100 / MAX(valeurs en mm). Elle consiste à trouver un coefficient qui permet de transposer toutes les valeurs sur une échelle de 0 à 100.

NB3 : Selon les docs de votre firmware alternatif, le fonctionnement de la configuration du Motor Mixer peut être différent. Par exemple, dans l' »Appendix F » de la doc Steveis les exemples donnés reposent sur des calculs d’angles (avec des sinus, des cosinus … ce qui donne les valeurs avec +/- 71). La méthode présentée ici est plus simple et pour le moment j’ai pas constaté que cela ne fonctionnait pas correctement de cette manière.

Voila, il suffit maintenant de reporter ces valeurs dans le « Motor Mixer » pour avoir une configuration adaptée à la forme de votre cadre.

L’exemple présenté ici reste malgré tout assez basique, il est normalement possible de faire des choses beaucoup plus subtiles vous permettant de designer des cadres très originaux.

Fichier de calcul : KK2-motor-mixer (.XSLT)

Sources :

RC Na Veia : http://www.rcnaveia.com.br/2014/01/kk2-mixer-editor.html

Steveis KK2 Firmware & Doc : http://www.rcgroups.com/forums/showthread.php?t=2218254

 

5 réponses sur “Jouer avec le « Motor Mixer Editor » des cartes KK2”

  1. alors, cette explication tombe au bon moment, je viens de finir de monter mon quad spyda500 (deadcat) et avec ca, je vais enfin peut être réussir a décoller correctement 🙂
    j’adore votre site, j’y ai quasiment tout suivi pour le montage.

      1. juste une petite précision, le centre d’ou il faut prendre la mesure, c’est bien sur la carte?
        en tout cas, j’ai mesurer en partant d’un point de la carte, notamment la puce gyro.

        maintenant ça décolle uniformément, faut encore que je règle des choses car ça ballote beaucoup.

        1. En théorie le centre est à l’intersection des 4 moteurs (du coup c’est pas forcement au milieu sur un deadcad). Il faut center le contrôleur de vol à cet endroit aussi sinon risque d’instabilité 🙂

          PS : le schéma de l’article est pas totalement exact sur ce point

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.