Ir al contenido principal

Sensor de filamento para la Kossel


Este artículo se está modificando. Es un boceto. Es la parte de investigación bibliográfica.Estamos en pruebas








¿Qué es un sensor de filamento?
Es un dispositivo que permite avisar a tú impresora que ya no hay filamento por lo que parará la impresión.

¿Para que sirve?
  • Como dispositivo de seguridad. Si se acaba el filamento en medio de una impresión. Puede suspender la impresión y espera que metas otro filamento o pararla completamente, incluso dependiendo como lo programes apagar la impresora pasado un tiempo.
Normalmente está vinculado con el código M600 del Marlin.
Nota: M600 - Pause for filament change: "M600 X<pos> Y<pos> Z<raise>


¿Cómo lo puedo hacer?
Materiales:
 
  • Un end-stop llamado final de carrera 
    End-stop
  • Cable: de dos vías (1m)
  • Jumpers: dos tipo hembra
  • Soporte para el end-stop y la entrada del filamento. 
Donde puedo montar el sensor: alguno de estos o uno propio


 Comprar el micro switcho llamado en 3D end-stop "final de carrera"

Soporte para micro switch, V5


Alternativa 1. Usando la electrónica de tú impresora y el firmware Marlin.


Conexionado

"Marlin también tiene soporte para el sensor de filamentos y se puede conectar a ramps. Pero si usted está usando octoprint, el sensor debe estar conectado a la Raspberry, de lo contrario Marlin enviará un código M600 y si se tarda un tiempo para cambiar el filamento, host devolverá un timout y su impresión fallará".

M600 - Pause for filament change: "M600 X<pos> Y<pos> Z<raise> E<first_retract> L<later_retract>". (Requires FILAMENT_CHANGE_FEATURE)

Mi  amigo Alberto, escribió  "Con esto hemos activado el GCODE M600. Este comando se puede usar de forma manual o automática. La forma automática es la que normalmente hace que la impresora funcione sola cuando le falta filamento.  Es decir, cuando el filamento falta, el endstop manda una señal a la ramps que genera un comando M600 en nuestra placa y como lo tenemos activa la función de cambio de filamento, la impresora descarga el filamento y aparca el hotend bloqueando los motores quedando todo bloqueado por un tiempo que podemos configurar. Empezará a pitar para avisarnos que el filamento se ha acabado y comenzará el proceso de carga del nuevo filamento. Todo esto se hace siguiendo las instrucciones del display de nuestra impresora. Una vez cargado continuará por donde lo dejó como si nunca le hubiera faltado el filamento. También apuntamos que el cambio de filamento tiene un tiempo limitado, enfriando el hotend si no lo hemos cambiado en 45 segundos (por defecto). Y entendemos que si no se hace en los cinco pitidos que nos da, la impresora se apagará" en su Blog de MeY@ – Servicios Informáticos.


Desde la placa Trigorilla en el pin D18 y GND al end-stop a normalmente abierto o normaly open "NO" y común "COM". He escrito al fabricante y me han confirmado que es correcto, que lo puedo conectar al PIN D18 y GND.
Esquema de los pines en la Trigorilla de Anycubic

Conectar a los END-STOP un cable a D18 "señal" y el otro a GND (Columna Z-)

Filament Runout Sensor "Sensor de desconexión de filamentos"


Extraído de Marlin.
 
Para configurar esta nueva característica de nuestra impresora vamos a tener que modificar tres ficheros en el Marlin:

1.-  configuration.h
 //#define FILAMENT_RUNOUT_SENSOR <= Descomentar esta línea, eso es quitar la almohadilla o śimbolo gato

2.-  configuration.adv.h

Por desarrollar ver en la webgrafía Meya al final del artículo

3.-  pins_RAMPS.h
 en la pestaña: configuration.h "FILAMENT_RUNOUT_SENSOR".
 
//#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
  #define FIL_RUNOUT_INVERTING false // set to true to invert the logic of the sensor.
  #define ENDSTOPPULLUP_FIL_RUNOUT // Uncomment to use internal pullup for filament runout pins if the sensor is defined.
  #define FILAMENT_RUNOUT_SCRIPT "M600"
#endif
 

Con esta característica, se utiliza un interruptor mecánico o de extremo opto para comprobar la presencia de filamento en el alimentador (normalmente el interruptor está cerrado cuando hay filamento). Si el filamento se agota, Marlin ejecutará el script GCode especificado (de forma predeterminada "M600"). Las tarjetas RAMPS utilizan SERVO3_PIN. Para otras tablas es posible que deba definir FIL_RUNOUT_PIN.



El amigo Adrián desde argentina nos envía este código por correo , nos indica que tendríamos que modificar el Marlin (no lo he probado)
micro switch Normal cerrado
Pin -X GND -> filament sensor

CONFIGURATION.H
LINE 889
#define FILAMENT_RUNOUT_SENSOR
LINE 891
#define FIL_RUNOUT_INVERTING false

CONFIGURATION_ADV.H

LINE 783
#define ADVANCED_PAUSE_FEATURE

CONFIGURATION_ADV.H
LINE 787
#define PAUSE_PARK_Z_ADD 50 //10

pins_RAMPS.H
LINE 72
//#define X_MIN_PIN 3
LINE 204
#define FIL_RUNOUT_PIN 4



Marlin:
http://marlinfw.org/docs/configuration/configuration.html#filament-runout-sensor

Alternativa 2. Usando una Raspberry Pi



"Se trata de un sensor de filamento mecánico que funciona con todo tipo de filamentos de 1,75 mm. Yo prefiero este final en lugar de un sensor óptico que probablemente puede fallar con el color del filamento claro.



Instalación del Pluggin "Filament Sensor Reloaded" en Octoprint
AL tratar instalar el plugin "Filament Sensor Reloaded" desde Plugin Manager del Octoprint, me daba un error al tratar de abrirlo, aparecía vacío. Para solucionar este problema instalé PIP desde la consola Raspian con el siguiente comando: " sudo apt-get install python3-pip". Aparentemente no todas las versiones de Raspian trae esta herramienta instalada, pero con un golpe de teclas lo solucionamos. (PIP)



Conexiones
END-STOP            Raspberry Pi

NO                            (GPIO 24). Puede ser cualquier pin libre
COM                         PIN (6,14, 20, 30, 34, 9, 25, 39). Son todos tierra "GND"


Octopi Plugin:
http://bit.ly/sensorplugin

Ponga un poco de pegamento caliente entre el sensor y el recinto (tamaño de un guisante) si queda algo flojo.

Cuando el filamento se agota, el sensor envía el comando de pausa a la impresora, si lo desea, puede agregar el comando M600 al evento de pausa en la página de configuración de octoprint / gcode. Así que cuando la extrusora pausado irá a la esquina y descargará el filamento y esperar a que se cargue. Compruebe los detalles del comando google for M600.



Webgrafía






 En desarrollo     

Comentarios