3Dwork - Klipper
KLIPPERMARLINLABSTelegramColabora
  • 3DWork.io - Klipper
  • Invitame a un cafe :D
  • 🖇️Klipper
    • Klipper
    • Instalación
      • Múltiples instancias Klipper
      • Klipper en Raspberry Pad 5
      • Klipper en Orange Pi Zero Plus
      • Klipper en PC con Windows (Usando WSL)
      • Duet 2 Wifi - Klipper
      • Guías Instalación específicas impresora/electrónica
        • Creality - Klipper
          • Creality Sonic Pad - Klipper Oficial, custom firmware
        • Artillery - Klipper
    • Configuración
      • Primeros pasos con Klipper
      • PID
      • Calibración extrusor (e-steps)
      • Nivelación manual de cama
      • Sensor nivelación
        • Bigtreetech Eddy
        • BIQU MicroProbe
      • Nivelación Gantry (Z-TILT)
      • Malla nivelación de cama
      • Pressure Advance
      • Input Shaper
      • Velocidad Máxima
      • Configuración Klipper en laminadores
      • SKEW : compensación chasis/cinemática
      • Ajustes avanzados TMC (VFA)
      • Retracciones en firmware
      • Configuración de una dirección IP estática y nombre DNS
      • Sincronización horaria
    • Mejoras/Tips
      • 3Dwork Klipper Bundle
      • Backup Klipper
      • Host como segunda MCU
      • Sensores de filamento
      • Cámaras - Instalación y configuración
      • Neopixel
      • Mainsail - Mejoras
        • Exclude Objects
        • Timelapses
      • Moonraker - Mejoras
        • Moonraker-Telegram
      • KlipperScreen - Mejoras
        • KlipperScreen - Personaliza arranque con un video con tu logo
        • KlipperScreen - Guia de pantallas
        • KlipperScreen Android (Wifi)
        • KlipperScreen - MKS TS35
        • KlipperScreen - Raspberry Pi 5" DSI
      • Macros - Mejoras
        • Mallado de cama inteligente
        • Test de cinemática
        • Cambio Filamentos/M600
        • Pausado en capa
      • CANbus
        • ‼️CANbus Troubleshooting
        • Octopus/Octopus Pro + EBB Toolhead (CANbridge)
        • Bigtreetech Manta + EBB Toolhead
      • Impresión desde USB
      • VPN con ZeroTier
    • ‼️Klipper Troubleshooting
    • Guía Calibración Impresoras 3D FDM/Filamento
  • ℹ️GUÍAS ESPECÍFICAS KLIPPER
    • Creality
      • Creality K2 Plus
      • Creality K1 & K1 Max
    • QIDI
      • QIDI Plus 4
      • QIDI X-MAX 3
    • Bigtreetech Hurakan
    • RatRig V-Core 3
    • RatRig V-Minion
  • 🎨ERCF
    • Enraged Rabbit Carrot Feeder (ERCF)
  • 🌐3DWORK
    • Quieres promocionar tus productos/empresa?
Con tecnología de GitBook
En esta página
  • Conexión al interfaz web de Klipper
  • Conexión a SSH
  • printer.cfg ... configuraciones Klipper para nuestra máquina
  • Secciones a revisar de tu printer.cfg
  • Comprobaciones iniciales
  • Sensor temperaturas
  • Calentadores
  • Motores
  • Endstops
  • TESTS BÁSICOS
  • HOMING
  • NIVELACIÓN CAMA
  • PID
  • Z-OFFSET
  • E-STEPS (rotation_distance)
  • SLICER (laminador)
  • INPUT SHAPER
  • SKEW
  • TESTS FILAMENTOS
  • TORRE TEMPERATURA
  • PRESSURE ADVANCE (PA)
  • EXTRUSION MULTIPLIER (flujo)
  • MEJORAS KLIPPER
  • 3DWORK KLIPPER BUNDLE
  • M600 (cambio filamentos)
  • LAYER PAUSE (macro para pausado avanzado)
  • EXCLUDE OBJECTS
  • MALLADO CAMA INTELIGENTE
  • TELEGRAM (control remoto)
  • TESTS AVANZADOS
  • MAX SPEED (velocidad máxima)
  • TMC TUNNING
  • FIRMWARE RETRACTION (retracciones por firmware)

¿Te fue útil?

  1. Klipper
  2. Configuración

Primeros pasos con Klipper

Ajustar nuestro printer.cfg y primeros tests de máquina

AnteriorConfiguraciónSiguientePID

Última actualización hace 1 mes

¿Te fue útil?

En esta guía intentaremos aconsejaros los diferentes pasos iniciales usando Klipper para poner nuestra máquina en marcha.

Para realizar los pasos explicados en esta guía anteriormente vuestra máquina tiene que ser funcional a nivel mecánica/electrónica,, se y obtuvimos nuestra para nuestra electrónica... si alguno no lo tienes puedes seguir los links.

Conexión al interfaz web de Klipper

Una vez tenemos nuestro Klipper instalado y este conectado a nuestra red podremos acceder al interfaz web de control.

Para ello, sabiendo la IP de nuestra red asignada a nuestro Klipper, abriremos nuestro navegador favorito y pondremos http://IP_HOST (donde IP_HOST será la IP de nuestra red asignada a nuestro Klipper) y podremos ver el interfaz web para la gestión remota de este:

En ocasiones si se hace una instalación personalizada de estos interfaces estos se montan en un puerto quedando la URL de acceso de la siguiente forma: http://IP_HOST:puerto (donde puerto es el número que se usó o se facilitó durante la instalación personalizada.

  • Conectar fisicamente un cable de red de nuestro router a nuestro host nos puede ayudar si tenemos problemas con nuestra WiFi o reconfigurarla ya sea:

    • ajustando manualmente el fichero wpa-suplicant

    • si tienes una Raspberry Pi ejecutando el comando raspi-config que contamos con un apartado para configurar la Wifi

    • si tienes una Orange Pi tienes un comando similar al anterior armbian-config donde tienes configuraciones avanzadas

También poder conectar un teclado y pantalla al host puede ayudarnos a ver las razones por lo que no es capaz de conectar.

Nuestro host no conecta a nuestra red:

Es un problema que puede surgir os damos algunas sugerencias de que mirar.

  • Si conectamos por WiFi tenemos que tener algunos aspectos en cuenta:

    • Algunos hosts no se llevan bien con redes mesh y algunas de sus funciones

    • Al igual que el punto anterior en ocasiones el host solamente puede utilizar redes 2.4GHz y usando WPA-Personal + WPA 2 como método de autenticación

  • En el caso de conectar por cable de red asegurarse que el cable hace link con nuestro hub/router y verificar que la configuración de red para nuestra red sea la correcta si forzamos una IP en el interfaz o usamos DHCP

Por otro lado, si necesitáis más información podéis conectar a vuestro host utilizando un cable y SSH, una pantalla o un teclado con los siguientes comandos:

  • dmesg nos va a listar el estado de los diferentes componentes en el arranque del sistema

  • ifconfig, nos va a proporcionar información de nuestra conexión e interfaces

  • sudo iw dev, nos va a proporcionar información del estado de nuestros interfaces de red

  • sudo iw list, nos va a proporcionar una información de tallada de nuestros interfaces

Conexión a SSH

Dependiendo del método elegido para instalar Klipper o si creamos manualmente el firmware Klipper para nuestra MCU (electrónica de la impresora) probablemente vimos que algunos de estos pasos se hacían por "línea de comandos" utilizando SSH para conectarnos a nuestro host (dispositivo donde instalamos Klipper).

Si no ha sido el caso tarde o temprano, más bien esto último, vas a necesitar lanzar comandos en el terminal de Klipper (Linux) dado que algunos procesos van a requerir ser lanzados desde línea de comandos

¿Que es SSH?

SSH (Secure SHell) es un protocolo de administración remota con el que podemos conectarnos a nuestro host de una forma segura para poder enviar comandos al sistema operativo de esto.

Para conectarnos por SSH a nuestro host deberemos tener en cuenta:

Es importante que revises tu host para habilitar el servicio SSH para que puedas utilizarlo, normalmente las distribuciones de Klipper como MainsailOS o RatOS ya lo llevan habilitado... si usas otros revisa su documentación para habilitarlo.

  • lo segundo a tener en cuenta es conocer la IP de acceso a nuestro host Klipper que ya vimos en el paso anterior

  • por último para poder conectar necesitamos conocer el usuario/contraseña que nos va a permitir conectar con nuestro host. A continuación os facilitamos algunos de los usuarios/password por defecto usados en diferentes distribuciones:

Distribución
Usuario/Password

MainsailOS

Raspberry Pi

pi/raspberry

Orange Pi

pi/armbian

RatOS

Raspberry Pi

pi/raspberry

Bigtreetech CB1

CB1

biqu/biqu

Si ya tenemos todo lo anterior ya estaremos listos para conectar y verificar nuestra conexión SSH a nuestro host.

Os facilitamos algunos comandos útiles:

  • ls, permite listar los ficheros de un path o directorio. Podemos añadir parámetros como ls -l que nos darán más informacion como el tamaño o permisos.

  • df o du, permite mostrar la información de uso de nuestro sistema de archivos tenemos opciones como df -h para mostrar el espacio de una forma mas entendible, df -a nos muestra todo el sistema de ficheros. Muy útil cuando queremos ver el espacio disponible o ver donde se nos va el espacio utilizado.

  • cd , nos va a permitir cambiar de path o directorio cd <nombre_directorio> (podemos comenzar a poner las primeras letras y pulsar el tabulador para ver opciones que coincidan con lo introducido). También podemos volver a un path o directori padre del que nos encontremos con cd ..

  • cp y mv , el primero permite hacer una copia o duplicado de un fichero cp <nombre original> <nuevo_nombre>. Con el comando mv podemos mover el fichero pudiendo cambiar el path/directorio y el nombre.

  • nano , es un editor simple de ficheros nano <nombre_fichero>. Una vez dentro de el podemos usar ctrl-x para salir (si modificamos el fichero nos preguntará si queremos guardar los cambios antes de salir) o ctrl-o para guardar el fichero... podemos ver más en la parte inferior del editor.

  • sudo , por defecto en Linux el usuario no tiene permisos de super administrador o root así que para lanzar según que comandos es necesario lanzarlo, es aconsejable ponerlo antes del comando a lanzar en lugar de solo.

  • tail , nos permite mostrar las últimas lineas de un fichero lo que es ideal para ver logs tail <nombre_fichero>

  • chmod, nos permite modificar los permisos de lectura/escritura/ejecución de un archivo o directorio. Linux cada archivo/directorio esta asociado a tres clases de usuarios propietario/grupo/otros. Ejemplo chmod 777 printer.cfg con esto permitimos acceso total acualquier usuario/grupo

  • chown, permite cambiar la propiedad de un archivo/directorio/link simbólico a un usuario específico chown pi printer.cfg cambiaria la propiedad de printer.cfg al usuario pi.

printer.cfg ... configuraciones Klipper para nuestra máquina

A día de hoy Klipper cuenta con muchos ejemplos de configuración de impresoras y electrónicas que nos pueden ayudar a disponer de una configuración base para comenzar.

La forma más sencilla de manejar nuestro printer.cfg es usando la propia UI:

Procesado del printer.cfg por parte de Klipper!!!

Klipper procesa la configuración de una forma secuencial, esto quiere decir que si tenemos una sección o parámetros de esta en varios sitios de nuestra configuración la configuración efectiva para Klipper será la última que procese.

Si tenéis una configuración modular o un printer.cfg muy extenso, aconsejable siempre modularizarlo, siempre se pueden crear conflictos de configuraciones así que en caso que algo no funcione como deseamos siempre revisar el log de Klipper donde se podrá encontrar la configuración efectiva que este ha procesado y será un claro indicativo que puede que tengamos duplicada esa sección o parámetro.

Zonas del printer.cfg donde colocar las configuraciones y donde no!!!

Al usar determinadas funciones o asistentes/macros de Klipper que guardan información de configuración de máquina de forma automática nos podemos encontrar hacia el final de nuestro printer.cfg con estos datos.

Es importante que NO pongamos ninguna configuración nuestra dentro o por debajo de la zona #*# <---------------------- SAVE_CONFIG ---------------------->

Secciones a revisar de tu printer.cfg

Si usamos un printer.cfg de algún ejemplo debemos de prestar especil atención a las siguientes secciones antes de continuar con las comprobaciones iniciales:

  • tipo de termistores definidos para nuestro hotend y cama

  • configuración de nuestros drivers/steppers, en especial:

    • posición de los endstops

    • posición máxima del area de impresión

    • tipo de driver

  • nivelacion de cama que trataremos con más detalle más adelante

  • posición y configuración de nuestro sensor de nivelación o z endstop

Definiciones de nuestra impresora

En la sección [printer] de nuestro printer.cfg deberemos definir los parámetros que defined nuestro tipo de impresora como por ejemplo:

  • cinemática que usa nuestra impresora

  • velocidad máxima

  • aceleraciones máximas

// Ejemplo de configuración de impresora corexy
[printer]
kinematics: corexy
max_velocity: 350
max_accel: 3000
max_z_velocity: 50
max_z_accel: 350
square_corner_velocity: 10.0

La configuración anterior es de ejemplo, si no tenéis una referencia para vuestra máquina es aconsejable comenzar con valores conservadores que podemos obtener de las especificaciones del fabricante o de Marlin.

Otras secciones importantes

Vamos a revisar otras secciones importantes para asegurarnos que estas están correctamente configuradas:

  • secciones [stepper...] deberemos tener por lo menos position_endstop y position_max que se ajusten a nuestra impresora

IMPORTANTE!!! Ajustes de los límites de impresión. En el caso que nuestro home deje la punta del nozzle fuera de la cama deberemos jugar con el position_endstop y position_min (o max dependiendo de la máquina).

Como ejemplo imaginemos que tenemos una maquina donde tenemos nuestros endstops/home en las coordenadas XY -5 (usando como referencia X0Y0 que es el inicio de la cama).

En este caso lo que haremos será:

printer.cfg
[stepper_x] 
...
position_endstop: -5 # Ajustamos la distancia antes calculada desde el inicio de cama 
position_min: -5 # Ajustamos al mismo valor que el parametro anterior
...

Realizaremos el mismo proceso en el eje Y.

En el caso que realicemos el proceso de homing en max es similar pero ajustando el valor de position_endstop a la coordenada adecuada, usando en este caso position_max para asegurarnos que llega, y usando homing_positive_dir a true para indicar que el movimiento de home se hará a coordenadas positivas:

[stepper_x] 
...
position_endstop: 350 # Ajustamos la distancia antes calculada desde el inicio de cama 
position_max: 350 # Ajustamos al mismo valor que el parametro anterior
homing_positive_dir: true
#   If true, homing will cause the stepper to move in a positive
#   direction (away from zero); if false, home towards zero. It is
#   better to use the default than to specify this parameter. The
#   default is true if position_endstop is near position_max and false
#   if near position_min.
...
  • en [tmcXXXX stepper...] donde XXXX será e tipo de drivers por ejemplo [TMC2208 stepper_x] indicará que nuestro eje X usará un TMC2208

  • interpolate: True, aunque es una función interesante que el propio driver permita seleccionar dinámica mente el valor de micropasos dependiendo de las necesidades en la práctica esto puede repercutir en pérdida de precisión de ahí que sea aconsejable cambiarlo a interpolate: False

  • hold_current, otra función que se aconseja deshabilitar/borrar es la de definir un valor de corriente cuando los motores están en modo descanso. Estos cambios de corrientes pueden provocar imprecisiones en su posicionamiento en determinados casos

  • [stepper_z] deberiamos definir position__max, en algunos casos podemos tener varios Z que iremos añadiendo con Z1 Z2 Z3

  • [extruder] es la seción de nuestro extrusor y deberemos prestar atención al tipo de termistor definido en sensor__type

  • [heater__bed] lo mismo que hicimos para el extrusor, revisaremos que el tipo de termistor es el correcto

Comprobaciones iniciales

Una vez ya tenemos nuestro printer.cfg listo revisaremos que al recargar nuestra configuración no nos de ningún error y procederemos a realizar unos tests básicos.

Para ello usaremos principalmente la consola:

Controles de movimientos:

Y otras herramientas que nos facilita el interfaz de Klipper para gestionar nuestra máquina.

Sensor temperaturas

La primera comprobación que debemos realizar es verificar que nuestros termistores están reportando temperatura de forma correcta y estable:

En el apartado de temperaturas de nuestro interfaz Klipper verificaremos que las temperaturas del nozzle y cama están presentes y no fluctúan de forma anormal.

Si vemos que la temperatura comienza a subir nada más encender la impresora procederemos a apagar de forma inmediata la impresora y a revisar el estado de cableado y del MOSFET de nuestra placa.

En el caso de ver lecturas de temperaturas que fluctúan o no son precisas deberemos revisar:

  • el cableado y estado de nuestro termistor en el caso de fluctuaciones extrañas en las lecturas, sobretodo con la máquina en movimiento

  • que en nuestro printer.cfg hemos definido correctamente sensor_type que coincida con el tipo/modelo de termistor instalado, normalmente cuando tengamos lecturas extrañas tanto por altas como por bajas

  • también e nuestro printer.cfg el sensor_pin y revisar que el termistor esta en el conector correcto en el caso de no tener lecturas

Calentadores

Una vez que ya tenemos correctamente nuestras lecturas de temperatura el siguiente paso será verificar que nuestros calentadores funcionan correctamente.

Para ello y desde la parte de temperaturas que ya vimos en el paso anterior:

  • En la columna Target de nuestro Extruder le pediremos que caliente a 60 grados nuestro extrusor, en unos segundos deberíamos de ver que la gráfica y lecturas de temperatura comienzan a ascender. Una vez llegue a la temperatura y después de unos segundos manteniendola podemos seleccionar en Target Off

  • Realizaremos el mismo proceso para Heater Bed

Motores

Este test nos permitirá identificar si nuestros motores están conectados a nuestra placa/drivers y que están en la ubicación correcta.

Usaremos el comando STEPPER_BUZZ STEPPER=stepper_x desde la consola donde el valor de STEPPER es el eje que queremos verificar.

A continuación os mostramos los valores que normalmente podemos usar en STEPPER, aunque depende de vuestra configuración pueden variar:

  • stepper_x

  • stepper_y

  • stepper_z

  • stepper_z1

  • stepper_z2

  • stepper_z3

  • extruder

El comando STEPPER_BUZZ lanzado sobre uno de los ejes realizará un movimiento oscilante que nos ayudará a identificar que motor está asignado/conectado al eje que queramos comprobar.

Este movimiento se iniciara hacia coordenadas positivas (1mm y en el caso que nuestro endstop se encuentre en MIN/0) y volverá a su posición anterior durante 10 veces.

En el caso que no obtengamos ningún movimiento o este no sea en el sentido deseado:

  • asegurarnos que el valor de STEPPER es el adecuado para nuestra configuración

  • verificar que los valores enable_pin y step_pin son los correctos para el pin de nuestra electrónica que controle el driver/motor que falle

  • si al encender la máquina y sin hacer nada intentamos mover los ejes de forma manual no nos deja porque los motores están activados, o la inversa... si vamos a realizar un movimiento de estos y entonces si que quedan libres pudiendo mover el eje con la mano, probablemente deberemos modificar la lógica de enable_pin añadiendo o eliminando ! al inicio de la definición.

  • en el caso que el movimiento no sea hacia cordenadas positivas deberemos verificar dir_pin y añadiremos o eliminaremos ! al inicio de la definición del pin para invertir el giro del motor

  • en el caso que veamos que el movimiento es significativamente mayor o menor a 1 mm deberemos revisar la configuración de nuestro rotation_distance

En cualquier caso os indicamos una forma de calcularlo:

  • Revisaremos las características de nuestro motor y nos fijaremos en el valor limite de pico de corriente del mismo

  • Multiplicaremos este valor por 0.707 para determinar el valor máximo de corriente RMS el cual redondearemos en .1.

Por ejemplo usando un motor LDO 42STH130-1684 que su datasheet indica un pico de corriente de 1.68A calcularemos que su runcurrent es... 1.68*0.707=1.1877, lo redondearemos a 1.1A que será el valor que usaremos como run_current: 1.1

Es importante, dado que en muchas ocasiones estos datos del motor no suelen ser fiables del todo, realizar el cálculo de este valor usando un % de seguridad. Entre un 80-90% del valor A puede ser un buen punto de partida para después ajustarlo durante el uso: - en el caso de temperaturas excesivamente altas en el motor (bajar el % de seguridad para hacer el cálculo) - si observamos pérdida de pasos (subir el % de seguridad para hacer el cálculo).

También, si usamos un fichero de configuración de ejemplo y si este es antiguo, es importante eliminar cualquier ajuste the hold_current dado que no es aconsejable su uso.

Es importante tambien saber las limitaciones de nuestros drivers en la entrega sostenida de corriente, por ejemplo la máxima capacidad de un TMC2209 es de unos 1.2A.

Una vez ajustados es importante verificar:

  • los motores pierden pasos, iremos subiendo el valor en 0.1 hasta encontrar el valor óptimo

  • los motores se calientan en exceso, bajaremos el valor en 0.1 hasta encontrar el valor óptimo

El proceso sería el siguiente y os aconsejamos el uso de una regla:

IMPORTANTE!!! aunque ya verificamos motores y finales de carrera es más que aconsejable que estemos delante de la máquina para poder apagarla de emergencia en caso de que algo salga mal durante el proceso.

  • colocaremos manualmente nuestro cabezal de impresión en la mitad de recorrido de todos los ejes.

  • lanzaremos el comando SET_KINEMATIC_POSITION X=xxx Y=yyy Z=zzz donde ajustaremos los valores xxx yyy zzz a la mitad del valor del área de impresión que soporte nuestra impresora

  • verificaremos cada eje desde la consola primero indicando que los movimientos serán relativos al punto actual usando G91 para después ordenar un movimiento de, por ejemplo, 100mm con un G1 X100 F300 donde el valor de X serán los mm a mover el eje X y el F el feedrate en mm/min... realizaremos lo mismo para el restos de ejes : G1 Y100 F300 o G1 Z50 F300 (en el caso de Z os aconsejamos reducir el movimiento para evitar sustos)

  • con una regla por ejemplo, del tamaño adecuado a los movimientos de test a realizar, mediremos desde el origen del movimiento hasta el final para asegurarnos que están correctos... tampoco es imprescindible que lleguen hasta la micra ya que más adelante ajustaremos fino esto pero si que no veamos que las distancias son sustancialmente menores/mayores a lo solicitado

  • para evitar cualquier problema del este proceso de check es más que aconsejable, y lo tenéis más adelante en el proceso de homing, hacer un homing de todos los ejes o apagar la impresora totalmente o lanzar gcodes M84/M18 para deshabilitar los motores

En el caso que la dirección o distancia no sean adecuadas revisar de nuevo lo comentado al inicio de esta sección del ajuste de dirección y rotation distance de nuestros ejes de movimiento.

Otro método alternativo pero también más peligroso tenerlo activo es el uso de la función FORCE_MOVE que nos va a permitir mover los ejes sin realizar un homing:

[force_move]
enable_force_move: True

Endstops

El siguente paso imprescindible/básico es la comprobación de nuestros finales de carrera, en este caso para aquellas máquinas que usen sensores físicos, este procedimiento no nos será de ayuda en el caso de usar sensorless.

Desde la consola enviaremos el comando QUERY_ENDSTOPS y deberemos de ver una respuesta como:

Send: QUERY_ENDSTOPS
Recv: x:open y:open z:open

Dejaremos pulsados todos nuestros finales de carrera y volveremos a lanzar el comando con ellos pulsados:

Send: QUERY_ENDSTOPS
Recv: x:triggered y:triggered z:triggered

En el caso que tengamos problemas con los estados reportados:

  • en el caso que sin el endstop activado nos devuelva el estado triggered y con el pulsado open, invertiremos la lógica de Klipper para ese endstop añadiendo o quitando ! delante del pin asignado

endstop_pin: P1.28 -> endstop_pin: !P1.28
  • en el caso que no cambie su estado al ser pulsado deberemos revisar el cableado, el puerto que hemos usado en placa y la definición del endstop sean correctas

Los fiales de carrera o endstops usan un pin de entrada input normalmente. Este tipo de pines pueden ser del tipo pull-up o pull-down.

Aunque normalmente la mayoría de nuestras impresoras usan pull-up dependiendo de nuestra electrónica o endstops para estos pines deberemos de indicar si es pull-up ^ o pull-down ~.

En ocasiones no definir esto de forma correcta puede inplicar que todo este bien pero el estado del endstop no cambie correctamente al estar este activado o no.

Sensorless

Algo que viene siendo muy común y aconsejable es el uso de sensorless si disponemos de una electrónica que lo soporte dado que funciona muy bien, si lo configuramos correctamente, y nos ayuda a aligerar el número de cables y componentes en nuestra máquina.

IMPORTANTE!!!

La función sensorless solamente es aconsejable usarla en ejes X e Y.

  • Asegurarnos que a nivel hardware/electrónica tenemos todo de forma correcta:

    • La funcionalidad sensorless suele venir implementada en drivers TMC pero recuerda que no todos los TMC cuentan con ella, revisa las características de tus drivers antes.

    • Para que funcione correctamente tu placa ha de disponer en su zócalo de drivers de un pin llamado DIAG.

    • Los drivers han de estar en modo UART o SPI dependiendo del modelo

    • Normalmente deberemos poner un jumper en la electrónica para que un driver funcione en sensorless, revisa las características de tu electrónica.

    • Asegurate que los endstops o finales de carrera fisicos, si los tenias, esten desconectados totalmente de la electrónica.

  • Configuración de steppers en Klipper deberemos tener en cuenta lo siguiente:

    • Asegurarte que tus drivers están en UART/SPI

    • Asegurarte que diag_pin está definido en el pin o alias correcto, normalmente suele ser el endstop de ese eje

    • Ajustar la sensibilidad mediante el valor driver_SGTHRS, revisa el cuadro y descripción que puedes encontrar a continuación. El valor de sensibilidad va a depender de cada máquina y deberás encontrar el valor correcto para tu caso. Estos valores van desde el valor más bajo donde no detectará ningún cambio en la corriente, por lo que chocará sin parar, hasta el valor máximo en el cual cualquier variación en el consumo de corriente, provocada por cualquier mínima resistencia al movimiento, disparará la señal de final de carrera. Comenzaremos por lanzar un home en el eje X ya sea desde la interfaz web, el menú de nuestra pantalla o desde la consola (G28 X0 o G28 Y0 en el caso del eje Y). Asegurandonos antes que se encuentra a cierta distancia de los limites del recorrido para que el proceso no falle. Antes de realizar este proceso por favor termina de leer toda esta sección ya que hay ciertas dependencias o ajustes/configuraciones a tener en cuenta antes. Deberemos estar muy atentos por si el ajuste de la sensibilidad no es la adecuada y tenemos que apagar la corriente de la impresora!!!

      Nos podremos encontrar con dos situaciones:

      • Que se pare al mover unos mm realizando el proceso de homing, en ese caso reduciremos la sensibilidad y volveremos a realizar el proceso.

      • Que no pare o que lo haga dando un golpe fuerte, en este caso aumentaremos la sensibilidad y volveremos a realizar el proceso.

      Podremos ajustar este valor utilizando la macro SET_TMC_FIELD indicando en VALUE el valor a utilizar de sensibilidad y en STEPPER el id/nombre del eje: (TMC2209) SET_TMC_FIELD STEPPER=stepper_x FIELD=SGTHRS VALUE=255 (TMC21x, TMC51x,TMC26x) SET_TMC_FIELD STEPPER=stepper_x FIELD=sgt VALUE=-64 Es aconsejable que los ajustes los hagamos de 10-5 unidades en cada ajuste para encontrar el punto correcto para nuestra máquina. Una vez encontrado el valor haremos lo mismo con el eje Y.

    • Asegurarte que en la sección stepper de tu eje tengas homing_retract_dist a 0

[stepper_x]
...
homing_retract_dist: 0 ## TMC SENSORLESS

[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
diag_pin: ^x_diag_pin ## Definiremos el pin del endstop/sensorless
driver_SGTHRS: 14 ## Ajustaremos la sensibilidad
  • TMC2209/TMC2226 donde el valor más bajo de driver_SGTHRS es 0 y el más alto es 255

  • Otros TMC, TMC2130/TMC2160/TMC2660/TMC5130/TMC5160, donde el valor más bajo de driver_SGTHRS es +63 y el más alto -64

  • Otro apartado importante es el proceso de homing, el cual lo ideal es hacer un homing_override incluyendo la reducción del voltaje en los motores para que mejore el funcionamiento de sensorless (podéis encontrar un ejemplo muy completo aquí)

Si usamos home_override y tenemos/usamos z_safe_homing Klipper nos mostrará un error de incompatibilidad, lo ideal es comentar o borrar z_safe_homing y asegurarnos que nuestro home_override realiza el homing de Z en una posición segura.

En el ejemplo de home_override de la parte de abajo podéis ver como realiza este en el centro de nuestra cama.

[homing_override]
    ...
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.5
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT=0.5
    G28
  • También dentro de nuestro homing_override es importante ajustar las aceleraciones ya que pueden crear falsos positivos...

    • en el proceso de homing_override bajaremos las aceleraciones al inicio y volveremos a dejarlas por defecto una vez finalizado el proceso usando el comando M204 Sxxxx

    • También es muy aconsejable realizar una pequeña pausa de 2 segundos entre los movimientos de homing para asegurarnos que el proceso funciona bien usando el comando G4 P2000

    En el siguiente ejemplo podemos ver un homing para sensorless de forma completa y correcta en los pasos.

En el ejemplo de macro home_override incluída en esta guía usaremos notificaciones para indicar en que paso estamos durante el proceso de homing sensorless. Necesitamos que tu printer.cfg o includes del mismo tengan la sección [respond]:

printer.cfg
[respond]
[homing_override]
axes: x,y
gcode:
    # ========================
    # INITIAL SETUP BEFORE HOMING
    # ========================
    M400            # Wait for all previous movements to finish
    G90             # Set absolute positioning mode
    G0 Z10 F600     # Move Z-axis up by 10mm to avoid collisions
    M204 S1000      # Set acceleration to 1000 mm/s² for homing

    # ========================
    # CHECK HOMING STATUS
    # ========================
    {% set x_homed = 'x' in printer.toolhead.homed_axes %}
    {% set y_homed = 'y' in printer.toolhead.homed_axes %}
    
    # Display the status of X and Y homing
    M117 X Homed: {x_homed} | Y Homed: {y_homed}
    RESPOND PREFIX="Homing Status: " MSG="X Homed: {x_homed} | Y Homed: {y_homed}"
    G4 P2000  # Pause 2 seconds to allow reading the status

    # ========================
    # REDUCE STEPPER CURRENT FOR SAFE HOMING
    # ========================
    M117 Reducing Stepper Current for Homing...
    RESPOND PREFIX="Homing Status: " MSG="Reducing stepper current for homing"
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT=0.5
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT=0.5

    # ========================
    # HOME X AXIS (IF NOT ALREADY HOMED)
    # ========================
    {% if not x_homed %}
        M117 Homing X Axis...
        RESPOND PREFIX="Homing Status: " MSG="Homing X Axis..."
        G4 P2000  # Pause 2 seconds before homing
        G28 X
        G0 X{printer.toolhead.axis_maximum.x / 2} F9000  # Move X to its midpoint
    {% else %}
        M117 X Already Homed
        RESPOND PREFIX="Homing Status: " MSG="X Already Homed"
    {% endif %}

    # ========================
    # HOME Y AXIS (IF NOT ALREADY HOMED)
    # ========================
    {% if not y_homed %}
        M117 Homing Y Axis...
        RESPOND PREFIX="Homing Status: " MSG="Homing Y Axis..."
        G4 P2000  # Pause 2 seconds before homing
        G28 Y
        G0 Y{printer.toolhead.axis_maximum.y / 2} F9000  # Move Y to its midpoint
    {% else %}
        M117 Y Already Homed
        RESPOND PREFIX="Homing Status: " MSG="Y Already Homed"
    {% endif %}

    # ========================
    # RESTORE STEPPER CURRENT AFTER HOMING
    # ========================
    M117 Restoring Stepper Current...
    RESPOND PREFIX="Homing Status: " MSG="Restoring stepper current"
    
    # Restore current for TMC2209
    SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config["tmc2209 stepper_x"].run_current}
    SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config["tmc2209 stepper_y"].run_current}
    
    # Uncomment for TMC2130
    # SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config["tmc2130 stepper_x"].run_current}
    # SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config["tmc2130 stepper_y"].run_current}
    
    # Uncomment for TMC5160
    # SET_TMC_CURRENT STEPPER=stepper_x CURRENT={printer.configfile.config["tmc5160 stepper_x"].run_current}
    # SET_TMC_CURRENT STEPPER=stepper_y CURRENT={printer.configfile.config["tmc5160 stepper_y"].run_current}

    # ========================
    # FINAL Z MOVE & RESET ACCELERATION
    # ========================
    G0 Z10 F600  # Move Z up by 10mm after homing
    M204 S{printer.configfile.config.printer.max_accel}  # Restore max acceleration

    M117 Homing Completed!
    RESPOND PREFIX="Homing Status: " MSG="Homing Completed!"
  • Nos aseguraremos de indicar que nuestros drivers X Y usen el virtual endstop sensorless

[stepper_x]
rotation_distance: 40
...
endstop_pin: tmc2209_stepper_x:virtual_endstop
  • Por último el otro factor importante es ajustar la velocidad de homing en la definición de nuestros steppers, debemos encontrar una velocidad media que permita detectar sin reducir el rango de sensibilidad. Una velocidad de homing aconsejada es usar el valor de rotation_distance dividido entre 2:

[stepper_x]
rotation_distance: 40
...
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_retract_dist: 0 ## TMC SENSORLESS
homing_speed: 20 ## TMC SENSORLESS

[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
diag_pin: ^x_diag_pin ## Definiremos el pin del endstop/sensorless
driver_SGTHRS: 14 ## Ajustaremos la sensibilidad

Sensor de nivelación (PROBE)

Con el cabezal de impresora en el centro de la cama usaremos el comando QUERY_PROBE en este caso para verificar el estado de nuestro sensor, aplicaremos las mismas soluciones dependiendo de la repuesta de estado que usamos en el punto anterior.

Prueba de precisión del sensor de nivelación (PROBE)

Con la cama y el hotend fríos (por ahora) podemos realizar un test de precisión lanzando el comando PROBE_ACCURACY.

Este test va a realizar 10 lecturas para comprobar la desviación de cada una de esas lecturas:

Send: PROBE_ACCURACY
Recv: // PROBE_ACCURACY at X:125.000 Y:125.000 Z:7.173 (samples=10 retract=2.000 speed=2.0
Send: M105
Recv: // probe at 125.000,125.000 is z=4.975000
Recv: // probe at 125.000,125.000 is z=4.960000
Recv: // probe at 125.000,125.000 is z=4.955000
Recv: // probe at 125.000,125.000 is z=4.952500
Recv: // probe at 125.000,125.000 is z=4.950000
Recv: // probe at 125.000,125.000 is z=4.947500
Recv: // probe at 125.000,125.000 is z=4.942500
Recv: // probe at 125.000,125.000 is z=4.937500
Recv: // probe at 125.000,125.000 is z=4.937500
Recv: // probe at 125.000,125.000 is z=4.932500
Recv: // probe accuracy results: maximum 4.975000, minimum 4.932500, range 0.042500, average 4.949000, median 4.948750,
standard deviation 0.011948

TESTS BÁSICOS

Ahora que ya tenemos nuestra máquina y configuración de Klipper correctamente ajustada para por lo menos poder usar su cinemática y sistema de extrusión os aconsejamos realizar los siguientes pasos:

HOMING

Una vez verificado que nuestros motores van en las direcciones correctas y los finales de carrera (endstops) funcionan correctamente ya podemos iniciar con más seguridad el proceso de homing.

Simplificando, el homing es el proceso por el cual nuestra máquina permite ubicar el punto de origen de sus coordenadas para a partir de este poder realizar los movimientos dentro de su área de movimiento o impresión.

Básicamente el proceso mueve los motores para encontrar el punto de activación de los finales de carrera en cada eje y a partir de ahí ya poder establecer su ubicación y límites de movimiento definidos en nuestra configuración.

Para verificar el proceso de home en cada eje:

IMPORTANTE!!! aunque ya verificamos motores y finales de carrera es más que aconsejable que estemos delante de la máquina para poder apagarla de emergencia en caso de que algo salga mal durante el proceso.

  • Comenzaremos haciendo el home del eje X, podemos hacer esto de diferentes formas ya sea mediante el interfaz web (siguiente captura), desde la pantalla de la impresora/host, o desde la propia consola lanzando el comando G28 X

  • Haremos lo mismo para nuestro eje Y, desde el interfaz web, pantalla o desde consola con G28 Y

  • Por último haremos lo mismo con el eje Z, desde el interfaz web, pantalla o desde la consola con G28 Z

En el caso que algo no funcione según lo esperado es aconsejable volver a revisar el apartado de comprobación de motores y endstops de nuevo para verificar que no se nos pasó nada por alto.

NIVELACIÓN CAMA

Antes de comenzar a fundir filamento, es aconsejable asegurarnos que nuestro área de impresión esté lista para poder imprimir cualquier test necesario para el ajuste de la máquina.

Para ello os aconsejamos seguir las siguientes guías específicas, en el caso que apliquen a nuestra máquina, para tener nuestra cama correctamente nivelada:

PID

El PID, Proportional Integral Derivative, es un algoritmo que nos va a permitir que el proceso de calentado de nuestra cama o hotend sea consistente (suele afectar a la calidad de impresión) y más eficiente.

Z-OFFSET

El z-offset es la distancia entre el nozzle y el punto en que se activa el sensor, en la siguiente imágen tenéis un ejemplo, y es crucial ajustar este z-offset de forma correcta dado que la calidad y fiabilidad de vuestras impresiones van a depender del correcto ajuste... así que te aconsejamos que realices el proceso sin prisas!!

E-STEPS (rotation_distance)

El siguiente paso aconsejable es ajustar nuestra configuración de Klipper para encontrar el valor apropiado de rotation_distance para nuestra máquina y filamento, que en ocasiones pueden diferir bastante con lo que tengamos en las configuraciones de ejemplo de Klipper o terceros.

SLICER (laminador)

Antes de comenzar a realizar tests que requieran generar piezas de tests usando un laminador es importante seleccionar aquel que se adecue a nuestras necesidades/conocimientos, idealmente que disponga de soporte Klipper nativo y si este dispone de tests de calibración integrados mejor.

Nuestro laminador favorito actualmente es OrcaSlicer ya que incorpora soporte a Klipper, incluye funciones y mejoras de otros laminadores (como Bambu Studio del cual es un fork basado en PrusaSlicer pero con un cambio de interfaz y flujo de trabajo que nos encanta, SuperSlicer el cual parece que su desarrollo a día de hoy está parado pero que por su número de ajustes en el laminado y generador de tests de calibración era una delicia, PrusaSlicer que continúa siendo un referente hoy en día en cuanto a funciones y soporte, y por último Cura que a día de hoy pese a tener grandes funciones su soporte para Klipper requiere de ciertos ajustes extras).

INPUT SHAPER

Con Klipper podemos llegar, normalmente, a imprimir a más velocidad y aceleraciones que con otros sistemas/firmwares 3D lo cual puede provocar llevar a límite a nuestra máquina afectando en la calidad de nuestras impresiones creando un efecto de olas también llamado ghosting.

El proceso de Input Shaper podremos realizarlo de varias formas:

Dado que es un ajuste clave para la calidad final de nuestras piezas os aconsejamos realizar con paciencia el proceso!!!

SKEW

La corrección skew nos va a permitir compensar un descuadre provocado por nuestra mecánica o chasis que pueden original piezas geométricamente imperfectas.

Dado que son descuadres mecánicos normalmente por un ensamblado de la máquina incorrecto o por falta de un correcto mantenimiento os aconsejamos siempre intentar corregir estos físicamente y solo recurrir a la corrección por software en última instancia.

La corrección skew por el sistema va a hacer que este realice pequeños ajustes en los movimientos de nuestro cabezal para asegurar que compensa esos desfases de nuestra mecánica.

TESTS FILAMENTOS

Una vez ya tenemos realizados los tests básicos es importante conocer aquellos ajustes que son específicos según el filamento que usemos en nuestra máquina y que van a requerir de unos tests específicos:

TORRE TEMPERATURA

Cada material y tipo pueden y van a tener unas propiedades diferentes siendo una de ellas la temperatura óptima de fusión. A esta van a influir otros aspectos como nuestro tipo de hotend, las condiciones ambientales y de estado del filamento... etc.

Para encontrar el valor óptimo para nuestra máquina, material y condiciones de impresión normalmente realizaremos un test de temperaturas para encontrar la ideal para nuestro caso.

PRESSURE ADVANCE (PA)

Otro ajuste que depende del tipo de filamento es el Pressure Advance o PA. El PA permite controlar el flujo de extrusión para disminuir los artefactos en determinados movimientos como cambios de dirección o aceleraciones.

EXTRUSION MULTIPLIER (flujo)

En pasos anteriores cuando os comentamos el ajuste de los e-steps de vuestra máquina ya os adelantamos que dependiendo del tipo de filamento puede ser necesario ajustar el EM (Extrusion Multiplier) de este en nuestro laminador.

MEJORAS KLIPPER

Klipper es un firmware que por su arquitectura es modular y permite que tanto sus componentes tradicionales puedan incorporar mejoras como que se puedan añadir mejoras de terceros. A continuación os sugerimos algunas interesantes.

3DWORK KLIPPER BUNDLE

Desde 3Dwork hemos recopilado y ajustando un conjunto de macros, configuraciones de máquinas y electrónicas, así como otras herramientas para una gestión sencilla y potente de Klipper.

M600 (cambio filamentos)

LAYER PAUSE (macro para pausado avanzado)

Al igual que el M600 podemos crear macros que permitan realizar una pausa en una capa de forma programada si se nos olvidó realizar ese ajuste en nuestro laminador.

EXCLUDE OBJECTS

Una función muy útil para nuestro Klipper es Exclude Objects, con ella podemos cancelar/omitir un objeto de nuestra impresión en caso de que tenga algún problema, ponga en peligro el conjunto de la impresión o que lo incluyésemos por equivocación.

MALLADO CAMA INTELIGENTE

Un excelente añadido si contamos con sensor de nivelación que nos va a permitir poder realizar una malla de nivelación del área de la pieza que imprimamos haciendo esto que nuestros ajustes de desfases en nuestra cama sean más precisos.

TELEGRAM (control remoto)

En Klipper contamos con diferentes integraciones para poder controlarlo desde fuera de nuestra red. En nuestro caso por su simplicidad y utilizar nuestro IM favorito (Telegram) solemos usar este.

TESTS AVANZADOS

Si hemos llegado a este paso nuestra máquina probablemente esté ajustada lo suficiente como para comenzar a imprimir con una buena calidad... pero seguro que podemos sacarle un punto extra para aprovecharla!!!

MAX SPEED (velocidad máxima)

Gracias a las bondades de Klipper podemos realizar fácilmente tests donde podremos encontrar la velocidad máxima de nuestra máquina.

Estos tests constan de dos partes:

TMC TUNNING

Este es un ajuste para usuarios muy avanzados pero que puede mejorar el rendimiento de la máquina significativamente en ocasiones y reducir algunos tipos de artefactos como el VFA.

Básicamente mediante unos cálculos por nuestro tipo de motores y drivers vamos a poder ajustar las opciones avanzadas de drivers TMC para que estos rindan de una forma más óptima.

FIRMWARE RETRACTION (retracciones por firmware)

Aunque poder controla las retracciones desde el firmware puede tener algunos puntos positivos dado que en un momento dado podremos realizar el ajuste fino, probablemente la gestión de estas desde el laminador va a aportar más opciones y ajustes aún perdiendo ese ajuste "en caliente".

Conocer la IP de acceso a nuestro host Klipper: que es una aplicación multiplataforma que nos escaneará y listará todos los dispositivos de nuestra red. Con ella podremos encontrar nuestro host Klipper buscando por su nombre (mainsailos, ratos, etc...) En el caso de que no encontremos la IP tenemos diferentes opciones a revisar:

conectaremos la SD de nuevo a nuestro ordenador y revisaremos el fichero que utilice para configurar nuestra Wifi (normalmente wpa-suplicant pero revisa cual usa tu sistema operativo de tu host) en busca de cualquier fallo al añadir nuestros datos WiFi. En el caso de sistemas MainsailOS ya sea Raspberry o Armbian podemos encontrar información

Si nuestro host es RatOS, sobre Raspberry o CB1, si no conecta a ninguna red montará un punto de acceso Wifi al cual nos podremos conectar y configurar nuestros datos Wifi, tienes más información en la

disponer de un cliente SSH en o los equipos (ordenadores, tables, teléfonos...) desde donde queramos administrar. En nuestro caso siempre aconsejamos por ser multiplataforma, sencillo y no tiene coste para el uso de administrar tus máquinas con Klipper. También dispones de otras como .

Si queréis tener más datos de otros comandos Linux os aconsejamos revisar el siguiente link con .

Podéis revisar estos o por otro lado podréis acceder a ellos usando el interfaz de Klipper (Mainsail, Fluidd u otro) en el apartado de ajuste de configuraciones de máquina accediendo al directorio /config.

Una vez localizado el o los ejemplos que necesitemos los copiaremos en nuestro printer.cfg asegurándonos que tenemos .

BACKUP/COPIA de seguridad de vuestras configuraciones!!! Os sugerimos lo primero de todo antes de comenzar con pruebas o cambios en vuestros ficheros de configuración tener un backup de estos ficheros, podéis usar que además de crearos un backup de forma sencilla podréis comparar entre ellos para ver las diferencias.

cadena de conexión o serial id de nuestra MCU, asegurándonos que tenemos

En caso de errores de Klipper a la hora de procesar nuestra configuración os aconsejamos revisar la ya que os pueden aportar ideas para resolver la mayoría de estos.

Tal como indica la propia algunas de las propiedades de estas secciones es aconsejables eliminarlas, si has extraído un ejemplo de configuración de Klipper de terceros y basado en configuraciones antiguas es aconsejable revisarlo:

En siguientes pasos veremos como realizar un antes de intentar hacer ningún test de impresión.

En cuanto a rotation_distance os aconsejamos que os paséis por la , en concreto por el apartado de ya que contiene información muy interesante de como funciona rotation distance e incluso como compensar de forma adecuada nuestras impresiones dimensionalmente en nuestra impresora cartesiana/CoreXY y Delta.

Otro aspecto importante es el de ajustar el run_current de nuestros motores, aquí tenéis una para ello.

Os incluimos también la calculadora de nuestros compañero Laureano con diferentes fórmulas que nos ayudarán a ajustar nuestros motores que podéis acceder desde que os puede ser de ayuda para convertir steps de Marlin a Klipper.

En todo caso tal como os aconsejábamos arriba es mejor ir a la , en concreto por el apartado de ya que contiene información muy interesante de como funciona rotation distance e incluso como compensar de forma adecuada nuestras impresiones dimensionalmente en nuestra impresora cartesiana/CoreXY y Delta.

Para verificar que nuestros pasos sean correctos podemos utilizar la macro que se utiliza para diagnóstico/debug en este tipo de situaciones.

Vamos a describir a grandes rasgos las cosas a tener en cuenta para configurar sensorless en Klipper y no morir en el intento

Antes de proceder con ninguno de estos tests donde encontraréis información más detallada sobre estos.

, disponemos de diferentes asistentes en Klipper para ayudarnos en el ajuste manual (típicas ruedas de ajuste) ya sea con o sin sensor... este último siempre es aconsejable ya que además de facilitar el proceso lo hará más preciso.

, en el caso que nuestra máquina disponga de 2 o más motores (en drivers independientes) en nuestro eje Z podemos usar esta función que nos va a permitir alinear correctamente nuestro gantry de una forma automatizada y precisa.

, podremos generar una tabla o malla de desfases en nuestra cama para que el sistema pueda compensar desviaciones de nuestra mecánica o cinemática... de nuevo, aunque se puede hacer un mallado de forma manual, es aconsejable el uso de un sensor de nivelación

El se realiza de uns forma sencilla mediante macros de sistema, que podemos incluir en propias tal como veréis en la guía sugerida para automatizar el proceso, y realiza unos tests usando la temperatura del material que normalmente usemos. Por ejemplo si normalmente usamos PLA a 210º (hotend) y 45º (cama) usaremos estos valores para realizar el proceso de ajuste del PID. En el caso que usemos diferentes materiales podemos usar una temperatura en medio del rango de dichos materiales o realizar los tests en el peor de los casos con el material que use más altas temperaturas.

En el caso que usemos un sensor nivelación en nuestra máquina es importante, además de su , el ajuste de su z-offset.

Podéis encontrar el proceso de.

Podéis encontrar el proceso con detalle en la siguiente . No os preocupéis en el caso que uséis diferentes tipos de filamentos, normalmente ajustaremos los e-steps para el material que uséis normalmente y para el resto lo podéis ajustar con en cada uno de ellos y ajustarlo en vuestro laminador.

Os aconsejamos revisar nuestra ya que a parte de configurar correctamente ciertos parámetros es muy importante como adaptar este a las macros de Klipper en especial para el START y END scripts.

Klipper cuenta con Input Shaper como función para eliminar/disminuir/minimizar este efecto que tenéis .

... lo más aconsejable, cómodo y preciso

... calculando de forma manual el efecto de las vibraciones en una pieza de test

El test básicamente consta de la impresión de una pieza de test y añadir configuración en nuestro fichero printer.cfg de Klipper tal como tenéis explicado en nuestra utilizando un método simple para máquinas cartesianas.

Además disponemos de otro más completo, compatible con Marlin y compatible con máquinas delta, en nuestra .

Podéis encontrar la . Estos tests también nos permiten ver como afecta la temperatura en puentes, voladizos, retracciones, etc...

Para realizar los tests puedes seguir la siguiente .

Para realizar el test de EM os aconsejamos seguir la siguiente donde tenéis más detalle del proceso.

Gran parte de este paquete está basado en mejorando las partes que creemos interesantes, así como otras aportaciones de la comunidad.

Si queréis más información de sus funciones y como instalarlo pasaros por la siguiente .

Dado que en Klipper muchas de las funciones especiales como un cambio de filamentos se realizan mediante macros y, aunque puedes encontrar diferentes opciones en Internet, os y sugerimos en nuestros canales de Telegram.

Dado que ahora nos centramos en el que incluye M600 y muchas más macros interesantes te aconsejamos usar las de este.

Si os parece de utilidad podéis encontrar información de como implementarla .

En la siguiente podéis encontrar información para habilitarlo en vuestras máquinas.

Podéis encontrar más información .

Podéis encontrar más información .

... donde encontraremos la máxima velocidad de movimientos sin pérdida de pasos

... donde encontraremos la máxima velocidad de extrusión de nuestro sistema y filamento

Podéis encontrar más información en la .

Klipper cuenta con opciones de ajuste de retracciones por firmware que podemos ajustar durante una impresión y que podéis configurar siguiendo la siguiente .

Aconsejamos el usar el proceso clásico de ajuste de retracciones por el laminador tal y como tenéis en la .

🖇️
😄
aquí
documentción de RatOS
Terminus
Putty
los 40 comandos básicos de Linux que todo usuario debe saber
ejemplos aquí desde su Github
nuestra macro de backup a Github
documentación de Klipper
ajuste del PID
guía de calibración FDM
pasos ejes
guia y calculadora
aquí
guía de calibración FDM
pasos ejes
SET_KINEMATIC_POSITION
es aconsejable revisar la guía de sensores de nivelación Klipper
Nivelado manual
Nivelación del gantry (o z-tilt)
Mallado de cama
ajuste del PID
configuración de sensor de nivelación en Klipper que podéis encontrar en la siguiente guía
guía de ajuste de e-steps
test de flujo
guía de laminadores
explicado con más detalle aquí
automático usando un acelerómetro
guía de corrección de skew para Klipper
guia de calibración FDM
guía para realizar una torre de temperatura aquí
guía de PA aquí
guía
RatOS
guía
3Dwork Klipper Bundle
aqui
guía sobre Exclude Objects
aqui
aqui
tests de cinemática
tests de extrusión volumétrica
guía de ajustes avanzados TMC
guía
guía de calibración FDM
sugerimos revisar la que solemos utilizar en nuestras máquinas
- English
instalamos Klipper en vuestro host
Fing
ajuste de z-offset en la siguiente guía
el serial id correcto para nuestra/s MCUs que encontramos durante la instalación de Klipper
el serial id correcto para nuestra/s MCUs que encontramos durante la instalación de Klipper
guía de troubleshooting/resolución de problemas
creó/aplicó el firmware Klipper a vuestra electrónica
cadena de conexión serial
de forma manual
Ejemplo de acceso a los cfg usando Mainsail
Consola en Mainssail
Ejemplo de gráfica de temperaturas Klipper con un PID incorrecto y corregido.