Aller au contenu

GO Print

[TUTO] Installer et configurer Klipper


Nibb31

Messages recommandés

Je ne vois pas trop l'intéret d'utiliser des cartes SD dans ce contexte. A partir du moment où on utilise Octoprint et Klipper, la carte SD devient une sorte d'appendice vestigial. Klipper se configure par le plugin Octoklipper et les Gcodes s'uploadent directement depuis le slicer et interprétés par la partie Raspberry de Klipper.

Pour les nostalgiques, Klipper a une option de carte SD virtuelle, hébergée sur le Pi, mais lu directement par Klipper. Ca peut servir si on a un vieux Pi 1 qui rame avec Octoprint, mais j'ai jamais réussi à le faire fonctionner correctement et c'est vraiment pas nécessaire.

Modifié (le) par Nibb31
Lien vers le commentaire
Partager sur d’autres sites

@Tircown, c'est juste au moment de paramétrer la CM suite à l'install de klipper. Si j'ai fais une connerrie et que le Rpi n'arrive pas à communiquer avec la CM il faut refaire un fichier bin et le copier sur la SD. C'est juste plus simple en passant par l'USB que de devoir allez chercher cette SD au fond. Voila c'est tout.

Sinon je vois bien comment Klipper fonctionne car sur ma Delta ca marche au poil et j'en suis 200% satisfait.

Cdt

LC

Lien vers le commentaire
Partager sur d’autres sites

@Nibb31 Merci ! 😃
J'ai profité de cette fin de semaine pluvieuse pour passer ma Discovery200 avec sa MelzyV2 (8bits 16Mhz) de Marlin2.0BF à Klipper.
Je ne la reconnais plus ! Elle se prend pour une Ferrari !
J'ai récupéré toutes les fonctionnalités de base et un peu plus, le BL-Touch et le lit chauffant fonctionnent impec.
Je vais me pencher sur le "linear advance" (cela semble simple) et le "bed leveling" genre mesh (moins simple).
C'est certain je ne reviendrais à Marlin que sous la contrainte !

  • J'aime 3
Lien vers le commentaire
Partager sur d’autres sites

Hello, voici un petit retour.

Le mesh bed leveling c'est montré comme je m'y attendais un peu plus difficile à mettre en œuvre que le reste, mais le résultat est là.
En dépit d'un très important défaut sur tous le côté gauche de la vitre, 0.4 mm soit 2 fois l'épaisseur de la première couche, la correction est parfaite !
IMG_20191119_000119.thumb.jpg.3351ed7dc085465f85c2a0b9febe1c35.jpg

@Nibb31 La version de Klipper que j'ai installé semble avoir évoluée depuis la rédaction de ton tutos.
dans la section [bed_mesh] les options 'samples' et 'sample_retract_dist' ne sont plus valides.
.2019-11-18_23-45.png.74e2bbc25780ac09ad925ca8e867ffcb.png2019-11-18_23-52.png.a8fe2d2b47702613c219d43693b010b5.png
Voilà ma section [bed_mesh]

[bed_mesh]
speed: 150
probe_count: 15,15
min_point: 2,25
max_point: 201,227
horizontal_move_z: 7
mesh_pps: 0,0

A noté qu'il m'a fallut désactiver le rajout de points extrapolés entre les points physiquement mesurés par mon BL_Touch avec : "mesh_pps: 0,0"
sans cela le plugin "bed visualizer" d'octoprint ne répond plus et Octoprint plante et s’arrête.
Plus précisément jusqu'à 9*9 cela fonctionne encore avec les valeurs par défaut pour mesh_pps, qui sont 2 et 2 (2 point extrapolés en x entre deux mesures et idem en y).
2019-11-19_01-00_99.png.b1799f0dd25eda0fffd1e24696260a8d.png
mesh 9*9 + 2 point extrapolés entre chaque mesure

Au delà le plugin "bed visualizer" montre un mesh bizarrement erroné sur des bords qui font planter les impressions.

2019-11-19_01-06_1010.png.c603173686541f48ae487e329d2ec40a.png
mesh 10*10 + 2 points extrapolés KO !
2019-11-19_01-04_1313.png.6cf5935967b3e37ddb3a9352360289c4.png
mesh 13*13 de pire en pire

Et pour de plus grandes valeurs encore le plugin fini par ne plus répondre et octoprint se crash (le crash est peut être à l'origine du blocage du plugin en fait, je ne sais pas...).
Je n'ai testé que l'extrapolation bicubique et non l'autre option, l'extrapolation linéaire.
Je ne sais pas où est le problème, les valeurs stockées dans le fichier de configuration de Klipper lorsqu'on sauvegarde les meshs ne sont pas erronées...

Quoiqu'il en soit mon BL_touch est endurant et il a réalisé sans faillir les 15*15 mesures donnant au final un mesh 15*15 sans extrapolation bicubique pour le résultat sur la première photo qui me satisfait totalement.

J'ai une question pour la communauté : quelqu'un comprend-t-il les options "fade_start", "fade_end" et "fade_target".
documentées comme suit dans le fichier example-extras.cfg

#fade_start: 1.0
#   The gcode z position in which to start phasing out z-adjustment
#   when fade is enabled.  Default is 1.0.
#fade_end: 0.0
#   The gcode z position in which phasing out completes.  When set
#   to a value below fade_start, fade is disabled. It should be
#   noted that fade may add unwanted scaling along the z-axis of a
#   print.  If a user wishes to enable fade, a value of 10.0 is
#   recommended. Default is 0.0, which disables fade.
#fade_target:
#   The z position in which fade should converge. When this value is set
#   to a non-zero value it must be within the range of z-values in the mesh.
#   Users that wish to converge to the z homing position should set this to 0.
#   Default is the average z value of the mesh.

Ce n'est pas super clair pour moi.

Bonsoir à tous.


Edit : fade_target me semble prometteur (avec un radeau ou pas d’ailleurs) mais passablement compatible avec les deux autres options.

Modifié (le) par r2d2
  • J'aime 2
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

  • fade_start: c'est la couche ou la position z en mm (ça je n'ai pas trop compris) où la compensation du mesh commence.
  • fade_end: la fin de cette compensation. La valeur doit être suppérieure à fade_start sinon fade n'est pas activé.

Il est question ici de partir d'une surface irrégulière pour finir progressivement sur une une surface bien plane.

  • fade_target: est une valeur qui doit être prise entre le min et le max ce qui est mesuré par le mesh bed levelling. Au lieu de commencer le print à z=0, ça permet de décaler le départ à sa guise. Par défaut c'est la valeur médiane du mesh. Par exemple toi qui a l'immense majorité du plateau entre -0.05 et 0, tu pourrai mettre 0. Par défaut avec la valeur médiane, la partie bleue pourrai bien affecter la position de départ et te faire commencer plus bas alors que tu n'imprimes probablement que très rarement jusqu'à ce bord.

Je me trompe peut être, mais c'est ce que j'ai compris de la config et de cette réponse du développeur de cette fonction: https://github.com/KevinOConnor/klipper/pull/944#issuecomment-443286031

Modifié (le) par Tircown
  • J'aime 1
  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Ok @Tircown voilà ce que je croie comprendre.

Si j'ose une image à base de plastique mou (ça tombe bien je trouve) et en prenant les choses à l'envers a partir d'un objet parfait géométriquement, mais ramollie à la base sur une hauteur de fade_start + fade_end, je le plaque sur mon plateau bosselé (quitte à déformer la partie mole de la pièce) de sorte qu'à l'endroit ou je fais le home en Z sur mon plateau (au centre) le point correspondant sur la base de l'objet soit à la hauteur de fade_target. Du coup les parties de la base de la pièce au dessus de creux qui ne touchent pas le plateau s’étirent sous l'effet de la gravité jusqu'à entrer en contact avec le plateau (l'étirement étant de moins en moins important plus on remonte dans la partie mole pour devenir nul à fade_start + fade_end, hauteur à laquelle mon objet ne se déforme plus) et inversement les parties de la base de la pièce au niveau des bosses se trouvent déformées par compression jusqu'à fade_start + fade_end.

edit : Il y a des limites à l'image dans la façon dont le plastique mou se déforme, c'est pas très physique je trouve la linéarité de la déformation.

Modifié (le) par r2d2
  • Confus 1
Lien vers le commentaire
Partager sur d’autres sites

Il y a 3 heures, Tircown a dit :

Par exemple toi qui a l'immense majorité du plateau entre -0.05 et 0, tu pourrai mettre 0. Par défaut avec la valeur médiane, la partie bleue pourrai bien affecter la position de départ et te faire commencer plus bas alors que tu n'imprimes probablement que très rarement jusqu'à ce bord.

oui en effet, même si en fonction de la pièce il ne faut rien s'interdire, 0 va être mon fade_target par défaut.

Lien vers le commentaire
Partager sur d’autres sites

Mesh Bed leveling et presure advance OK.
Klipper est radicalement plus facile à prendre en main que Marlin !
Voici mon benchy à 100 mm/s, hormi le "goshting" plus marqué qu'avec marlin à 50 mm/s je ne regrette vraiment pas le changement.Benchy100.thumb.jpg.5f9b8929bad60869dc29346a9ef0bd47.jpg

Lien vers le commentaire
Partager sur d’autres sites

Bonjour a tous,

après avoir lu les messages je tente de passer vers Klipper pour ma MKS Gen 1.4

Installation OK, pas de soucis (merci pour le tuto), flashage de la carte OK, modification de la config...mmm OK

Juste un problème, je me connecte via mon Octoprint, mais je n'ai aucune température valide. Le SOC affiche 36° (ok), mais l'extruder affiche 0 et le Bed 0 ou NAN

J'ai tenter tous les types de sensor proposés dans l'extra config; mais tjrs meme resultat, alors que ca marche parfaitement sur Marlin.

Normalement les PIN sont les bonnes, car reprise du fichier config RAMPS (et j'ai aussi checker le github/issus checker les configs des personnes avec MKS gen 1.4)

Si quelqu'un a une idée de ce que ça pourrait être

merci de votre aide

[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
#step_distance: .002
step_distance: .01052
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog13
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250

----> Pour info j'ai aussi testé le control=watermark  mais ca change fonctionne tjrs pas

 


[heater_bed]
heater_pin = ar8
sensor_type = EPCOS 100K B57560G104F
sensor_pin = analog14
control = pid
pid_kp = 474.78
pid_ki = 193.84
pid_kd = 602.85
min_temp = 0
max_temp = 110

Modifié (le) par lezabour
Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, lezabour a dit :

Bonjour a tous,

après avoir lu les messages je tente de passer vers Klipper pour ma MKS Gen 1.4

Installation OK, pas de soucis (merci pour le tuto), flashage de la carte OK, modification de la config...mmm OK

Juste un problème, je me connecte via mon Octoprint, mais je n'ai aucune température valide. Le SOC affiche 36° (ok), mais l'extruder affiche 0 et le Bed 0 ou NAN

J'ai tenter tous les types de sensor proposés dans l'extra config; mais tjrs meme resultat, alors que ca marche parfaitement sur Marlin.

Normalement les PIN sont les bonnes, car reprise du fichier config RAMPS (et j'ai aussi checker le github/issus checker les configs des personnes avec MKS gen 1.4)

Si quelqu'un a une idée de ce que ça pourrait être

merci de votre aide

[extruder]
step_pin: ar26
dir_pin: ar28
enable_pin: !ar24
#step_distance: .002
step_distance: .01052
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: ar10
sensor_type: EPCOS 100K B57560G104F
sensor_pin: analog13
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: 0
max_temp: 250

----> Pour info j'ai aussi testé le control=watermark  mais ca change fonctionne tjrs pas

 


[heater_bed]
heater_pin = ar8
sensor_type = EPCOS 100K B57560G104F
sensor_pin = analog14
control = pid
pid_kp = 474.78
pid_ki = 193.84
pid_kd = 602.85
min_temp = 0
max_temp = 110

il faut voir les message d'erreur que tu a dans le fichier de log  /tmp/klippy.log, tu verras surement plus d'information lorsque tu recharge le firmware.

Lien vers le commentaire
Partager sur d’autres sites

Ne voie pas d’offense dans la question.
Es-tu bien connecté à l'imprimante ? Et Klipper est-il prêt ?EcranOctoprint.png.b7e9f8b8b92981826cd4040aa0eb4751.png
Avec le plugin OctoKlipper pour octoprint, tant que tu ne voie pas "Klipper state: Ready", il faut jouer (mais lentement) avec les boutons Connect/diconnect, Get Status, Restart/Host, Restart Firmware... et attendre de longues secondes que le message apparaisse.
Il peut être plus simple de passer par la ligne de commande sur la machine qui fait tourner Klipper et d'y arrêter/démarrer/redémarrer directement Klipper au besoin.

sudo service klipper restart
sudo service klipper start
sudo service klipper stop


 

Lien vers le commentaire
Partager sur d’autres sites

Merci pour votre aide 😉

Oui l'imprimante est bien connecté sur le port TEMP, je peux faire bouger les axes.

j'ai pas de message d'erreur qui s'affiche, mais je vois les temperatures a 0.
A chaque changement du fichier printer.cfg je fais un restart et reconnect l'imprimante

sudo service klipper restart

en PJ le log

 

merci encore

 

klippy.log

Lien vers le commentaire
Partager sur d’autres sites

il y a 35 minutes, lezabour a dit :

Merci pour votre aide 😉

Oui l'imprimante est bien connecté sur le port TEMP, je peux faire bouger les axes.

j'ai pas de message d'erreur qui s'affiche, mais je vois les temperatures a 0.
A chaque changement du fichier printer.cfg je fais un restart et reconnect l'imprimante


sudo service klipper restart

en PJ le log

 

merci encore

 

klippy.log 43 Ko · 0 downloads

j'ai vue sa dans le log :

Citation

MCU 'mcu' shutdown: ADC out of range

c'est peut être rien mais j'ai l'impression qu'il y a un soucis avec l'alim qui dépasse le ... mais je peux me tromper.

 

autre point, pour le paramétrage du MCU, j'ai eu des soucis de stabilité avec  /dev/ttyUSB0 , j'ai donc modifié pour qu'il pointe toujours surle dev réel

 

voici l'extrait de mon printer.cfg 

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
baud: 250000
pin_map: arduino
Lien vers le commentaire
Partager sur d’autres sites

Salut @lezabour,

Idem, j'ai eu des soucis avec /dev/tty...
Il est préférable de mettre le chemin complet /dev/serial/by-id/...

Sinon, j'ai bien le même mapping de pins sur ma MKS.

 

Pour les messages d'erreur ADC, j'ai eu le même problème dernièrement.

Force le baudrate :
 

[mcu]
baud: 250000

Je te conseil de modifier aussi (uniquement le temps de débugger) les limites de température mini et maxi.

min_temp: -150
max_temp: 250

Je vois que tu as des retours sur la sonde à -99°C.

Un autre truc qui m'interpelle c'est les bytes invalides. As-tu un autre câble USB pour exclure un problème de transfert octo <=> board ?

a+

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, palouf34 a dit :

autre point, pour le paramétrage du MCU, j'ai eu des soucis de stabilité avec  /dev/ttyUSB0 , j'ai donc modifié pour qu'il pointe toujours surle dev réel

idem j'ai utilisé le réel

serial: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL013BJD-if00-port0
 
Lien vers le commentaire
Partager sur d’autres sites

Merci a tous pour votre aide.

Ca a l'air de bcp mieux fonctionner en corrigeant le port serial par le serial/by-id/*

J'ai enfin les bonnes temperatures!! J'arrive a chaufer le bed etc.

Bon j'ai encore des reglages a faire (Y endstop pas correctement reconnu, BLtouch non fonctionnel encore), mais j'ai deja le gros de corrigé

Par contre quand je me connecte j'ai un message

Unknown command M117  

338099909_Capturedcran(11).thumb.png.beedc9ebbe226ab3fc336aa2678ccc73.png

merci encore!

Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, lezabour a dit :

Par contre quand je me connecte j'ai un message

Unknown command M117

Regardes du côté des plugins octoprint que tu utilises.

M117 permet d'afficher un message sur l'écran.

Lien vers le commentaire
Partager sur d’autres sites

Ok, j'ai reussi a pas mal avancé, c'est tout pour ce soir 😉

J'ai plus le probleme de M117, c'est cool.

Par contre, je slice mes fichiers via Slic3r sur PC, pour envoyer sur mon raspberry (pas reussi encore a installer une version de slicer sur rpi).

J'ai plein de Gcode de debut non reconnu, le G29 du bed leveling non plus, et mon Z offset defini dans marlin (et identique normalement dans Klipper) ne semble pas pris en compte

Je me demande si c'est la bonne maniere d'utiliser Slic3r pour slicer? Vous faites comment vous?

 

merci encode de votre aide

Lien vers le commentaire
Partager sur d’autres sites

M11; question simple: avez-vous un écran de branché et paramétré?

Effectivement, klipper est loin d'avoir toutes les commandes GCODE de paramétrées mais un bon nombre peuvent être mises sous forme de macro. Il y a un exemple avec M300 (beeper) dans sample-macros.cfg

Modifié (le) par Tircown
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonsoir a tous,

Je viens d'installer klipper sur ma skr 1.3

Pour l'instant, le homing fonctionne sur xy et z. J'ai des TMC2130 sur XYZ et E avec du sensorless sur x et y et ils fonctionnent. Le PID sur le bed et le hotend fonctionne également ainsi que le bltouch.

Mon souci se situe au niveau de l'écran LCD, c'est celui qui était sur ma Tevo Tornado qui ressemble à cela.HTB1tiY7X5HrK1Rjy0Flq6AsaFXab.thumb.jpg.85da71aa25d689ebf085c99eca6efa2a.jpg

Je ne comprend absolument pas comment la déclarer.

De ce que j'ai compris, c'est un modèle

[display]
lcd_type: st7920

mais au delà de ça, je suis perdu. Si quelqu'un l'a déjà fait, je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

Hello,

Je me répond tout seul. Comme suggéré par @bakatora dans un autre sujet, j'ai limé les encoches en plastique pour inverser le sens des connecteurs. Ensuite l'affichage est ainsi:

[display]
lcd_type: st7920
cs_pin: P1.19
sclk_pin: P1.20
sid_pin: P1.18
encoder_pins: ^P3.26, ^P3.25
click_pin: ^!P0.28

Et cela fonctionne.

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

a premier vue la  procédure pressure advance a changé tout comme l'objet a imprimer. voir  procédure pressure advance

Je suis en bowden mais je ne comprend pas  a quoi sert la commande suivante:

 

Citation

TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020

qui peut  m'explique clairement ce nouveau système?

Lien vers le commentaire
Partager sur d’autres sites

bonsoir @palouf34

il y a une heure, palouf34 a dit :

procédure pressure advance a changé

changer par rapport à quoi ? Marlin propose un autre genre de teste mais celui de Klipper est plus répétable et facile à mettre en œuvre à mon goût.

La procédure consiste à imprimer un objet assez haut (comme le square_tower.stl qui est proposé dans la doc) et à faire varier progressivement la valeur du K factor en partant de la valeur 0 START (pas de correction) par augmentation successivement entre les couche par pas de 0.020 FACTOR.

Pour faire varier cette valeur on utilise le script généraliste TUNING_TOWER qui accompagbe klipper, il permet, quand klipper imprime un objet quelquonque de faire varier toutes sorte de paramètre en fonction de la hauteur Z au cours de l'impression de l'objet.
C'est la valeur du premier paramètre  (le paramètre commande) qui dit à klipper quelle instruction lancer à chaque changement de Z, (ici SET_PRESSURE_ADVANCE)
la valeur du deuxième paramètre est le nom du parametre à faire bouger dans cette instruction, et finalement les deux dernier paramètres précisent à partir de quelle valeur commencer et l'augmentation à appliquer à chaque changement de couche.

Une fois que la tour de test est imprimée on examine visuellement le résultat et c'est la mesure de la hauteur sur l'axe Z à laquelle l'impression parait correcte qui permet de déduire la valeur correcte pour le paramètre qu'on étudie, ici le parametre ADVANCE (K factor)

Je ne sais pas si c'est plus claire que les explications en anglais de la doc.
Bon courage.

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...