Sensor de filamentos
No estropees tus impresiones por falta o atasco de filamentos!!!
Última actualización
No estropees tus impresiones por falta o atasco de filamentos!!!
Última actualización
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 @ThreeDWorkHelpBot
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).
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:
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.
Es importante comentar que en estos casos es muy aconsejable que nuestro Marlin, además de las opciones requeridas por nuestra pantalla (para pantallas SKR revisa esta guía), tener habilitado lo siguiente
En el caso que tengamos Octoprint 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.
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:
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)
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
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
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.
Revisaremos que tenemos habilitada la siguiente función, la cual indica que se ejecute el comando M600 (ADVANCED PAUSE) de Marlin. El comando M600 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 documentación de Marlin y en el apartado ADVANCED PAUSE de esta propia guía.
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
Para versiones >2.0.6
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.
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
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.
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
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
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)