Aller au contenu

GO Print

Changer de firmware (de Marlin à Klipper)


Messages recommandés

Merci @Tircown

la déclaration de pin est correcte maintenant, j'arrive à démarrer. Par contre je teste le filament runout de @Stef67 et le comportement de l'imprimante est étrange et ne fonctionne pas du tout comme prévu. 

Pour essayer d'être clair

J'utilise les fichiers macro.cfg, other.cfg et menu.cfg de @Stef67 avec les pins corrigés et visiblement corrects. et BLTouch désactivé.

dans Cura mes GCodes de début et fin de print sont

; gcode macro Klipper (démarrage)

START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0}



; gcode macro Klipper (fin)

END_PRINT

J'ai également vidé les "GCode Script" dans Octoprint sur "After Job Cancelled" et "Before Job Start"

 

Je lance un print avec du fil chargé, visiblement tout se passe bien. Lorsque je retire le fil du capteur l'impression passe en Pause Mode, va se parker, puis se déplace très lentement sur X et Y pour me mettre un message d'erreur : 

Your printer's firmware reported an error. Due to that the ongoing print job will be cancelled. Reported error: Move out of range: 460.000 241.950 10.200 [218.426]

J'ai bien le menu qui s'affiche sur l'écran de la machine pour le remplacement du filament, je repasse un fil dans le capteur et clic sur RESUME sur l'écran, la tête d'impression retour là ou elle s'est arrêtée et puis ne fait plus rien ... 

J'ai l'impression que deux routine de changement de filament se mettent en conflit, mais ce n'est qu'une impression ... 

Log de ma routine d'impression

 

11:18:54
 
Klipper state: Ready
11:25:06
 
Unknown command:"T0"
11:25:32
 
action:paused
11:25:39
 
Print already paused
11:26:27
 
Move out of range: 339.393 111.116 10.180 [18.554]
11:29:05
 
Unknown command:"T0"
11:29:35
 
Print already paused
Print already paused
11:29:35
 
Move out of range: 370.450 220.650 10.180 [44.219]
11:32:37
 
Error evaluating 'gcode_macro CHECK_FILAMENT:gcode': CommandError: No filament present, aborting print
11:33:38
 
Must home axis first: 188.884 110.608 0.180 [44.219]
11:33:38
 
Must home axis first: 188.884 110.608 0.180 [44.219]
11:33:38
 
Must home axis first: 188.884 110.608 0.180 [44.219]
11:33:38
 
Must home axis first: 188.884 110.608 0.180 [44.219]
11:41:40
 
Print already paused
Print already paused
11:41:40
 
Move out of range: 460.000 241.950 10.200 [145.375]
11:51:31
 
Print already paused
Print already paused
11:51:31
 
Move out of range: 460.000 241.950 10.200 [218.426]
11:53:12
 
action:resumed

 

Extrait du terminal

 

Changing monitoring state from "Operational" to "Starting"
Send: N0 M110 N0*125
Recv: ok
Send: N1 G28*18
Recv: ok
Send: N2 M117 0% L=-/142*119
Recv: ok
Changing monitoring state from "Starting" to "Printing"
Send: N3 M82*26
Recv: ok
Send: START_PRINT T_BED=50 T_EXTRUDER=210.0
[...]
Recv: ok
Send: N4 G92 E0*67
Recv: ok
Send: N5 G92 E0*66
Recv: ok
Send: N6 G1 F1500 E-1.5*46
Recv: ok
Send: N7 M107*34
Recv: ok
Send: N8 M117 0% L=0/142*96
Recv: ok
Send: N9 G1 F300 Z0.4*36
Recv: ok
[...]
Send: N11 G0 F6000 X193.375 Y198.375 Z0.4*35
Recv: ok
Send: N12 G1 F300 Z0.2*24
Recv: ok
Send: N13 G1 F1500 E0*45
Recv: ok
Send: N14 G1 F1200 X116.625 Y198.375 E3.98618*57
Recv: ok
[...]
Send: N16 G1 X116.625 Y121.625 E7.97236*95
Recv: ok
Send: N17 G1 X193.375 Y121.625 E11.95854*104
Recv: ok
[...]
Send: N19 G1 X193.375 Y198.375 E15.94472*105
Recv: ok
[...]
Send: N21 G0 F6000 X194.025 Y199.025*118
Recv: ok
Send: N22 G1 F1200 X115.975 Y199.025 E19.99842*9
Recv: ok
[...]
Recv: // Print already paused
Recv: // Print already paused
[...]
Send: N25 G1 X115.975 Y120.975 E24.05212*97
Recv: ok
Send: N26 G1 X194.025 Y120.975 E28.10582*97
Recv: !! Move out of range: 460.000 241.950 10.200 [145.375]
Changing monitoring state from "Printing" to "Cancelling"
Recv: ok
Send: N27 M108*31
Recv: ok
[...]
Send: N29 M104 T0 S0*26
Recv: ok
Send: N30 M140 S0*86
Recv: ok
Send: N31 M106 S0*85
Recv: ok
Send: N32 G91*32
Recv: ok
Send: N33 G0 Z+2*122
Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
[...]
Recv: ok
[...]
Send: N36 G90*37
Recv: ok
Send: N37 G0 X0 Y300 F3600*124
Recv: ok
Send: N38 M84*36
Recv: ok
[...]
Changing monitoring state from "Cancelling" to "Operational"
[...]
Changing monitoring state from "Operational" to "Starting"
Send: N0 M110 N0*125
Recv: ok
Changing monitoring state from "Starting" to "Printing"
Send: N1 M82*24
Recv: ok
Send: N2 M117 0% L=-/142*119
Recv: ok
Send: START_PRINT T_BED=50 T_EXTRUDER=210.0
[...]

 J'ai également l'impression qu'il y'a un conflit de génération entre les fichiers de config. D'après la doc de Klipper il existe déjà une routine de filament runout, je me demande si la macro de Stef67 et la routine soit disant implémentée ne rentrent pas en conflit. 

Alors je me doute bien que de repartir à plat et configurer de 0 les macros que je souhaiterais faire tourner serait la meilleure solution mais l'idée de récupérer des fichiers tout fait me semblait être un gagne temps ... 

En tous cas merci de me lire et de m'apporter tout ce qu'il faut pour progresser. 

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

Voici mes derniers fichiers, j'utilise ceux la tous les jours avec klipper et fluidd et avant cela klipper et octoprint.

 

Je ne sais pas prk tes pins sont differents des miens puisque si je comprends bien nous utilisons tout les 2 une cr10 v3.

J'ai séparé la fonction runout dans un fichier Filrunout.cfg, en debut de fichier, tu trouveras les fonctions a ajouter dans les before, after print, etc...

 

Pour faire simple, si tu lances un print sans fil, le print est annulé .

Si tu lances un print et la bobine arrive au bout, la tete se range, le plateau reste chaud et la tete s'eteins.

Il faut remonter la temperature de la tete via octoprint ou le menu qui sera apparu dans le menu de la box suite au runout.

une fois la tete rechauffée , on met le nouveau fil, on purge ce qu'il faut et on renvoi le print.

 

C'est le fonctionnement normal du capteur avec mes fichiers.

 

KLIPPER CR10V3 LAST.zip

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

1/ Tu as activé le pause_on_runout dans les section [filament_switch_sensor my_sensor], puis tu dans la macro appelée tu refait une PAUSE. Mets le pause_on_runout à False et teste à nouveau.

2/ Les déplacements demandés sont en dehors de la capacité de ton imprimante. C'est probablement du à une oubli de repasser en coordonnées absolues et/ou un SAVE/RESTORE_GCODE_STATE foireux. Commence par retirer le M125 dans la macro M600. L'impression sera probablement ratée puisque la tête restera sur la pièce mais ça permettra d'isoler le problème si après le RESUME tout va bien.

 

 

Il y a 5 heures, Stef67 a dit :

Je ne sais pas prk tes pins sont differents des miens puisque si je comprends bien nous utilisons tout les 2 une cr10 v3.

Tu utilises le pinout arduino en mettant pin_map: arduino dans la section [mcu]. Ce n'est pas le cas de SebK et puisqu'il n'avait qu'un pin à changer c'était plus simple de mettre sa correspondance.

Lien vers le commentaire
Partager sur d’autres sites

Je ferais quelques test ce soir, mais j'ai ajouté cette ligne en l'ayant vue sur un tuto parce que j'avais quelques soucis de co des fois. Mais avant de l'ajouter j'avais deja les memes pins.

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

@Stef67 En suivant les conseils de @Tircown le filament runout fonctionne correctement. En y regardant effectivement deux pause = 2 X le GCODE_STATE donc les coordonnées sont très loin de l'imprimante 🙂 

Par contre je viens de lacer un print de test et constate que la machine va vite ! Vraiment plus vite que d'habitude et elle tape dans les changements de trajectoire. Enfin je ne pense pas que ça soit bon pour la bête. Les courroies ne vont pas faire long feu. Ceci depuis que j'ai changé les GCODE de début et fin dans Cura. 

Lien vers le commentaire
Partager sur d’autres sites

Le 21/06/2021 at 14:51, SebK a dit :

J'ai vu dans ton fichier other.cfg la routine pour le filament runout mais je ne sais pas sur quelle pin il est connecté...

J'ai tenté de ne pas utiliser les pins en mode Arduino mais comme les cartes Creality ne sont pas documentées, je n'ai pas encore trouvé les équivalents en mode «fastio» des «pins» arduino. Donc je reste en mode Arduino, le détecteur est déclaré :

Citation

# Detecteur fin filament
[filament_switch_sensor my_sensor]
pause_on_runout: True
runout_gcode:
      M600
switch_pin: ^ar2
#switch_pin: ^PE4

Mes fichiers de configuration sont fonctionnels tels quels et Klipper tourne bien sur la CR10-V2.

Si tu es curieux, dans mon dépôt Github, il y a un dossier nommé Bkup dans lequel tu peux trouver la configuration de la carte v2.5.2 en mode arduino et en mode fastio (il est incomplet et d'autres fichiers de conf doivent être modifiés quand dans la section [mcu] on n'utilise pas «pin_map: arduino» :

Citation

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
#serial: /dev/ttyUSB0
pin_map: arduino

🙂

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

Question Input Shaper

Je ne suis pas sûr d'avoir saisi, faut il un adxl345 pour l'implémenter ? 

Auquel Cas pour une CR10 il en faudrait deux si j'ai bien compris la doc, un pour X et un pour Y ?

 

il y a 10 minutes, fran6p a dit :

Si tu es curieux,

Oui je suis très curieux, je suis d'ailleurs en train de lire et relire tes fichiers ainsi que ceux de Stef67, en parallèle je scrute les fichiers d'exemples sur klipper, c'est d'ailleurs là bas que j'ai trouvé le pin pour le filament sensor. 

En tous cas quelle aventure !! 

Lien vers le commentaire
Partager sur d’autres sites

il y a 17 minutes, SebK a dit :

Question Input Shaper

Je ne suis pas sûr d'avoir saisi, faut il un adxl345 pour l'implémenter ? 

C'est mieux car ça permet de l'automatiser. Sinon c'est réalisable «manuellement» (c'est ce que j'ai fait). Il faut alors suivre la documentation, imprimer le modèle de test avec les paramètres qui vont puis mesurer les écarts dans les échos apparus à certains endroits. Et refaire quelques tests après avoir complété les fichiers de configuration.

Pour ma CR10V2, après mesures sur la (les) pièce(s) de test :

Citation

[input_shaper]
shaper_freq_x: 64.5
shaper_freq_y: 75.75
shaper_type: mzv

 

Un conseil, si tu le fais manuellement, évite deux couleurs: noir / blanc. Le rouge ou le jaune par contre, c'est bien 😉

Pour une cartésienne comme les CR10, il faut effectivement deux accéléromètres, un sur la tête, l'autre sur le plateau.

🙂

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

il y a 22 minutes, fran6p a dit :

je n'ai pas encore trouvé les équivalents en mode «fastio» des «pins» arduino

Ça dépend évidement du MCU mais pour le grand classique: https://github.com/KevinOConnor/klipper/blob/master/config/sample-aliases.cfg#L17

@SebK Il y a deux méthodes possibles: manuelle ou avec l'accéléromètre

La manuelle: on peut calibrer input shaper avec un print spécifique en mode "TEST_TOWER", puis on mesure la hauteur ou le réglage nous semble le meilleur. Avec un rapide calcul on peut déterminer les paramètres d'input shaper à renseigner.

Avec l'adxl: sur une bed slinger (les i3 dont la cr10) on fait une mesure avec l'accéléromètre sur la tête puis une seconde avec l'accéléromètre sur le plateau. Il faut le fixer fermement avec une vis sinon la mesure sera faussée. Il sert juste à calibrer donc on peut le retirer après. La tension des courroies, la modification du châssis, de la tête, etc. influent le résultat donc c'est à refaire à chaque modification.

Si tu comprend l'anglais, cette vidéo explique la démarche avec l'adxl345: https://www.youtube.com/watch?v=OoWQUcFimX8 et celle ci avec la mesure manuelle: https://www.youtube.com/watch?v=IezqWVZZ_iI

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

@fran6p je suis en train de refaire une tour de test pour le pressure advance, pour une buse de 0.6. Avec 75% du diamètre de la buse en hauteur de couche soit 0.45 ^^ ben c'est pas trop mal pour l'instant. 

@Tircown Je vais faire la calibration de l'input shaper à la main, ça commence à faire beaucoup de bidouilles pour une petite machine comme ça. Merci pour ce fichier d'alias bon sang si j'avais eu ça sous la main un peu plus tôt !!! 

En tous cas merci !! J'avance bien grâce à vous.  

Lien vers le commentaire
Partager sur d’autres sites

Salut tout le monde,

Voilà je sors la tête de l'eau avec tous ces réglages, je peux de nouveau imprimer 😍

Je pense que j'ai un soucis avec le pressure advance + rétractation car les coins où se trouvent les soudures sont souvent foirés. Je vais essayer de faire des photos. 

Autre question au passage. Ayant la certitude d'avoir frit le port bltouch de la carte mere je me demande s'il est possible et comment, de le raccorder au raspi ?

Merci d'avance pour vos lumières 😄

Lien vers le commentaire
Partager sur d’autres sites

Il y a 9 heures, SebK a dit :

je me demande s'il est possible et comment, de le raccorder au raspi ?

Jamais encore entendu parler de cette «solution». Si tu y arrives, n'hésite pas à revenir nous le dire.

🙂

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, fran6p a dit :

Jamais encore entendu parler de cette «solution». Si tu y arrives, n'hésite pas à revenir nous le dire.

🙂

Je compte bien faire un rapport écrit une fois à l'aise 😅 

La solution de @Kachidoki de mapper les pins restants de la Cm me semble fastidieuse mais pas impossible. Le truc est d'avoir identifié les pins avec leurs alias ...

J'hésite à changer la carte mere mais j'ai vraiment pas envie d'acheter n'importe quoi et me remettre en galère. 

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, SebK a dit :

J'hésite à changer la carte mere mais j'ai vraiment pas envie d'acheter n'importe quoi et me remettre en galère. 

Au niveau des cartes, deux fabricants sortent du lot, Bigtreetech et Fysetc : bonnes cartes et bonnes documentations complètes 😉

🙂

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

Bonjour,

@fran6p, dans tes fichiers de config tu utilises (et moi aussi du coup 😆) le gcode M125 dont voici le code :
 

Citation

 

[gcode_macro M125]

gcode:

    SAVE_GCODE_STATE NAME=parking

    # Relative position

    G91

    # Display msg LCD

    M117 Park toolhead ...

    # move up 10 mm

    G1 Z10 F600

    # Absolute position

    G90

    # move to park position

    G1 X150 Y0 F4000

    # Clear msg

    M117    

    RESTORE_GCODE_STATE NAME=parking

 

J'ai donc utilisé celui_ci pour creer la macro PAUSE que voici :
 

Citation

 

[gcode_macro PAUSE]

rename_existing: BASE_PAUSE

gcode:

  M125

  BASE_PAUSE

 

 

Donc lorsque je lance un print, je clique sur 'pause', la tete va se mettre en park apres avoir enregistré son emplacement.

Puis lorsque je clique sur 'Reprendre', la tete se remet à sa place en X et en Y afin de reprendre le print, par contre elle ne se remet pas en Z et elle est donc en Z10 par rapport au print.

Bizarrement on dirai qu'elle fini son tour puis va descendre la tete ensuite.

 

J'ai essayé d'enlever la position relative et la position absolue et rien n'y fait.

Peut etre a tu une idée?

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

L'utilisateur «desuuuu» à un chouette stock de macros intéressantes à analyser 😉 (PAUSE_PARK et G27).

🙂

  • Merci ! 1
Lien vers le commentaire
Partager sur d’autres sites

Ahhhhh. C'était ici la soirée Klipper.

Je suis en train de passer ma AKLP sous Klipper en voulant tout faire en même temps et évidemment ça coince un peu (je suis en train de debugger une erreur de moonraker).

On va marquer cette discussion et récupérer les retours d'expérience 😄

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

@Bakatora

C'est quoi comme imprimante la «AKLP» un mix imprimante3D et une Kalashnikov 😄 ?

Avec Klipper il vaut mieux y aller par étape (en plus tu pars sur une base connue : SKR 14T / TMC2208). Les tests sont faciles puisqu'il n'y plus besoin de flasher / reflasher comme avec Marlin, simplement modifier le fichier printer.cfg et redémarrer Klipper.

Bien que ce ne soit pas ma plateforme de communication préférée, le Discord de Klipper en plus du Github est une mine d'infos.

🙂

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

C'est une anycubic kossel linear plus ^^

Tout est installé et ça communique. Il faut que je m'attelle à faire le printer.cfg maintenant. J'avais utilisé le connecteur Z_B pour une question de longueur de câble et ET1 au lieu de ET0 car il me manquait une plaque pour plaquer les ferrules des câbles sur ET0. Mais rien de difficile à remapper je pense. Y'a plus qu'à !

Quand je vois les vitesses qu'on atteint sous Klipper (bon y'a le hardware qui doit suivre après) ça motive.

Un peu de 3d porn:

  • Wow 1
Lien vers le commentaire
Partager sur d’autres sites

Mon imprimante est configurée et ça répond à toutes les commandes. Plus qu'à calibrer.

Par contre dans les sections stepper j'ai du utiliser la ligne 

step_distance.0125

car si je mets à la place

microsteps16
rotation_distance40

j'ai une erreur:

Option 'microsteps' is not valid in section 'tmc2208 stepper_c'

par exemple.

 

J'ai cru comprendre qu'il fallait passer à rotatio_distance car step_distance n'allait plus être utilisé mais ça ne semble pas marcher chez moi.

 

Vous avez une idée du pourquoi ?

Édit: en fait il y avait un doublon pour la déclaration microsteps: 16 dans les sections [stepper_a] et [tmc2208 stepper_a]

En mettant microsteps et rotation_distance dans [stepper_a] ça p1sse.

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

Petite question : utilisez-vous le Pressure advance?

Ça donne un meilleur rendu mais j'ai peur que mon extruder ne va pas faire long feu. Vidéo à 65mm/s pour l'infill et 0.5 de Pressure advance. J'ose pas aller plus vite du coup 😕

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 18 heures, Bakatora a dit :

Petite question : utilisez-vous le Pressure advance?

Oui. je l'utilise.

J'utilise également le «input shaper».

Par contre je n'imprime pas à 700mm/s 😉  (100-120).

🙂

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

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...