03-03-2015, 12:20 PM
Sensor capacitivo:
El sensor capacitivo nos permitirá una autocalibración de nuestra impresora 3D antes de cada impresión (agregando un G29 al gcode, ya sea manualmente o con los start code de cura por ej.)
Modifica en tiempo real la altura del eje Z para conseguir una impresión uniforme, siendo recomendable tener la cama igualmente nivelada para hacer que trabajen menos los motores.
El sensor consta de 3 cables, marrón, azul y negro, en configuración NPN
Marrón: positivo 6-36 V
Azul: Negativo
Negro: Señal
Para trabajar con el sensor y evitar daños al mismo como a nuestra controladora, utilizaremos un optoacoplador para aislar la señal.
El esquemático del circuito sería el siguiente:
PCB:
Componentes:
Opto PC817
Resistencia 4K7
Resistencia 10K
Bornas de conexión (Opcional)
Como veis, el circuito de protección es muy sencillo y se puede montar en una protoboard perforada de forma sencilla. De todas formas, para los que no tengáis dominado el estaño o queráis simplificar la instalación, vienen en camino unas placas para hacerlo plug&play.
La instalación hardware pasaría por conectar simplemente siguiendo el esquemático, alimentar con 12V y conectarlo al endstop de la ramps.
A todos los efectos actúa como un final de carrera, por lo que se configura igual que los sistemas actuales con microservo.
Abrimos Marlin y comprobamos en el archivo Configuration.h que tengamos descomentadas estas líneas.
define ENDSTOPPULLUP_ZMIN
Comprobamos un par de líneas mas abajo que el endstop esta configurado como inverting=true
const bool Z_MIN_ENDSTOP_INVERTING = TRUE;
Activamos el autolevel, desactivado por defecto, quitando la doble barra:
#define ENABLE_AUTO_BED_LEVELING
Dejamos en grid, ya que funciona muy bien y es la mejor documentada.
En este punto, nos conectaremos a la impresora para comprobar el valor de los puntos en los que haremos los z probe.
Movemos el hotend hasta la posición A y tomamos la medida de A y b con el comando M114 y lo anotamos.
Configurar offset sensor en X e Y:
Justo debajo de la línea en la que activamos el autolevel, tenemos los puntos de probe, los cuales rellenaremos con los valores obtenidos anteriormente de A y B. Los valores Back y Front podemos dejarlos tal cual, a no ser que queramos que los haga más hacia el interior ya sea por tamaño de cama, pinzas, soportes etc...
#define LEFT_PROBE_BED_POSITION 15 // medida A
#define RIGHT_PROBE_BED_POSITION 170 // medida B
#define BACK_PROBE_BED_POSITION 180
#define FRONT_PROBE_BED_POSITION 20
Por último, tendremos que medir la distancia en X e Y desde el centro del sensor hasta nuestro hotend, y modificar los 2 primeros parámetros del offset con la medida en mm de nuestra montura. Valores en negativo si lo montáis a la izquierda del hotend, y positivos si es a la derecha.
#define X_PROBE_OFFSET_FROM_EXTRUDER -25
#define Y_PROBE_OFFSET_FROM_EXTRUDER -29
Subimos el firmware modificado a nuestra placa.
Comprobamos los endstop con M119 y veremos que están los endstop en open (o vuestra configuración actual). Si interrumpimos el sensor con cualquier objeto y volvemos a enviar el M119 debería de aparecer en close. Si habéis llegado a este punto, pasaremos a la calibración.
A partir de este punto, podréis seguir el vídeo de Fmalpartida a partir del minuto 7:35, ya que lo veréis de una manera mucho mas gráfica.
Quedamos a la espera de vuestras dudas o sugerencias para ampliar el mini tutorial, aunque como podréis comprobar una vez realizado es bastante mas complicado de explicar que de realizar