Control para tu impresora 3D con pantalla OLED y lector de tarjetas SD

En esta entrada, vamos a fabricar un “Full Smart Controller” para tu impresora 3D, Usando una pantalla OLED de 0,96″ , un encoder digital, lector de tarjetas SD y botón con parada de emergencia, compatible con las placas RAMPS y la última versión del software Marlin, la 1.1.0 RC6.

He decidido fabricar el encoder, ya que no dispongo del encoder rotatorio  y si del material para hacerlo digital, pero se podría sustituir sin problema por la versión mecánica.

IMG_1375

Voy a explicar paso a paso el montaje y la configuración del Marlin para que funcione correctamente, voy a dar por hecho que sabéis programar las placas arduino y los micros Attiny85, si no podéis visitar los enlaces para aprender a hacerlo.

Para este proyecto, vamos a necesitar… (los enlaces son informativos)

Ahora que ya tenemos todo el material, vamos a parar a explicar el principio de funcionamiento del encoder, y como substituir el mecánico por uno digital…

El encoder giratorio, genera un código binario de 2 bits, cada vez que hace “clic”  , por lo tanto tenemos cuatro opciones de código : 01 – 11 – 10 – 00, de esta manera, si sabemos que código tenemos actualmente, sabremos cual es el siguiente , dependiendo hacia donde lo giremos, así podremos determinar el sentido de giro, para avanzar o retroceder.

Captura de pantalla 2016-05-25 a las 13.21.39

 

Siguiendo este concepto, he creado un programa muy sencillo para el microcontrolador Attiny85 ( también podríamos usar una arduino pro mini, pero es mas cara), que en cada pulsación incrementa o disminuye un contador con valor de 1 a 4, y en cada valor del contador he asignado un código binario usando dos salidas digitales, de esta manera podemos simular el sentido de giro del encoder mecánico, usando dos pulsadores.

Podéis descargar el Sketch para el micro Attiny desde AQUI.

Una vez programado, podeis conectar los pulsadores ( siguiendo el esquema de debajo) y colocar dos led con una resistencia de 470 Ohm para comprobar que funciona, y que el código de salida cambia cada vez que pulsamos.

Lo siguiente que tenemos que hacer, es montar el esquema siguiente, con todos los componentes y conectarlo a la placa RAMPS de nuestra impresora 3D

encoder_bb

 

Para identificar los pines en la RAMPS, podéis seguir el siguiente esquema:

 

 

Ahora ya tenemos el esquema montado y conectado a nuestra placa RAMPS, ya podemos configurar Marlin, para que funcione de forma correcta:

En primer lugar, descargaremos la última versión y la abriremos con el IDE de arduino.

Empezaremos por el archivo “configuration.h” pinchando en la pestaña correspondiente.

Captura de pantalla 2016-05-25 a las 14.25.12

Ahora bajaremos a la linea 815 y descontaremos la linea: #define SDSUPPORT

Captura de pantalla 2016-05-25 a las 14.26.40

Con esto activaremos el lector de tarjetas SD…

Seguidamente, bajaremos a la linea 887 y descomentaremos la linea : #define ULTIPANEL

Captura de pantalla 2016-05-25 a las 14.28.29

Acabamos de activar el encoder…

Ahora para finalizar con este archivo, bajaremos a la linea 1015 y descomentaremos la linea: #define U8GLIB_SSD1306

Captura de pantalla 2016-05-25 a las 14.30.06

Ya hemos activado la librería para ver los datos en la pantalla OLED…

Para terminar, tenemos que activar el pin para la parada de emergencia, para ello abriremos el archivo pins_RAMPS_14.h

Captura de pantalla 2016-05-25 a las 14.33.37

Bajaremos a la linea 94 y AÑADIREMOS la linea: #define KILL_PIN         41

Solo tenemos que cargar el firmware a nuestra placa arduino MEGA y disfrutar del control con nuestro nuevo sistema.

Una vez terminado podemos imprimir una caja y meterlo todo …

Captura de pantalla 2016-05-25 a las 14.41.06

podéis descargar el archivo STL desde AQUI.

 

Y unas fotos del proyecto terminado…

 

IMG_1376

IMG_1377

IMG_1378

IMG_1379

 

DonacionPayPal

Anuncios

3 Respuestas a “Control para tu impresora 3D con pantalla OLED y lector de tarjetas SD

  1. Hola,
    Quería hacer este control para una impresora de mi hijo, pero me encuentro con una dificultad.
    El LCD que tengo de 0.96 pulgadas, tiene 7 pines en lugar de cuatro y no sé como conectarlo, porque los nombres no coinciden.
    Los pines se llaman:
    GND, VCC, D0, D1, RES, DC, CS.
    Serias tan amable de indicarme como conectarlo?
    Saludos cordiales.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s