Configuration du réseau CAN et recherche d'ID
Précautions avant utilisation
- Connectez l'UTOR ou la carte mère avec le firmware de pont CAN flashé à l'ordinateur hôte via USB.
- Veuillez vous connecter à l'interface d'administration de l'ordinateur hôte via le réseau, n'utilisez pas le port série.
- 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
- Système Raspberry Pi
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.
Système Raspberry Pi
Créez le fichier de configuration réseau (vous pouvez modifier la valeur BitRate) :
sudo tee /etc/systemd/network/99-can.network > /dev/null <<'EOF'
[Match]
Name=can*
[CAN]
BitRate=1000000
RestartSec=100ms
EOF
Créez le fichier de configuration de lien (il est déconseillé de modifier le cache) :
sudo tee /etc/systemd/network/99-can.link > /dev/null <<'EOF'
[Match]
OriginalName=can*
[Link]
TxQueueLength=1024
EOF
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:afficheKlipperà la fin, cela signifie que cet ID peut être utilisé directement. - Si un ID apparaît et que
Application:afficheCANBOOTouKatapultà 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 :
- 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
- Dans les informations affichées, vérifiez deux paramètres clés :
bitrate: Le débit de communication CAN actuel (par exemple1000000pour 1 Mbps).TxQueueLength: La longueur de la file d'attente de transmission / taille du cache (par exemple1024).
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 :
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 :
- Commentez ou supprimez temporairement toutes les sections de configuration concernant cette carte outil dans
printer.cfg. - 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 :
- Assurez-vous que la machine est hors tension avant d'opérer.
- 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.
- 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 seulement120Ω), cela indique une erreur de câblage ou de configuration des résistances de terminaison.
Règles de configuration pour chaque appareil :
| Type d'appareil | Exigence de résistance de terminaison | Instructions d'opération |
|---|---|---|
| Carte outil CAN | Né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ère | Nécessite une résistance de terminaison 120Ω | Activez-la via le cavalier ou l'interrupteur DIP sur la carte. |
| Module de conversion type UTOC | Résistance 120Ω intégrée | Aucune autre résistance de terminaison nécessaire. |