Aller au contenu

GO Print

Changer de firmware (de Marlin à Klipper)


Messages recommandés

C'est un plus indéniable mais ce n'est pas indispensable pour utiliser la compensation de résonance. Je ne compte pas le laisser en permanence dans l'imprimante mais uniquement de temps en temps pour calibrer la compensation. A priori c'est sensible à la tension des courroies *logique*, même si je n'y touche pas souvent ça sera à recalibrer au moins à cette occasion. Depuis quelques temps on peut utiliser les GPIO du raspberry pour brancher ce genre de capteurs justement. D'ailleurs je ne sais pas si on peut utiliser un mcu secondaire avec cet ADXL345, à voir.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

Bonjour,

j'ai installé klipper sur ma cr10 v3, je pense avoir correctement fait les configurations, en tout cas cela semble fonctionner.

Mon seul soucis est pour le probe Z offset.

 

J'ai un bltouch, j'utilise donc la fonction PROBE_CALIBRATE

la tete fait fait un home puis place la buse a l'emplacement du pin du bltouch, jusque la tout va bien.

Arrive le moment du reglage papier, je prepare donc ma feuille, et commence la commande TESTZ Z=.1 pour 0.1mm ect.....

malheureusement arrivé a Z0 impossible de descendre plus bas et donc impossible de regler mon Z offset.

Je presume que comme sur marlin il y a un endstop logiciel mais je ne trouve aucune indication pour le desactiver.

 

Si quelqu'un a la solution 🙂 je suis preneur.

 

Merci d'avance

 

EDIT: Je pense avoir trouvé dans [stepper Z] j'ajoute la ligne  position_min = -2 pour autoriser la descente sous 0 de 2mm.

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

Il y a 5 heures, Stef67 a dit :

EDIT: Je pense avoir trouvé dans [stepper Z] j'ajoute la ligne  position_min = -2 pour autoriser la descente sous 0 de 2mm.

Exact. Prévois un peu large pour que ça n'entre pas en conflit avec l'ABL car en cartographiant le plateau, si il sort des valeurs inférieures au z min, tu auras des ennuis. Pour chaque axe les paramètres position_min et position_max, quoi que tu fasses, tu ne pourra pas les dépasser.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour le conseil 🙂

 

Je rencontre un soucis au niveau d'octoprint, lorsque je cancel un print, la buse reste en place, et je ne peux plus rien faire si ce n'est reboot l'imprimante.

Je vois dans les parametres onglet GCODE Scripts que l'on peut ajouter un script lorsque l'on cancel, qu'on fait pause ect...

Si vous en avez des tout fait je serais ravi de vous les emprunter 😛

Lien vers le commentaire
Partager sur d’autres sites

Tu fais cancel ou arrêt d'urgence? Normalement avec le premier tu dois pouvoir déplacer la buse après coup.

Tu peux personnaliser beaucoup de choses avec Klipper et son système de macros. Le plugin OctoKlipper permet aussi de rajouter des boutons macros faciles d'accès dans octoprint. Si tu veux un comportement particulier lors du cancel je te suggère de créer une macro spécifique dans le fichier printer.cfg et y faire appel dans OctoKlipper. Il est également possible de personnaliser le menu accessible avec l'écran, et y rajouter par cette macro ou remplacer la fonction d'origine.

 

edit:

Je n'ai pas testé mais ceci devrait écraser le comportement d'origine de cancel.

[gcode_macro CANCEL_PRINT]
rename_existing: BASE_CANCEL_PRINT
gcode:
    ...
    BASE_CANCEL_PRINT

A rajouter dans printer.cfg. Remplace les ... par les commandes GCODE que tu souhaites, ex: G1 X0 Y0

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

bonjour, merci pour ta reponse

 

Je fais cancel, pas arret d'urgence.

En fait, bizarrement, que ce soit apres un print, apres un cancel, je ne peut plus rien faire si je ne fais pas un Home de mes axes.

Dans les parametres, onglet GCODE Scripts, il y a une case "After print job is cancelled" mais cela m'a l'air d'etre encore une autre forme de commande que je ne saisi pas.

 

Je vais tester cette macro que tu m'a proposée

 

Edit j'ai modifié le "After print job is cancelled" en y mettant :

;disable all heaters
{% snippet 'disable_hotends' %}
{% snippet 'disable_bed' %}
;disable fan
M106 S0
G91
G0 Z+2
G90
G0 X0 Y300 F3600
;disable motors
M84

La ca fonctionne impeccablement.

La seule chose a faire c'est d'ajouter aussi un G28 dans "Before print job starts" pour qu'il puisse se mettre en position absolue en cas de cancel rapide.

 

Maintenant je m'attaque au reglage du Pressure advance et la quelque chose me travail.

On lance un cube imprimé en 0.3 qui va changer a chaque couche de 0.005 le pressure advance.

A la fin de celui ci, on mesure la distance en millimetre entre le zero et le coin le plus reussi.

Puis le calcul est start + mesure en millimetre x factor soit  0 + 15mm x 0.005 (15mm pour exemple) = 0.075

Le resultat obtenu est le Pressure advance.

 

La ce qui me semble anormal, on change a chaque couche donc tous les 0.3, il me semble que le calcul devrait donc etre :

 

0 + (mesure en millimetre x 0.3) x 0.005 soit 0 + (15 x 0.3 ) x 0.005 = 0.2025

 

Du coup lequel est le bon d'apres vous?

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

La doc du pressure advance et tuning tower est piégeante. En fait le facteur que tu donnes, ici 0.005, est appliqué tous les millimètres. En d'autre termes avec des couches de 0.3  c'est 0.005/(1/0.3) qui est appliqué à chaque couche, soit 0.0015. La formule start + mesure x facteur est juste.

source: https://github.com/KevinOConnor/klipper/blob/master/klippy/extras/tuning_tower.py#L52

Lien vers le commentaire
Partager sur d’autres sites

merci encore pour ta reponse,

 

Le cube de calibration est en cours de print pour mon reglage pressure advance 🙂

 

En attendant, j'ai decidé de voir comment faire fonctionner le capteur filament.

Dans le fichier de Fran6p, il y a les lignes :

[filament_switch_sensor my_sensor]

pause_on_runout: True
runout_gcode:
     M600
switch_pin: ^ar2

Celui ci si je comprends bien declare la capteur sur le pin, active le runout et lance le M600.

Par contre octoprint me retourne : Unknow commande M600.

J'en conclu donc que le M600 n'est pas declaré dans le printer.cfg

est il possible de le declarer et lui donnant les memes fonctions que sur marlin?

C'est a dire, mettre en pause, deplacer la tete en parking, eventuellement faire un bip, et surtout, proposer un menu sur l'ecran de la box permettant de faire la purge et de relancer le print.

Je n'ai pas trouvé d'infos pour cela.

 

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

La  macro M600 est disponible dans sample-macros.cfg L103 de la version actuelle. Il reste à affiner la position de park grâce aux 3 variables incluses. Il faut utiliser la commande RESUME pour redémarrer l'impression.

Pour le beep: il faut rajouter un output_pin si ce n'est pas déjà fait (ils sont souvent mis dans la config de l'écran). Puis déclarer la macro M300. Là encore c'est dans sample-macros.cfg L53 de la version actuelle. Tu rajouteras donc une commande M300 quelques part dans la macro du M600.

Pour le menu: il n'est pas pas possible de l'afficher automatiquement après un M600 mais tu peux rajouter la fonctionnalité dans le menu.

Ci dessous un bout de ma config qui écrase en partie le menu d'origine et rajoute le menu extruder. Il te faudra rajouter les macro M701 et M702 pour que ça puisse fonctionner pleinement. En l'état ça peut te servir d'exemple pour rajouter le menu purge.

Révélation

### Main ###
[menu __main]
type: list
enable: true
name: Main Menu
items:
    __tune
    __octoprint
    __control
    __temp
    extruder
    __prepare

### Extruder ###
[menu extruder]
type: list
enable: true
name: Extruder
items:
    .active_hotend_current,.active_hotend_target
    .load
    .unload
    .purge
    .feed
    
[menu extruder active_hotend_current]
type: item
enable: extruder.is_enabled
name: "E0: {0:4.0f} C"
parameter: extruder.temperature

[menu extruder active_hotend_target]
type: input
enable: extruder.is_enabled
name: "{0:4.0f}"
parameter: extruder.target
input_min: 0
input_max: 250
input_step: 1
input_step2: 10
gcode: SET_HEATER_TEMPERATURE HEATER=extruder TARGET={0:.0f}

[menu extruder load]
type: command
enable: true
name: Load Filament
gcode: M701

[menu extruder unload]
type: command
enable: true
name: Unload Filament
gcode: M702
    
[menu extruder purge]
type: command
enable: true
name: Purge 20mm
gcode:
    M83
    G1 E20 F300
    M82    
    
[menu extruder feed]
type: input
enable: true
name: Feed: {0:.1f}
parameter: 0
input_step: 1
input_step2: 5
gcode:
    M83
    G1 E{0:.1f} F300
    M82

 

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

Le 30/10/2020 at 13:41, Stef67 a dit :

Dans le fichier de Fran6p, il y a les lignes :

La configuration de mon Klipper pour ma CR10-V2 n'est pas monolithique (un gros fichier printerf.cfg mais de nombreux fichiers inclus). Le fichier macros.cfg contient tous les éléments pour réaliser le M600 avec parking de la tête (M125), retrait / chargement du filament M701 / M702.

Rien n'est ajouté dans mon Octoprint 😉

Je redonne le lien de mon dépôt (une section input_shaper a été ajoutée et quand j'aurai du temps après mes déboires de la perte d'un gros disque dur contenant une grande partie de mes «développements», je testerai pour l'input_shaper une pseudo automatisation via des capteurs accéléromètres : https://github.com/fran6p/cfg_klipper

🙂

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

lorsque je prends vos fichiers menu.cfg j'ai une erreur

Internal error during connect: Choice 'item' for option 'type' is not a valid choice

Je n'utilise pas la variable d'environnement, je prends juste les fichiers que je mets a la racine et que je modifie manuellement

Lien vers le commentaire
Partager sur d’autres sites

@Stef67

Bizarre car sur ma CR10-V2, c'est fonctionnel mais je n'ai pas encore mis à jour la version de Klipper (passée en 0.9.0 il y a quelques jours).

🙂

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

@fran6p, pourrais tu stp, m'expliquer un peut le fonctionnement de ton fichier start print?

Je ne comprends pas la variable T BED et T Extruder en debut de macro.

 

Personnellement j'imprime surtout avec du petg, de l'abs et de l'asa.

Est ce que je dois modifier le 60 et le 200 de ces 2 fonctions?

Lien vers le commentaire
Partager sur d’autres sites

Ce matin, j'ai fait la mise à jour de mon Klipper pour le passer dans sa dernière version (0.9.1) via Kiauh. Franchement c'est super pratique pour installer /mettre à jour Klipper (mais pas que 😉 ).

v0.9.1.jpg.d8a9bae86db4901ea4c301370feb03ba.jpg

Je n'ai pas d'erreur et pourtant mes fichiers de configuration n'ont pas été modifiés (y compris le menu.cfg).

🙂

 

il y a 11 minutes, Stef67 a dit :

Je ne comprends pas la variable T BED et T Extruder en debut de macro.

Ce sont des valeurs par défaut si tu ne les utilises pas dans le G-code de démarrage de ton trancheur :

Citation

[gcode_macro START_PRINT]
variable_T_BED: 60
variable_T_EXTRUDER: 200

Mon G-code de début / démarrage dans Cura :

Citation

; gcode macro Klipper

START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0}

Je lance l'impression avec les températures sélectionnées dans Cura pour la première couche. Tu pourrais y mettre des valeurs fixes (ce ne serait alors plus des variables mais des constantes 😉 ) par exemple «START_PRINT T_BED=80 T_EXTRUDER=235»

🙂

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

il y a 5 minutes, Stef67 a dit :

ton menu ne marche toujours pas

Désactive-le en ne l'incluant pas 😉 (mets un  # en début de ligne) :

Citation

# Menu items
#[include ./menu.cfg]

Il y a bien longtemps que je n'utilise plus l’interface du boitier de commande. Je fais tout via Octoprint (pas besoin de me lever 😉 ).

EDIT:

Je comprends pourquoi je n'ai pas l'erreur. Cette option est désactivée chez moi 😄 .

🙂

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

Bonjour,

 

J'ai un soucis avec le START_PRINT ou pour etre plus precis, le BED_MESH_PROFILE LOAD

Je met correctement la ligne de demarrage dans cura :

START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0}

ensuite je fais un Bed visualizer qui contient :

G29 T
@BEDLEVELVISUALIZER
BED_MESH_OUTPUT

Apres le bed visualizer je fais un SAVE_CONFIG.

Dans mon macros.cfg il y a :

[gcode_macro START_PRINT]
variable_T_BED: 60
variable_T_EXTRUDER: 200
gcode:
    M117 Homing
    # Use absolute coordinates
    G90
    # Reset the G-Code Z offset (adjust Z offset if needed)
    #SET_GCODE_OFFSET Z=0.0
    # Home the printer
    G28
    # Use the bed mesh
    #G29   <--- Désactivé le G29
    BED_MESH_PROFILE LOAD=cr10v3     <---Ici j'ai donc activé et mis le nom de ma sauvegarde soit cr10v3
    # Move the nozzle near the bed
    G1 X15 Y20 Z5 F6000
    
    M117 Waiting for temperature
    # Start bed heating and continue
    M140 S{T_BED}
    {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %}
        M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue  
    {% endif %}
    
    M140 S{T_BED}
    M104 S170
    M190 S{T_BED}
    M109 S{T_EXTRUDER}
    
    # Prime line
    PURGE
    M117 Printing...

 

Ma macro G29 est celle fourni dans le depot Fran6p soit :

# G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up.
[gcode_macro G29]
gcode:
    G28
    BED_MESH_CALIBRATE
    G0 X0 Y0 Z10 F6000
    BED_MESH_PROFILE SAVE=cr10v3  <--- Avec la sauvegarde de mon bed

 

Pour finir, dans mon printer.cfg, la sauvegarde [bed_mesh cr10v3] est bien présente.

 

Passage a l'acte !

 

Je prépare mon print sur cura, je l'envoi dans octoprint.

On commence par un homing,puis le terminal, m'indique qu'il demande les temperatures T_BED et T_EXTRUDER, jusque la tout va bien 🙂

Send: START_PRINT T_BED=40 T_EXTRUDER=210

ensuite il deplace la tete devant a gauche,  et on attends les temperatures.

170 pour la tete et 40 pour le bed

une fois les temperatures atteintes, il demannde a la tete de chauffer a 210 comme demandé dans cura.

arrivée à 210, nous passons à l'impression des lignes de purge.

Puis la tete se dirige au milieu et commence le print.

Tout cela, sans jamais appeller la sauvegarde de mon bed mesh....

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

Il y a 8 heures, Stef67 a dit :

Tout cela, sans jamais appeller la sauvegarde de mon bed mesh....

Chez moi, rien ne s'affiche mais le maillage est bien récupéré (les Gcode étendus de Klipper BED_MESH_PROFILE n'affichent rien dans mon Octoprint), je peux observer les moteurs de l'axe Z faire leur mouvement dans un sens puis dans l'autre en fonction du maillage.

🙂

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

Serais tu en train de me dire que j'ai passé la moitié de la nuit a essayer de voir une phrase qui n'apparaît pas 😭

 

😁😁😁 Je vais tester ça en déréglant mon plateau ce week end.

 

En fait avec ta macro le terminal ma annoncé qu'il ne trouvait pas le bed mesh cr10v2. C'est pour ça que j'étais persuadé qu'il devait m'afficher quand il le trouvait.

Lien vers le commentaire
Partager sur d’autres sites

Il ne risque pas de trouver le cr10v2 😜

Change peut-être le nom de la variable. J'ai pour mémoire qu'il y avait certains bugs avec des noms de macros qui comportaient des chiffres. Ce n'est probablement pas le cas ici mais sait-on jamais.

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

Nan le cr10v2 c'était le nom par défaut de celui de fran6p mais j'avais oublié de le changer au début, c'est pourquoi il m'avait averti qu'il ne le trouvait pas. Le mien s'appelle cr10v3. Mettons nous bien d'accord, tu dis variable, mais je n'avais rien a faire de plus que mettre le nom de ma sauvegarde, rien a voir avec la variable d'environnement dont parle fran6p pour installer son pack sur son github?

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
×
×
  • Créer...