sábado, 18 de marzo de 2017

Construyendo una impresora 3D. 5: Un poco de teoría.

Mientras esperamos a que lleguen las piezas que hayamos pedido a China, veamos un poco de teoría. 

¿Cómo funciona esto de la impresión 3d? 

El firmware de la impresora (el programa que lleva la placa controladora) sólo sabe seguir las instrucciones que se le envían. Estas instrucciones consisten principalmente en comandos de "muévete a tal posición", "calienta a tal temperatura, "extruye tanto filaento", y poco más. 

Estos comandos se envían en un lenguaje llamado "G Code". Tanto si vamos a imprimir por USB como si usamos una tarjeta SD, lo que se envía es g-code.  

Uno podría pensar que para descargar de internet un modelo para imprimir, tendría que buscar un archivo con ese g-code pero no es así. El g-code es muy específico de cada impresora porque incluye indicaciones de velocidades, temperaturas y hasta coordenadas que pueden ser diferentes. Por ejemplo en una impresora delta, el cero está en el centro mientras que en una cartesiana está en una esquina.  

Para crear el g-code, debemos usar un programa específico para ello. Hay varios disponibles pero los más usuales son cura y slic3r que son gratis. A demás tenemos simplify 3d pero es bastante caro. La función de estos programas es leer una imagen en 3D y "cortarla en rodajas".
Estos programas son los que deciden de qué manera se va a mover el pico extrusor de la impresora, cuánto plástico va a inyectar y cuánto, etc. Deberemos configurar de qué tamaño es el pico de la impresora y qué diámetro tiene el filamento. De esa anera podrá calcular cuántos milímetros de filamento tendrá que extruir en cada caso. 

A demás, deberemos decidir qué clase de relleno queremos que tenga nuestra impresión, ya que la mayoría de las veces no necesitamos un 100% de plástico sino que es preferible dejar huecos. Los programas tienen un montón de configuraciones diferentes por ejemplo para indicar la forma del relleno (cuadrados, triángulos, hexágonos, pirámides, tetraedros), la velocidad a la que se imprimirá la pared exterior y la interior, de qué grosor serán las paredes, etc. etc. 

La experiencia nos dirá qué es lo más conveniente en cada caso. 

Una vez que el programa ha hecho su trabajo nos entregará un archivo en formato g-code. Veamos un ejemplo de cómo queda el archivo que se genera:

;FLAVOR:RepRap;TIME:5305;Generated with Cura_SteamEngine 2.3.1M190 S60M104 S207M109 S207G21 ;metric valuesG90 ;absolute positioningM82 ;set extruder to absolute modeM107 ;start with the fan offG28 ;Home all axes (max endstops)G1 Z15.0 F9000 ;move the platform down 15mmG92 E0 ;zero the extruded lengthG1 F200 E3 ;extrude 3mm of feed stockG92 E0 ;zero the extruded length againG1 F9000;Put printing message on LCD screenM117 Printing...;LAYER_COUNT:393;LAYER:0M107G1 F2100 E-3.5G1 Z21G0 F2700 X-15.609 Y5.824 Z1.3;TYPE:SKIRTG1 Z.3G1 F2100 E0.8315G1 F1800 X-16.347 Y3.238 E0.96299G1 X-16.469 Y2.646 E0.99254G1 X-16.605 Y1.579 E1.04513G1 X-16.636 Y1.147 E1.06631G1 X-16.666 Y-.485 E1.14611G1 X-16.634 Y-1.072 E1.17485G1 X-16.36 Y-3.191 E1.27932G1 X-16.243 Y-3.763 E1.30786G1 X-15.804 Y-5.32 E1.38696G1 X-15.6 Y-5.881 E1.41614G1 X-14.716 Y-7.839 E1.52118G1 X-14.425 Y-8.371 E1.55083G1 X-13.554 Y-9.713 E1.62905G1 X-13.268 Y-10.101 E1.65262G1 X-12.237 Y-11.334 E1.7312G1 X-11.812 Y-11.77 E1.76097

¿Y de donde sacamos los modelos 3D?

Tenemos dos maneras de obtener modelso 3D: o los descargamos ya preparados de internet o los hacemos nosotros. Y dado que la impresión 3D está de moda, hay varios sitios especializados en esto. 

Algunas páginas venden los modelos y a veces muy caros, y otros lo tienen todo gratis. El más conocido de estos sitios es thingiverse pero hay varios más. Algunos no están especializados en impresión 3D sino simplemente en modelos 3D que pueden usarse para otras cosas. Algunos sitios que he encontrado son:


Finalmente, tenemos un buscador especializado en modelos 3D: Buscador: http://www.yeggi.com/

Programas como cura son capaces de leer varios formatos de imagenes 3D pero el más usual es el .stl así que ese es el que descargaremos generalmente:


Para crear nuestros propios modelos

Los archivos stl se pueden crear con muchas aplicaciones pero yo voy a recomendar dos que son gratuitas y funcionan muy bien. Para hacer figuras para ingeniería, basadas en formas geométricas y donde se requiere exactitud mi recomendación es FreeCad. Para aprender a usarlo hay unos excelentes cursos de Obijuan en youtube que recomiendo mucho.

Por ejemplo, en nuestras primeras pruebas con la impresora, nos va a venir muy bien imprimir un cubo de 10x10mm, el cual es muy fácil de hacer con FreeCad.

Cuando se trata de figuras más artísticas, lo que se requiere es un software más orientado a dibujos que a planos. Para este fin Blender 3D es una aplicación excelente aunque está orientado a artistas de gráficos digitales, películas, etc. Es muy profesional y no es fácil aprender a usarlo pero hay un montón de tutoriales en youtube de todos los niveles que queramos.


¿Y el firmware para la impresora?

Existen varias alternativas de firmware que podemos usar, aunque las más usuales suelen ser Repetier y Marlin. Yo personalmente después de investigar un poco, decidí usar Marlin pero no hay inconveniente en probar uno y otro y decidir. Lo podemos cambiar cuantas veces queramos.

En cualquier caso, no se trata simplemente de descargarlo y usarlo porque tenemos que configurar las características de nuestra impresora, desde el diseño (delta/cartesiana/polar) hasta la electrónica que tengamos. Una cosa importantísima es indicar los tamaños exactos de la impresora con precisión de décimas de milímetro. Los ajustes finos tendremos que hacerlos por prueba y error. 

Nos falta el hardware, entonces

Existen placas dedicadas especialmente para impresoras 3D pero, como todo lo específico, suelen ser comparativamente caras y para colmo lo que tienen esas placas es casi lo mismo que podemos hacer con un arduino mega y una placa ramps, así que eso es lo que usaremos en este proyecto. El arduino mega es una placa de diseño libre utilizada en muchísimos proyectos. Se consiguen originales y "clones" muy fácilmente y muy baratas así que ese será "el cerebro" de esta impresora. 


Para conectar fácilmente todos los sencsores y placas necesarias, le agregaremos una placa Ramps 1.4. Esta placa incluye muy poca electrónica activa. Sólo tres mosfets para controlar los calentadores y nada más. El resto son sólo capacitores y conectores.


A esta placa tenemos que agregarle los controladores poara los motores paso a paso. Es compatible con varios tipos de controladores pero yo utilizaré los basados en A4988 porque son más baratos.

Atención con estos controladores: llevan un pre-set para regular la corriente de los motores. Más adelante explicaré cómo se regulan porque existen documentos en internet que dan un cálculo que sólo es válido para algunas placas y no para otras.

Nos está quedando la pantalla. Se puede construir la impresora sin ella pero no son tan caras y realmente vale la pena. Yo he utilizado un módulo muy barato pero que funciona bien tomando los recaudos correspondientes, el "reprapdiscount full graphics smart controller".


Este módulo contiene tanto la pantalla como un lector de tarjetas SD, así que es todo lo que necesitamos. Se consigue muy barato aunque tiene un inconveniente: el acceso es bastante lento. Para que no provoque problemas durante la impresión hay que habilitar un parámetro en el Marlin, que evita actualizar la pantalla si no tiene tiempo para ello. Es un pequeño inconveniente porque así no vemos en pantalla la posición y temperatura actuales pero normalmente eso no es necesario.

Yo encontré un kit que incluía todas estas placas por un precio menor que el que costaría comprarlas por separado así que eso es lo que compré.


La gran mayoría de las impresoras 3D tiene unas placas con estas mismas funcionalidades pero integrando todo en una sola plaqueta.

Con respecto a la fuente, sirve cualquier fuente de PC pero como yo no tenía una disponible, compré una destinada a luces led. Es una fuenta de 12V y 180W que son más que suficientes para lo que va a necesitar la impresora.


(continuará... espero que pronto)


No hay comentarios:

Publicar un comentario