3Dwork - Marlin
KLIPPERMARLINLABSTelegramColabora
  • 3DWork.io - Marlin
  • Invitame a un cafe :D
  • 🦈MARLIN
    • Marlin - Guía Compilación
      • Marlin - Gcodes Básicos
    • Configuracion Marlin
      • Ajuste de límites de impresión
      • Nivelación/Homing
        • Bltouch/3DTouch/CRTouch/MicroProbe
        • PINDAv2/Inductivos
        • Nivelado manual MESH
        • Nivelado UBL
        • Asistente Z-Offset [Marlin]
        • Mallado de cama inteligente en Marlin
        • Sensorless
      • Doble Z y autonivelado
      • Sensor de filamentos
      • Módulo UPS - Recuperación ante fallos corriente
      • Leds Neopixel
    • ‼️Marlin Troubleshooting
      • Pronterface
      • Control de ventiladores con MOSFET externo
      • Reparar pin sensor temperatura
    • Guía Calibración Impresoras 3D FDM/Filamento
    • Guía Resolución Problemas Impresoras 3D FDM/Filamento
    • Mejoras/Upgrades Impresoras 3D FDM/Filamento
  • 🐢Octoprint
    • Octoprint
    • Instalación
      • Instalando Octoprint
        • Raspberry Pi 4 – Actualizar firmware
        • Cambios y comprobaciones en nuestro Marlin
        • Reset Password
      • Configurando Octoprint
    • Plugins/Mejoras Octoprint
      • DisplayLayerProcess
      • PrintTimeGenious
      • Cancel Objects
      • ipOnConnect
      • Arc-Welder
      • Telegram
    • OctoDash - UI
    • Controlar varias impresoras usando varias instancias Octoprint
      • Multiples Webcam
    • Controlar varias impresoras usando instancias Docker
  • 🌐3DWORK
    • Quieres promocionar tus productos/empresa?
Con tecnología de GitBook
En esta página
  • Algunos sensores a modo de referencia
  • Instalación del sensor
  • Conectando sensor a nuestra placa
  • Conectando sensor a nuestra pantalla TFT
  • Cambios en Marlin:
  • Comprobar que todo funciona correctamente
  • Activación del sensor de filamentos
  • Cómo ajustar el comando M600 para el cambio de filamentos:

¿Te fue útil?

  1. MARLIN
  2. Configuracion Marlin

Sensor de filamentos

No estropees tus impresiones por falta o atasco de filamentos!!!

AnteriorDoble Z y autoniveladoSiguienteMódulo UPS - Recuperación ante fallos corriente

Última actualización hace 1 año

¿Te fue útil?

El uso de un sensor de filamentos puede salvarnos más de una impresión, además si aplicaste la configuración SensorLess/stallGuard explicada en este documento probablemente dispongas de varios finales de carrera que puedes usar para este propósito sin gastarte nada, en Thingiverse dispones de varios adaptadores para ello.

Os recordamos que tienes más guías de ayuda en nuestro bot de Telegram

Algunos sensores a modo de referencia

Instalación del sensor

Dependiendo del tipo de sensor contaremos con 2 normalmente simples endstops o 3 conexiones dependiendo de si este dispone de cierta electrónica o led de control.

En cualquier caso, las tres conexiones normalmente hacen referencia a V(voltaje), S (señal) y G (negativo).

Conectando sensor a nuestra placa

Es la opción recomendada dado que el sensor estará controlado directamente por la máquina y no por un ente externo como pueda ser una pantalla TFT o una Raspberry Pi.

Es importante que revisemos el orden de pines tanto en la parte del sensor como en el de la placa para que coincidan perfectamente para evitar cualquier posible corto y que podamos estropear placa o sensor.

Para la conexión en la placa, si estas disponen de un conector dedicado suele llamarse E0-STOP, FT-STOP y en caso de no llevar suele usar el del final de carrera + que, tal como explicamos más adelante en los cambios Marlin, deberemos de verificar en el fichero pins de nuestra placa.

En cualquier caso tenéis a continuación una tabla con algunas de las placas más representativas:

Electrónica

Localización E0-STOP

Pineado

BTT SKR 1.4/Turbo

Dispone de E0-STOP

V

G

S

BTT SKR 1.3

Utilizaremos endstop X+ ya que esta predefinido en nuestro fichero pins para esta función

V

G

S

BTT SKR PRO

Dispone de E0-STOP

V

G

S

BTT SKR E3 DIP

Dispone de E0-STOP

G S V

BTT SKR MINI E3 v1.2

Dispone de E0-STOP pero no tiene toma de voltaje, mejor usar PT-DET si nuestro sensor necesita voltaje

S G V

BTT SKR MINI E3 v2

Dispone de E0-STOP

S G V

BTT SKR E3 Turbo

Dispone de E0-STOP

S G V

BTT SKR E3 RRF

Dispone de E0-STOP

S G V

Conectando sensor a nuestra pantalla TFT

Otra forma de instalar nuestro sensor, y siempre que esta lo soporte, es utilizando nuestra pantalla TFT que tiene como ventaja que no es necesario tocar Marlin, pero por otro su funcionamiento suele estar restringido a usar la TFT para gestionar tus impresiones.

Siempre que podamos, es aconsejable conectar el sensor a nuestra electrónica y que sea Marlin directamente quien lo controle.

EMERGENCY_PARSER (en Configuration_adv.h)
SERIAL_FLOAT_PRECISION 4 (en Configuration_adv.h)
HOST_ACTION_COMMANDS (en Configuration_adv.h)
HOST_PROMPT_SUPPORT (en Configuration_adv.h)
FILAMENT_LOAD_UNLOAD_GCODES (en Configuration_adv.h)

Independientemente si tenemos el sensor a nuestra pantalla o en la electrónica estas opciones anteriores son mas que aconsejables tenerlas habilitadas si tenemos un host como Octoprint o una pantalla TFT serial.

A continuación tienes un listado de pantallas con esta opción:

TFT

Conector

Pineado

BTT TFT35 v3

Dispone de FIL-DET

S G V

TFT35 v2

Dispone de DLJC

V G S

TFT35 E3 v3

Dispone de FIL-DET

S G V

Cambios en Marlin:

  • Activar el sensor de filamentos #define FILAMENT_RUNOUT_SENSOR

Algunas placas disponen de un conector dedicado para este sensor de filamentos, otras lo ubican normalmente en X_MAX pero en cualquier caso no está de más verificar el archivo de PINS de tu placa para identificar en dónde está habilitado. Revisa la siguiente tabla para las SKR, en el caso que no esté definido puedes añadirlo tú mismo indicando un pin de un endstop que no esté en uso o en el csso que quieras cambiar el pin por defecto a otro porqué el original ha fallado (en este caso intercambiar la definición de pines si hay mas de uno o si es ussdo en otra funcion) ejemplo: Ejemplo: SKR 1.4 / 1.4 Turbo - #define FIL_RUNOUT_PIN P1_26 (E0DET) o P1_25 (E1DET)

Electrónica

Archivo pins

Pins

SKR v1.4 Turbo

SKR v1.4

lpc1768\pins_BTT_SKR_V1_4.h

lpc1768\pins_BTT_SKR_V1_4.h

FIL_RUNOUT_PIN P1_26 (E0DET) FIL_RUNOUT_PIN2 P1_25 (E1DET)

SKR v1.3

lpc1768\pins_BTT_SKR_V1_3.h

FIL_RUNOUT_PIN P1_28

SKR MINI E3 v2

stm32f1\pins_BTT_SKR_MINI_E3_V2_0.h

FIL_RUNOUT_PIN PC15 (E0-STOP)

En caso de falsos positivos se puede jugar a habilitar o deshabilitar esta función ya que en según que escenarios puede ocasionar ciertos problemas: #define FILAMENT_RUNOUT_DISTANCE_MM También aconsejan en el caso de usar Sensorless/stallGuard doblar/desoldar/cortar el pin DIAG del driver para evitar falsos positivos.

  • Si nuestro sensor el BTT SFS que tiene función de detección de atascos, deberemos asegurarnos de activar

/Marlin/configuration_adv.h
#define FILAMENT_MOTION_SENSOR // habilita sensores detección de atascos con encoder
#define FILAMENT_RUNOUT_DISTANCE_MM 7 // 7mm es lo aconsejado por el fabricante y podemos ajustarlo en el caso de falsos positivos o dependiendo de nuestra máquina

Ejemplo de conexión:

/Marlin/configuration_adv.h
#define FILAMENT_MOTION_SENSOR // habilita sensores detección de atascos con encoder
#define FILAMENT_RUNOUT_DISTANCE_MM 3 // 3mm es lo aconsejado por el fabricante y podemos ajustarlo en el caso de falsos positivos o dependiendo de nuestra máquina

Ejemplo de conexión:

  • Algunos finales de carrera requieren de eliminar el PULLUP de la configuración de Marlin para operar correctamente. Si es tu caso, debes editar esta línea y eliminar los comentarios #define FIL_RUNOUT_PULLUP o viceversa dependiendo del tipo de placa #define FIL_RUNOUT_PULLDOWN. Recuerda que solamente una de ellas debe estar habilitada.

  • Activación y el parking del cabezal para el cambio de filamentos necesario para habilitar el sensor de filamentos y las opciones en pantalla para realizar el pausado y cambio de filamento

/Marlin/configuration.h
#define NOZZLE_PARK_FEATURE
/Marlin/configuration_adv.h
#define ADVANCED_PAUSE_FEATURE

La función ADVANCED_PAUSE_FEATURE requiere que tengas habilitado una pantalla LCD con menús clásicos Marlin o EMERGENCY_PARSER en el caso que tengamos pantallas serial/táctil o similares.

/Marlin/configuration.h
#define FILAMENT_RUNOUT_SCRIPT "M600"

Comprobar que todo funciona correctamente

Usando Pronterface, Octoprint u otro cliente terminal para conectar a nuestra impresora comprobaremos que el funcionamiento del sensor es el adecuado enviando el comando M119 que nos indicará el estado del sensor.

Si tenemos nuestro sensor con filamento deberá aparecer TRIGGERED, si, por el contrario, no tenemos filamento aparecerá OPEN. En el caso de que no sea correcto tendrás que cambiar la lógica cambiando estas líneas

#define FIL_RUNOUT_INVERTING true // o false dependiendo de como queramos ajustar la lógica

Para versiones >2.0.6

#define FIL_RUNOUT_STATE HIGH //o LOW dependiendo de como queramos ajustar la lógica

Activación del sensor de filamentos

Ahora que ya tenemos configurado nuestro Marlin y revisado nuestro sensor, decidiremos el estado de la funcionalidad por defecto.

  • Podemos definir su estado directamente en Marlin ajustando la siguiente línea, siendo true que la funcionalidad estará habilitada y false que no y requerirá de activarse utilizando uno de los siguientes métodos.

#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500
  • Usando la pantalla en modo Marlin dentro de Configuración

  • Mediante gcode M412...

    • Enviando el gcode sin parámetros nos dirá el estado actual

    • con un M412 S0 deshabilitaremos su función

    • con un M412 S1 habilitaremos el sensor

Cómo ajustar el comando M600 para el cambio de filamentos:

Cuando hacemos un cambio de filamento, el comando M600 (función ADVANCED_PAUSE_FEATURE) es el que se encarga del proceso. En configuration_adv.h podemos encontrar algunas funciones interesantes para personalizarlo a nuestra máquina, aunque por norma general y salvo contadas excepciones nos funcionará sin problemas como viene de serie.

  • FILAMENT CHANGE UNLOAD LENGTH con él controlaremos qué distancia de filamento haremos retroceder. Normalmente, usaremos la distancia entre la salida del nozzle y los engranajes de nuestro extrusor más un poco de margen para asegurar que sale completamente del engranaje.

  • Es importante que si esta distancia es superior a EXTRUDE_MAXLENGTH (configuration.h) deberemos ajustar este parámetro al que necesitemos para nuestra retracción de cambio de filamento.

  • FILAMENT CHANGE SLOW LOAD FEEDRATE con este parámetro indicaremos con qué velocidad realizará la carga inicial de filamentos.

  • FILAMENT CHANGE SLOW LOAD LENGTH al igual que para la retracción aquí le indicaremos los mm de filamento a mover en la carga inicial de filamentos, normalmente el valor por defecto es el correcto

  • FILAMENT CHANGE FAST LOAD FEEDRATE en este caso indicaremos a la velocidad que realizará la carga del filamento hasta el nozzle

  • FILAMENT CHANGE FAST LOAD LENGTH usaremos una medida similar a la de UNLOAD menos SLOW LOAD LENGTH

Estos son los valores más relevantes a tener en cuenta.

Es importante comentar que en estos casos es muy aconsejable que nuestro Marlin, además de las opciones requeridas por nuestra pantalla (), tener habilitado lo siguiente

En el caso que tengamos deberemos habilitar también estas funciones para la correcta gestión del sensor de filamentos cuando este esté conectado a la electrónica de nuestra impresora.

Revisaremos que tenemos habilitada la siguiente función, la cual indica que se ejecute el comando (ADVANCED PAUSE) de Marlin. El comando es un asistente de cambio de filamento con indicaciones en pantalla (para pantallas emulación Marlin, en el caso de hosts deberás de revisar su compatibilidad) que además suele ser el estándar utilizado en el gcode de cambio de filamentos en laminadores. Este comando dispone de parámetros para que, normalmente desde el laminador, podamos ajustar ciertos aspectos... tienes más información en la y en el apartado ADVANCED PAUSE de esta propia guía.

🦈
para pantallas SKR revisa esta guía
Octoprint
M600
M600
documentación de Marlin
@ThreeDWorkHelpBot
Logo11.87US $ 8% OFF|Trianglelab filament runout sensor 3D Printer Part Material detection module 1.75mm filament detecting module|sensor 3d printer|filament sensormodule sensor - AliExpressaliexpress.com
Logo0.93US $ 15% OFF|3D Printer Filament Break Detection Module With 1M Cable Run out Sensor Material Runout Detector For 3D Printer Parts 1.75 3.0|3D Printer Parts & Accessories| - AliExpressaliexpress.com
Logo11.23US $ 8% OFF|BIGTREETECH Smart Filament Sensor Break Detection Module BTT SFS V1.0 Monitor 3D Printer Parts For SKR V1.4 Turbo SKR 2 mini E3|3D Printer Parts & Accessories| - AliExpressaliexpress.com
LogoBIGTREETECH Módulo de detección de rotura de filamento inteligente sensor de filamento 3D piezas de impresora para filamento de 1,75 mm SKR V1.3 Mini E3 GEN V1.4
LogoRfvtgb Módulo de detección de filamento para impresora 3D con cable de 1 m, sensor de salida para impresora 3D Ender 3 CR10
Conector BTT Smart Filament Sensor