This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
CONSULTA Sensor filamento optico casero
#1
Hola!
Tengo una Geeetech Prusa I3 pro B, ando haciendo mejoras y ajustes y he pensado ponerle un sensor de filamento.
De primeras iba a ponerle uno basado en un final de carrera, pero los stl que encuentro llevan finales de carrera mucho mas pequeños que el mio, y la verdad, ando aprendiendo a manejarme con freecad y demas y me supone una barbaridad de tiempo diseñarme yo algo asi, y ninguna garantia de exito.
Sin embargo, me he encontrado con un stl para sensor optico ESTE y eso no me cabe duda que encajaria a la perfecccion....pero el funcionamiento electronico es distinto.
mientras los finales de carrera mecanicos llevan el contacto NO y NC, y ya, son un interruptor sin mas, dos pines, 0V y 5V, y a cascarla, eso al conector Z de turno y modificar en marlin (que seria la siguiente parte de la consulta), resulta que los opticos llevan 3 hilos, 0V, 5V, SIGNAL.....entonces...esto como me lo conecto?
Tendría que usar dos puertos libres, uno para alimentar y otro para recibir? De donde le saco los +5V, si las salidas de ventiladores, por ejemplo, son de 12V....
O es que en la GT2560 directamente no voy a poder usar este tipo, me olvido y ya....?¿
Gracias_!
  Responder
#2
Hola, el sensor óptico tiene un funcionamiento similar a los interruptores mecánicos y simplemente tiene tres cables debido a que necesita alimentación para hacer funcionar el emisor de luz y el detector, pero en esencia es un interruptor igual a aquellos, que puede ser también NC o NO.
Esto no es ningún problema a la hora de conectarlo, pues los conectores de final de carrera de las placas tienen siempre esos tres contactos (5V, GND y Señal): solo tienes que utilizar uno que tengas libres, respetando la correspondencia.
En Marlin, tendrás que configurar la detección de filamento, con el pin del conector de final de carrera que utilices y la lógica de funcionamiento en función de si el sensor óptico es del tipo NC o NO.
  Responder
#3
[Imagen: GT2560-wiring.jpg]

Me temo que los finales de carrera de mi placa son de dos pines, solo dos....ahi tienes mi placa. De modo que lo mismo no se puede hacer esto en m i casi y debo usar si o si uno mecanico...
  Responder
#4
Tienes razón, olvidaba que la GT2560 es una excepción: la verdad es que el fabricante limitó mucho su conectividad por ahorrarse un par de conectores.
No hay ningún punto, aparte de en los conectores de pantalla y SD, con 5V para alimentar el sensor y supongo que los estarás utilizando los dos, así que tus dos únicas opciones son utilizar un interruptor normal de final de carrera o alimentar el sensor óptico con un módulo regulador de voltaje 12V a 5V (son muy baratos).

P.S.: También podrías tirar de soldador, pero supongo que no querrás meterte en eso.
  Responder
#5
Una cosa, he encontrado un modelo de alojamiento de sensor para un sensor fisico de los que tengo, y tengo las instrucciones de modificacion de marlin....me podeis confirmar que esto seria lo que debo modificar, teniendo en cuenta mi placa, y que solo es eso?
Conecto el pulsador en NO o en NC?

GRACIAS!

I used the Z+ Port, therefore you need to set FIL_RUNOUT_PIN in pins_RAMPS.h to 19:

#define FIL_RUNOUT_PIN          19
In Configuration.h search for the FILAMENT_RUNOUT_SENSOR define and comment it out. If you want to use the default pinout, also invert the logic of the sensor and disable the internal pullup:

#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
  #define FIL_RUNOUT_INVERTING true // 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
  Responder
#6
Hola, esos parámetros que indicas no son los que tiene actualmente Marlin es su última versión (2.1.x): te recomiendo que la utilices si no lo has hecho, pues ya que tienes que grabar de nuevo el firmware en la placa, no tiene sentido utilizar una versión más antigua.
Para configurar el sensor de filamento, solo tienes que descomentar la línea #define FILAMENT_RUNOUT_SENSOR, definir el parámetro FIL_RUNOUT_PIN con el pin donde lo hayas conectado (X-MAX=24, Y-MAX=28, Z-MAX=32) y ajustar la lógica de funcionamiento en el parámetro FIL_RUNOUT_STATE en función de como se conecte el interruptor, si como NO o como NC: dado que su estado será habitualmente con filamento presente, lo lógico es conectar el interruptor en NC, el estado del pin en LOW y mantener definido el parámetro FIL_RUNOUT_PULLUP.
  Responder
#7
Ok, de hecho, tengo una 2.1, pero ya vi una mas moderna y la tengo ya preparada para instalar, con las configuraciones de pasos y velocidades y dimensiones de mi pobre maquina grabadas.
Voy a ver si soy capaz de hacer esto, y os cuento.
GRACIAS COMPAÑERO!
  Responder
#8
Se me olvidó indicarte que conviene que configures a -1, el pin del final de carrera que utilices para el sensor de filamento (por ejemplo, en el archivo de pines de la placa pins_GT2560_REV_A.h).
Supongo que ya lo tendrás en cuenta pero, para utilizar de forma eficiente el sensor de filamento, debes configurar correctamente la pausa avanzada para el cambio de filamento (comando M600).
  Responder
#9
(21-02-2023, 01:03 PM)Simemart escribió: Se me olvidó indicarte que conviene que configures a -1, el pin del final de carrera que utilices para el sensor de filamento (por ejemplo, en el archivo de pines de la placa pins_GT2560_REV_A.h).
Supongo que ya lo tendrás en cuenta pero, para utilizar de forma eficiente el sensor de filamento, debes configurar correctamente la pausa avanzada para el cambio de filamento (comando M600).

Hola, gracias por todo. Te cuento.
Tenia escrito paso a paso segun iban pasandome cosas, pero se me ha cerrado la ventana y se ha ido todo a la mierda.
Lo primero, entiendo que el FIL_RUNOUT_PIN se configura en el mismo sitio que el resto, añadiendo el define ahi mismo, no en el archivo de pins (asi lo hice vaya)
Al compilar, me pedia habilitar si o si un par de funciones mas (la de park y la de pausa avanzada, si no recuerdo mal) que lo unico que he hecho ha sido habilitarlas sin tocar nada mas.
Con eso me ha dejado compilar, pero ahora veo ese ultimo mensaje tuyo....a ver, ten go esto:
/*
// Limit Switches
//
#define X_MIN_PIN                             22
#define X_MAX_PIN                             24
#define Y_MIN_PIN                             26
#define Y_MAX_PIN                             28    
#define Z_MIN_PIN                             30
#if ENABLED(BLTOUCH)
  #if MB(GT2560_REV_A_PLUS)
    #define SERVO0_PIN                        11
    #define Z_MAX_PIN                         32      //ENTIENDO QUE ME DICES PONER EL -1 AQUI, PERO TEN GO UN ELSE 3 LINEAS ABAJO
  #else
    #define SERVO0_PIN                        32
    #define Z_MAX_PIN                         -1
  #endif
#else
  #define Z_MAX_PIN                           32
#endif

*/
//
Pues eso, modifico en esa linea el zmax  de 32 a -1? y el resto entonces como queda, o se modifica abajo del todo?
Jo, gracias por andar ahi....
  Responder
#10
Sí, el parámetro FIL_RUNOUT_PIN se puede definir directamente en el archivo de configuración, junto con el resto de parámetros del FILAMENT_RUNOUT.
Realmente, la utilidad Filament Runout no te exige sí o sí activar la pausa avanzada, en este caso lo hace porque tienes definido en el parámetro FILAMENT_RUNOUT_SCRIPT, que se ejecute un comando M600 cuando se active el sensor y ese comando es precisamente el de cambio del filamento, que la necesita para realizarlo: no basta solo con activarla, pues en ella se especifican muchos parámetros que influyen a la hora del cambio de filamento y que tendrás que configurar de acuerdo al tipo de impulsor que tenga tu impresora.
Sobre lo de poner el pin utilizado a -1, precisamente has utilizado el conector del Z-MAX, cuya asignación en el archivo de pines es condicional, en función de si se tiene o no el BL-Touch activado y de la versión de la placa: si no tienes BL-Touch, debes poner a -1 la última asignación.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  CONSULTA problemas con sensor inductivo nallib150789 1 83 08-03-2023, 05:27 PM
Último mensaje: Simemart
  sensor de final de filamento Tass3D 1 155 19-11-2022, 04:47 PM
Último mensaje: Simemart
  problemas con sensor de filamento homer32 1 579 08-08-2022, 12:17 AM
Último mensaje: Etimoe
  Sensor filamento infrarrojo de PRUSA y MKS TFT3.5 error tras parada Mafer 4 603 12-10-2021, 03:32 PM
Último mensaje: Mafer
  Sensor capacitivo en SKR pro v1.2 roa122 4 971 04-05-2021, 05:52 PM
Último mensaje: Simemart