Le bus CAN expliqué : comment contrôleurs, BMS et afficheurs se parlent
Sur une machine électrique moderne, les éléments ne se contentent plus d'échanger de la puissance : ils échangent des informations. Le contrôleur veut connaître l'état de la batterie, l'afficheur la vitesse et les températures, un second contrôleur la consigne du premier. Le moyen le plus répandu pour cela vient de l'automobile : le bus CAN. Ce guide explique comment il fonctionne et comment le câbler sans erreur.
L'essentiel
- Le CAN relie plusieurs appareils sur une même paire de fils torsadés, appelés CAN haut et CAN bas.
- Il faut une résistance de 120 ohms à chacune des deux extrémités du bus, et seulement aux extrémités.
- Chaque message porte un identifiant qui sert aussi de priorité : le plus important passe toujours en premier.
- Tous les appareils doivent utiliser la même vitesse de communication.
Un bus, pas une liaison
Une liaison série classique relie deux appareils. Le CAN, lui, est un bus : tous les appareils sont branchés sur les mêmes deux fils, et chacun peut parler à tous. Pour ajouter un appareil, on se branche sur le bus, sans tirer de nouveau câble jusqu'au contrôleur. C'est ce qui l'a imposé dans l'automobile, où des dizaines de calculateurs se partagent quelques paires de fils.
Sur un véhicule léger, on y trouve typiquement un ou plusieurs contrôleurs, le BMS de la batterie, un afficheur, un module de télémétrie ou un chargeur.
Deux fils, une différence
Le CAN utilise une paire de fils, CAN haut et CAN bas. L'information n'est pas portée par la tension d'un fil par rapport à la masse, mais par la différence entre les deux :
- au repos (bit « récessif »), les deux fils sont à la même tension, environ la moitié de l'alimentation du circuit ;
- pour émettre un bit « dominant », l'émetteur écarte les deux fils : le haut monte, le bas descend.
Une perturbation électrique, comme celle d'un contrôleur qui découpe des centaines d'ampères, touche les deux fils de la même façon. Leur différence, elle, reste intacte. C'est ce qui rend le CAN si robuste dans un environnement électrique bruyant, à condition que les deux fils soient torsadés ensemble.
Les résistances de terminaison
Un bus CAN doit avoir une résistance de 120 ohms entre CAN haut et CAN bas à chacune de ses deux extrémités physiques. Elles empêchent les signaux de rebondir en bout de câble et ramènent le bus au repos.
- Bus bien terminé : en mesurant entre CAN haut et CAN bas, appareils éteints, on trouve environ 60 ohms (deux fois 120 ohms en parallèle).
- Environ 120 ohms : il manque une terminaison.
- Une valeur nettement inférieure à 60 ohms : il y a trop de terminaisons, souvent parce que plusieurs appareils ont la leur activée.
Une terminaison absente ou en trop est la première cause de communication instable.
Identifiants et priorité
Chaque message CAN porte un identifiant, un numéro qui dit de quoi il parle (par exemple « état de la batterie » ou « consigne du moteur avant »). Les appareils lisent tous les messages et ne gardent que ceux qui les intéressent.
Quand deux appareils commencent à émettre en même temps, ils comparent leurs identifiants bit par bit, sur le fil même. Un bit dominant écrase un bit récessif : celui qui émet un bit récessif et lit un bit dominant comprend qu'il a perdu et se tait. L'identifiant le plus petit gagne toujours, sans qu'aucun message ne soit abîmé. On appelle cela l'arbitrage : les messages critiques reçoivent les plus petits identifiants.
Fiabilité intégrée
- Chaque message contient un code de contrôle : un message abîmé est détecté et réémis.
- Chaque récepteur confirme la bonne réception par un bit d'acquittement.
- Un appareil qui accumule les erreurs se met de lui-même en retrait, pour ne pas bloquer tout le bus.
La vitesse du bus
Tous les appareils d'un bus doivent utiliser la même vitesse. Les valeurs les plus courantes sont 250 et 500 kilobits par seconde, parfois 1 mégabit. Plus le bus est rapide, plus sa longueur maximale est courte, mais sur un véhicule léger, de quelques mètres au plus, la longueur n'est jamais une limite. Une version plus récente, le CAN FD, transporte davantage de données par message à plus haute vitesse.
Exemple : deux contrôleurs reliés
Sur une trottinette à deux moteurs, deux contrôleurs reliés par CAN se comportent comme un seul : celui qui reçoit l'accélérateur transmet la consigne à l'autre, et un seul logiciel de réglage voit les deux. C'est le cas des contrôleurs VESC, présenté dans notre guide le VESC expliqué simplement.
Le conseil de l'atelier
Torsadez toujours ensemble CAN haut et CAN bas, éloignez-les des câbles de phase, et vérifiez les 60 ohms au multimètre avant la première mise sous tension. Cinq minutes de contrôle évitent des heures de recherche de communication intermittente.
Questions fréquentes
Le CAN transporte-t-il du courant pour alimenter les appareils ?
Non, la paire CAN ne transporte que l'information. Les appareils ont leur propre alimentation, parfois fournie par d'autres fils du même câble.
Pourquoi ma communication CAN fonctionne-t-elle de façon intermittente ?
Les causes les plus fréquentes sont une terminaison absente ou en trop, des fils non torsadés qui passent près des câbles de puissance, un connecteur fatigué, ou deux appareils qui n'ont pas la même vitesse de bus.
Peut-on brancher n'importe quel appareil CAN ensemble ?
Électriquement, oui s'ils partagent la vitesse du bus. Mais pour qu'ils se comprennent, ils doivent parler le même « langage » : mêmes identifiants et même contenu des messages. Deux marques différentes ne se comprennent pas sans adaptation.