Guide de connexion MCU
Ce guide est utilisé pour 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 comme les téléphones Redmi, les clés WiFi, les boîtiers TV, etc. Ceux-ci utilisent souvent des systèmes personnalisés ou modifiés, ce qui peut entraîner une mauvaise reconnaissance du MCU.
- Confirmer le nombre de MCU esclaves : Veuillez confirmer à l'avance le nombre de MCU esclaves (comme les cartes d'outillage) que vous utilisez, car plusieurs MCU esclaves peuvent affecter la connexion.
- Simplifier le câblage : Il est recommandé de débrancher temporairement tous les câbles de la carte mère et de la carte d'outillage, à l'exception du câble de données, pour éliminer les interférences.
- Interface recommandée : Il est recommandé d'utiliser l'interface Fluidd, qui affiche plus clairement l'état de connexion du MCU.
Première étape : Sauvegarder et réinitialiser la configuration
1. Accéder à l'interface de l'hôte
Saisissez l'adresse IP de l'hôte dans le navigateur pour y accéder.
2. Localiser le fichier de configuration
Accédez à l'interface WEB, puis trouvez l'option de configuration dans la barre latérale gauche :
Utilisateurs de Fluidd : Cliquez sur ..., puis trouvez printer.cfg.
Utilisateurs de Mainsail : Cliquez sur Machine, puis trouvez printer.cfg.
3. Sauvegarder le fichier de configuration
Faites un clic droit sur le fichier printer.cfg et sélectionnez Duplicate pour le copier, puis renommez la copie en :
printer_Backup.cfg
Exemple pour Fluidd :
Exemple pour Mainsail :
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.
- En cas d'erreur, ignorez-la temporairement.
- Ensuite, mettez tous les appareils (y compris l'hôte et tous les MCU esclaves) hors tension complètement.
- Important : Assurez-vous que la coupure de courant est totale, sinon les étapes suivantes ne pourront pas être effectuées.
Deuxième étape : Détecter les périphériques et confirmer le type de firmware
Conditions préalables
- Ordre des appareils principaux : Le premier
MCUdoit être la carte mère, pas une carte d'outillage. - Type de firmware : Assurez-vous que le firmware de votre carte mère FLY est un firmware USB ou USB bridging CAN, ce guide ne s'applique pas aux autres types.
- Méthode de connexion : Veuillez d'abord vous connecter en SSH, cette opération nécessite une connexion réseau.
Étapes
-
Exécuter la détection des périphériques
- Après avoir réussi la connexion SSH, exécutez la commande suivante :
lsusb
- Le système listera tous les périphériques USB reconnus.
- Après avoir réussi la connexion SSH, 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 aucune information n'est affichée après l'exécution, il est recommandé de changer d'hôte.
- Si la commande
-
Identifier les informations du périphérique Identifiez votre périphérique dans la sortie de
lsusbà l'aide du diagramme 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
lsusb:- Firmware USB : doit afficher
1d50:614e - Firmware USB bridging CAN : doit afficher
1d50:606f - Firmware USB Katapult : doit afficher
1d50:6177 - Adaptateur RS232 (avec UTOR ou utilisant les cartes mères D8 et D8PRO) : doit afficher
1a86:7523(cette étape n'est pas nécessaire avec le G2T)
- Firmware USB : doit afficher
- En fonction du firmware que vous avez flashé, vérifiez les informations clés suivantes dans le résultat
Troisième étape : Rechercher l'ID du périphérique
Remarques importantes
- Recherche d'ID USB : applicable uniquement au firmware USB, pas au CAN ou RS232.
- Recherche d'ID CAN : applicable uniquement aux périphériques CAN, pas à l'USB ou RS232.
- Recherche d'ID RS232 : applicable uniquement au firmware RS232, pas à l'USB ou CAN.
- Spécificité du 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
Périphérique avec firmware USB Exécutez la commande suivante pour rechercher l'ID du périphérique USB :
ls /dev/serial/by-id/*
Périphérique USB bridging 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
Périphérique 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ésultats de la recherche d'ID USB
Après avoir exécuté la commande, le terminal affichera un ID de périphérique similaire (ceci est un exemple) :
- Utilisable directement : le champ suivant
usb-afficheKlipper(ex.usb-Klipper_stm32f407xx_...), indiquant que le firmware Klipper a été flashé - Nécessite un flash : le champ suivant
usb-affichekatapult(ex.usb-katapult_stm32f407xx_...), indiquant qu'il s'agit actuellement du Bootloader, nécessitant le flash du firmware Klipper - Non identifiable : l'ID d'exemple ci-dessous affiche
1a86_USB_Serialaprèsusb-, indiquant que le périphérique est une puce de conversion série CH340 et non un MCU exécutant le firmware Klipper/katapult, nécessitant d'abord le flash du firmware correspondant
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
- Situation normale
Résultats de la recherche d'ID CAN
Après avoir exécuté la commande, interprétez le résultat du terminal :
- Utilisable directement : le champ
Application:à la fin de l'ID affiché est marqué commeKlipper - Nécessite un flash : le champ
Application:à la fin de l'ID affiché est marqué commeCANBOOTouKatapult - Aucun périphérique trouvé : si
Total 0 uuids founds'affiche, les causes possibles incluent :- Erreur de configuration du réseau CAN
- Incompatibilité de vitesse CAN (assurez-vous que la vitesse de l'hôte, de la carte mère et de la carte d'outillage est cohérente)
- ID déjà utilisé (doit être masqué dans la configuration, puis éteindre et redémarrer)
Résultats de la recherche d'ID RS232
Après avoir exécuté la commande, le terminal affichera le chemin du périphérique RS232 (ceci est un exemple) :
- Exemple de chemin :
/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 dans la configuration :
[mcu toolboard]
serial: <remplacer ici par le chemin du périphérique RS232 trouvé>
baud: 250000
restart_method: command
Quatrième étape : Configurer l'ID du MCU principal
Avant de commencer la configuration, assurez-vous que la carte d'outillage est déconnectée de l'hôte ou de la carte mère pour éviter les conflits d'identification des périphériques.
Rouvrez le fichier printer.cfg et localisez la ligne de configuration serial: /tmp/klipper_host_mcu dans la section [mcu].
En fonction de votre méthode de connexion, référez-vous à la méthode correspondante ci-dessous pour configurer :
- Configuration pour connexion USB
- Configuration pour 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'élément 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.
Cinquième étape : Vérifier la connexion du MCU principal
Après avoir configuré le MCU principal, vérifiez si la connexion est réussie :
- Ouvrez l'interface Fluidd et 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 principal : 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 principal est un STM32H723, alors
Micro-Controllerdoit afficher un modèle H723 correspondant - Si l'affichage est incorrect ou non identifiable, vérifiez les étapes de configuration précédentes :::
Sixième étape : Ajouter le MCU de la carte d'outillage
Une fois la connexion du MCU principal vérifiée, vous pouvez ajouter la carte d'outillage :
- Rebranchez la carte d'outillage : reconnectez 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 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 Explication des noms de MCU
Les noms comme mcu1, mcu2 dans la configuration sont uniquement destinés à distinguer temporairement différents périphériques. Vous pouvez entièrement personnaliser ces noms, assurez-vous simplement qu'ils sont 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 périphériques
- Les noms de MCU peuvent être entièrement personnalisés (par exemple
toolboard,extruder_mcu, etc.), assurez-vous simplement de leur unicité dans la configuration - Veuillez utiliser l'ID de carte d'outillage valide vérifié via les étapes précédentes
- Les périphériques RS232 doivent configurer les paramètres
baud: 250000etrestart_method: command - Lors de la configuration de plusieurs cartes d'outillage, définissez des noms différents pour chaque périphérique afin de les distinguer
Configuration des broches inter-cartes pour plusieurs cartes d'outillage
Lorsque vous utilisez plusieurs cartes d'outillage, vous pouvez rencontrer le besoin d'attribuer des broches sur différentes cartes. Par exemple : utiliser le port chauffant de la première carte d'outillage pour le chauffage, mais connecter le capteur de température à 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 être référencées directement en utilisant le format <nom_mcu>:<numéro_broche> sur n'importe quel MCU déjà défini, sans configuration supplémentaire. Klipper enverra automatiquement les instructions au MCU correspondant via le bus de communication (CAN/USB/série).
:::
Scénario typique : Chauffage sur la carte d'outillage, capteur de température sur la carte mère
Supposons la configuration système suivante :
- MCU principal : exécute le firmware hôte Klipper de l'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 les broches directement entre les cartes dans la configuration
[extruder]
# Le moteur pas à pas et le chauffage utilisent les broches de la carte d'outillage
step_pin: toolboard1:<step_pin>
dir_pin: toolboard1:<dir_pin>
enable_pin: !toolboard1:<enable_pin>
heater_pin: toolboard1:<heater_pin> # 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: <sensor_pin> # 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 dénomination des broches
- Broches de la carte d'outillage : format
<nom_mcu>:<numéro_broche>, par exempletoolboard1:<heater_pin> - Broches du MCU principal : peuvent être écrites directement avec le nom de la broche réelle
- Les broches dans une même section de configuration peuvent provenir de différents MCU, Klipper gère automatiquement la communication inter-carte :::
Exemples supplémentaires de configuration inter-carte
- Capteur de température sur la deuxième carte d'outillage
- Multi-extrudeuses réparties sur différentes cartes d'outillage
- Contrôle de ventilateur inter-carte
Cartouche chauffante sur la première carte d'outillage, capteur de température sur la deuxième carte d'outillage :
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin> # Chauffage sur la première carte d'outillage
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard2:<sensor_pin> # Capteur de température sur la deuxième carte d'outillage
# ... autres paramètres de l'extrudeuse
Deux extrudeuses connectées à différentes cartes d'outillage :
[extruder]
step_pin: toolboard1:<step_pin>
heater_pin: toolboard1:<heater_pin>
sensor_pin: toolboard1:<sensor_pin>
# ... paramètres de la première extrudeuse
[extruder1]
step_pin: toolboard2:<step_pin>
heater_pin: toolboard2:<heater_pin>
sensor_pin: toolboard2:<sensor_pin>
# ... paramètres de la deuxième extrudeuse
Extrudeuse sur la carte d'outillage, ventilateur de modèle connecté à la carte mère :
[fan]
pin: <fan_pin> # Ventilateur de modèle connecté à la carte mère
# Les broches du MCU principal s'écrivent directement avec le nom
[heater_fan Ventilation de la gorge]
pin: toolboard1:<fan_pin> # Ventilateur de la gorge connecté à la carte d'outillage
heater: extruder
heater_temp: 50
fan_speed: 1.0
:::attention Remarques
- Lors de la référence de broches inter-carte, assurez-vous que le MCU correspondant a été correctement défini dans le fichier de configuration via
[mcu <nom>] - Il est recommandé de connecter les périphériques fonctionnellement liés (comme la cartouche chauffante et le capteur de température) sur la même carte d'outillage pour obtenir la meilleure réactivité et fiabilité :::
Une fois la configuration terminée, enregistrez et redémarrez le service Klipper.
Septième étape : Vérifier toutes les connexions MCU
Après avoir ajouté la carte d'outillage et redémarré Klipper, vérifiez à nouveau l'état de connexion de tous les MCU :
- Ouvrez l'interface Fluidd et cliquez sur
Systemdans le menu de gauche - Consultez les informations MCU : confirmez que tous les MCU sont correctement identifiés sous
Mcu Information - 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 :::
Huitième étape : Vérifier la version du firmware
Après avoir terminé toutes les connexions MCU, vérifiez la compatibilité des versions du firmware :
- Ouvrez l'interface Fluidd et 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 périphériques préconfigurés sur mesure, tous les firmwares compilés manuellement 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 non-correspondance de version : des versions de firmware différentes peuvent entraîner des anomalies de fonctionnement, 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, il est nécessaire de reflasher le firmware correspondant
Neuvième étape : Restaurer et mettre à jour le fichier de configuration
Après avoir confirmé que toutes les connexions MCU sont normales, restaurez le fichier de configuration d'origine et mettez à jour la configuration MCU :
-
Supprimez le fichier de configuration actuel
- Dans l'interface de gestion des fichiers de configuration, localisez et supprimez le fichier
printer.cfgactuel
- Dans l'interface de gestion des fichiers de configuration, localisez et supprimez le fichier
-
Restaurez la configuration de sauvegarde
- Renommez le fichier
printer_Backup.cfgprécédemment sauvegardé enprinter.cfg
- Renommez le fichier
-
Mettez à jour la configuration MCU
- Ouvrez le fichier
printer.cfgrestauré - Localisez la section de configuration
[mcu]d'origine et mettez-la à jour avec l'ID obtenu lors des étapes précédentes :
Configuration pour 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 pour connexion CAN :
[mcu]canbus_uuid: 688e89f0e401# Remplacez par l'UUID CAN du MCU principal réellement trouvé - Ouvrez le fichier
-
Mettez à jour la configuration de la carte d'outillage (si applicable)
- Localisez la section
[mcu]correspondant à la carte d'outillage dans le fichier de configuration - Mettez-la à 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 - Localisez la section
-
Sauvegardez et redémarrez
- Après avoir terminé toutes les mises à jour de configuration MCU, cliquez sur SAVE & RESTART pour enregistrer et redémarrer Klipper
- Revenez sur la page
Systemet confirmez que l'état de connexion de tous les MCU est normal
:::astuce Rappel important
- Assurez-vous d'utiliser les IDs corrects réellement trouvés lors des tests de connexion
- Si vous configurez plusieurs cartes d'outillage, mettez à jour un par un les IDs de chaque section
[mcu] - La carte d'outillage RS232 doit inclure les paramètres
baud: 250000etrestart_method: command - Après la restauration de la configuration, les paramètres d'origine de l'imprimante (tels que les réglages des moteurs pas à pas, des interrupteurs de fin de course, etc.) resteront inchangés :::
Ceci termine le diagnostic des problèmes de connexion MCU et la restauration de la configuration.