Autolevel, paso a paso (I): cambiar el firmware.
Continúo con el tutorial que comencé en el post anterior, viendo una parte fundamental del autolevel: el sensor.
¿Qué sensor utilizo?
Lo primero que hay que hacer es decidir qué tipo de sensor vamos a utilizar.
A grandes rasgos, los sensores se dividen en dos tipos: de proximidad y de contacto.
Los primeros detectan la cama a distancia, mientras que los segundos necesitan tocarla para realizar la detección. Lógicamente, estos últimos son algo más complejos, ya que tienen que implementar un sistema para desplegar la sonda de contacto antes de medir y para retraerla una vez hecha la medición, ya que sino esta entraría en contacto con la pieza durante la impresión.
De este tipo son los BLTouch y similares. No voy a tratarlos ya que no los he usado y no he estudiado sus características, pero los que estéis interesados en este tipo de sensor, en este post tenéis mucha información.
Los de proximidad pueden ser de muchos tipos, pero los que más se utilizan en las impresoras 3D suelen ser dos: inductivos o capacitivos.
La diferencia entre ellos es el tipo de material que pueden detectar: los inductivos solo detectan metal, mientras que los capacitivos pueden detectar una gama más amplia, incluyendo vidrio y plásticos.
A efectos prácticos, los dos funcionan perfectamente, por lo que la decisión de usar uno u otro depende de sobre qué vamos a imprimir: si es sobre la cama directamente o con cinta, nos valen los dos; si vamos a poner un vidrio, por ejemplo, es conveniente poner uno capacitivo ya que, aunque hay algunos sensores inductivos que funcionan a través del vidrio, la mayoría no lo hacen.
En el apartado de conexionado, veremos los modelos más utilizados.
Colocación
Una vez hemos decidido que sensor utilizar, tenemos que fijarlo en el conjunto del extrusor, ya que tienen que moverse juntos. Naturalmente, habrá que implementar un soporte que se pueda anclar en algún punto de aquel, lo suficientemente robusto para que el sensor no se mueva una vez fijado en él.
Dos cosas hay que tener en cuenta: debemos procurar que el eje vertical que pasa por el centro del sensor, quede lo más cerca posible del eje vertical que pasa por el centro del agujero de la boquilla del extrusor y hay que colocarlo de forma que se pueda regular su distancia a la superficie a detectar.
Si no diseñamos nuestras propias piezas, en internet hay muchos modelos. Tendremos que buscar el que sirva para nuestro conjunto máquina-sensor y que mejor cumpla con las dos condiciones anteriores.
Conexionado
Este apartado y el de configuración, son los que más problemas pueden presentar.
A la hora del conexionado, hay que tener en cuenta dos aspectos: la alimentación del sensor y la forma en que entrega la señal de detección.
Veamos primero la alimentación.
Los sensores de proximidad, ya sean inductivos o capacitivos, se suelen conectar a la placa de la impresora de la forma más sencilla: sustituyendo al interruptor mecánico de fin de carrera del eje Z y utilizando su conector en la placa.
Esto presenta un problema: en los conectores de final de carrera solo hay 5V y no todos los sensores pueden trabajar con tan poco voltaje.
Además, saber si un sensor funciona o no directamente conectado al conector de fin de carrera, no es fácil sin probarlo. Externamente, los de un mismo modelo son todos iguales, ya que hay una infinidad de fabricantes para las mismas referencias. Pero la construcción interna varía mucho de unos a otros y unos sí funcionan y otros no.
Todos los sensores de proximidad que se venden para este fin, en sus características indican una corriente de funcionamiento superior a 5V. Normalmente, 6-36V o 10-30V. Pero, a pesar de ello, algunos pueden hacerlo solo con 5V.
Parece ser que el tipo SN04 es uno de ellos, a pesar de poner en sus características que hay que alimentarlo con entre 10V y 30V. Este es del tipo inductivo.
Entre los capacitivos, el más utilizado es el tipo LJC18A3-H-Z/BX, que, aunque he visto por ahí comentarios de que hay algunos que funcionan a 5V, a mí no me funcionaron ninguno de los dos que probé (de dos fabricantes distintos).
El conexionado de estos sensores (suponiendo que funcionen a 5V) es muy sencillo e incluso algunos ya traen colocado el conector. Todos los que conozco utilizan un convenio estándar de colores para los cables: marrón, negro y azul.
El marrón es el positivo de alimentación del sensor (+VCC), el azul el negativo (GND) y el negro el de señal.
La asignación de colores en el conector de la placa es el siguiente:
La señal es el otro aspecto a tener en cuenta.
Atendiendo a como entregan esa señal de activación, los sensores pueden ser de cuatro tipos: NPN-NO, NPN-NC, PNP-NO y PNP-NC.
Las siglas antes del guion, nos indican que tipo de señal da el sensor. Estos sensores son como interruptores electrónicos que, al activarse, conectan el cable de señal (negro) con uno de los otros dos (marrón o azul). Los NPN son los que lo hacen con el azul, los PNP los que lo hacen con el marrón.
Las siglas después del guion, indican el estado del sensor cuando está inactivo. El NO indica que está abierto (es decir, no da señal) y el NC que está cerrado (da señal).
Para las Anet se necesita un sensor del tipo NPN-NO, ya que la placa interpreta como activado el fin de carrera, cuando el pin de señal del conector se pone a 0V (GND).
En el caso de que nuestro sensor funcione con los 5V del conector, ya lo tenemos resuelto. Pero si no lo hace (y queremos usarlo de todas formas), tendremos que alimentarlo con un voltaje en su rango de funcionamiento.
En las placas Anet solo tenemos accesibles dos voltajes en CC: uno el ya mencionado de 5V y otro el general de 12V.
Por suerte, este último se encuentra dentro de los límites de todos los sensores, por lo que nos sirve perfectamente, salvo por un aspecto: cuando el sensor NPN-NO no está activado (no da señal), por el cable de señal da un voltaje ligeramente menor que el de alimentación, es decir, más cercano a los 12V con los que lo estamos alimentando, que a los 5V que admite la placa por el conector de fin de carrera.
Para solucionar esto, hay que implementar un divisor de voltaje que convierta los casi 12V que da el sensor en esas condiciones, en los 5V que soporta la placa.
La forma más simple y efectiva, es usar un diodo Zener como regulador de tensión. Para ello hay que conectarlo en polarización inversa. Es decir, con el cátodo a positivo y el ánodo a negativo.
El esquema de conexión sería este:
En los diodos Zener, el cátodo se indica con una raya en uno de sus extremos.
Una vez colocado y conectado el sensor, antes de seguir adelante, habrá que probar que funciona.
Para ello, colocaremos el carro del extrusor suficientemente alto para tener margen de maniobra y le daremos una orden de movimiento hacia abajo en el eje Z.
Colocando un objeto apropiado delante del sensor, este tiene que actuar como si fuese el interruptor de fin de carrera, deteniendo el avance.
Si no sucede así, apagaremos la impresora antes de que la boquilla choque con algo (para eso el margen de maniobra) y comprobaremos qué es lo que está mal.
Una vez tengamos colocado, conectado y funcionando el sensor, solo nos queda regular su altura. Para ello, deberemos tener la superficie de impresión tal y como la vayamos a usar.
Todos los sensores tienen una sensibilidad que fija la distancia máxima de detección. En algunos esta sensibilidad es variable y se puede ajustar mediante un potenciómetro. Si nuestro sensor es de sensibilidad regulable, conviene regularlo para obtener la distancia máxima posible de detección.
Para medirla, movemos el eje Z con la mano hasta que se active el sensor (enciende la luz) y medimos la altura a la que queda de la superficie detectada.
Una solución sencilla para la regulación de la altura del sensor, es dejarlo a una tal que cuando se active, la boquilla del extrusor se encuentre a una distancia de la cama igual a la mitad de la distancia de detección aproximadamente.
Tal que así:
Con ello, nos aseguramos que el sensor no choque con nada durante la impresión y que, en caso de fallo en la detección (que ocurre algunas veces, no tengo claro el porqué), tengamos algo de margen para parar todo antes de que choque la boquilla con la cama.
Una vez colocado probaremos, moviendo a mano el eje Z, que la luz del sensor se activa en el lugar adecuado.
Un punto importante a tener en cuenta es que, una vez montado el sensor y hasta que se configure adecuadamente el firmware, hay que tener cuidado de no hacer home al eje Z, ya que podría hacerlo con el sensor fuera de la cama y al no activarse el fin de carrera, podrían producirse daños.
Con esto quedaría lista la parte física, quedando solo ya la configuración del firmware para que controle correctamente el sensor y el proceso de autolevel.
Esto lo veremos en el próximo y último capítulo de este tutorial.
Autolevel, paso a paso (III): configuración.
Continúo con el tutorial que comencé en el post anterior, viendo una parte fundamental del autolevel: el sensor.
¿Qué sensor utilizo?
Lo primero que hay que hacer es decidir qué tipo de sensor vamos a utilizar.
A grandes rasgos, los sensores se dividen en dos tipos: de proximidad y de contacto.
Los primeros detectan la cama a distancia, mientras que los segundos necesitan tocarla para realizar la detección. Lógicamente, estos últimos son algo más complejos, ya que tienen que implementar un sistema para desplegar la sonda de contacto antes de medir y para retraerla una vez hecha la medición, ya que sino esta entraría en contacto con la pieza durante la impresión.
De este tipo son los BLTouch y similares. No voy a tratarlos ya que no los he usado y no he estudiado sus características, pero los que estéis interesados en este tipo de sensor, en este post tenéis mucha información.
Los de proximidad pueden ser de muchos tipos, pero los que más se utilizan en las impresoras 3D suelen ser dos: inductivos o capacitivos.
La diferencia entre ellos es el tipo de material que pueden detectar: los inductivos solo detectan metal, mientras que los capacitivos pueden detectar una gama más amplia, incluyendo vidrio y plásticos.
A efectos prácticos, los dos funcionan perfectamente, por lo que la decisión de usar uno u otro depende de sobre qué vamos a imprimir: si es sobre la cama directamente o con cinta, nos valen los dos; si vamos a poner un vidrio, por ejemplo, es conveniente poner uno capacitivo ya que, aunque hay algunos sensores inductivos que funcionan a través del vidrio, la mayoría no lo hacen.
En el apartado de conexionado, veremos los modelos más utilizados.
Colocación
Una vez hemos decidido que sensor utilizar, tenemos que fijarlo en el conjunto del extrusor, ya que tienen que moverse juntos. Naturalmente, habrá que implementar un soporte que se pueda anclar en algún punto de aquel, lo suficientemente robusto para que el sensor no se mueva una vez fijado en él.
Dos cosas hay que tener en cuenta: debemos procurar que el eje vertical que pasa por el centro del sensor, quede lo más cerca posible del eje vertical que pasa por el centro del agujero de la boquilla del extrusor y hay que colocarlo de forma que se pueda regular su distancia a la superficie a detectar.
Si no diseñamos nuestras propias piezas, en internet hay muchos modelos. Tendremos que buscar el que sirva para nuestro conjunto máquina-sensor y que mejor cumpla con las dos condiciones anteriores.
Conexionado
Este apartado y el de configuración, son los que más problemas pueden presentar.
A la hora del conexionado, hay que tener en cuenta dos aspectos: la alimentación del sensor y la forma en que entrega la señal de detección.
Veamos primero la alimentación.
Los sensores de proximidad, ya sean inductivos o capacitivos, se suelen conectar a la placa de la impresora de la forma más sencilla: sustituyendo al interruptor mecánico de fin de carrera del eje Z y utilizando su conector en la placa.
Esto presenta un problema: en los conectores de final de carrera solo hay 5V y no todos los sensores pueden trabajar con tan poco voltaje.
Además, saber si un sensor funciona o no directamente conectado al conector de fin de carrera, no es fácil sin probarlo. Externamente, los de un mismo modelo son todos iguales, ya que hay una infinidad de fabricantes para las mismas referencias. Pero la construcción interna varía mucho de unos a otros y unos sí funcionan y otros no.
Todos los sensores de proximidad que se venden para este fin, en sus características indican una corriente de funcionamiento superior a 5V. Normalmente, 6-36V o 10-30V. Pero, a pesar de ello, algunos pueden hacerlo solo con 5V.
Parece ser que el tipo SN04 es uno de ellos, a pesar de poner en sus características que hay que alimentarlo con entre 10V y 30V. Este es del tipo inductivo.
Entre los capacitivos, el más utilizado es el tipo LJC18A3-H-Z/BX, que, aunque he visto por ahí comentarios de que hay algunos que funcionan a 5V, a mí no me funcionaron ninguno de los dos que probé (de dos fabricantes distintos).
El conexionado de estos sensores (suponiendo que funcionen a 5V) es muy sencillo e incluso algunos ya traen colocado el conector. Todos los que conozco utilizan un convenio estándar de colores para los cables: marrón, negro y azul.
El marrón es el positivo de alimentación del sensor (+VCC), el azul el negativo (GND) y el negro el de señal.
La asignación de colores en el conector de la placa es el siguiente:
La señal es el otro aspecto a tener en cuenta.
Atendiendo a como entregan esa señal de activación, los sensores pueden ser de cuatro tipos: NPN-NO, NPN-NC, PNP-NO y PNP-NC.
Las siglas antes del guion, nos indican que tipo de señal da el sensor. Estos sensores son como interruptores electrónicos que, al activarse, conectan el cable de señal (negro) con uno de los otros dos (marrón o azul). Los NPN son los que lo hacen con el azul, los PNP los que lo hacen con el marrón.
Las siglas después del guion, indican el estado del sensor cuando está inactivo. El NO indica que está abierto (es decir, no da señal) y el NC que está cerrado (da señal).
Para las Anet se necesita un sensor del tipo NPN-NO, ya que la placa interpreta como activado el fin de carrera, cuando el pin de señal del conector se pone a 0V (GND).
En el caso de que nuestro sensor funcione con los 5V del conector, ya lo tenemos resuelto. Pero si no lo hace (y queremos usarlo de todas formas), tendremos que alimentarlo con un voltaje en su rango de funcionamiento.
En las placas Anet solo tenemos accesibles dos voltajes en CC: uno el ya mencionado de 5V y otro el general de 12V.
Por suerte, este último se encuentra dentro de los límites de todos los sensores, por lo que nos sirve perfectamente, salvo por un aspecto: cuando el sensor NPN-NO no está activado (no da señal), por el cable de señal da un voltaje ligeramente menor que el de alimentación, es decir, más cercano a los 12V con los que lo estamos alimentando, que a los 5V que admite la placa por el conector de fin de carrera.
Para solucionar esto, hay que implementar un divisor de voltaje que convierta los casi 12V que da el sensor en esas condiciones, en los 5V que soporta la placa.
La forma más simple y efectiva, es usar un diodo Zener como regulador de tensión. Para ello hay que conectarlo en polarización inversa. Es decir, con el cátodo a positivo y el ánodo a negativo.
El esquema de conexión sería este:
En los diodos Zener, el cátodo se indica con una raya en uno de sus extremos.
Una vez colocado y conectado el sensor, antes de seguir adelante, habrá que probar que funciona.
Para ello, colocaremos el carro del extrusor suficientemente alto para tener margen de maniobra y le daremos una orden de movimiento hacia abajo en el eje Z.
Colocando un objeto apropiado delante del sensor, este tiene que actuar como si fuese el interruptor de fin de carrera, deteniendo el avance.
Si no sucede así, apagaremos la impresora antes de que la boquilla choque con algo (para eso el margen de maniobra) y comprobaremos qué es lo que está mal.
Una vez tengamos colocado, conectado y funcionando el sensor, solo nos queda regular su altura. Para ello, deberemos tener la superficie de impresión tal y como la vayamos a usar.
Todos los sensores tienen una sensibilidad que fija la distancia máxima de detección. En algunos esta sensibilidad es variable y se puede ajustar mediante un potenciómetro. Si nuestro sensor es de sensibilidad regulable, conviene regularlo para obtener la distancia máxima posible de detección.
Para medirla, movemos el eje Z con la mano hasta que se active el sensor (enciende la luz) y medimos la altura a la que queda de la superficie detectada.
Una solución sencilla para la regulación de la altura del sensor, es dejarlo a una tal que cuando se active, la boquilla del extrusor se encuentre a una distancia de la cama igual a la mitad de la distancia de detección aproximadamente.
Tal que así:
Con ello, nos aseguramos que el sensor no choque con nada durante la impresión y que, en caso de fallo en la detección (que ocurre algunas veces, no tengo claro el porqué), tengamos algo de margen para parar todo antes de que choque la boquilla con la cama.
Una vez colocado probaremos, moviendo a mano el eje Z, que la luz del sensor se activa en el lugar adecuado.
Un punto importante a tener en cuenta es que, una vez montado el sensor y hasta que se configure adecuadamente el firmware, hay que tener cuidado de no hacer home al eje Z, ya que podría hacerlo con el sensor fuera de la cama y al no activarse el fin de carrera, podrían producirse daños.
Con esto quedaría lista la parte física, quedando solo ya la configuración del firmware para que controle correctamente el sensor y el proceso de autolevel.
Esto lo veremos en el próximo y último capítulo de este tutorial.
Autolevel, paso a paso (III): configuración.