Aller au contenu

Luvwahraan

Membres
  • Compteur de contenus

    198
  • Inscrit(e) le

  • Dernière visite

À propos de Luvwahraan

  • Date de naissance 01/05/1986

Information

  • Genre
    Non renseigné
  • Lieu
    France, Région Centre
  • Intérêts
    Le libre, linux, la moto, la bouffe, la zik, aussi la bouffe, et les trucs machiavéliques qui font « Miawww » pour vomir dans tes chaussons préférés.

Visiteurs récents du profil

2 727 visualisations du profil

Récompenses de Luvwahraan

Community Regular

Community Regular (8/14)

  • Dedicated
  • Reacting Well Rare
  • First Post
  • Collaborator
  • Conversation Starter

Badges récents

66

Réputation sur la communauté

Favoris

  1. Steps per unit
    [TUTO] Calcul des Steps Per MM/Unit : une fois pour toutes !

    Bonjour à toutes et à tous,

    Une fois pour toutes, voici la bonne méthode pour renseigner les valeurs Steps_per_unit (nombre de pas moteur par mm parcourus) de votre firmware (logiciel d'interprétation de votre imprimante 3D). Cette méthode est applicable à toute CNC.

    INTRO :
    Peut-être vous a-t-on conseillé ou lirez-vous que la calibration des Steps_per_mm se fait à partir d'une valeur X que l'on affinera par la suite en mesurant une pièce de calibration, généralement un cube, puis en modifiant par une règle de trois ladite valeur. Vade retro satanas ! C'est le pire conseil que vous pourrez rencontrer.  Il n'y a pas de valeur passe-partout à affiner. D'abord la valeur X ne sort pas d'un chapeau mais est bien d'un calcul à partir de certains composants mécaniques et électroniques. En clair, il y a mille raisons pour lesquelles cette valeur ne soit peut-être pas adaptée à votre machine. Ensuite, lesdits composants n'étant pas élastiques, la valeur calculée ne s'affine pas ! Jouer sur cette valeur calculée : 1/ est inutile ; 2/ déplace l'erreur ailleurs, notamment sur les perçages de vos futures pièces ; 3/ le supposé "ajustement" ne serait correct que pour le cube de calibration et non pour les pièces plus grandes ou plus petites. Évidemment, vous trouverez des membres d'influence aguerris qui prétendront qu'ils font ainsi depuis toujours et que ça se passe à merveille chez eux. Résistez à la tentation, car cela indique seulement qu'ils se satisfont du résultat pour leur usage (quand on fait uniquement des figurines par exemple, la précision n'a pas de vraie importance). Surtout si vous êtes débutant, n'ayant ni leur talent, ni leur aplomb, restez-en à la méthode ci-dessous qui marche forcément à tous les coups. Pour vous faciliter la tâche, il y a un glossaire à la fin ;)

     

    1 :: Pour une transmission directe à courroie :

    1764E4CE-B6D2-4CB8-80B7-63878F45BE74_pre

    steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (pas_courroie * nombre_de_dents_de_la_poulie)

    exemple : (200 pas moteur * 16 micropas) / (courroie 2mm * poulie 16 dents) = 100 steps_per_mm

     

    2 :: Pour une transmission directe à vis :

    ditch-threaded-rod-reprap-3d-printer-upg

    steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / pas_du_filetage

    exemple : (400 pas moteur * 32 micropas) / (pas de filetage 8mm) = 1600 steps_per_mm

     

    3 :: Pour un extrudeur à entrainement direct (direct drive) :

    WP_20140217_003_preview_featured.jpg

    steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) / (diamètre_effectif_galet * pi)

    exemple : (200 pas moteur * 16 micropas) / (diamètre galet 12mm * 3.14159) = 85 steps_per_mm

     

    3 :: Pour un extrudeur à réduction (geared) :

    Bowden_geared_extruder_NEMA17_V093_byBB1

    steps_per_mm = (pas_moteur_par_tour * nb_de_micropas_driver) * (Nb_dents_plateau / nb_dents_pignon) / (diamètre_effectif_galet * pi)

    exemple : (400 pas moteur * 32 micropas) * (48 dents plateau /16 dents pignon)  / (diamètre galet 8mm * 3.14159) = 1528 steps_per_mm

     

    /!\ Pourquoi ajuster les steps_per_mm extrudeur uniquement ?

    1444494917932

    Si les composants ne sont pas élastiques, pourquoi la valeur steps_per_mm extrudeur doit-elle être ajustée ? La réponse est simple. Si le diamètre effectif du galet d'entrainement peut être mesuré à l'aide d'un pied à coulisse, les dents du galet pénètrent dans le filament pour l'entrainer. Cela modifie le diamètre effectif du galet de deux fois la valeur de la pénétration des dents dans le filament, or ceci n'est pas mesurable. De plus, selon le type de filament ou la pression qui sera exercée dessus pour le forcer dans le galet, cette mesure peut varier. Voila pourquoi on passe par une étape d'ajustement. Il est important de comprendre que ceci ne s'applique qu'aux extrudeurs, bien entendu.

    Voici la méthode de calibration d'un extrudeur :

    1. On fait une marque sur le filament à 150mm de l'entrée de l'extrudeur
    2. On demande une extrusion de 100mm
    3. On mesure ce qui reste, et on fait une règle de 3 sur les Steps Per Unit de l'extrudeur pour connaitre la valeur approchante.
      ex. #define DEFAULT_AXIS_STEPS_PER_UNIT   {3200/40,3200/40,3200/1.25,12800/22.9041} ... la valeur à changer est en rouge
    4. On modifie la valeur existante par la valeur calculée
    5. on recommence à l'étape 1 jusqu'à ce que 100mm demandé = 100mm extrudé.

     

    4 :: GLOSSAIRE :

    • Buse d'extrusion (ou Hotend) : composant dans lequel le filament est fondu
    • Extrudeur (ou plutôt Feeder) : mécanisme qui sert à alimenter la buse d'extrusion en filament.
    • Extrusion : action de fondre du filament
    • Galet (ou Hobbed bolt) : roue dentée/crantée servant à entrainer le filament.
    • Poulie : roue servant à entrainer et/ou guider une courroie.
    • Driver : composant électronique servant à commander un moteur pas à pas.
    • Micropas : procédé électronique organisé par le Driver pour décomposer les pas moteurs. Il en résulte un mouvement plus fluide.
    • Moteur pas à pas : moteur électrique dont le mouvement rotatif est décomposé en pas. Selon l'angle de décomposition, la rotation sera décomposée en un certain nombre de pas.
    • Nombre de dents : s'identifie sur une poulie ou un engrenage. Sert de base au calcul du rapport de transmission.
    • Nombre de pas moteur : Selon l'angle de décomposition, ce nombre varie. Pour un moteur à 1.8° (le plus commun) : 360°/1.8°=200 pas moteur par révolution. 0.9°: 360°/0.9°=400 pas moteur par révolution.
    • Pas de la vis ou pas du filetage (ou Screw Pitch) : distance d'un filet à l'autre sur une vis. Il correspond au déplacement effectué par l'écrou à chaque révolution de la vis.
    • Pas de la courroie (ou Belt Pitch) : distance entre deux dents d'un système de courroie. Par exemple une courroie GT2 2mm a un pas de... 2m. Une T2.5 a un pas de 2.5mm. Attention de bien prendre en compte la valeur du pas, car sur une courroie GT2 de 6mm, les 6mm correspondent à la largeur de cette courroie, non à son pas. Il existe des courroies GT2 au pas de 3mm, mais communément les imprimantes 3D utilisent des courroies GT2 au pas de 2mm, ce qui est amplement suffisant. Un doute ? Mesurez !
    • Pi (ou π) =  3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844 etc.
    • Pignon : dans un système de démultiplication mécanique, le pignon est fixé sur l'axe du moteur, il est généralement plus petit, et entraine le plateau. Plus le pignon est petit par rapport au plateau, plus la démultiplication mécanique est grande.
    • Plateau : dans un système de démultiplication mécanique, le plateau est fixé sur l'axe de transmission, il est généralement le plus grand et est entrainé par le pignon.
    • Réduction (ou geared) : démultiplication mécanique, augmente la précision et le couple et simultanément diminue la vitesse.
    • Règle de trois (ou produit en croix) : Méthode de calcul permettant d'ajuster proportionnellement une valeur.
    • Steps_per_mm (ou Steps_per_unit) : nombre de pas moteur par mm parcourus le long d'un axe, le paramètre à changer se trouve dans le fichier configuration de votre firmware.
      sur Marlin : #define DEFAULT_AXIS_STEPS_PER_UNIT {AXIS_STEPS_PER_UNIT_X, AXIS_STEPS_PER_UNIT_Y, AXIS_STEPS_PER_UNIT_Z, AXIS_STEPS_PER_UNIT_E}
      sur Repetier (une ligne par axe) : #define XAXIS_STEPS_PER_MM (valeur) etc.
      sur Smoothieware : ;Steps per unit: M92 X80.00000 Y80.00000 Z1259.84253 et ;E Steps per mm: M92 E367.0000
    • Transmission directe (direct drive) : se dit d'un système d'entrainement lorsque celui-ci est monté directement sur l'axe du moteur.
    • Vis : composant mécanique de transmission servant à déplacer un ensemble le long d'un axe. Il existe des vis métriques, trapézoïdales ou à bille.

     

    Voila, qu'on se le dise ! ;)

    ++JM


  2. Calib extrudeur
    [TUTO] Calibrer son extrudeur aux petits oignons ;)

    Bonjour à toutes et à tous,

     

    Le flow est un réglage qui sert à compenser l'expansion du filament en raison de sa fusion.
    En clair le volume de filament qui entre dans l'extrudeur n'est pas identique à celui qui sort, car quand il fond, il gonfle.

    A :: D'abord il faut calibrer l'extrudeur.

    1. On commence par calibrer les steps_per_unit de sont extudeur en fonction de la mécanique présente sur la machine. Se référer à ce tutoriel.
    2. Une fois que c'est fait, on fait une marque sur le filament à 150mm de l'entrée de l'extrudeur
    3. On demande une extrusion de 100mm
    4. On mesure ce qui reste, et on fait une règle de 3 sur les Steps Per Unit de l'extrudeur pour connaitre la valeur approchante.
      ex. #define DEFAULT_AXIS_STEPS_PER_UNIT   {3200/40,3200/40,3200/1.25,12800/22.9041} ... la valeur à changer est en rouge
    5. On modifie la valeur existante par la valeur calculée
    6. on recommence à l'étape 2 jusqu'à ce que 100mm demandé = 100mm extrudé à tous les coups.

    B :: On fait le test du "thin wall" ou (paroi mince)

    1. On imprime un cylindre ou un cube avec la fonction "vase en spirale" de votre logiciel de tranchage
    2. On mesure l'épaisseur des parois obtenues avec un pied à coulisse digital ou un micromètre
    3. On ajuste le "flow" (toujours avec une règle de trois) dans son logiciel de tranchage (paramètres filament) et on en imprime un nouveau pour tester
    4. On réitère à partir du point 1 jusqu'à ce que la paroi fasse l'épaisseur souhaitée, c'est à dire celle de sa buse +10%

    C :: Le choix de température d'extrusion (s'effectue à chaque nouveau rouleau de filament)

    1. On imprime une tour de température selon l'objet
      (il y en a plein sur thingiverse pour tous matériaux : http://www.thingiverse.com/thing:915435,)  
    2. suivez la procédure décrite dans les instructions de l'objet ou suivez le tutoriel de Freedam
      Vous aurez une idée de la fourchette de température idéale pour ce filament sur votre machine
    3. Beau c'est bien, mais beau et solide/étanche c'est mieux. On imprime un test à casser : http://www.thingiverse.com/thing:35088
      et l'on vérifie, dans cette fourchette,  à quelle température précisément on obtient la meilleure cohésion entre les couches.
    4. On sauvegarde la bonne température dans un nouveau fichier de préférences filament sur notre logiciel de tranchage.

    C :: Le test de validation des réglages

    Si tout est bien réglé, vous devriez pouvoir emboiter et déboiter ces 2 pièces sans souci https://www.thingiverse.com/thing:342198

     

    Bon calibrage ;)

    ++JM


  3. [Amélioration] Autolevel HomeMade - range: 0.000
    [Amélioration] Autolevel HomeMade - range: 0.000

    Je vous presente ceci:

     

    Le postulat de départ pour moi c'est: l'autolevel, c'est pratique, çà apporte un plus, mais ce n'est pas indispensable et je vais pas me ruiner pour ca.

    Du coup, pour un dizaine d'euro, j'ai acheté un 3DTouch. Au début niquel puis au bout de deux semaines, des galères au niveau de la première couche arrivent. je me rend très vite compte que le 3DTouch est déjà complètement a l'ouest avec des écarts de palpage de l'ordre de 0.2. Avant de le mettre a la poubelle, je le démonte et on voit bien que sa précision est lié a la qualité de l'ensemble.

    Retour sur un fin de course standard qui fait bien le Job, mais l'autolevel c'est vraiment agréable quand on y a gouté, quels sont mes choix possibles : Capteur capacitif, mouai ou BLTouch Original trop cher pour ce que c'est.

    Sachant qu'on peut contrôler des Servo, associé a un capteur optique, on peut faire quelque chose de pas trop mal. Je pensait avoir l'idee du siecle mais finalement en cherchant des infos, ca existe depuis un bail :D. Par contre pas vraiment d'info sur la réalisation et surtout aucune info sur la précision.

    Quelques videos de système existant :

    https://www.youtube.com/watch?v=BJbZ2XYm0p0
    https://www.youtube.com/watch?time_continue=20&v=93bi-BLU6v8

    https://www.youtube.com/watch?v=UmO2N2HlF7c

    https://www.youtube.com/watch?v=hqBF5s-aBCQ
    https://www.youtube.com/watch?v=Pyd__fvhwxA
    https://www.youtube.com/watch?v=JbkAqFJ49SA

    LE MATOS

    Pour le servo, on ne réfléchi pas ce sera un SG90. moins d' 1€ sur Aliexpress par exemple.

    sg90.jpg.52abbf11e48d8a7932a54b8531d2e86f.jpg

    Pour le capteur optique, j'ai choisi un TCST2300

    TCST2300.jpg.dad4a96dc6fcd06e79ff05f0175980cd.jpg

    La plupart du temps c'est un endstop optique qui est utilisé avec un capteur moyen voir médiocre. Moi j'ai pas besoin d’électronique superflu, de led ...

    J'ai choisi ce capteur pour son ouverture de 0.25mm contrairement au 1mm habituel. Une résistance chutrice de 63 Ohms (dans mon cas 2 resistances de 150 et 100 en //) fera l'affaire

    tcst21031mm.png.9a0037bf3557a4260c6881440f3dd38c.pngtcst23000_25mm.png.ee3f78513a7424da24a5946dc9aee204.png

    La pointe vient d'un lecteur DVD en panne. diametre de 2.99 pour une fourche de 3.1. Parfait

    DSC08273.JPG.b277738438e72a1cd7daac0b4b0a3c97.JPG

    Et c'est tout !

    Ca vient de chine, ca laisse le temps de faire un peu de 3D :D

    5a8fcd19adbc6_2018-02-2215_47_51-AutodeskFusion360.png.975975ef42847553c236d94cccc56552.png

    EDIT : STL dispo sur Thingiverse : https://www.thingiverse.com/thing:2807107

    LE CABLAGE

    DSC08285.JPG.7d612c9b425bf1f4c93d4f09788fadb8.JPG

    Ca se branche exactement comme un 3DTouch/BLTOUCH. Ici sur ma GT2560A+

    autolevelv2_bb.png.c8484de96c618837979b4197e34bee21.png

    MARLIN

    Au niveau de Marlin, ICI une version 1.1.8 c'est grosso-modo comme un 3DTouch/BLTouch.

    Dans pins_GT2560_REV_A_PLUS.h on ne va pas déclarer un BLTouch mais on va utiliser les memes pins. On peut faire autrement mais j'ai fais simple.

    #define BOARD_NAME "GT2560 Rev.A+"
    
    #include "pins_GT2560_REV_A.h"
    
    #if ENABLED(BLTOUCH)
      #define SERVO0_PIN  11
    #else
      //#define SERVO0_PIN  32
      #define SERVO0_PIN  11
    #endif
    

    Dans configuration.h , ca doit ressembler a ca

    //Parametre pour le Servo
    
    #define Z_ENDSTOP_SERVO_NR 0
    #define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles // valeur testé avec M280 
    
    #define SERVO_DELAY { 300} // a augmenter a 1000 si servo lent
    #define DEACTIVATE_SERVOS_AFTER_MOVE 
    
    
    //Apres c'est classique pour de l'autolevel et a adapter
    #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    #define AUTO_BED_LEVELING_LINEAR
    
    #define X_PROBE_OFFSET_FROM_EXTRUDER -25  // X offset: -left  +right  [of the nozzle]
    #define Y_PROBE_OFFSET_FROM_EXTRUDER -38  // Y offset: -front +behind [the nozzle]
    #define Z_PROBE_OFFSET_FROM_EXTRUDER -2.3  // Z offset: -below +above  [the nozzle]
    
      #define LEFT_PROBE_BED_POSITION 30
      #define RIGHT_PROBE_BED_POSITION 170
      #define FRONT_PROBE_BED_POSITION 30
      #define BACK_PROBE_BED_POSITION 170
    
    #define LEVEL_BED_CORNERS
    
    #define Z_SAFE_HOMING
    
    #define EEPROM_SETTINGS // Enable for M500 and M501 commands
    
    #define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
    
    // The size of the print bed
    #define X_BED_SIZE 200
    #define Y_BED_SIZE 200
    
    // Travel limits (mm) after homing, corresponding to endstop positions.
    #define X_MIN_POS 0
    #define Y_MIN_POS 0
    #define Z_MIN_POS 0
    #define X_MAX_POS 200
    #define Y_MAX_POS 200
    #define Z_MAX_POS 180
    
    #define Z_PROBE_OFFSET_RANGE_MIN -20
    #define Z_PROBE_OFFSET_RANGE_MAX 20
    
    //#define BED_CENTER_AT_0_0
    
    #define MANUAL_X_HOME_POS -12
    #define MANUAL_Y_HOME_POS -4
    #define MANUAL_Z_HOME_POS 
    
    #define Z_MIN_PROBE_REPEATABILITY_TEST
    

    et quelques commandes pratique dans ce cas

    M280 P0 s0 // position 0 du servo
    M280 P0 S90 //position 90°
    
    
    M119 // STATUS ENDSTOP
    M401 // sortir le bras ou M280 P0 SXXX
    M402 // rentrer le bras ou M280 P0 SXXX
    

    Pour conclure, c'est surement moins sexy qu'un BLTouch mais pour quelques €, j'ai quelque chose qui marche tres bien et surtout que je maitrise.

    Test de repetibilité : maxresdefault.jpg

    18:50:59.612 : M48 Z-Probe Repeatability Test
    18:50:59.612 : Positioning the probe...
    18:51:08.043 : Bed X: 50.000 Y: 50.000 Z: -0.043
    18:51:13.085 : 1 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:18.122 : 2 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:23.157 : 3 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:28.194 : 4 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:33.247 : 5 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:38.285 : 6 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:43.323 : 7 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:48.359 : 8 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:53.395 : 9 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:51:58.433 : 10 of 10: z: -0.043 mean: -0.0427 sigma: 0.000000 min: -0.043 max: -0.043 range: 0.000
    18:52:01.282 : Finished!
    18:52:01.282 : Mean: -0.042714 Min: -0.043 Max: -0.043 Range: 0.000
    18:52:01.282 : Standard Deviation: 0.000000

  4. [TUTO] ServoMoteur & Marlin
    [TUTO] ServoMoteur & Marlin

    Coucou. le but de ce tuto est de pourvoir interagir avec des servomoteurs via les scripts de démarrage ou autres.

    Il s'agit ici de Marlin 1.1.8 sur une GT2560 Rev A+ mais ça reste facilement ajustable.

     

    ## Déclaration des Servomoteurss ##

    De base, Servo0 est "réservé" pour le BLTouch. Il est possible de l'utiliser pour autre chose mais comme c'est une fonctionnalité très utilisée, nous n'y toucherons pas ici. Il va donc falloir déclarer au moins 2 Servo pour utiliser le second comme on le souhaite.

    Dans Configuration.h

    //On definie ici le nombre de servo. On oubli pas qu'on reserve le premier au bltouch
    //Le 1er sera SERVO0, le 2eme SERVO1, le 3eme SERVO2, etc
    #define NUM_SERVOS 2
    
    //SERVO_DELAY est un tableau, il faut specifier autant de valeurs que de servo
    #define SERVO_DELAY { 300, 300 }
    
    // Avec cette option, les servos sont alimentés uniquement pendant le mouvement, puis éteints pour éviter les instabilités.
    #define DEACTIVATE_SERVOS_AFTER_MOVE

     

    ## Déclaration des Pins ##

    Ici je le branche en lieu et place de Y-Max, Il s'agit d'un SG90 alimenté en 5V, j'utilise le connecteur du bltouch pour récupérer l'alimentation.

    Servos7.thumb.jpg.e2b3b36f7796261013d66459c89215e0.jpg

    Pour trouver le fichier à modifier, dans configuration.h trouver "#define MOTHERBOARD":

      #define MOTHERBOARD BOARD_GT2560_REV_A_PLUS

    Une petite particularité ici puisque le fichier pins_GT2560_REV_A_PLUS.h ne contient que le delta avec pins_GT2560_REV_A.h que nous devons modifier

    Dans pins_GT2560_REV_A.h

    //On commente la definition de Y_MAX_PIN et on definie SERVO1_PIN en lieu et place
    //#define Y_MAX_PIN          28
    #define SERVO1_PIN        28

     

     

    Après Téléversement, nous pouvons utiliser le servo via le Gcode M280

    M280 P1 S77       // P1 (SERVO1) / S77 (77°)

     

     

    :banana:


  5. [TUTO] Installer et configurer Klipper
    [TUTO] Installer et configurer Klipper

    II - Configuration de base

    La configuration, pour la majeur partie, va se faire par tatonnement. On va modifier une configuration, sauvegarder, et voir si ça marche...  On va généralement partir d'une configuration standard, mais il faudra souvent affiner ou modifer des trucs. Donc, plutôt que d'expliquer chaque paramètre, je vais vous expliquer les grands principes pour que vous vous débrouilliez vous-mêmes.

    Chaque option est expliquée dans le fichier example.cfg dans le dossier config. Les options avancées (bed levelling, macros gcode, etc...) sont expliquées dans le fichier example_extras.cfg.

    1) Choix du fichier de configuration

    Ici, on a plusieurs possibilités:

    • Si votre imprimante est "standard", vous pouvez récupérer une configuration toute faite, et éventuellement la modifier.
    • Si, comme moi, votre machine est faite de bric et de broc, il faudra faire un peu plus de modifs sur un fichier existant ou partir du fichier par défaut (example.cfg). Il y a aussi des exemples pour des CoreXY et Delta.

    Pour voir les le fichiers de configuration disponibles, entrer la commande suivante:

    ls -l ~/klipper/config/

    On peut aussi voir les fichiers ici:
    https://github.com/KevinOConnor/klipper/tree/master/config

    Une fois que vous avez choisi le fichier de config qui se rapproche le plus de votre configuration, entrer la commande suivante:

    cp ~/klipper/config/example.cfg ~/printer.cfg

    Ceci va copier le fichier et le renommer printer.cfg. C'est sur celui-ci qu'on va travailler.

    Maintenant, on peut quitter la ligne de commande. Le reste de la configuration se fera dans Octoprint dans Settings > OctoKlipper > Klipper Configuration. Vous devez maintenant y voir le contenu du fichier.

    2) Principes de la configuration

    Le fichier de configuration est composé de blocs. Certains sont obligatoires d'autres optionnels. Chaque bloc commence par un titre entre crochets (par exemple [printer])

    Les pins de la carte se définissent avec la syntaxe suivante:

    pin: <numéro>
    • On utilise le préfixe "!" pour inverser la logique, par exemple pour inverser le sens de rotation d'un moteur (l'équivalent des variables INVERT dans Marlin)
    • On utilise le préfixe "^" pour utiliser la résistance en entrée, par exemple pour les switchs end stop.
    • Si on utilise les deux préfixes, le "^" doit précéder le "!".

    Par exemple, dans la définition de l'écran on pourra trouver:

    encoder_pins: ^ar31, ^ar33
    click_pin: ^!ar35
    kill_pin: ^!ar41

    Si vous avez un doute sur la numérotation des pins, regardez un schéma, par exemple ici:
    https://www.reprap.org/wiki/RepRap

    3) Définir le microcontrôleur

    Ce bloc définit le type de et le port. Sur serial, mettre le port utilisé à l'origine par Octoprint pour se connecter à l'imprimante.

    [mcu]
    serial: /dev/ttyUSB0

    4) Définir les mm/step

    C'est ici qu'on va utiliser les valeurs récupérées dans Marlin, principalement les valeurs indiquées sous Steps per unit.

    Important: Marlin utilise l'unité steps/mm et Klipper utilise des mm/step. Il faut donc inverser (1/x) toutes les valeurs par rapport à Marlin. Par conséquent, là où on aura une valeur 200 dans Marlin, il faudra utiliser 1/200 = 0.005 dans Klipper.

    Donc on va changer les lignes suivantes dans Klipper

    [stepper_x]
    ...
    step_distance: 0.005
    ...
    
    [stepper_y]
    ...
    step_distance: 0.005
    ...
    
    [stepper_y]
    ...
    step_distance: 0.005
    ...
    
    [extruder]
    ...
    step_distance: .001265

    La valeur dans [extruder] sera la valeur à modifier pour calibrer l'extrudeur. On procédera de la même manière que sous Marlin (une règle de trois en mesurant le filament qui sort de l'extrudeur), mais an appliquant l'opération 1/x.

    5) BLTouch et autres capteurs

    Les BLTouch ou 3D Touch ou autres capteurs nécessitent beaucoup d'essais. Je conseille d'utiliser un switch endstop classique pour commencer, et de passer au capteur Z une fois que tout le reste est configuré.

    Pour le BLTouch, dans la section [stepper_z] il faut supprimer la ligne position_endstop et modifier la ligne endstop_pin

    endstop_pin: probe:z_virtual_endstop
    #endstop_pin: ^ar18
    #position_endstop: 0

    Il faut ensuite rajouter une section [bltouch] ou [probe] et renseigner le x, y, z_offset par rapport à la buse. Ca doit etre les mêmes valeurs que dans Marlin.

    Par exemple:

    [bltouch]
    sensor_pin: ^ar18
    control_pin: ar11
    pin_move_time: 0.2
    x_offset: 32
    y_offset: 0
    # Increase Z_Offset to lower nozzle closer to bed. PLA 2.6
    z_offset: 2.7
    speed: 60

    La section [probe] pour les autres capteurs est un peu plus compliquée. Je vous conseille de regarder le fichier example_extras.cfg pour plus d'informations.

    Augmenter la valeur z_offset va descendre la buse plus près du bed. Réduire la valeur mettra plus de distance.

    Attention: Pour un 3D Touch ou clone de BL Touch, il faut rajouter les lignes suivantes:

    pin_up_reports_not_triggered: False
    pin_up_touch_mode_reports_triggered: False

    6) Ecrans LCD

    Le fichier examples_extras.cfg contient les configurations pour la plupart des écrans LCD courants. En principe, il suffit de copier/coller la section qui vous concerne.

    7) Tester la configuration.

    Dans Klipper, à chaque fois que vous sauvegardez la configuration, il faut redémarrer Klipper. Si vous utilisez OctoKlipper, il le fait automatiquement, sinon vous pouvez le faire manuellement en tapant FIRMWARE_RESTART dans l'onglet terminal ou la commande suivante en SSH:

    sudo service klipper restart

    En principe, le terminal doit envoyer régulièrement une ligne avec les températures. Si ce n'est pas le cas, vérifier les paramètres des pins pour les blocs [heater_bed] et [extruder].

    Si les tempétures sont bien renvoyées, la première chose à faire est de taper une commande Gcode dans le terminal. Par exemple STATUS. S'il y a une erreur de syntaxe, ça enverra un message d'erreur avec un indice sur ce qu'il faut corriger.

    S'il n'y a pas de message d'erreur, je vous conseille de procéder progressivement pour vérifier que tout est correctement branché:

    • Dans l'onglet Control, tester les axes X, Y, Z pour vérifier qu'ils se déplacent correctement dans les bons sens. Si ce n'est pas le cas, inverser les paramètres dir_pin en ajoutant ou supprimant le "!". Si le moteur ne répond pas du tout, vérifier que les bons pins sont renseignés dans step_pin et dir_pin.
    • S'ils marchent, commencer par un Home All. Si les endstops ne marchent pas, vérifier les valeurs de endstop_pin.
    • Vérifier la chauffe de la buse et du bed.
    • Une fois que la buse est chaude, essayer l'extrudeur, et si nécessaire, le calibrer avec la méthode habituelle. L'extrudeur ne marchera pas si la buse n'est pas chaude.
    • Si tout ceci fonctionne, vous pouvez lancer une premier impression de test.

    Là, vous avez les billes pour démarrer et avoir une imprimante fonctionnelle. Dans la section suivante, on couvrira les options de configuration supplémentaires.


×
×
  • Créer...