Présentation
Cette page décrit la méthode pour migrer une imprimante 3D Marlin vers le système Klipper.
Le tutoriel est basé sur une imprimante Artillery Sidewinder X2 mais peut être adapté à beaucoup d'autres modèles.
L'interface est volontairement conservée en anglais bien qu'il soit possible de l'afficher en français.
Principe des imprimantes sous Marlin
- La carte de l'écran TFT est équipée d'un microprocesseur (MPU) et d'un logiciel propriétaire léger chargé de gérer l'interface
utilisateur et de transmettre régulièrement les lignes G-code à la carte mère.
- La carte mère embarque un microcontrôleur (MCU) et un programme chargé d'interpréter et d'exécuter les lignes G-code,
d'animer les moteurs, de contrôler la chauffe et les ventilateurs et de lire l'état des capteurs (fins de courses et températures).
- Chacune de ces deux cartes possède son propre firmware et communique via un port série.
- Aucune de ces deux cartes n'est apte à accueillir un logiciel tel que Klipper.
Solution de migration vers Klipper
- Klipper est installé sur un ordinateur (en l'occurrence un Raspberry) équipé du système d'exploitation Linux.
- La carte mère de l’imprimante est flashée avec un firmware spécialement compilé pour communiquer avec Klipper.
- Le Raspberry est connecté à l'imprimante via le port USB ou UART de la carte mère.
- Klipper calcule les mouvements, les accélérations, les vitesses, les pressions et envoie des commandes précises à l’imprimante.
- La carte mère de l’imprimante n'exécute alors que des instructions simples ce qui augmente considérablement les performances.
- Le pilotage est assuré par une interface web évoluée et un écran tactile confortable (l'écran TFT de l'imprimante n'est plus utilisé).
Sur l'imprimante Artillery Sidewinder X2 : le capteur de filament connecté d'origine à la carte MPU sera déplacé vers la carte MCU.
Bénéfices apportés à l'imprimante 3D
- Nivellement du plateau simplifié et de haute précision (Mesh Bed Leveling).
- Etalonnage des PID (Proportionnel Intégral Dérivé) du plateau et de l'extrudeur.
- Gestion de la pression dans l'extrudeur (Pressure Advance).
- Fluidité des mouvements et amélioration des vitesses de déplacement.
- Meilleure qualité d'impression.
- Ajustement des paramètres durant l'impression.
- Connexion au réseau local.
- Envoi des fichiers G-code et suivi de l'impression depuis le slicer.
- Interface web confortable et pilotage à distance.
- Prise en charge de caméras.
- Prise en charge d'un écran tactile haute définition.
- Paramétrages avancés par fichiers de configuration.
- Création de macros.
Aller plus loin avec Klipper
Klipper possède la fonction Input Shaping qui permet d’imprimer à des vitesses et des accélérations élevées
en compensant les résonances et les oscillations moyennant l'installation d'un accéléromètre de type ADXL345.
Lien vers la documentation officielle.
La conception mécanique de l'imprimante Artillery Sidewinder X2 ne permet pas de telles performances. Cela nécessiterait une refonte de la structure avec des guidages de précision
et une mise à niveau de la tête d'impression.
Cette option économiquement déraisonnable ne sera pas développée face aux tarifs concurrentiels des imprimantes core XY.
Prérequis
Prérequis matériels
(les options retenues dans ce tutoriel sont indiquées entre parenthèses)
- Un Raspberry Pi 3 ou supérieur (Pi 3B+)
- Une alimentation fiable (alimentation originale Raspberry 5.1V 2.5A)
- Une carte microSD de qualité et d'une capacité de 8 Go minimum (16 Go SanDisk de classes U1/C10)
- Une imprimante Marlin (Artillery Sidewinder X2 (2022) équipée de la carte mère Artillery Ruby version 1.2)
- Optionnel : une caméra compatible avec le système PiOS (webcam USB Logitech C270)
- Optionnel : un écran tactile (7" IPS HDMI et USB 1024x600 QinHeng Electronics de marque HZWDONE)
Klipper peut être installé sur un PC équipé du système d'exploitation Linux Debian sans interface graphique
Prérequis logiciels sous Windows
Versions compatibles Windows 7
Installer PiOS
Préparer la carte microSD
- Connecter la carte microSD au PC
- Exécuter Raspberry Pi Imager
- Sélectionner :
- Modèle de Raspberry Pi : Raspberry Pi 3 dans cet exemple
- Système d'exploitation : [Raspberry Pi OS (other)] puis [Raspberry Pi OS Lite (64-bit)]
- Stockage : le lecteur de la carte microSD
- Modifier les réglages
- Nom d'hôte : donner un nom au Raspberry, en minuscules et sans espaces
- Nom d'utilisateur : créer un nom d'utilisateur, en minuscules et sans espaces
- Mot de passe : créer un mot de passe fort
- Définir les paramètres Wi-Fi (ou passer cette étape s'il n'est prévu qu'une connexion Ethernet)
- Définir les réglages régionaux : Fuseau horaire [Europe/Paris] et Type de clavier [fr]
- Onglet Services : cocher [Activer SSH] et [Utiliser un mot de passe pour l'authentification]
- Enregistrer et confirmer l'enregistrement des réglages
- Confirmer l'écriture sur la carte microSD
- Attendre la fin de l'écriture et de la vérification (l'opération prend moins de 10 minutes)
Finaliser l'installation du système
- Insérer la carte microSD dans le Raspberry
- Alimenter le Raspberry et attendre la fin de l'installation (l'opération prend quelques minutes)
- Relever l'adresse IP du Raspberry
- Soit dans l'interface DHCP du routeur
- Soit en utilisant le scanner réseau de MobaXterm (Tools -> Network scanner)
- Soit avec la commande ip a (si un écran est présent)
- Créer une réservation pour le Raspberry dans le serveur DHCP
Installer Klipper
Installer Klipper sur le Raspberry avec l'assistant KIAUH
KIAUH (Klipper Installation And Update Helper) est la méthode préconisée pour installer les différents modules :
- Klipper est l'application principale.
- Moonraker est le connecteur.
- Mainsail est l'interface web la plus populaire.
- Fluidd est une interface web alternative.
- Crowsnest est le plugin de gestion de caméras.
- Klipperscreen est l'interface pour écran tactile.
Le tutoriel est axé sur l'interface web Mainsail. Fluidd est évoqué en fin de page dans la rubrique Observations.
Le port USB est retenu dans un premier temps en tant que mode de communication entre imprimante et Raspberry.
La migration de USB à UART sera ensuite détaillée pour une meilleure stabilité du système.
- Exécuter l'une des commandes suivantes pour se connecter en SSH au Raspberry avec MobaXterm :
ssh <nom_utilisateur>@<nom_d'hôte>.local
ssh <nom_utilisateur>@<adresse_ip>
(on utilise de préférence l'adresse IP car le nom d'hôte est rarement découvert sur le réseau)
- Récupérer et installer le paquetage Klipper:
sudo apt update
sudo apt upgrade
sudo apt install git -y
git clone https://github.com/th33xitus/kiauh.git
- Exécuter l'assistant d'installation KIAUH :
Sélectionner 1) [Install]

Installer successivement (en tapant ENTER à chaque question pour appliquer les choix par défaut) :
1) [Klipper]
2) [Moonracker]
3) [Mainsail]
- Générer le firmware destiné à la carte mère Ruby 1.2 de l'imprimante :
Sélectionner successivement :
B) Back
4) [Advanced]
1) [Build]

Les paramètres à utiliser sont indiqués au début du fichier spécifique à cette imprimante :
EP3D_SWX2_Klipper_Configs_and_Firmware\Klipper\Configs\SWX2_CR-Touch\printer.cfg
D'autres fichiers de configuration sont disponibles pour de nombreux modèles d’imprimantes
Veiller à appliquer les paramètres adaptés.
Ceux-ci ne s'appliquent qu'à une carte mère Ruby v1.2
Toute erreur pourrait bloquer la carte mère de l'imprimante.

Activer : Enable extra low-level configuration options
Activer : Optimize stepper code for 'step on both edges'
Sélectionner :
- Micro-controler Architecture (STMicroelectronics STM32)
- Processor model (STM32F401)
- Bootloader offset (No bootloader)
- Clock Reference (8 MHz crystal)
- Communication interface (USB (on PA11/PA12))
- USB ids
Taper Q pour quitter puis Y pour sauvegarder la configuration et compiler le firmware
KIAUH propose des options [Flash] et [Build + Flash] détaillées en annexe.
Flasher la carte mère
Récupérer le fichier firmware généré par KIAUH
- Se connecter au Raspberry avec MobaXterm

- Copier le fichier /home/<utilisateur>/klipper/out/klipper.bin sur le bureau
Flasher le firmware de la carte mère Ruby 1.2
(seul le firmware de la carte mère est flashé, la carte de l'écran TFT reste intacte mais devient inopérante)
- Allumer l'imprimante
- Connecter l'imprimante au PC via USB (prise latérale de type B)
- L'installation du pilote s'effectue avec Windows Update
- Relever le numéro du port COM dans le Gestionnaire de périphériques Windows
- Placer l'imprimante en mode DFU (Device Firmware Update)
- Méthode 1 (ne fonctionne qu'avec certains MCU)
- Lancer le programme Pronterface
- Renseigner le port COM de l'imprimante
- Régler la vitesse de transmission à 250000 bps
- Cliquer sur Connect -> message [Printer is now online]
- Envoyer à l'imprimante la commande G-code M997
- Réduire le programme Pronterface sans tenir compte des éventuels messages d'erreur

- Méthode 2 (si la méthode 1 ne fonctionne pas)
- Eteindre l'imprimante
- Démonter la plaque inférieure
- Placer un cavalier entre les pins +3.3V et Boot0 de la carte mère
- Allumer l'imprimante

- Lancer le programme STM32CubeProgrammer
- Sélectionner le port USB relié à l'imprimante
- Cliquer sur Connect ➔ l'indicateur doit passer à [Connected]
- Cliquer sur Erasing & Programming (icône de téléchargement)
- Dans File path sélectionner le fichier binaire klipper.bin
- Cliquer sur Start Programming
- Cliquer sur OK -> au message [File download complete]
- Cliquer sur Disconnect ➔ l'indicateur doit passer à [Not Connected]
- Quitter STM32CubeProgrammer

- Revenir au programme Pronterface (si la méthode 1 a été retenue pour le passage en mode DFU)
- Cliquer sur Disconnect -> message [Disconnected]
- Quitter le programme Pronterface
- Eteindre l'imprimante
- Déconnecter l'imprimante du PC
- Retirer le cavalier des pins +3.3V et Boot0 (si la méthode 2 a été retenue pour le passage en mode DFU)
Lier l'imprimante à Klipper
Lier l'imprimante à Klipper
- Allumer l'imprimante
- Alimenter le Raspberry
- Connecter l'imprimante au Raspberry via USB (prise latérale de type B)
- Se connecter au Raspberry avec MobaXterm :
ssh <nom_utilisateur>@<adresse_ip_raspberry>
- Exécuter l'assistant d'installation KIAUH :
./kiauh/kiauh.sh

Sélectionner successivement :
4) [Advanced]
4) [Get MCU ID]
1) [USB]
- Copier l'identifiant MCU qui s'affiche
- Entrer l'adresse IP du Raspberry (ou son nom d'hôte complet) dans un navigateur
- L'interface Klipper doit s'afficher avec ce message d'erreur :

- Page [MACHINE]
- Icône [Upload File]
- Sélectionner tous les fichiers du dossier EP3D_SWX2_Klipper_Configs_and_Firmware\Klipper\Configs\SWX2_CR-Touch\
- Cliquer sur [Open]

- Cliquer sur le fichier printer.cfg pour l'éditer
- Coller l'identifiant MCU à la suite de /dev/serial/by-id/ dans la rubrique [mcu]
Exemple :

- Cliquer sur [SAVE & RESTART]
- L'interface Klipper doit à présent s'afficher sans erreurs
AVERTISSEMENT IMPORTANT
La carte mère de l'imprimante reste alimentée par le port USB du Raspberry.
Cela présente un risque de dégradation pour le Raspberry et pour l'imprimante.
Il convient d'isoler le PIN +5V du connecteur de type A du cordon USB (côté Raspberry).
Cette opération peut être réalisée très simplement avec du scotch d'électricien.
|
 |
Vérifier le fonctionnement
Contrôler le bon fonctionnement de l'imprimante
- Températures
- Page [DASHBOARD]
- Fenêtre [TEMPERATURES] ➔ [EXTRUDER] ➔ [TARGET] = 50° ➔ ENTER
- Fenêtre [TEMPERATURES] ➔ [HEATER BED] ➔ [TARGET] = 40° ➔ ENTER
- Constater l'augmentation des températures
- Fenêtre [TEMPERATURES] ➔ [COOLDOWN] ➔ ramène les valeurs cibles à zéro
- Fins de courses
- Placer manuellement les 3 axes à mi-course
- Page [DASHBOARD]
- Fenêtre [CONSOLE] ➔ taper la commande QUERY_ENDSTOPS ➔ réponse : [x:open y:open z:open]
- Maintenir appuyé le fin de course X et rappeler la commande (flèche haut) ➔ réponse : [x:TRIGGERED y:open z:open]
- Maintenir appuyé le fin de course Y et rappeler la commande (flèche haut) ➔ réponse : [x:open y:TRIGGERED z:open]
- Cliquer sur [HOME ALL] ou entrer G28 dans la console ➔ actionner (par deux fois) le palpeur Z lors de la descente
- Extrudeur
- Page [DASHBOARD]
- Fenêtre [TEMPERATURES] ➔ [EXTRUDER] ➔ [TARGET] ➔ 200° ➔ ENTER
- Fenêtre [EXTRUDER] ➔ [FILAMENT LENGTH] ➔ 100 mm ➔ [EXTRUDE]
- Le moteur de l'extrudeur doit s'actionner
Etalonner l'imprimante
Etalonner le plateau et les PID
(ces opérations seront à refaire périodiquement et dans le même ordre)
- Réglage du Z=0
- Page [DASHBOARD]
- Fenêtre [TOOLHEAD] ➔ [HOME ALL]
- Fenêtre [CONSOLE] ➔ taper la commande PROBE_CALIBRATE
- Régler le Z=0 avec une feuille de papier
- Cliquer sur [ACCEPT] puis sur [SAVE CONFIG]

- Nivellement mécanique du plateau
- Page [DASHBOARD]
- Fenêtre [TOOLHEAD] ➔ [HOME ALL]
- Fenêtre [CONSOLE] ➔ taper la commande SCREWS_TILT_CALCULATE
- Le système palpe le plateau sur 4 points
- Ajuster les molettes du plateau selon des indications puis cliquer sur [ACCEPT]
(les sens de rotation indiqués sont vus de dessus)
- Relancer la commande SCREWS_TILT_CALCULATE jusqu'à obtenir un résultat satisfaisant

- Etalonnage du PID plateau
- Etalonnage du PID extrudeur
- Nivellement numérique du plateau
- Page [DASHBOARD]
- Fenêtre [TEMPERATURES] ➔ [HEATER BED] ➔ [TARGET] = 70° ➔ ENTER
- Attendre que la température du plateau soit parvenue à 70°
- Page [HEIGHTMAP]
- Fenêtre [HEIGHTMAP] ➔ [HOME ALL]
- Fenêtre [HEIGHTMAP] ➔ [CALIBRATE]
- [BED MESH CALIBRATE] ➔ Name = default ➔ [CALIBRATE]
(conserver default en tant que nom ou le modifier aussi dans la macro PRINT_START du fichier start.cfg :
BED_MESH_PROFILE LOAD=default)
- Le système effectue un palpage sur 25 points
- Cliquer sur [SAVE CONFIG]

Mises au point matérielles
Activer le capteur de filament
Le capteur est connecté d'origine à la carte de l'écran TFT rendue inopérante.
Pour être à nouveau fonctionnel il doit être connecté à la prise de fin de course Z vacante (au bas du montant gauche du portique).
Solution 1 : déplacer le câble original (sa longueur est suffisante et cette solution est la plus simple).
Solution 2 : confectionner un câble croisé : masse au centre, +5V et signal inversés.
Solution 3 : confectionner une rallonge droite pour relier en interne la prise initialement connectée en B1 sur la carte écran
au connecteur repéré Z-LIMIT sur la carte mère (nécessite le démontage de la plaque inférieure).
Eteindre l'écran tactile d'origine
L'écran TFT de l'imprimante peut être déconnecté étant donné qu'il n'est plus utilisé.
Cette opération présente l'avantage de ne plus émettre de bip désagréable à la mise sous tension.
- Démonter la plaque inférieure
- Débrancher le connecteur UART à 8 broches de la carte écran
Le bouton RESET de la carte écran reste fonctionnel et réinitialise la carte mère en provoquant une déconnexion du MCU.
La reconnexion avec Klipper s'effectue avec la fonction [Firmware Restart].
Déconnecter la prise à 2 broches (fils rouge et noir) pour rendre le switch inactif.
Les autres connecteurs de la carte écran
- La nappe étroite est reliée à la platine supportant la prise USB et le lecteur microSD
- La nappe large est reliée à l'écran tactile
- La prise à 3 broches repérée B1 correspond à l'ancienne position du capteur de filament
- La prise à 2 broches est reliée au RESET de la carte mère (le RESET est fonctionnel si cette prise reste branchée)
Mise au point de la configuration
- [MACHINE] ➔ printer.cfg
- Adapter le nom du répertoire HOME dans le chemin des fichiers G-code
- Eviter les échecs de palpage avec message d'erreur : BLTouch failed to deploy
- Limiter la vitesse de homing sur les trois axes
[stepper_x]
...
homing_speed: 70 # 100 par défaut
second_homing_speed: 10 # 125 par défaut
[stepper_y]
...
homing_speed: 50 # 125 par défaut
second_homing_speed: 10 # 10 par défaut
[stepper_z]
...
homing_speed: 20 # 25 par défaut
second_homing_speed: 10 # 10 par défaut
- Limiter la vitesse de leveling sur les trois axes
- Ajouter la lecture de la température du Raspberry Pi
- Modifier la lecture de la température du MCU de la carte mère
[temperature_sensor mainboard]
sensor_type: temperature_mcu
min_temp: 10 # 10 par défaut
max_temp: 65 # 60 par défaut
[MACHINE] ➔ start.cfg
- Réduire la luminosité de la LED durant d'impression
[gcode_macro _PURGE_LINE]
gcode:
...
; SET_LED LED=extruder RED=1 GREEN=1 BLUE=1
SET_LED LED=extruder RED=0.25 GREEN=0.25 BLUE=0.25
...
[gcode_macro SET_LED_TO_WHITE]
gcode:
; SET_LED LED=extruder RED=1 GREEN=1 BLUE=1
SET_LED LED=extruder RED=0.25 GREEN=0.25 BLUE=0.25
[MACHINE] ➔ end.cfg
- Limiter la vitesse de parquage des axes X et Y en fin d'impression
- Réduire la longueur de rétractation en fin d'impression
[MACHINE] ➔ macros.cfg
- Réduire la longueur de filament et la longueur de rétractation au chargement
[gcode_macro FILAMENT_LOAD]
gcode:
...
G1 E60 F150 ; Load filament (E125 par défaut)
G1 E-25 F2400 ; Retract filament (E-35 par défaut)
...
- Ajouter des macros personnalisées
Mises à jour
A propos des mises à jour
Les mises à jours sont accessibles
Soit depuis KIAUH ➔ [UPDATE]

Soit depuis la page [MACHINE] ➔ fenêtre [UPDATE MANAGER]

L'interface affiche un avertissement avant exécution :
Cela signifie qu'il pourrait être nécessaire de flasher la carte mère
avec un firmware recompilé et que certains paramètres
pourraient être à modifier dans les fichiers de configuration.
(les risques sont moindres lorsqu'il s'agit de mises à jour mineures)
En règle générale est conseillé de ne pas effectuer de mises à jour tant que le système fonctionne correctement.
Sauvegardes
Sauvegarder la configuration depuis l'interface
- Page [MACHINE]
- Fenêtre [CONFIG FILES] ➔ [ROOT] ➔ config
- Cocher les fichiers à sauvegarder
- Cliquer sur l'icône [DOWNLOAD]
(l'archive de sauvegarde est à la fois téléchargée et mise en copie avec les autres fichiers de configuration)
Sauvegarder la configuration sur la carte microSD avec KIAUH
- Se connecter au Raspberry avec MobaXterm :
ssh <nom_utilisateur>@<adresse_ip_raspberry>
- Exécuter l'assistant d'installation KIAUH :
./kiauh/kiauh.sh
Sélectionner [Backup]
| Choix | Chemin de sauvegarde |
| 1) [Klipper] | ~/kiauh_backups/klipper |
| 2) [Moonraker] | ~/kiauh_backups/moonraker |
| 3) [Config Folder] | ~/kiauh_backups/printer_data |
| 4) [Moonraker Database] | ~/kiauh_backups/printer_data |
| 5) [Mainsail] | ~/kiauh_backups/mainsail_v2.x.x |
| 6) [Fluidd] | ~/kiauh_backups/fluidd_v1.x.x |
| 7) [Mainsail-Config] | ~/kiauh_backups/mainsail_v2.x.x |
| 8) [Fluidd-Config] | ~/kiauh_backups/fluidd_v1.x.x |
| 9) [KlipperScreen] | ~/kiauh_backups/KlipperScreen |
Sauvegarder l'intégralité de la carte microSD
Créer une image ISO de la carte microSD avec l'utilitaire
imageUSB
Première impression 3D
Configurer l'imprimante Artillery Sidewinder X2 dans OrcaSlicer
- Choix de l'imprimante : Artillery Sidewinder X2 0.4 nozzle
- Version du G-code : Klipper
- Type d'hôte : Octo/Klipper
- G-code de la machine
- [Démarrage]
M190 S[bed_temperature_initial_layer_single]
M109 S[nozzle_temperature_initial_layer]
PRINT_START EXTRUDER=[nozzle_temperature_initial_layer] BED=[bed_temperature_initial_layer_single]
SET_PRESSURE_ADVANCE ADVANCE=0.068
- [Fin]
PRINT_END
- [Impression par objet]
- [Avant changement de couche]
G92 E0
- [Changement de couche]
- [Timelapse]
- [Changement de filament]
- [Changement du rôle de l'extrusion]
- [Mise en pause]
PAUSE
- [Personnalisé]
Exemples de fichiers de configuration OrcaSlicer pour Artillery Sidewinder X2 sous Klipper
Charger et Décharger le filament
- Page [DASHBOARD]
- Fenêtre [MACROS] ➔ [FILAMENT_LOAD] ou [FILAMENT_UNLOAD]
Imprimer
- Page [DASHBOARD] ➔ [LOAD & PRINT]
- Charger le fichier G-code depuis l'explorateur de fichier
- Sélectionner le fichier G-code dans la fenêtre [STATUS]
- Cliquer sur [PRINT]
(le fichier G-code peut également être envoyé depuis le slicer)
Ajouter une caméra USB
Ajouter une caméra USB avec Crowsnest
Le plugin Crowsnest incruste une fenêtre de contrôle visuel à l'interface web Mainsail.
Crowsnest reste actif lorsque l'imprimante est éteinte.
Le modèle utilisé est une webcam USB Logitech C270 parfaitement reconnue par PiOS.
|
|
 |
- Connecter la caméra au Raspberry (de préférence sur le bloc USB qui n'est pas relié à l'imprimante)
- Se connecter au Raspberry avec MobaXterm
ssh <nom_utilisateur>@<adresse_ip_raspberry>
- S'assurer que la caméra est reconnue par le système
lsusb
- Exécuter l'assistant d'installation de Klipper
./kiauh/kiauh.sh
- Effectuer successivement
1) [Install]
8) [Crowsnest]
(taper ENTER à chaque question pour appliquer les choix par défaut)
- Redémarrer le système pour terminer l'installation (le redémarrage prend quelques minutes)
sudo reboot
- S'assurer que la caméra est reconnue par Klipper
- Page [MACHINE] ➔ fichier crowsnest.conf
Noter le nom donné à la caméra (cam 1)
Passer en mode vidéo camera-streamer (mieux adapté à ce contexte)
- Cliquer dans le bandeau sur le bouton [DEVICES] accessible lors d'édition de tout fichier de configuration.
La caméra doit apparaître dans les onglets [USB] et [VIDEO] après une action sur le bouton [REFRESH]
- Cliquer sur [INTERFACE SETTINGS] (en haut à droite) ➔ [WEBCAMS] ➔ [ADD WEBCAM]
- Nommer la caméra avec le nom relevé dans le fichier crowsnest.conf
Sélectionner le service [MJPEG-Streamer]
Cliquer sur [SAVE WEBCAM]
- Une fenêtre est ajoutée à la page [DASHBOARD]
- La nouvelle page [WEBCAM] affiche la vidéo en format élargi.
- Si la fenêtre affiche NO SIGNAL
- Vérifier la configuration
- Cliquer sur [MACHINE] ➔ [LOG FILES] ➔ [CROWSNEST]
- Ouvrir le fichier crowsnest.log téléchargé
- Cliquer sur [MACHINE] ➔ crowsnest.cfg
- Comparer les paramètres du fichier journal avec ceux du fichier de configuration et corriger ce dernier si besoin
- Déconnecter puis reconnecter la caméra
- Connecter la caméra sur un autre port USB
- Déconnecter puis reconnecter la caméra
- Eteindre l'imprimante puis redémarrer le Raspberry
Ajouter un écran tactile
Ajouter un écran de contrôle tactile avec KlipperScreen
KlipperScreen est un addon indépendant et léger qui ne fait q'uajouter une fenêtre vidéo dans l'interface de Mainsail.
Seul un fichier de configuration auto généré est enregistré dans le Klipper.
L'écran utilisé est un modèle classique : marque HZWDONE (QinHeng Electronics), dalle IPS tactile 7", connectique HDMI et USB
( lien vers la documentation).
- Connecter l'écran
- Connecteur HDMI vers la sortie HDMI du Raspberry
- Connecteur TOUCH sur un port USB du Raspberry
- Une seconde alimentation peut être connectée sur POWER dans le but de soulager l'alimentation principale
- Placer le switch sur la position ON
- Se connecter au Raspberry avec MobaXterm
ssh <nom_utilisateur>@<adresse_ip_raspberry>
- S'assurer que l'écran est reconnu par le système
lsusb
- Exécuter l'assistant d'installation de Klipper
./kiauh/kiauh.sh
- Effectuer successivement
1) [Install]
7) [KlipperScreen]
(taper ENTER à chaque question pour appliquer les choix par défaut)
- Patienter jusqu'à la fin de l'installation
- Le système redémarre automatiquement
- S'assurer que l'écran est reconnu par Klipper
- Page [MACHINE] ➔ fichier KlipperScreen.conf
- Cliquer dans le bandeau sur [DEVICES]
- L'écran doit apparaître dans l'onglet USB (après un Refresh)
- L'écran tactile est installé et opérationnel
Un fichier de configuration KlipperScreen.cfg est disponible dans Klipper
mais le paramétrage s'effectue essentiellement depuis l'écran tactile.
- Configurer la mise en veille de l'écran (depuis l'écran tactile)
[More] ➔ [KlipperScreen]
- Screen Power Off Time : 5 minutes
- Screen Power Off Time (Printing) : Never
[Back] ➔ [Save Config]
Les modifications sont enregistrées dans le fichier KlipperScreen.conf
(ne jamais modifier les lignes précédées de la suite de caractères #~#)
#~# [main]
#~# screen_blanking = 300
#~# screen_blanking_printing = off
Les seules modifications autorisées dans le fichier KlipperScreen.conf
sont d'adapter les températures de préchauffage de buse
[preheat PLA]
extruder: 210 # 210 par défaut
heater_bed: 50 # 70 par défaut
[preheat SLIK PLA]
extruder: 220 # 225 par défaut
heater_bed: 50 # 70 par défaut
Migrer de USB à UART
La qualité de transmission USB entre le Raspberry et l'imprimante est souvent la cause de dysfonctionnements.
Le port série UART (Universal Asynchronous Receiver Transmitter) est bien plus fiable et ce n'est pas un hasard
si ce mode de transmission est utilisé d'origine sur toutes les imprimantes 3D.
Procédure pour basculer de USB à UART :
- Exécuter l'assistant d'installation KIAUH avec la commande ./kiauh/kiauh.sh
- Sélectionner [Advanced] ➔ [Build]
- Compiler un nouveau firmware avec les mêmes paramètres MCU mais en modifiant
uniquement l'interface de communication en Serial (on USART1 PA10/PA9)
- Flasher la carte mère de l'imprimante selon la méthode déjà décrite.
- Configurer PiOS pour utiliser le port UART0 :
Modifier le fichier cmdline.txt pour interdire le port UART à la console TTY
(sur certaines installations ce fichier peut se trouver à la racine du répertoire /boot/)
sudo nano /boot/firmware/cmdline.txt
# supprimer 'console=serial0,115200' au début de l'unique ligne pour obtenir :
console=tty1 root=PARTUUID=164637ce-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee802>
# enregistrer les modifications et redémarrer le système
sudo reboot
Modifier le fichier config.txt pour interdire le port UART au service bluetooth
(sur certaines installations ce fichier peut se trouver à la racine du répertoire /boot/)
sudo nano /boot/firmware/config.txt
# ajouter en fin de fichier :
dtoverlay=disable-bt
# enregistrer les modifications et redémarrer le système
sudo reboot
- Connecter le Raspberry à la carte mère de l'imprimante en utilisant la nappe existante
mais en la modifiant pour respecter le schéma ci-dessous.
- Supprimer le fil +5V pour que le Raspberry n'alimente pas la carte mère et inversement.
- Croiser les fils TX et RX
- Allumer l'imprimante (Raspberry et imprimante ne doivent plus être reliés en USB)
- Exécuter l'assistant d'installation ./kiauh/kiauh.sh
- Sélectionner [Advanced] ➔ [Get MCU ID] ➔ [UART]

- Copier/coller le premier identifiant MCU dans le fichier printer.cfg :

L'identifiant peut également être obtenu avec la commande : ls -l /dev/serial*
Cliquer sur [SAVE & RESTART]
Intégrer à OctoEverywhere
OctoEverywhere doit déjà être présent sur le réseau local (voir le tutoriel d'installation)
- Allumer l'imprimante
- Se connecter au Raspberry avec MobaXterm :
ssh <nom_utilisateur>@<adresse_ip_raspberry>
- Installer le client OctoEverywhere avec la commande suivante :
(indiquée depuis OctoEverywhere dans [Add A Printer] / [Klipper, Mainsail, Fluidd, or Moonraker])
bash <(curl -s https://octoeverywhere.com/install.sh)
- Patienter jusqu'à la fin de l'installation
- Se rendre sur https://octoeverywhere.com/code depuis un navigateur
- Saisir le code de sécurité à 6 chiffres fourni par le programme d'installation

- Donner un nom à la nouvelle imprimante (sans espaces)

- Actualiser l'interface OctoEverywhere

Interface Mainsail
Icônes
[Menu] |
Masque ou affiche la barre latérale de navigation (détaillé plus bas)
|
[Help] |
Le survol de l'icône affiche les versions Klipper, Moonraker et Mainsail
|
[Upload & Print] |
Charge un fichier G-code externe pour l'imprimer
|
[Emergency Stop] |
Arrêt immédiat du système. Redémarrage avec [Firmware Restart]
|
[Interface Settings] |
Configuration de l'interface utilisateur (détaillé plus bas)
|
[Notifications] |
Alertes de dépassement de température MCU et CPU
|
[Power] |
Gestion des modes de démarrage et d'arrêt (détaillé plus bas)
|
Barre de navigation
| [DASHBOARD] |
[Status] |
Liste des fichiers G-code disponibles
Historique des impressions
Liste des fichiers en attente d'impression
Etat de l'impression en cours
|
| [Temperatures] |
Contrôle manuel des températures d'extrudeur et de plateau
Lecture numérique et graphique des températures de l'extrudeur et du plateau
Lecture numérique et graphique de la température de la carte mère
Lecture numérique et graphique de la température du Raspberry (optionnel)
|
| [Toolhead] | Contrôle manuel des axes, du Z-offset et du facteur de vitesse |
| [Extruder] | Contrôle manuel de l'extruder |
| [Machine] | Contrôle manuel des capacités de l'imprimante |
| [Console] | Saisie et historique des commandes G-code et des macros
Affichage des macros et des commandes étendues avec la commande HELP
Auto complétion de la saisie avec la touche TAB |
| [Macros] | Accès aux macros non masquées |
| [Webcam] | Affichage vidéo |
| [Miscellaneous] | Contrôle manuel des ventilateurs, de la LED et du capteur de filament |
| [WEBCAM] |
| Affichage de la fenêtre vidéo en mode élargi |
| [CONSOLE] |
| Saisie et historique en mode élargi des commandes G-code et des macros
Affichage des macros et des commandes étendues avec la commande HELP
Auto complétion de la saisie avec la touche TAB |
| [HEIGHTMAP] |
| Nivellement numérique du plateau |
| [G-CODE FILES] |
| Manipulation des fichiers G-code disponibles |
| [G-CODE VIEWER] |
| Viewer de fichiers G-code |
| [HISTORY] |
| Historique des impressions |
| [MACHINE] |
[Config Files] |
Accès aux fichiers de configuration
Accès aux fichiers journaux
Accès aux fichiers de documentation
Accès aux fichiers exemples de configurations
|
| [System Loads] |
Affiche la charge logicielle du MCU de la carte mère de l'imprimante
Affiche la charge logicielle du CPU et de la mémoire du Raspberry

|
| [Update manager] | Gestion des mises à jour des modules installés sur Raspberry PiOS |
| [Endstops] | Test des entrées de fins de courses de la carte mère |
| [Log Files] | Téléchargement des fichiers journaux |

Interface settings
| [GENERAL] |
Nom de l'imprimante qui apparaitra sur le bandeau supérieur (Klipper affiché si non renseigné)
Réglage des paramètres régionnaux (langue, format de la date et de l'heure)
Générer ou restaurer un backup au format json des paramètres Mainsail
|
| [CONSOLE] |
Réglage de la hauteur de la console |
| [CONTROL] |
Réglage du format d'affichage des contrôles
Réglage des paramètres de déplacement des axes
|
| [DASHBOARD] |
Organise les fenêtres selon les tailles d'écrans (chaque type d'écran peut avoir sa propre mise en page)

Organisation pour un écran 24" Full HD
|
|

Organisation pour un écran de taille classique
|
|
| [EDITOR] |
Options de l'éditeur de configurations |
| [G-CODE VIEWER] |
Lecteur 3D de fichier G-code externe |
| [HEIGHTMAP] |
Options d'affichage de la topographie du plateau |
| [MACROS] |
Affiche ou masque chaque macro éligible au dashboard |
| [MISCELLANEOUS] |
Edition de valeurs prédéfinies de couleurs de la diode d'extrudeur |
| [NAVIGATION] |
Affiche ou masque certaines pages de la barre de navigation |
| [PRESET] |
Ajoute ou édite une commande permanente de préchauffage de buse et de plateau |
| [PRINTERS] |
Ajoute ou édite une imprimante |
| [UI SETTINGS] |
Options de l'interface utilisateur dont :
Active ou désactive l'option [Large thumbnail]
Réglage de la hauteur du graphique des températures
Réglage du nombre de fichiers G-code affichés
Réglage du nombre de lignes d'historique
|
| [WEBCAMS] |
Ajoute ou édite une caméra |

Power

|
| [Klipper Control] ➔ [Restart] |
Recharge la configuration et redémarre le logiciel hôte (Klipper) |
| [Klipper Control] ➔ [Firmware Restart] |
Réinitialise le micrologiciel (MCU), recharge la configuration et redémarre le logiciel hôte (Klipper) |
| [Services Control] ➔ [Restart] |
Redémarre le service concerné |
| [Services Control] ➔ [Stop] |
Arrête le service concerné |
| [Host Control] ➔ [Reboot] |
Redémarre le système Raspberry PiOS |
| [Host Control] ➔ [Shutdown] |
Arrête le système Raspberry PiOS |
Macros
Macros fournies en standard
Ne pas modifier le nom de ces macros car certaines d'entre elles sont appelées par d'autres.
Par exemple PRINT_START dans le fichier start.cfg fait appel à SMARTHOME, SET_LED_TO_WHITE et _PURGE_LINE.
| Nom |
Dashboard |
Fichier |
Description |
| FILAMENT_LOAD | affichable | macro.cfg | | | FILAMENT_UNLOAD | affichable | macro.cfg | | | PID_EXTRUDER | affichable | macro.cfg | | | PID_BED | affichable | macro.cfg | | | SMARTHOME | affichable | macro.cfg | | | MOVE_TO_NEUTRAL_POSITION | affichable | macro.cfg | | | LOCK_Z_STEPPERS | affichable | macro.cfg | | | UNLOCK_Z_STEPPERS | affichable | macro.cfg | | | _CLIENT_VARIABLE | affichable | macro.cfg | | | PRINT_END | affichable | end.cfg | | | PRINT_START | affichable | start.cfg | | | SET_LED_TO_WHITE | affichable | start.cfg | | | _PURGE_LINE | | start.cfg | | | CANCEL_PRINT | | mainsail.cfg | | | PAUSE | | mainsail.cfg | | | RESUME | | mainsail.cfg | | | SET_PAUSE_NEXT_LAYER | affichable | mainsail.cfg | | | SET_PAUSE_AT_LAYER | affichable | mainsail.cfg | | | SET_PRINT_STATS_INFO | | mainsail.cfg | | | _TOOLHEAD_PARK_PAUSE_CANCEL | | mainsail.cfg | Helper | | _CLIENT_EXTRUDE | | mainsail.cfg | Extrudes, if the extruder is hot enough | | _CLIENT_RETRACT | | mainsail.cfg | Retracts, if the extruder is hot enough | | _CLIENT_LINEAR_MOVE | | mainsail.cfg | Linear move with save and restore of the gcode state |
Exemples de macros à intégrer au fichier macros.cfg
#===========================#
# Macros personnalisées #
#===========================#
[gcode_macro LED_25]
description: Set LED at 25%
gcode:
SET_LED LED=extruder RED=0.25 GREEN=0.25 BLUE=0.25
[gcode_macro LED_40]
description: Set LED at 40%
gcode:
SET_LED LED=extruder RED=0.40 GREEN=0.40 BLUE=0.40
[gcode_macro LED_OFF]
description: Set LED off
gcode:
SET_LED LED=extruder RED=0 GREEN=0 BLUE=0
[gcode_macro MOVE_Z_UP]
description: Move Z to 100mm at 50mm/s
gcode:
G90 ; Set to absolute positioning
G1 Z100.0 F3000 ; Move Z to 100mm at 50mm/s
M84 ; Disable all steppers
[gcode_macro Z_OFFSET]
description: Adjustment Z zero
gcode:
PROBE_CALIBRATE
[gcode_macro Z_SCREWS]
description: Adjustment Z screws
gcode:
SCREWS_TILT_CALCULATE
Les macros personnalisées peuvent être affichées dans le DASHBOARD
Commandes étendues
Commandes étendues fournies en standard (liste obtenue depuis la console avec la commande HELP)
| Nom |
Description |
| ACTIVATE_EXTRUDER | Change the active extruder | | BED_MESH_CALIBRATE | Perform Mesh Bed Leveling | | BED_MESH_CLEAR | Clear the Mesh so no z-adjustment is made | | BED_MESH_MAP | Serialize mesh and output to terminal | | BED_MESH_OFFSET | Add X/Y offsets to the mesh lookup | | BED_MESH_OUTPUT | Retrieve interpolated grid of probed z-points | | BED_MESH_PROFILE | Bed Mesh Persistent Storage management | | BED_SCREWS_ADJUST | Tool to help adjust bed leveling screws | | BLTOUCH_DEBUG | Send a command to the bltouch for debugging | | BLTOUCH_STORE | Store an output mode in the BLTouch EEPROM | | CANCEL_PRINT | Cancel the actual running print | | CANCEL_PRINT_BASE | Renamed builtin of 'CANCEL_PRINT' | | CLEAR_PAUSE | Clears the current paused state without resuming the print | | EXCLUDE_OBJECT | Cancel moves inside a specified objects | | EXCLUDE_OBJECT_DEFINE | Provides a summary of an object | | EXCLUDE_OBJECT_END | Marks the end the current object | | EXCLUDE_OBJECT_START | Marks the beginning the current object as labeled | | FIRMWARE_RESTART | Restart firmware, host, and reload config | | GET_POSITION | Return information on the current location of the toolhead | | HELP | Report the list of available extended G-Code commands | | MANUAL_PROBE | Start manual probe helper script | | PAUSE | Pause the actual running print | | PAUSE_BASE | Renamed builtin of 'PAUSE' | | PID_CALIBRATE | Run PID calibration test | | PROBE | Probe Z-height at current XY position | | PROBE_ACCURACY | Probe Z-height accuracy at current XY position | | PROBE_CALIBRATE | Calibrate the probe's z_offset | | QUERY_ADC | Report the last value of an analog pin | | QUERY_ENDSTOPS | Report on the status of each endstop | | QUERY_FILAMENT_SENSOR | Query the status of the Filament Sensor | | QUERY_PROBE | Return the status of the z-probe | | RESPOND | Echo the message prepended with a prefix | | RESTART | Reload config file and restart host software | | RESTORE_GCODE_STATE | Restore a previously saved G-Code state | | RESUME | Resume the actual running print | | RESUME_BASE | Renamed builtin of 'RESUME' | | SAVE_CONFIG | Overwrite config file and restart | | SAVE_GCODE_STATE | Save G-Code coordinate state | | SCREWS_TILT_CALCULATE | Tool to help adjust bed leveling screws by calculating the number of turns to level it. | | SDCARD_PRINT_FILE | Loads a SD file and starts the print. May include files in subdirectories. | | SDCARD_RESET_FILE | Clears a loaded SD File. Stops the print if necessary | | SET_DISPLAY_TEXT | Set or clear the display message | | SET_EXTRUDER_ROTATION_DISTANCE | Set extruder rotation distance | | SET_FILAMENT_SENSOR | Sets the filament sensor on/off | | SET_GCODE_OFFSET | Set a virtual offset to g-code positions | | SET_GCODE_VARIABLE | Set the value of a G-Code macro variable | | SET_HEATER_TEMPERATURE | Sets a heater temperature | | SET_IDLE_TIMEOUT | Set the idle timeout in seconds | | SET_INPUT_SHAPER | Set cartesian parameters for input shaper | | SET_LED | Set the color of an LED | | SET_LED_TEMPLATE | Assign a display_template to an LED | | SET_PAUSE_AT_LAYER | Enable/disable a pause if a given layer number is reached | | SET_PAUSE_NEXT_LAYER | Enable a pause if the next layer is reached | | SET_PRESSURE_ADVANCE | Set pressure advance parameters | | SET_PRINT_STATS_INFO | Overwrite, to get pause_next_layer and pause_at_layer feature | | SET_PRINT_STATS_INFO_BASE | Renamed builtin of 'SET_PRINT_STATS_INFO' | | SET_STEPPER_ENABLE | Enable/disable individual stepper by name | | SET_VELOCITY_LIMIT | Set printer velocity limits | | STATUS | Report the printer status | | STEPPER_BUZZ | Oscillate a given stepper to help id it | | SYNC_EXTRUDER_MOTION | Set extruder stepper motion queue | | TEMPERATURE_WAIT | Wait for a temperature on a sensor | | TUNING_TOWER | Tool to adjust a parameter at each Z height | | TURN_OFF_HEATERS | Turn off all heaters | | UPDATE_DELAYED_GCODE | Update the duration of a delayed_gcode | | Z_OFFSET_APPLY_PROBE | Adjust the probe's z_offset |
Assistance technique
Différence entre [RESTART] et [FIRMWARE RESTART]
- [RESTART] Recharge la configuration et redémarre le logiciel hôte (Klipper)
- [FIRMWARE RESTART] Réinitialise le micrologiciel de l'imprimante avant d'effectuer un [RESTART]
Remarques :
- [RESTART] est suffisant dans la plupart des cas
- [FIRMWARE RESTART] peut dysfonctionner avec certains MCU
Procédure de démarrage sans échec
- Eteindre l'imprimante
- Couper l'alimentation du Raspberry (la LED rouge doit être éteinte)
- Alimenter le Raspberry
- Patienter jusqu'au démarrage complet (la LED verte du Raspberry ne doit plus clignoter)
- L'interface KlipperScreen doit apparaître sur l'écran tactile (si présent)
- La LED de la caméra USB doit s'allumer (si présente)
- Allumer l'imprimante
La caméra USB reste éteinte après le démarrage
- Remplacer le mode vidéo ustreamer par le mode camera-streamer dans le fichier crowsnest.conf puis redémarrer
- Débrancher puis rebrancher la caméra
- Connecter la caméra sur un autre port USB
- Redémarrer le système en laissant l'imprimante éteinte
Le Raspberry plante ou boucle au démarrage
- Contrôler l'alimentation du Raspberry : la LED rouge du Raspberry doit être allumée fixe en toutes circonstances
- Contrôler la tension et la fréquence avec la commande bash : vcgencmd get_throttled (la réponse idéale est 0x0)
- Contrôler la température de fonctionnement du Raspberry avec la commande bash : vcgencmd measure_temp
- Utiliser une alimentation originale de marque Raspberry (5.1V 2.5A pour un Pi 3B+)
- Utiliser une alimentation originale pour Raspberry Pi 4 (5.1V 3A avec adaptateur USB-C vers MicroUSB)
(les alimentations de marques génériques donnent rarement satisfaction)
Le Raspberry plante durant l'impression
- Contrôler la température de fonctionnement en charge du Raspberry
- Contrôler la tension de fonctionnement en charge du Raspberry
- Contrôler l'efficacité du ventilateur de refroidissement de la carte mère et des drivers
- Rechercher les possibles défaillances de transmission entre le Raspberry et l'imprimante
- Migrer de USB à UART
Température de fonctionnement du Raspberry Pi 3B+
- La température maximale de fonctionnement du CPU est de 85°C.
- La fréquence du CPU ralentit à mesure qu’il approche ce seuil.
- Le CPU ne peut théoriquement pas claquer mais des températures trop élevées réduisent sa durée de vie.
- En règle générale la température du CPU se situe aux alentours de 50°C en veille (température extérieure à 20°).
- La température augmente en utilisation normale et les temps d’inactivité permettent au CPU de se refroidir avec l'air ambiant.
- En impression sous Klipper la température varie entre 50° et 60° (température extérieure à 20°).
- Préconisations
- Installer un dissipateur thermique sur le CPU, la puce du contrôleur Ethernet et la puce mémoire.
- Installer le Raspberry dans un boitier bien aéré (avec ou sans ventilation)
- Placer le Raspberry dans un environnement tempéré et/ou ventilé.
- Contrôler en temps réel la température du CPU avec la commande bash : watch -n 1 vcgencmd measure_temp
- Activer la surveillance de température du CPU dans le fichier printer.cfg de Klipper
Echecs de palpage (message : BLTouch failed to deploy)
- Editer le fichier printer.cfg
- Augmenter progressivement la valeur [bltouch] pin_move_time jusqu'à disparition de l'erreur
Echec après [SAVE & RESTART] (message : Failed automated reset of MCU 'mcu')
Echec après [FIRMWARE RESTART] (message : Failed automated reset of MCU 'mcu')
- Soit effectuer à la suite un simple [RESTART]
- Soit effectuer un RESET matériel de la carte mère puis lancer un [RESTART]
- Soit éteindre et rallumer l'imprimante puis lancer un [RESTART]
- Soit procéder à un redémarrage complet
Carte MCU bloquée suite à une erreur de firmware
- Placer l'imprimante en mode DFU avec un cavalier entre les pins +3.3V et Boot0 de la carte
- Injecter le firmaware adapté
Tester l'entrée du capteur de filament de l'Artillery Sidewinder X2
| Câblage entre capteur et fin de course Z |
| Elément | +5v | Gnd | Signal |
| Capteur | noir | bleu | marron |
| Motherboard Z-LIMIT (PA0) | marron | bleu | noir |
# test de fonctionnement avec fin de course inductif connecté sur Z-LIMIT
# lignes à modifier temporairement dans le fichier printer.cfg
[filament_switch_sensor filament]
switch_pin: PA0 # the z-endstop pin
#switch_pin: PA4 # for z-endstop test
[stepper_z]
endstop_pin: probe:z_virtual_endstop
#endstop_pin: !PA0 # for z-endstop test
#position_endstop: 0 # for z-endstop test
Autres pistes de dépannage
# supprimer le service ModemManager
sudo apt remove modemmanager
sudo apt autoremove
sudo reboot
# ou désactiver le service modem (selon la version de PiOS)
sudo systemctl disable hciuart
sudo reboot
# forcer l'activation du port uart
sudo nano /boot/firmware/config.txt
# ajouter en fin de fichier :
enable_uart=1
sudo reboot
# patcher Mainsail
curl -sSL https://raw.githubusercontent.com/mainsail-crew/MainsailOS/develop/patches/udev-fix.sh | bash
sudo reboot
Observations
Rappel des versions logicielles installées sur le Raspberry
- Debian 13.1 trixie
- Klipper 0.9.3.130
- Moonraker 0.13.0
- Mainsail 2.16.0
- Mainsail Config 1.2.1
- Crowsnest 4.1.17
- Octoeverywhere 4.4.0-0 (client)
Artillery Sidewinder X2 et Klipper
- L'imprimante se prête bien à cette migration.
- Klipper apporte un grand confort d'utilisation et fonctionne correctement avec un Raspberry 3B+ et une microSD de classe 10
- La fluidité des mouvements permet de pousser les limites de la machine à 100mm/s en impression, 200mm/s en déplacement
et 800mm/s² en accélération (contre 80mm/s en impression, 150mm/s en déplacement et 500mm/s² en accélération)
- L'interface est de qualité avec KlipperScreen sur un écran tactile IPS 7"
- Possibilité d'étalonner les PID (procédure absente dans Marlin).
- Etalonnage du nivellement extrêmement facilité par rapport à Marlin.
- Excellente compatibilité avec OrcaSlicer.
Stabilité du système
- Les meilleurs résultats sont obtenus avec une communication via le port UART,
la liaison USB provoquant des plantages récurrents durant les impressions.
- Une alimentation originale Raspberry assure une tension et une puissance parfaitement adaptée.
- Le Raspberry doit être fortement aéré sans être nécessairement ventilé
(les petits ventilateurs 5V tournent rapidement, sont bruyants et ont une durée de vie limitée)
- Une caméra USB fonctionne mieux avec le mode vidéo camera-streamer configuré dans le fichier crowsnest.conf
Flash de la carte MCU
La méthode la plus fiable pour passer en mode DFU consiste à shunter les pins +3.3V et Boot0 de la carte mère.
D'autre part elle permet de toujours accéder à la carte mère même après l'injection d'un firmware incorrect.
A propos de l'interface web Fluidd (version 1.36.0)

Fluidd est une interface web alternative incluant en natif une gestion des caméras (contrairement à Mainsail).
L'installation du plugin Crowsnest est toutefois recommandée pour assurer la reconnaissance correcte d'une caméra USB.
Paramètres à appliquer :
- Type de flux : Flux MJPEG
- crowsnest.conf : camera-streamer
Fluidd et Mainsail proposent les mêmes fonctionnalités et leur méthode d'installation et de configuration sont similaires.
Les différences relèvent de préférences personnelles sachant que Mainsail est la plus populaire des deux.
Rien ne change concernant l'écran tactile puisque celui-ci est géré par KlipperScreen.
L'installation conjointe de Mainsail et de Fluidd est possible bien que non pertinente car
toute surcharge du système peut nuire à la stabilité.
- La première API installée sera accessible par défaut via le port 80.
- Un port différent (par exemple 81) devra être indiqué lors de l'installation de la seconde API.
- Le fichier printer.cfg ne devra contenir qu'une de ces deux lignes : [include mainsail.cfg] ou [include fluidd.cfg]
(conserver les deux provoque une erreur car chacun de ces fichiers de configuration contient les mêmes déclarations).
Annexe
Fichiers de configuration
| Fichier | Contenu | Application |
| printer.cfg | includes et variables | Propre à l'imprimante |
| start.cfg | macros | Procédure de début d'impression |
| end.cfg | macros | Procédure de fin d'impression |
| macros.cfg | macros | Utilisation générale |
| mainsail.cfg | variables et macros | Interface web graphique |
| fluid.cfg | variables et macros | Interface web graphique |
| octoeverywhere-system.cfg | macros | Propre à OctoEverywhere |
| octoeverywhere.conf | variables | Propre à OctoEverywhere |
| crowsnest.conf | variables | Propre à Crowsnest |
| KlipperScreen.conf | variables | Propre à KlipperScreen |
| moonraker.conf | variables | Propre à Moonraker |
Le menu de KIAUH
| 0) [Log-Upload] | Charge le menu de téléchargement des derniers journaux |
| 1) [Install] | Charge le menu d'installation des différents modules |
| 2) [Update] | Charge le menu de mise à jour des modules installés |
| 3) [Remove] | Charge le menu de suppression des modules installés (les configurations et les backups seront conservés) |
| 4) [Advanced] | Charge le menu des fonctions avancées (Firmware du MCU et Input Shaper) |
| 5) [Backup] | Charge le menu des sauvegardes |
| S) [Settings] | Charge le menu des dépôts et des releases |
| E) [Extensions] | Charge le menu d'installation des addons |
Chemins utiles
| KLIPPER | Fichiers G-code | ~/printer_data/gcodes/ |
| KLIPPER | Fichiers journaux | ~/printer_data/logs/ |
| KLIPPER | Fichiers de configuration | ~/printer_data/config/ |
| CROWSNEST | Script | ~/crowsnest/tools/test_install.sh |
| CROWSNEST | Script | ~/crowsnest/tools/dev-helper.sh |
| CROWSNEST | Script | ~/crowsnest/tools/dev-pkglist.sh |
| CROWSNEST | Script | ~/crowsnest/tools/configure.sh |
| CROWSNEST | Script | ~/crowsnest/tools/install.sh |
| CROWSNEST | Script | ~/crowsnest/tools/uninstall.sh |
| KLIPPERSCREEN | Script | ~/KlipperScreen/scripts/KlipperScreen-install.sh |
| KLIPPERSCREEN | Script | ~/KlipperScreen/scripts/Uninstall.sh |
| KIAUH | Script | ~/kiauh/kiauh.sh |
| KIAUH | Backups | ~/kiauh_backups/ |
| MOONRAKER | Interface web | http://<adresse_ip>:7125 |
Préparer le système PiOS à partir d'une image ISO (un écran et un clavier sont requis)
- Connecter la carte microSD au PC
- Exécuter Raspberry Pi Imager
- Sélectionner :
- Le modèle du Raspberry Pi
- Le Système : [Utiliser image personnalisée] puis le fichier ISO .img.xz
- Le lecteur de carte microSD
- Confirmer l'écriture sur la carte microSD
- Insérer la carte microSD dans le Raspberry
- Alimenter le Raspberry et attendre la fin de l'installation
- Un assistant s'ouvre :
- Sélectionner la langue (French)
- Donner un nom d'utilisateur (pi) et un mot de passe
- Le système redémarre
- Se connecter en tant que pi
- Exécuter la commande sudo raspi-config et paramétrer :
- Le Wi-Fi (SSID et Passphrase)
- Le SSH (activer Serveur SSH)
- Redémarrer le Raspberry avec la commande sudo reboot
Flasher la carte mère Ruby 1.2 via USB en ligne de commandes
- Lancer l'assistant KIAUH de configuration du firmware
cd klipper
make menuconfig

Taper Q pour quitter puis Y pour sauvegarder la configuration et compiler le firmware
- Générer le firmware
make clean
make
- Placer l'imprimante en mode DFU
- Relever l'ID du périphérique
lsusb
Bus 001 Device 003: ID xxxx:xxxx STMicroelectronics STM Device in DFU Mode
- Flasher le firmware
sudo service klipper stop
make flash FLASH_DEVICE=xxxx:xxxx

sudo service klipper start
- Quitter le mode DFU
Flasher la carte mère Ruby 1.2 via USB avec l'assistant KIAUH
Un [ BUILD] a été préalablement effectué et enregistré sous swx2.config

[ USB] = liaison USB et passage en mode DFU logiciel (une commande G-code M997 sera envoyée)
[ USB (DFU mode)] = liaison USB et mode DFU matériel (PIN +3V et Boot0 préalablement shuntés)
Procédure de retour au firmware d'origine Marlin
- Eteindre l'imprimante
- Connecter le capteur de filament à son emplacement d'origine
- Reconnecter la prise UART à la carte de l'écran tactile
- Connecter l'imprimante au PC via USB
- Décompresser l'archive du firmware de la carte mère
- Placer l'imprimante en mode DFU
- Injecter le firmware avec STM32CubeProgrammer : le fichier binaire à charger est Sidewinder-X2_2.0.9.1_20210722.hex
- Quitter le mode DFU
- Déconnecter l'imprimante du PC
- Mettre à jour le firmware de la carte originale de l'écran tactile (facultatif)
- Décompresser l'archive du firmware de la carte écran
- Copier le contenu du dossier à la racine d'une clé USB
- Eteindre l'imprimante
- Connecter la clé USB à l'imprimante
- Allumer l'imprimante et patienter jusqu'à la fin de la mise à jour
- Eteindre l'imprimante
- Retirer la clé USB
- Redémarrer l'imprimante
- Effectuer un nivellement complet du plateau
Sources
Ressources utilisée dans ce tutoriel
Bases de données
Objets 3D à imprimer
Editeurs
Documentation en ligne
Firmwares Marlin
Tutoriels
Articles connexes sur ce site
Autres ressources
|