Aller au contenu principal

Configuration du réseau CAN et recherche d'ID

Précautions avant utilisation

  1. Connectez l'UTOR ou la carte mère avec le firmware de pont CAN flashé à l'ordinateur hôte via USB.
  2. Veuillez vous connecter à l'interface d'administration de l'ordinateur hôte via le réseau, n'utilisez pas le port série.
  3. Si vous utilisez le système FlyOS-FAST, il n'est pas nécessaire de configurer le CAN (le système est déjà préconfiguré avec un débit de 1M et un cache de 1024).

Vérifier si l'ordinateur hôte prend en charge le CAN

Cette étape peut être ignorée si vous utilisez un ordinateur hôte FLY.

Exécutez la commande suivante pour vérifier la prise en charge du noyau pour le CAN :

sudo modprobe can && echo "Le noyau prend en charge le CAN" || echo "Le noyau ne prend pas en charge le CAN"

Si le message "Le noyau prend en charge le CAN" s'affiche, vous pouvez continuer la configuration.

Configurer CAN0

⚠️ Cette opération écrasera la configuration existante de CAN0. Un redémarrage du système est nécessaire après l'opération.
Système FAST : Ne pas exécuter !

Choisissez la méthode de configuration correspondant à votre type de système :

Système Linux standard

Configuration à un débit de 1M :

sudo /bin/sh -c "cat > /etc/network/interfaces.d/can0" << EOF
allow-hotplug can0
iface can0 can static
bitrate 1000000
up ifconfig \$IFACE txqueuelen 1024
pre-up ip link set can0 type can bitrate 1000000
pre-up ip link set can0 txqueuelen 1024
EOF

Configuration à un débit de 500K :
Remplacez 1000000 par 500000 dans la commande ci-dessus.

Enfin, redémarrez l'appareil :

sudo reboot

Commande de recherche d'ID CAN

  • Commande de recherche pour ordinateur hôte standard
    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Commande de recherche pour ordinateur hôte FLY
    python3 ~/klipper/scripts/canbus_query.py can0
  • Si un ID apparaît et que Application: affiche Klipper à la fin, cela signifie que cet ID peut être utilisé directement.
  • Si un ID apparaît et que Application: affiche CANBOOT ou Katapult à la fin, cela signifie qu'un flashage du firmware est nécessaire avant utilisation.
    Loading...

Messages d'erreur

  • Voici les erreurs courantes :
    • OSError: [Errno 19] No such device
    • can.CanError: Failed to transmit: [Errno 100] Network is down
    • can.CanError: Failed to transmit: [Errno 105] No buffer space available
  • La première signifie que l'ordinateur hôte ne trouve pas le périphérique CAN (carte mère avec firmware de pont USB flashé ou UTOC).
  • La deuxième signifie que l'ordinateur hôte n'a pas été configuré ou que CAN0 a été mal configuré.
  • La troisième signifie que le cache de l'ordinateur hôte est insuffisant ou qu'un problème système a provoqué un crash du cache.
  • Pour les deuxième et troisième points, reportez-vous à la configuration de CAN0 et reconfiguez.

Guide de recherche d'ID de carte outil et dépannage

1. Vérifier et configurer le débit CAN

Le débit de communication CAN du firmware de la carte outil doit être exactement le même que celui configuré sur l'ordinateur hôte (maître), sinon le périphérique ne pourra pas être détecté.

Étapes :

  1. Dans le terminal de l'ordinateur hôte, exécutez la commande suivante pour voir l'état actuel de l'interface CAN0 :
    ip -details link show can0
  2. Dans les informations affichées, vérifiez deux paramètres clés :
    • bitrate: Le débit de communication CAN actuel (par exemple 1000000 pour 1 Mbps).
    • TxQueueLength: La longueur de la file d'attente de transmission / taille du cache (par exemple 1024).

L'image ci-dessous montre un exemple de sortie de la commande. Vérifiez attentivement le paramètre bitrate dans le cadre rouge pour voir s'il correspond aux paramètres de votre appareil :

Loading...

2. Exclure l'occupation de l'ID par le système

Si la carte outil a déjà été flashée avec le firmware Klipper et que son ID a déjà été écrit dans le fichier de configuration de l'ordinateur hôte (printer.cfg), cet ID sera occupé par le système et ne pourra pas être affiché lors de la recherche.

Solution :

  1. Commentez ou supprimez temporairement toutes les sections de configuration concernant cette carte outil dans printer.cfg.
  2. Après avoir effectué la modification, vous devez éteindre complètement la machine et la débrancher de l'alimentation pendant environ 10 secondes, puis la remettre sous tension.

3. Vérifier la résistance de terminaison du bus CAN

  • Un réseau de bus CAN stable doit avoir une résistance de terminaison de 120Ω installée aux deux extrémités physiques de la ligne.
  • Il est impératif de s'assurer qu'entre CAN-H et CAN-L, la résistance mesurée avec un multimètre, hors tension, est d'environ 60Ω.

Méthode de vérification :

  1. Assurez-vous que la machine est hors tension avant d'opérer.
  2. Utilisez le mode ohmmètre d'un multimètre pour mesurer la résistance entre les broches CAN-H et CAN-L sur le connecteur CAN de la carte mère ou de la carte outil.
  3. La résistance correcte du bus doit être d'environ 60Ω (résultat de la mise en parallèle de deux résistances de 120Ω). Si la valeur mesurée s'écarte trop (par exemple, un circuit ouvert ou seulement 120Ω), cela indique une erreur de câblage ou de configuration des résistances de terminaison.

Règles de configuration pour chaque appareil :

Type d'appareilExigence de résistance de terminaisonInstructions d'opération
Carte outil CANNécessite une résistance de terminaison 120ΩActivez-la via le cavalier ou l'interrupteur DIP sur la carte.
Interface CAN de la carte mèreNécessite une résistance de terminaison 120ΩActivez-la via le cavalier ou l'interrupteur DIP sur la carte.
Module de conversion type UTOCRésistance 120Ω intégréeAucune autre résistance de terminaison nécessaire.
Loading...