Catégorie : Technique

  • Bus et protocoles : piloter les moteurs, du PWM au DShot

    Bus et protocoles : piloter les moteurs, du PWM au DShot

    Entre le contrôleur de vol et les ESC circule la consigne de chaque moteur, plusieurs milliers de fois par seconde. Le protocole choisi conditionne la latence, la résolution et la possibilité de récupérer des informations en retour.

    Du PWM au numérique

    ProtocolePrincipePériode / débitRemarques
    PWMimpulsion de 1 000 à 2 000 µsjusqu’à 490 Hzhérité du modélisme, trop lent pour un multirotor
    OneShot125impulsion de 125 à 250 µsjusqu’à 4 kHzanalogique, à calibrer
    OneShot42impulsion de 42 à 84 µsjusqu’à 12 kHzanalogique, à calibrer
    Multishotimpulsion de 5 à 25 µsjusqu’à 32 kHzanalogique, sensible au bruit
    DShot150 à 1200trame numérique de 16 bits150 à 1 200 kbit/spas de calibration, somme de contrôle

    Les protocoles analogiques codent la consigne dans la durée d’une impulsion : l’ESC mesure cette durée, d’où la calibration des bornes et une sensibilité aux parasites. Le DShot transmet une valeur numérique protégée par une somme de contrôle : plus de calibration, et une trame corrompue est simplement ignorée.

    La trame DShot

    1000001011000110valeur (11 bits)TCRC (4 bits)« 1 » : 75 % du bit à l’état haut — « 0 » : 37,5 %
    Trame DShot de la valeur 1046 : 0x82C6.

    Seize bits : onze pour la valeur (0 à 47 réservés aux commandes, 48 à 2 047 pour les gaz), un bit de demande de télémétrie, quatre bits de somme de contrôle. Un « 1 » est un état haut sur 75 % du temps bit, un « 0 » sur 37,5 %. L’article Le protocole DShot décortiqué détaille le codage bit à bit, la réponse bidirectionnelle, et propose un calculateur de trames.

    DébitDurée d’un bitDurée d’une trame
    DShot1506,67 µs107 µs
    DShot3003,33 µs53 µs
    DShot6001,67 µs27 µs
    DShot12000,83 µs13 µs

    DShot300 suffit pour une boucle à 4 kHz, DShot600 pour 8 kHz. Monter plus haut n’apporte rien si la boucle ne suit pas, et rend la liaison plus sensible aux longueurs de fil.

    DShot bidirectionnel et télémétrie

    En DShot bidirectionnel, l’ESC répond sur le même fil après chaque trame avec la vitesse de rotation électrique du moteur (eRPM). Betaflight s’en sert pour le filtre RPM, qui suit les harmoniques moteurs et nettoie le gyroscope bien mieux qu’un filtre fixe. Il faut un firmware d’ESC qui le gère (BLHeli_32, Bluejay, AM32) et activer dshot_bidir.

    La télémétrie complète (tension, courant, température, régime) passe, elle, par un fil séparé vers un UART du contrôleur, à 115 200 bit/s, sur les ESC qui l’exposent.

    Les signaux en pratique

    • Un fil de signal par moteur, plus la masse : sur les ESC 4-en-1, le connecteur 8 broches les regroupe avec la tension batterie, le courant et la télémétrie.
    • Garder les fils de signal courts, ou torsadés avec la masse, et loin des fils de phase moteur.
    • Sortie motrice et timer : sur certaines cartes, deux sorties partagent un timer et doivent utiliser le même protocole. Les plans de câblage du fabricant l’indiquent.
  • Bus et protocoles : qui parle à qui sur un drone

    Bus et protocoles : qui parle à qui sur un drone

    Un drone est un petit réseau : le contrôleur de vol échange en permanence avec le récepteur, les ESC, le GPS, l’émetteur vidéo et ses propres capteurs. Chaque liaison utilise un bus adapté à son débit, à sa distance et au nombre de composants à relier. Cette série les passe en revue, du principe électrique au réglage dans Betaflight.

    Contrôleurde volSPI interne : gyro,OSD, flashRécepteurUART (CRSF, SBUS…)GPS + compasUART + I²CVTX / air unitUART (SmartAudio, MSP)ESC (×4)DShot + télémétrie UARTBaromètreI²C ou SPIAutopilote : CANDroneCAN
    Qui parle à qui sur un drone FPV (et, en pointillé, sur un autopilote).
    BusFilsDébit typiqueDistanceUsages
    UARTTX, RX, masse57,6 à 420 kbit/squelques dizaines de cmrécepteur, GPS, VTX, télémétrie
    I²CSDA, SCL, masse100 à 400 kHzsur la carte, quelques cm en filbaromètre, compas, OLED
    SPISCK, MOSI, MISO, CS10 à 24 MHzsur la cartegyroscope, OSD, flash, récepteur intégré
    DShotun fil par moteur150 à 1 200 kbit/sjusqu’aux ESCconsigne moteur, retour de régime
    CANpaire différentielle1 Mbit/splusieurs mètresGPS, ESC, capteurs sur autopilote

    Les articles de la série

    Pour situer chaque composant dans la machine, la série Anatomie d’un drone détaille le rôle de chacun, notamment le contrôleur de vol et la radiocommande et le récepteur.