Guide de connexion MCU
Ce guide est destiné à diagnostiquer et résoudre les problèmes de connexion entre le MCU et Klipper.
Préparations et précautions
- Périphériques hôtes déconseillés : Évitez d'utiliser des appareils tels que les téléphones Redmi, les clés WiFi, les boîtiers TV, etc. Ils utilisent généralement des systèmes personnalisés ou modifiés, ce qui peut empêcher la reconnaissance correcte du MCU.
- Confirmez le nombre de MCU esclaves : Veuillez confirmer à l'avance le nombre de MCU esclaves (par exemple, les cartes d'outillage) que vous utilisez. Plusieurs MCU esclaves peuvent affecter la connexion.
- Simplifiez le câblage : Il est recommandé de retirer temporairement tous les câbles, à l'exception du câble de données, de la carte mère et de la carte d'outillage, afin d'éliminer les interférences.
- Interface recommandée : Il est recommandé d'utiliser l'interface Fluidd, qui affiche plus intuitivement l'état de connexion du MCU.
Étape 1 : Sauvegarder et réinitialiser la configuration
1. Accéder à l'interface de l'hôte
Saisissez l'adresse IP de l'hôte (ex : 192.168.101.179) dans votre navigateur pour y accéder.
2. Localiser le fichier de configuration
Accédez à l'interface Web et trouvez l'option de configuration dans la barre latérale gauche :
Utilisateurs de Fluidd : Cliquez sur Loading... | Utilisateurs de Mainsail : Cliquez sur Loading... |
3. Sauvegarder le fichier de configuration
Faites un clic droit sur le fichier printer.cfg, sélectionnez Duplicate pour le copier, puis renommez la copie en :
printer_Backup.cfg
Exemple de manipulation sous Fluidd : Loading... | Exemple de manipulation sous Mainsail : Loading... |
4. Réinitialiser le fichier de configuration
Rouvrez printer.cfg, effacez tout son contenu, et collez la configuration de base suivante :
[mcu]
serial: /tmp/klipper_host_mcu
[printer]
kinematics: none
max_velocity: 200
max_accel: 1000
5. Sauvegarder et redémarrer
- Cliquez sur SAVE & RESTART en haut à droite. Klipper enregistrera la configuration et redémarrera le service.
- Ignorez temporairement toute erreur éventuelle.
- Ensuite, mettez tous les appareils (y compris l'hôte et tous les MCU esclaves) hors tension.
- Important : Assurez-vous que l'alimentation est complètement coupée, sinon les étapes suivantes ne pourront pas être effectuées.
Étape 2 : Détecter les appareils et confirmer le type de firmware
Prérequis
- Ordre des appareils principaux : Le premier
MCUdoit être la carte mère, pas la carte d'outillage. - Type de firmware : Confirmez que le firmware de votre carte mère FLY est un firmware USB ou un firmware USB bridge CAN. Ce guide ne s'applique pas aux autres types.
- Méthode de connexion : Veuillez d'abord vous connecter en SSH. Cette opération doit être effectuée via le réseau.
Procédure
-
Exécuter la détection des appareils
- Après une connexion SSH réussie, exécutez la commande suivante :
lsusb
- Le système listera tous les périphériques USB reconnus.
- Après une connexion SSH réussie, exécutez la commande suivante :
-
Gérer les anomalies de commande
- Si la commande
lsusbn'est pas trouvée, installez-la d'abord :sudo apt-get install usbutils - Si aucun appareil ne s'affiche après l'exécution, il est conseillé de changer d'ordinateur hôte.
- Si la commande
-
Identifier les informations de l'appareil Identifiez votre appareil dans le résultat de
lsusbà l'aide du schéma ci-dessous :Loading...Loading... -
Vérifier le type de firmware
- En fonction du firmware que vous avez flashé, vérifiez les informations clés suivantes dans le résultat de
lsusb:- Firmware USB : doit afficher
1d50:614e - Firmware USB bridge CAN : doit afficher
1d50:606f - Firmware USB Katapult : doit afficher
1d50:6177 - Adaptateur RS232 (avec UTOR ou en utilisant les cartes mères D8 et D8PRO) : doit afficher
1a86:7523(cette étape n'est pas nécessaire avec G2T)
- Firmware USB : doit afficher
- En fonction du firmware que vous avez flashé, vérifiez les informations clés suivantes dans le résultat de
Étape 3 : Rechercher l'ID de l'appareil
Remarques importantes
- Recherche d'ID USB : Applicable uniquement au firmware USB, pas au CAN ou au RS232.
- Recherche d'ID CAN : Applicable uniquement aux appareils sur bus CAN, pas à l'USB ou au RS232.
- Recherche d'ID RS232 : Applicable uniquement au firmware RS232, pas à l'USB ou au CAN.
- Spécificité RS232 : Le firmware RS232 est généralement utilisé uniquement pour les cartes d'outillage, pas pour le MCU principal.
Choisir la méthode en fonction du type de firmware
Appareils avec firmware USB Exécutez la commande suivante pour rechercher l'ID du périphérique USB :
ls /dev/serial/by-id/*
Appareils USB bridge CAN En fonction de votre type de système, choisissez la commande correspondante pour rechercher l'ID CAN :
- Hôte standard
- Système Fly_FAST
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
Appareils avec firmware RS232 Exécutez la commande suivante pour rechercher le chemin du périphérique RS232 :
ls /dev/serial/by-path/*
Interprétation et traitement des résultats
Résultat de la recherche d'ID USB
Après avoir exécuté la commande, le terminal affichera un ID d'appareil similaire à celui-ci (il s'agit d'un exemple) :
-
✅ Utilisable directement : Si l'ID est marqué comme
Klipperaprès le champusb- -
⚠️ Nécessite un flash du firmware : Si l'ID est marqué comme
katapultaprès le champusb-Loading...
Résultat de la recherche d'ID CAN
Après avoir exécuté la commande, jugez en fonction de la situation réelle :
- ✅ Utilisable directement : Si l'ID affiché est marqué comme
Klipperdans le champApplication:à la fin. - ⚠️ Nécessite un flash du firmware : Si l'ID affiché est marqué comme
CANBOOTouKatapultdans le champApplication:à la fin. - ❌ Appareil non trouvé : Si
Total 0 uuids founds'affiche, les causes possibles incluent :- Erreur de configuration du réseau CAN
- Inadéquation du débit CAN (assurez-vous que le débit de l'hôte, de la carte mère et de la carte d'outillage est identique)
- Cet ID est déjà utilisé (doit être masqué dans la configuration, puis éteindre, couper l'alimentation et redémarrer)
Résultat de la recherche d'ID RS232
Après avoir exécuté la commande, le terminal affichera le chemin du périphérique RS232 (il s'agit d'un exemple) :
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
Les périphériques RS232 doivent spécifier le débit en bauds et la méthode de redémarrage lors de la configuration :
[mcu toolboard]
serial: <remplacer ici par le chemin du périphérique RS232 trouvé>
baud: 250000
restart_method: command
Étape 4 : Configurer l'ID du MCU principal
Avant de commencer la configuration, assurez-vous que la connexion entre la carte d'outillage et l'hôte ou la carte mère est débranchée afin d'éviter les conflits de reconnaissance des appareils.
Rouvrez le fichier printer.cfg et trouvez la ligne de configuration serial: /tmp/klipper_host_mcu dans la section [mcu].
En fonction de votre type de connexion, référez-vous à la méthode correspondante ci-dessous pour configurer :
- Configuration connexion USB
- Configuration connexion CAN
Remplacez /tmp/klipper_host_mcu après serial: par l'ID USB trouvé.
Exemple de configuration :
# L'ID USB trouvé est :
# /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
# Modifier la configuration en :
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
Remplacez l'option de configuration serial: /tmp/klipper_host_mcu par canbus_uuid:, et saisissez l'ID CAN trouvé.
Exemple de configuration :
# L'ID CAN trouvé est :
# 688e89f0e401
# Modifier la configuration en :
[mcu]
canbus_uuid: 688e89f0e401
Enregistrez la configuration et redémarrez le service Klipper.
Étape 5 : Vérifier la connexion du MCU principal
Après avoir configuré le MCU principal, vous devez vérifier que la connexion a réussi :
- Ouvrez l'interface Fluidd, cliquez sur
Systemdans le menu de gauche - Consultez les informations du MCU : Trouvez les informations
Micro-ControllersousMcu Information - Vérifiez le modèle du microcontrôleur : Confirmez que le modèle affiché correspond au modèle réel du microcontrôleur de votre carte mère
:::astuce Points de vérification
- Si votre microcontrôleur est un STM32H723,
Micro-Controllerdoit afficher un modèle lié au H723 - Si l'affichage est incorrect ou non reconnu, vérifiez les étapes de configuration précédentes :::
Étape 6 : Ajouter un MCU de carte d'outillage
Une fois le MCU principal vérifié avec succès, vous pouvez ajouter la carte d'outillage :
- Reconnectez la carte d'outillage : Rebranchez le câble de données de la carte d'outillage à l'hôte ou à la carte mère
- Modifiez le fichier de configuration : Ajoutez la configuration de la carte d'outillage tout en bas du fichier
printer.cfg - Configurez l'ID de la carte d'outillage : En fonction du type de firmware de la carte d'outillage, ajoutez l'ID correspondant dans la nouvelle section de configuration
:::astuce Remarque sur le nommage du MCU
Les noms comme mcu1, mcu2 dans la configuration sont uniquement utilisés pour distinguer temporairement différents appareils. Vous pouvez personnaliser ces noms librement, assurez-vous simplement qu'ils restent uniques dans le fichier de configuration.
:::
Format de configuration :
[mcu mcu1]
# Ajoutez ici la configuration de l'ID de la carte d'outillage
Exemple de configuration :
- Carte d'outillage USB
- Carte d'outillage CAN
- Carte d'outillage RS232
[mcu mcu1]
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00
[mcu mcu1]
canbus_uuid: 688e89f0e402
[mcu mcu1]
serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
baud: 250000
restart_method: command
Remarques :
- Chaque MCU doit avoir un ID unique. Assurez-vous que l'ID de la carte d'outillage est différent de celui du MCU principal et des autres appareils.
- Le nom du MCU peut être entièrement personnalisé (par exemple
toolboard,extruder_mcu, etc.), assurez-vous simplement qu'il reste unique dans la configuration. - Veuillez utiliser l'ID de carte d'outillage validé par les étapes précédentes.
- Les périphériques RS232 doivent être configurés avec les paramètres
baud: 250000etrestart_method: command. - Lors de la configuration de plusieurs cartes d'outillage, donnez un nom différent à chaque appareil pour les distinguer.
Configuration des broches entre plusieurs cartes d'outillage
Lorsque vous utilisez plusieurs cartes d'outillage, vous pouvez rencontrer des besoins d'affectation des broches entre les cartes. Par exemple, la fonction de chauffe utilise la prise de chauffe de la première carte d'outillage, mais le capteur de température est connecté à la carte mère ou à la deuxième carte d'outillage.
:::astuce Principe fondamental
Dans la configuration multi-MCU de Klipper, les broches de n'importe quelle section de configuration peuvent référencer directement les broches de n'importe quel MCU défini en utilisant le format <nom_mcu>:<numéro_de_broche>, sans configuration supplémentaire. Klipper acheminera automatiquement les commandes vers le MCU correspondant via le bus de communication (CAN/USB/RS232).
:::
Scénario typique : Chauffage sur la carte d'outillage, capteur de température sur la carte mère
Supposons que la configuration du système soit la suivante :
- MCU principal : Exécute le firmware hôte Klipper de l'ordinateur hôte, le capteur de température est connecté à la carte mère
- toolboard1 : Carte d'outillage, la cartouche chauffante et le moteur pas à pas de l'extrudeuse sont connectés à la carte d'outillage
Étape 1 : Définir tous les MCU
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
[mcu toolboard1]
canbus_uuid: e51d5c71a901
Étape 2 : Référencer directement les broches entre les cartes dans la configuration
[extruder]
# Le pas à pas et le chauffage utilisent les broches de la carte d'outillage
step_pin: toolboard1:gpio9
dir_pin: toolboard1:gpio10
enable_pin: !toolboard1:gpio7
heater_pin: toolboard1:gpio6 # Cartouche chauffante sur toolboard1
# Le capteur de température utilise les broches de la carte mère (écrire directement gpio ou mcu:gpio)
sensor_type: ATC Semitec 104GT-2
sensor_pin: PA0 # Capteur de température connecté à la carte mère
# Autres paramètres
rotation_distance: 22.44
gear_ratio: 50:17
microsteps: 16
full_steps_per_rotation: 200
nozzle_diameter: 0.400
filament_diameter: 1.75
min_temp: -235
max_temp: 350
max_power: 1.0
min_extrude_temp: 170
control: watermark
:::astuce Règles de nommage des broches
- Broches de la carte d'outillage : Format
<nom_mcu>:<numéro_de_broche>, par exempletoolboard1:gpio6 - Broches du MCU principal : Vous pouvez écrire directement le nom de la broche (par exemple
PA0) - Les broches d'une même section de configuration peuvent provenir de différents MCU, Klipper gère automatiquement la communication entre les cartes. :::
Plus d'exemples de configuration entre cartes
- Capteur de température sur la deuxième carte d'outillage
- Extrudeuses multiples sur différentes cartes d'outillage
- Contrôle du ventilateur entre les cartes
Cartouche chauffante sur la première carte d'outillage, capteur de température sur la deuxième carte d'outillage :
[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6 # Chauffage sur la première carte d'outillage
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:gpio26 # Capteur de température sur la deuxième carte d'outillage
# ... autres paramètres de l'extrudeuse
Deux extrudeuses connectées respectivement à différentes cartes d'outillage :
[extruder]
step_pin: toolboard1:gpio9
heater_pin: toolboard1:gpio6
sensor_pin: toolboard1:gpio27
# ... Paramètres de la première extrudeuse
[extruder1]
step_pin: toolboard2:gpio9
heater_pin: toolboard2:gpio6
sensor_pin: toolboard2:gpio27
# ... Paramètres de la deuxième extrudeuse
Extrudeuse sur la carte d'outillage, ventilateur du modèle sur la carte mère :
[fan]
pin: PB5 # Ventilateur du modèle sur la carte mère
# Les broches du MCU principal s'écrivent directement avec le nom de la broche
[heater_fan Dissipateur col du cygne]
pin: toolboard1:gpio14 # Ventilateur du dissipateur sur la carte d'outillage
heater: extruder
heater_temp: 50
fan_speed: 1.0
:::attention Remarques
- Lorsque vous référencez des broches entre les cartes, assurez-vous que le MCU correspondant a été correctement défini dans le fichier de configuration via
[mcu <nom>]. - Il est recommandé de connecter des appareils fonctionnellement liés (comme la cartouche chauffante et le capteur de température) sur la même carte d'outillage pour obtenir une meilleure réactivité et fiabilité. :::
Après avoir terminé la configuration, enregistrez et redémarrez le service Klipper.
Étape 7 : Vérifier la connexion de tous les MCU
Après avoir ajouté la carte d'outillage et redémarré Klipper, vous devez revérifier l'état de connexion de tous les MCU :
- Ouvrez l'interface Fluidd, cliquez sur
Systemdans le menu de gauche - Consultez les informations du MCU : Sous
Mcu Information, confirmez que tous les MCU sont correctement identifiés - Vérifiez l'état de chaque MCU : Assurez-vous que le MCU principal et la carte d'outillage affichent un état connecté
:::astuce Points de vérification
- Le MCU principal et toutes les cartes d'outillage doivent apparaître dans la liste
- L'état de connexion de chaque MCU doit être "Connecté"
- Si un MCU n'apparaît pas ou que la connexion échoue, vérifiez sa configuration et sa connexion physique :::
Étape 8 : Vérifier la version du firmware
Après avoir terminé la connexion de tous les MCU, vous devez vérifier la compatibilité des versions du firmware :
- Ouvrez l'interface Fluidd, cliquez sur
Systemdans le menu de gauche - Consultez les informations de version : Trouvez le champ
VersionsousMcu Information - Vérifiez la cohérence des versions : Confirmez que la version du firmware de tous les MCU correspond à la version de Klipper de l'hôte
- Firmware compilé personnalisé : À l'exception des appareils personnalisés préconfigurés, tous les firmwares compilés individuellement doivent correspondre à la version de Klipper de l'hôte.
- Système Fly-FAST : La version du firmware du système FAST est cohérente avec la version du système. Le firmware Klipper compilé est cohérent avec la version du système.
- Conséquences d'une incompatibilité de version : Des firmwares de versions différentes peuvent entraîner des anomalies fonctionnelles, des échecs de communication ou une instabilité du système.
Points de vérification :
- Les informations
Versiondu MCU principal et de toutes les cartes d'outillage doivent s'afficher et être cohérentes. - Si les versions ne correspondent pas, vous devez reflasher le firmware correspondant.
Étape 9 : Restaurer et mettre à jour le fichier de configuration
Après avoir confirmé que tous les MCU sont connectés correctement, vous devez restaurer le fichier de configuration d'origine et mettre à jour la configuration du MCU :
-
Supprimer le fichier de configuration actuel
- Dans l'interface de gestion des fichiers de configuration, trouvez et supprimez le fichier
printer.cfgactuel.
- Dans l'interface de gestion des fichiers de configuration, trouvez et supprimez le fichier
-
Restaurer la configuration de sauvegarde
- Renommez le fichier
printer_Backup.cfgprécédemment sauvegardé enprinter.cfg.
- Renommez le fichier
-
Mettre à jour la configuration du MCU
- Ouvrez le fichier
printer.cfgrestauré. - Trouvez la section
[mcu]d'origine et mettez-la à jour avec l'ID obtenu lors des étapes précédentes :
Configuration connexion USB :
[mcu]serial: /dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00# Remplacez par l'ID USB du MCU principal réellement trouvéConfiguration connexion CAN :
[mcu]canbus_uuid: 688e89f0e401# Remplacez par l'UUID CAN du MCU principal réellement trouvé - Ouvrez le fichier
-
Mettre à jour la configuration de la carte d'outillage (si applicable)
- Dans le fichier de configuration, trouvez la section
[mcu]correspondant à la carte d'outillage. - Mettez à jour avec l'ID de la carte d'outillage réellement trouvé en fonction du type de connexion :
Carte d'outillage USB :
[mcu toolboard]serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_54321-if00Carte d'outillage CAN :
[mcu toolboard]canbus_uuid: 688e89f0e402Carte d'outillage RS232 :
[mcu toolboard]serial: /dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0baud: 250000restart_method: command - Dans le fichier de configuration, trouvez la section
-
Sauvegarder et redémarrer
- Après avoir terminé toutes les mises à jour de la configuration du MCU, cliquez sur SAVE & RESTART pour enregistrer et redémarrer Klipper.
- Revenez à la page
Systemet confirmez que l'état de connexion de tous les MCU est normal.
:::astuce Rappel important
- Assurez-vous d'utiliser l'ID correct réellement trouvé lors de ce test de connexion.
- Si vous configurez plusieurs cartes d'outillage, mettez à jour l'ID de chaque section
[mcu]une par une. - La carte d'outillage RS232 doit inclure les paramètres
baud: 250000etrestart_method: command. - Après avoir restauré la configuration, les paramètres d'impression d'origine (comme les réglages des moteurs pas à pas, des interrupteurs de fin de course, etc.) resteront inchangés. :::
Ceci termine le dépannage de la connexion MCU et la restauration de la configuration.