Configuración Klipper en laminadores
Última actualización
Última actualización
Klipper es un firmware de impresoras 3D increíblemente flexible que podemos configurar basándonos en ficheros de configuración.
Los laminadores disponen de una opción para indicar el tipo de gcode (G-Code flavor) que queremos generar.
Normalmente, estos usan por defecto Marlin que funciona bien con Klipper al igual que Smoothieware.
Nuestro laminador favorito, SuperSlicer o Bambu Studio/OrcaSlicer (PrusaSlicer lo tendrá disponible a partir de la versión 2.6) tiene una opción específica para Klipper que podemos encontrar en el perfil de impresora General/Firmware:
A continuación tenéis links a grupos de laminadores en Telegram por si necesitáis más información:
Bambu Studio/OrcaSlicer -> https://t.me/bambulabs_studio
SuperSlicer -> https://t.me/superslicer
PrusaSlicer -> https://t.me/prusaslicer
Laminadores como Cura necesitan de ciertos ajustes para evitar que generen ciertos gcodes que pueden no llevarse bien con Klipper, de igual forma laminadores con G-Code flavor Marlin2 pueden ocasionar problemas similares
Volviendo a Cura, os aconsejamos utilizar el script del compañero Pedro Lamas donde con su post-processing script podemos añadir cualquier ajuste para mejorar el funcionamiento con Klipper.
Los laminadores suelen contar con gcodes de inicio y de final que se encargan de realizar los procesos pre y post-impresión que pueden impactar en la calidad de nuestra impresión.
Dado que en Klipper podemos configurar nuestras propias macros, algo que suele ser muy útil es la creación de macros para el inicio de impresión (START_PRINT) y final de impresión (END_PRINT).
Os vamos a sugerir como poder personalizar vuestros gcodes pre y post usando las macros de Klipper que os van a permitir:
Si buscas un sistema más completo, avanzado y personalizable a los scripts básicos que te sugerimos a continuación te aconsejamos que revises nuestro bundle para Klipper modular aquí.
Recuperar automáticamente el tamaño de impresión, diámetro del filamento y nozzle
Purga de línea inteligente
Temperaturas de precalentado
Temperaturas de impresión
IMPORTANTE!!!
Configuración Linea Purga Inteligente.
Puede ser necesario que vuestra sección [extruder] se indique el max_extrude_cross_section... un valor de 5 debería de ser suficiente generalmente:
Otro ajuste necesario para vuestra sección [extruder] se indique el max_extrude_only_distance... el valor aconsejable suele ser >101 (en caso de no estar definido usa 50) para por ejemplo permitir los tests típicos de calibración del extrusor. Deberías ajustar el valor en base a lo comentado anteriormente del test o la configuración de tu variable_line_length y/o variable_purge_amount.
Los siguientes ajustes se han de realizar en la macro START_PRINT en la sección inicial donde se encuentran las variables de configuración:
Mediante variable_adaptive_enable , con valor True nuestra línea de purga va a ser dinámica en base al tamaño de nuestra pieza a imprimir en el caso de False realizará una gota de purgado
En variable_flow_rate podemos ajustar el máximo flow rate de nuestro extrusor. El valor de 12mm3/s suele ser válido para sistemas de extrusión normales y 24 para alto flujo
variable_line_length donde indicaremos el tamaño deseado en mm de nuestra línea de purga... un valor de 1/5 de nuestro eje X suele ser lo indicado
variable_purge_amount la cantidad de filamento en mm que queremos purgar
variable_x_default, y mismo parámetro para y, serán las coordenadas donde queremos que comience nuestra línea de purga. En el caso de tener activada la línea de purga automática no se tiene en cuenta
También contamos con la macro SETUP_START_PRINT que desde la UI podemos ajustar estos parámetros.
IMPORTANTE!!!
Configuración Nivelación.
En el ejemplo START_PRINT incluido en esta guía facilita el proceso de nivelación pudiendo adaptarse a diferentes usos: Los siguientes ajustes se han de realizar en la macro START_PRINT en la sección inicial donde se encuentran las variables de configuración:
variable_calibrate_z_tilt
si contamos doble Z con z-tilt podremos hacer un nivelado Z-tilt (True) o no (False).
variable_calibrate_bed_mesh
para indicar si queremos hacer una malla al inicio de cada impresión (True) o si queremos aprovechar un mallado ya guardado (False).
También podemos añadir la siguiente macro para que haga el proceso de igual forma que se hacía antes del cambio en Klipper.
En el ejemplo START_PRINT incluido en esta guía usaremos notificaciones para indicar en que paso estamos durante el proceso de inicio de impresión por lo que necesitamos que tu printer.cfg
o includes del mismo tengan la sección [respond]
Ejecutar una retracción del filamento
Presentar la impresión para poder retirarla de forma sencilla
Apagado de los motores
Para ejecutar estas macros en nuestro laminador:
Estas configuraciones suelen encontrarse dentro de las opciones dentro de la configuración de impresora. Revisa en el caso de tu laminador donde ajustar
gcode de inicio START_PRINT, usando placeholders para pasar los valores de temperatura de filamento y cama de forma dinámica:
Los placeholders son unos "alias" o variables que usan los laminadores para que a la hora de generar el gcode sustituyen por los valores configurados en el perfil de impresión.
En los siguientes links podéis encontrar un listado de estos para: PrusaSlicer, SuperSlicer (además de los del anterior), Bambu Studio y Cura.
El uso de estos permiten que nuestras macros sean dinámicas.
gcode de final END_PRINT, en este caso al no usar placeholders es común a todos los laminadores
Podemos subir nuestros gcodes directamente desde el laminador, algo que es muy cómodo. Moonraker emula la API de Octoprint, algo muy útil para hacerlo compatible con cualquier herramienta que use Octoprint.
Para habilitar la emulación Octoprint tendremos que añadir al ficher de configuración de Moonraker lo siguiente:
Habilitaremos el modo experto y cambiaremos las opciones en Printer Settings / General como podemos ver en la siguiente captura.
Os recordamos que lo hemos de configurar desde una "Impresora Física"
Podemos generar previews de nuestras piezas que podemos visualizar en nuestra UI de Klipper para identificar mejor la pieza.
Cambiaremos al modo Experto y en General / Firmware pondremos 32x32,400x300 en G-code thumbnails:
Para poder disponer del progreso de capas en nuestra UI de Klipper:
Iremos a Slicer/SuperSlicer > Printer Settings > Custom Gcode > After layer change Gcode y añadiremos el siguiente gcode :
Dado que Bambu Studio y OrcaSlicer se basan en PrusaSlicer estas configuraciones deberían de funcionar en ellos.
Nuestra UI de Klipper puede usar diferentes metodos para el cálculo del tiempo estimado de acabado (estimación y ETA). Normalmente podremos seleccionar el método que más nos guste o se ajuste a nuestra máquina en la configuración del UI y podremos, normalmente, seleccionar entre el fichero, filamento o el slicer:
En el caso que usemos KlipperScreen podemos mejorar la información mostrada sobre las capas ajustando:
Estas opciones habilitadas puede provocar calidad pobre de nuestras impresiones y lo aconsejable es la utilización de Pressure Advance.
Por otro lado, las funciones que suelen ir bien es emplear los valores de retracciones desde el laminador, las opciones de wipe o wipe on retract.
En el caso de seleccionar varios hará una media de ellos.