For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sensor de filamentos

Configura un sensor de filamentos en Marlin para detectar fin de filamento o atascos y salvar tus impresiones automáticamente.

Un sensor de filamentos puede salvarte más de una impresión larga. Existen dos tipos principales:

  • Sensor de presencia (microswitch u óptico): detecta si hay o no hay filamento. Para y ejecuta M600 cuando el filamento se acaba.

  • Sensor de movimiento/encoder (BTT SFS, trianglelab SFS): detecta si el filamento se mueve. Detecta tanto el fin de filamento como los atascos en caliente.

Tipo
Detección
Ejemplo
Nivel

Microswitch simple

Presencia/ausencia

Final de carrera reutilizado

Básico

Sensor óptico

Presencia/ausencia

Genérico con LED indicador

Básico

Encoder / movimiento

Movimiento real del filamento

BTT SFS v1.0/v2.0

Avanzado

Si ya tienes configurado Sensorless/stallGuard, probablemente tengas finales de carrera libres que puedes usar como sensor de presencia sin coste adicional. En Thingiverse hay varios adaptadores para montarlos en el extrusor.

Algunos sensores de referencia

Instalación del sensor

Dependiendo del tipo de sensor tendrás 2 o 3 conexiones: V (voltaje), S (señal) y G (negativo/GND).

Conector BTT Smart Filament Sensor

Conectando el sensor a la placa electrónica

Es la opción recomendada: el sensor estará controlado directamente por Marlin, lo que permite más funciones y mejor integración con hosts como OctoPrint.

Electrónica
Localización E0-STOP
Pineado

BTT SKR 1.4 / Turbo

Dispone de E0-STOP

V / G / S

BTT SKR 1.3

Usar endstop X+ (predefinido en pins)

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

E0-STOP sin voltaje — usar PT-DET

S / G / V

BTT SKR Mini E3 v2/v3

Dispone de E0-STOP

S / G / V

BTT SKR E3 Turbo / RRF

Dispone de E0-STOP

S / G / V

BTT Octopus v1.x

Dispone de E0-STOP

S / G / V

BTT Manta M8P

Dispone de conector dedicado

S / G / V

Conectando el sensor a la pantalla TFT

Si tu pantalla TFT soporta sensor de filamentos, puedes conectarlo sin tocar Marlin. La desventaja es que solo funciona cuando usas la TFT para gestionar la impresión.

Siempre que sea posible, conecta el sensor directamente a la placa electrónica.

Si usas TFT con sensor en la electrónica, habilita estas opciones en configuration_adv.h:

TFT
Conector
Pineado

BTT TFT35 v3

FIL-DET

S / G / V

BTT TFT35 v2

DLJC

V / G / S

BTT TFT35 E3 v3

FIL-DET

S / G / V

Cambios en Marlin

Activar el sensor de filamentos

Algunas placas tienen el pin del sensor predefinido (E0-STOP, FIL-DET). Para el resto, puedes añadir o cambiar el pin manualmente en el archivo de pins de tu placa:

Electrónica
Archivo pins
Pin definido

SKR v1.4 / Turbo

lpc1768/pins_BTT_SKR_V1_4.h

FIL_RUNOUT_PIN P1_26 (E0DET)

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

Sensor BTT SFS (detección de movimiento)

Si tienes el BTT Smart Filament Sensor (v1.0 o v2.0), activa la detección de atascos en configuration_adv.h:

Ejemplo de conexión BTT SFS v1.0

En caso de falsos positivos, incrementa FILAMENT_RUNOUT_DISTANCE_MM progresivamente hasta eliminarlos. Con Sensorless/stallGuard activo, es recomendable doblar o desactivar el pin DIAG del driver para evitar interferencias.

Lógica del sensor (PULLUP / PULLDOWN)

Algunos finales de carrera requieren ajustar la lógica:

Si el sensor detecta fin de filamento cuando hay filamento (o al revés), invierte la lógica:

Parking y M600 (asistente de cambio de filamento)

Necesario para que el sensor pause la impresión y mueva el cabezal a una posición segura:

Verificar que funciona

Conecta via Pronterface u OctoPrint y envía:

Con filamento: debe aparecer TRIGGERED. Sin filamento: OPEN. Si es al revés, ajusta FIL_RUNOUT_STATE o FIL_RUNOUT_INVERTING.

Activar / desactivar el sensor

También puedes definir el estado por defecto en el firmware:

Ajustar el comportamiento de M600

El comando M600 (pausa y cambio de filamento) tiene varios parámetros ajustables en configuration_adv.h:

Parámetro
Descripción

FILAMENT_CHANGE_UNLOAD_LENGTH

mm de filamento a retraer al quitar. Debe ser menor que EXTRUDE_MAXLENGTH

FILAMENT_CHANGE_SLOW_LOAD_LENGTH

mm de carga inicial lenta

FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE

velocidad de carga inicial (mm/min)

FILAMENT_CHANGE_FAST_LOAD_LENGTH

mm de carga rápida hasta el nozzle

FILAMENT_CHANGE_FAST_LOAD_FEEDRATE

velocidad de carga rápida (mm/min)

Última actualización