Réponse rapide
DroneCAN est un protocole de bus numérique à deux fils qui permet aux contrôleurs de vol de communiquer simultanément avec plusieurs périphériques, envoyant des commandes et recevant de la télémétrie via un câble partagé. Le PWM envoie un signal analogique par fil sans retour d'information. Pour tout ce qui dépasse un quadricoptère de base, DroneCAN est le meilleur choix.
Qu'est-ce que le PWM ?
Le PWM (Pulse Width Modulation) est la méthode standard pour contrôler les moteurs et les servos dans les drones depuis le début du hobby. Le contrôleur de vol envoie une série d'impulsions électriques le long d'un fil, et la largeur de chaque impulsion indique à l'ESC ou au servo ce qu'il doit faire. Une impulsion de 1000 microsecondes signifie un régime moteur minimal ; 2000 microsecondes signifie un régime maximal.
Le problème est que chaque signal nécessite son propre fil. Un quadricoptère a besoin de quatre fils de signal entre le contrôleur de vol et ses ESC. Un octocoptère en a besoin de huit. La communication est unidirectionnelle : le FC envoie des commandes, mais les ESC ne peuvent pas renvoyer d'informations. Si un moteur surchauffe ou consomme un courant excessif, le contrôleur de vol n'en a aucune idée.
Qu'est-ce que DroneCAN ?
DroneCAN est un protocole léger construit sur la norme de bus CAN (la même technologie utilisée dans les voitures et l'automatisation industrielle). Il utilise seulement deux fils, CAN_H et CAN_L, dans une configuration de signalisation différentielle très résistante au bruit électrique.
Chaque appareil sur le bus reçoit un identifiant de nœud unique. Les appareils sont connectés en série plutôt que câblés individuellement au FC. La communication est bidirectionnelle : le contrôleur de vol envoie des commandes, et les périphériques renvoient des données de télémétrie comme le régime, la température, la tension, le courant et les états d'erreur.
DroneCAN a commencé comme une continuation de UAVCAN v0 après que la communauté a décidé de forker plutôt que d'adopter les changements majeurs de UAVCAN v1. ArduPilot et PX4 le supportent tous deux comme leur protocole CAN principal.
PWM vs DroneCAN : Les principales différences
| Fonctionnalité | PWM | DroneCAN |
|---|---|---|
| Type de signal | Impulsion analogique | Différentiel numérique |
| Câblage (8 moteurs) | 8 fils de signal | 2 fils partagés |
| Télémétrie | Aucune | RPM, température, courant, tension |
| Détection d'erreurs | Aucune | CRC + réessai automatique |
| Nombre max. d'appareils | Limité par les broches du FC | Jusqu'à 127 nœuds |
| Direction | Unidirectionnel | Bidirectionnel |
Quand utiliser chaque protocole
Le PWM a toujours du sens pour les quads FPV de course et les constructions simples. DShot et Oneshot (variantes numériques du PWM) sont rapides, à faible latence et simples à configurer. Si vous avez quatre moteurs et aucun besoin de télémétrie ESC, le PWM fait le travail avec un minimum de tracas.
DroneCAN excelle sur les constructions plus grandes : hexacoptères, octocoptères, drones à voilure fixe et tout ce qui est utilisé commercialement ou pour des missions à longue portée. La simplification du câblage à elle seule est un avantage majeur. La possibilité de surveiller la température et le courant de chaque ESC en temps réel prévient les pannes avant qu'elles ne se produisent.
Si vous construisez sur Pixhawk avec ArduPilot ou PX4, les périphériques DroneCAN se branchent directement. Les modules GPS, les compas, les capteurs de vitesse anémométrique et les modules d'alimentation ont tous des variantes DroneCAN. Pour acheminer un bus DroneCAN vers plusieurs cartes, un répartiteur étoile DroneCAN maintient le câblage ordonné, tandis qu'une carte breakout DroneCAN vous permet de conserver les ESC PWM existants sur une construction équipée de CAN. Parcourez ces produits et bien d'autres dans notre collection maker.
Un exemple concret : le module d'alimentation PM08-CAN
Le PM08-CAN 14S 200A de Holybro montre ce que DroneCAN permet. Il gère une entrée de 2S à 14S (7V à 60.9V), mesure jusqu'à 200A de courant continu et renvoie la tension, le courant et la température au contrôleur de vol via le bus CAN. Il fournit également deux sorties BEC 5V indépendantes et peut recevoir des mises à jour de firmware sans être physiquement connecté à un ordinateur.
Aucune de ces télémétries ne serait possible via PWM. La même carte qu'un module d'alimentation PWM pourrait signaler la tension, mais la détection de courant, la surveillance de la température et le flashage du firmware à distance nécessitent tous le canal de données bidirectionnel que DroneCAN fournit.
Pour un examen plus approfondi de la façon dont les contrôleurs de vol gèrent les différents protocoles, consultez notre guide sur ce qu'est un contrôleur de vol et ce qu'il fait.
FAQ
Q : Puis-je mélanger PWM et DroneCAN sur le même drone ?
R : Oui. La plupart des contrôleurs de vol prennent en charge les deux simultanément. Vous pouvez utiliser DroneCAN pour votre module d'alimentation et votre GPS tout en conservant le PWM (DShot) pour les ESC de vos moteurs.
Q : DroneCAN est-il la même chose que UAVCAN ?
R : DroneCAN est un fork de UAVCAN v0. Lorsque UAVCAN v1 a introduit des changements majeurs, la communauté des drones a continué à développer la v0 sous le nom de DroneCAN. Les deux protocoles ne sont pas compatibles.
Q : Ai-je besoin d'un contrôleur de vol spécial pour DroneCAN ?
R : Le contrôleur de vol doit disposer d'un port de bus CAN. La plupart des cartes compatibles Pixhawk en ont un. Si vous n'êtes pas sûr, vérifiez les spécifications de votre contrôleur de vol spécifique.