Como calibrar una impresora 3d y no morir en el intento

Veremos algunos aspectos que deberíamos tener en cuenta a la hora de buscar piezas impresas en 3D que sean file-dignas con el diseño original


En este pequeño post   vamos   a  ver  un resumen  de como calibrar   nuestra impresora 3d para  obtener piezas   impresas  fieles a  las medidas  en las que fueron diseñadas.

Existen muchos tipos  de ajuste en una impresora 3d  todos  ellos muy importantes  a la hora de intentar obtener buenos resultados.

 

Nosotros hemos resumido los ajustes  en cinco grandes bloques:

1-Ajustes iniciales

Son todos los ajustes de los fines de carrera , poleas  y correas  que dispone una impresora 3d.

Normalmente estos ya vienen hechos de fabrica   o bien documentados en los  manuales de la impresora .

 

 

Suelen ir  destinados a   las pruebas iniciales  paro que luego la impresora   pueda crear una pieza correctamente por lo que normalmente  estos ajustes se hacen una vez  y no se vuelven a hacer  a no ser que hay alguna anomalía como por ejemplo desalineación de capas a la hora de imprimir  ocasionadas por una mala fijación de la polea del eje x .

2-Ajuste del eje z

Es necesario ajustar el eje z que es por el que se mueve el propio extrusor  para que al desplazarse el extrusor no se produzcan variaciones de altura entre la punta de este y la cama .

Para empezar, se debe comprobar que la altura en ambos lados sea la misma, midiendo  con un calibre desde un punto de la guía del eje z a un punto fijo de la impresora 3D. Para igualarla en las Prusas ( que llevan dos motores en el eje Z) , se gira manualmente el motor del lado que se necesita ajustar, sujetando del otro lado para que no gire  de modo que finalmente las distancias para ambos ejes coincidan .

Si no hacemos esto, y debido a que los motores del eje z están conectados en paralelo, al hacer girar uno, generaría electricidad y giraría el otro.

2-Ajustes de la alineación  de la cama

Este es el paso mas conocido por todo el mundo para el ajuste de una impresora 3d, dada la frecuencia con la que se debe realizar

Lo ideal es que la cama este perfectamente alineada de modo que la punta del noozzle este a la mitad del diámetro de salida, lo que significa que si  la impresora 3D tiene un nozzle de 0.6mm, la altura ideal sería 0.3mm.

Si queremos ser purista para que esta distancia sea exacta se puede utilizar una galga de .3 ,   pero como no se suele disponer  de este  en su ausencia  se puede usar un folio de papel doblado en este caso por la mitad

Debido a que la mayoría de las impresoras 3D utilizan un nozzle de 0.4mm, se  suele emplear un folio de papel de 80g que tiene un espesor aproximado de 0.2mm.

Realmente,  como vemos en la imagen el ajuste de los 4 tornillos de la cama es mucho mas sencillo  si usamos esquineras impresas  en 3D para evitar el ajuste de las palometas por bajo  pues en su lugar se hace por arriba consiguiendo  con ello muchas mas precisión.

 

El ajuste de la cama es bien sencillo:

      • Introducimos el folio entre la punta del extrusor y la base, y hacemos bajar el eje z hasta la altura del “home”(<Prepare-AutoHome> ) .
      • Debemos ajustar ahora los cuatro tornillos de la cama de modo que el folio en las 4 esquinas no esté completamente libre, ni quede tirante, si no que cuando se note rozar el folio de papel con el nozzle (boquilla).
      • Para ajustar esta distancia se gira el tornillo hacia un sentido o hacia el otro, en función de si se necesita subir o bajar la base.

No olvidar que este proceso tendrá que realizarse en las proximidades de los tornillos de nivelación de la propia base las veces necesarias hasta conseguir la altura ideal y normalmente se debe repetir cada cierto numero de impresiones.

 

3-Ajustes del desplazamiento

El flow  o flujo es la cantidad (volumen para ser más precisos) de filamento que transcurre por el extrusor en función de los parámetros de impresión seleccionados para realizar un modelo. El cálculo del flow lo realiza automáticamente el fw de la impresora en función de los Pasos/mm que establece el fabricante  .

Para  una correcta calibración es  necesario comprobar que este valor es correcto: es decir si  las medidas a recorrer por los ejes x,y,z corresponden con los desplazamientos  de la propia impresora  por lo que lo interesante es comprobar  cuántos Pasos/mm utiliza su impresora 3D para comprobar si son consistentes  con los movimientos reales que realiza.

      • Esto está reflejado en el fw de Marlin   dirigiéndonos a “Control>Motion>Xsteps/mm.” .
      • Para comprobar  que es consistente se  hacen dos marcas en el filamento, separadas 20 mm y 25 mm del inicio del extrusor.
      • Se mueve el filamento 20 mm desde la pantalla de control en el apartado de movimiento.
      • A continuación, se comprueba si el desplazamiento que realiza el motor del extrusor es el correcto.
      • En caso de no ser así, se mide con un calibre el error para poder corregirlo y con todos los datos anteriores y utilizando la siguiente fórmula obtenemos los Pasos/mm correctos para el motor del extrusor.

Fórmula Pasos/mm del extrusor

      • Al finalizar el cálculo, sólo hay que modificar los Pasos/mm en la pantalla de control “Control>Motion>Xsteps/mm” y guardar los nuevos datos.

 

 

 

4-Ajustes del  Flujo

Todos los programas  de laminación 3D disponen de un apartado donde modificar la cantidad de flujo (ratio del flujo) ya que las densidades cambian entre los distintos materiales que existen en el mundo de la impresión 3D FDM/FFF .

Este ratio es muy importante a la hora de conseguir tanto el acabado superficial deseado como las dimensiones reales del diseño CAD, porque en caso contrario, será muy complicada la fabricación de piezas que van encajadas entre sí o conectadas con otras.

Antes de explicar el ajuste del parámetro de ratio de flujo, hay que comprobar siempre el estado del nozzle, que no presente un desgaste abusivo de la punta ni que tenga suciedad tanto interna como externamente.

Asimismo debemos comprobar que la temperatura de extrusión sea la recomendada por el fabricante del filamento, porque en caso de no cumplir esta recomendación, la calibración del flujo será ineficaz y nunca se conseguirá un buen resultado.

Por último repetimos una vez que la base de la cama debe estar bien nivelada y calibrada para que el modelo impreso no presente desviaciones dimensionales en el eje paralelo a la base de impresión (eje z).

Para ajustar el parámetro del ratio de flujo  hay al menos dos métodos:

METODO1

Podemos  realizar la prueba del cubo para ajustar el parámetro del ratio de flujo. Esta prueba consiste en imprimir un cubo hueco y sin la cara superior, para comprobar que el espesor de las caras laterales se corresponde con las del diseño.

Estos son los pasos  a seguir:

1- Podemos usar un cubo de calibración del flow, por ejemplo un cubo con un espesor de cara lateral de 0.80 mm, diseñado por 3D_MaxMaker que se puede descargar en Thingiverse. Los parámetros de impresión son: nozzle de 0.40 mm, ancho de capa 0.80 mm (para crear dos capas exteriores y que la medida sea más precisa) y ratio del flujo del 100 %.

2- Si con ratio del flujo al 100 % el cubo queda sobredimensionado al utilizar PLA con ratio de flujo del 100 % (recomendado 90 % para PLA) hemos obtenido una medida de 0.88 mm, claramente sobredimensionada. Para corregir esta desviación aplicaremos la siguiente fórmula:

Fórmula para calcular el flujo necesario para cualquier material

Obtenido el nuevo ratio de flujo (90 %) sólo queda modificar el parámetro en el software de laminación 3D que se utilice, en nuestro caso el Cura 3D.

3- Si la pieza no es correcta modificar el ratio del flujo al 90 % y volveremos imprimir el cubo para comprobar que las medidas obtenidas con el nuevo ratio del flujo son las correctas.

 

 

MÉTODO 2

La solución consiste en controlar el ‘flujo’ del material extruido haciendo algunas pruebas y midiendo con cualquier tipo de herramienta de calibración.Podemos  realizar la prueba del cilindro   y anilla para ajustar el parámetro del ratio de flujo.

Esta prueba consiste en imprimir un cilindro  y una corona para comprobar que el cilindro encaja perfectamente dentro del anillo   para comprobar que el espesor de las caras laterales se corresponde con las del diseño.

En realidad   este método es aplicable para fabricar piezas de ensamblaje  reduciendo el flujo de algunas piezas para evitar el ‘crecimiento horizontal‘, siendo  la mejor solución  ajustar la ‘expansión horizontal’ para lograr un buen ajuste en las piezas que requieren ensamblaje.

Si no  tenemos  una herramienta de calibración  esta puede ser  una solución ( un cilindro simple y un anillo que debe encajar).

Estos son los pasos a seguir:

      1. Use esta pieza como prueba para ajustar su configuración al imprimir piezas de ensamblaje.
      2. Ahora   haremos  una impresión fácil y rápida. Imprimir -> Prueba ->
      3. Ajustaremos nuevamente   el flujo    y volveremos a imprimir la pieza
      4. Repetiremos  nuevamente hasta obtener el valor de flujo correcto.
      5. Ojo ,reducir demasiado flujo por debajo del 75% de aprox puede causar problemas de subextrusión. Combine el control de flujo con el parámetro ‘Expansión horizontal’ para obtener el resultado que necesita.

 

Como hemos comentado antes, la densidad de los materiales que se utilizan en la impresión 3D no es la misma, con lo que para cada material y fabricante es recomendable hacer este ajuste pues cada filamento de color / marca / fabricante imprime mejor con diferentes flujos.

Al realizar este simple proceso de corrección todas las impresiones 3D que se realicen ganarán tanto en calidad superficial como en proporcionalidad dimensional.

En resumen, el flow se trata de unos de los parámetros más olvidados en la impresión 3D FDM siendo este uno de los más importantes para lograr piezas exitosas y fieles al diseño  original.

Software de impresion 3d

Slic3r es un motor de corte 3D de software libre para impresoras 3D. Genera código G a partir de archivos CAD en 3D. Una vez terminado, se envía un archivo de código G apropiado para la producción de la pieza u objeto modelado en 3D a la impresora 3D para la fabricación de un objeto físico.


Para todo el mundo que empieza en el mundo de la impresión 3d  se le abren cuatro opciones  principalmente:

      1. El propio software  del fabricante
      2. Cura de Ultimaker
      3. Slicr3r
      4. Simplify 3d ( de pago)
      5. etc

Ante este gran abanico ,mejor por simplicidad  y garantía de éxito  lo mas recomendables es usar el propio sw recomendado  por el  fabricante de la impresora 3d ( por ejemplo, para las impresoras del fabricante Geeteech es el Easyprint)  para  familiariarizarse con los aspectos básicos del laminado 3D, luego  idealmente  empezar usar  el sw de Cura,pero  quizás si quiere tener más control sobre sus impresiones 3D  (!y sin pasar por caja!) , puede comenzar a usar Slic3r  y  una vez que tenga experiencia, podrá decidir si quiere comprar un programa se supone profesional como es Simplify3D, el cual  brindará mayor precisión en el trabajo con soportes.

Si nos vamos  por tanto a las opciones gratuitas si comparamos Slicr3r  con  Cura  en la mayoría  de los aspectos  Cura supera   a Slic3r:

      • Cura 3D permite rotar las piezas con el ratón manualmente y a su gusto, algo que Slic3r debe mejorar.
      • El acabado final de las capas son un poco mejores cuando se hace el laminado con Cura que con Slic3r.
      • Cura permite crear mejores soportes que Slic3r y permite trabajar con voladizos (overhangs) más extremos que Slic3r.
      • Cura permite crear piezas con impermeabilidad más consistente que Slic3r.
      • Es más fácil usar Cura que Slic3r, ya que permite trabajar con el modelo de forma simple.
      • A veces  se tarda más en lograr los ajustes correctos con Slic3r.
      • Cura ofrece actualizaciones de forma más periódica que Slic3r
      •  Slic3r tiene  limitaciones para piezas superiores a 10Mb donde podemos tener problemas al hacer el código ya que puede quedar el programa sin responder. Si se observa que el programa se cierra inesperadamente, o calcula y a la mitad se cierra, seguramente es problema del .stl o su gran tamaño.
      •  Con Slicr se recomienda trabajar con piezas corregidas con el software netfabb basic y con piezas de tamaño pequeño.

 

No obstante ,  el programa  Slic3r  en algunos puntos  sobresale frente a Cura, por ejemplo:

        • Cuenta con muchas opciones de configuración que permiten un ajuste fino y un control total. Mientras que los usuarios que no tienen mucha experiencia regularmente necesitan sólo algunas opciones, el software Slic3r es utilizado principalmente por usuarios con conocimientos avanzados.
        • El código base de Slic3r incluye más de 1000 pruebas de unidad y regresión, recopiladas en 6 años de desarrollo.
        • Slic3r permite crear una primera capa inferior perfectamente plana y fácil de remover de la cama, sin necesidad de modificar tantos parámetros de la primera capa( quizas Cura engine se mejore en versiones siguintes).
        • Algunos piensan que la interfaz de usuario de Slic3r suele ser más amigable que el  de Cura .
        • Slic3r  permite un mayor control manual sobre la impresión de las piezas
        • Este sw tiene funciones muy potentes como la detección de puentes (bridge detection)  respecto a las que ofrece Cura.
        • Un ejemplo de las ventajas de usar Slic3r es el corte de grandes piezas o diseños de gran tamaño. Al colocar una pieza muy grande en Slic3r, esta se corta en varios trozos diferentes para que entren en tu impresora 3D y luego las exportas en stl. Esta actividad la realiza sin mayores complicaciones.
        • Hay muchos programas para impresora 3D que pueden hacer esto, pero no existe ninguno que lo haga de manera tan eficaz y sencilla.

 

Como   en otras entradas  hemos tratado tanto del sw de  Cura como del propio EasyPrint  vamos a ver en este post los parámetros esenciales del programa Slic3r, así como algunos trucos y consejos que pueden hacer que una impresión reluzca o que falle ya  que en caso  de decidirnos   por  Slicr3r, su correcto uso es importante, ya que de él dependen la mayoría de parámetros de nuestra maquina y extrusor, así como las capacidades de la misma .Por ejemplo, definiendo alturas de capa, velocidades, soportes, temperaturas, etc de nuestra futura pieza, de estos dependerán también los tiempos de producción y el consumo de material.  Incluso toda esta parametrizacion es tan importante que cada parámetro puede diferir de la maquina, aun siendo un mismo modelo o base, así que  es mejor  ajustar los parámetros en entornos no muy alejados de los orientativos, pero no ceñirse a los mismos.

 

 

Descarga e instalación del sw:

1.Para ello abriremos el navegador de internet, y nos dirigiremos hacia la pagina web siguiente: http://slic3r.org/

2.A la edición de este manual, la versión más reciente es la 0.9.7. Al entrar en la web clicaremos en la pestaña de” download now”.

Seleccionamos el sistema operativo y descargamos el paquete necesario para hacer funcionar el programa tanto en 32bit (versión x86) como 64bit(x64).

3.Empezara la descarga del paquete seleccionado en un archivo comprimido (.rar) Al finalizar dicha descarga descomprimiremos el contenido del archivo al lugar donde deseemos tener el programa(p.ej el escritorio).

4.Slic3r es un programa autoejecutable (.exe) y no requiere de instalación previa antes de su utilización. Una vez descomprimido el contenido en el escritorio, seleccionaremos el archivo Slic3r.exe

5.La primera vez que ejecutemos el  software nos aparecerá el configuration wizard.

 

 

Configuración inicial:

 

1.Nos aparece la primera imagen del menú inicial de configuración  tras instalar el programa  y ejecutarlo por primera vez.Si no apareciese el menú inicial de configuración, en Slic3r ir al menú desplegable de  Help/Configuration Wizard

2.Pulsamos en “Next”.   En esta pestaña seleccionaremos el firmware que controla nuestra máquina,el cual por defecto tanto  en la PRUSA 3D como en la BCN 3D   se carga el firmware Marlin asi que pulsamos en “Next”.

3.En esta pestaña aparece el tamaño de nuestra base. Introducimos las dimensiones de la base en mm. Tanto la PRUSA 3D como la BCN 3D utilizan diferentes bases pero del mismo tamaño en x,(por defecto es de 200x200mm para ambas máquinas) .Cuando tengamos las medidas introducidas, pulsamos en Next

4.En esta pestaña aparece el parámetro de diámetro de la boquilla. Se debe introducir el diámetro de la boquilla en mm.  Ojo porque según  la impresora este puede variar ( por ejemplo en la Prusa  i3 W es de 0.3mm)   Cuando tengamos el tamaño introducido, pulsamos Next.

5.En este apartado debemos introducir el diámetro del filamento . Se recomienda consultar la documentación del fabricante del filamento . Posteriormente pulsamos en Next.

6.Ahora se debe introducir la temperatura de la boquilla, el cual como sabemos puede diferir del material que utilizamos .De nuevo es interesante revisar la información que debería ofrecer el fabricante del filamento . Una vez introducidos, pulsamos en Next. Estos  son algunos  valores orientativos:

Material

Temperatura ºC

Pla no translucido

190‐195

Pla translucido

165

ABS

210‐230

                    7.En la ventana siguiente aparece la configuración de la temperatura de la cama caliente . Al finalizar pulsamos en Next. Estos  son algunos  valores orientativos:

Material

Temperatura ºC

Pla no translucido

55‐60 con kapton, 70 sin kapton

Pla translucido

55‐60 con kapton, 70 sin kapton

ABS

90 con kapton, 110 sin kapton

Hemos finalizado la configuración básica del programa .Si fuese necesario , puede cambiar algunos parámetros extras para poder empezar a imprimir  en el  apartado de Configuración Avanzada.

 

Veamos ahora  como p rsonalizar  las difrentes opciones de configuracion en Settings->Print Settings

 

Print settings-Layers and perimeters:

Nombre del parámetro

Función y valor óptimo

Layer height:

Este parámetro nos configura la altura de capa. A mayor altura de capa, menos tiempo y menos gasto de material, pero menos resolución. Para el PLA  de 3mm se recomienda utilizar alturas de capa que van desde los 0,25mm a los 0,4mm.Para el PLA 1,75mm se pueden reducir un 20% estas alturas.

En ABS se puede llegar a reducir la altura de capa a 0,15mm o inferior. Lo recomendable es entre 0,15mm i 0,3mm. No se recomienda trabajar con ABS a 0,4mm, dado que es mucha altura para este tipo de material.

First layer height:

Este parámetro configura la altura de la primera capa de la impresión. Se expresa en % o en mm. Normalmente se recomienda que la primera capa sea inferior en altura, así se asegura una mejor adhesión a ella. Por defecto para uso normal se puede dejar en 100% o se puede introducir entre un 90%‐100%

Perimeters(mínimum):

En este apartado se configura el número de perímetros que ha de tener la pieza. Hay que tener en cuenta que Slic3r modifica este número a más perímetros si detecta que hacer infill en algunas zonas es difícil. Por defecto se puede dejar perfectamente a 3 perímetros. Si se desea un poco mas de estructura externa de la pieza se puede aumentar a 4.

Randomize starting points:

Esta opción obliga a Slic3r a empezar cada capa en un lado o posición diferente de la pieza. Así se elimina el exceso de rebaba si siempre se empieza en el mismo punto cada capa. Se recomienda su uso.

Generate extra perimeters when needed:

Esta opción permite a Slic3r crear más perímetros en espacios donde hacer relleno o infill es complicado. Se recomienda su uso

Solid Layers(Top/Bottom)

Aquí seleccionamos el número de capas solidas que queremos que nuestra pieza tenga. Si por ejemplo escogemos 3/3, nuestra pieza tendrá al inicio 3 capas solidas i por la parte superior 3 capas solidas. La función de estas capas solidas es dar una base y acabado solido y duro. Si se seleccionan más capas solidas se gastará más material pero nuestra pieza tendrá más robustez y dureza cuando trabaje por las capas inferior y superior.

Print settings-Infill:

Infill tiene su traducción directa al castellano como  “relleno”. En este apartado se trabajan todos los parámetros del relleno de las piezas.

Nombre del parámetro

Función y valor óptimo

Fill density:

En este parámetro tenemos que introducir el % de relleno que deseamos. Para piezas meramente decorativas se puede optar por un 40%(0.4). Para piezas con resistencia mecánica se recomienda un 70% o más(0.6)

Se recomienda trabajar alrededor del 60% para la mayoría de piezas. Hay que tener en cuenta que a menor porcentaje de infill menos material se consumirá y más rápida ira la construcción, a cambio obtendremos menos resistencia y piezas más huecas.

A más % de relleno, mas material se consume y más lenta va la construcción, a cambio obtenemos una pieza mucho mas solida. Datos curiosos: Para hacer piezas completamente huecas utilizaremos un infill del 0%, y para obtener piezas solidas 100%.

Fill pattern:

Aquí se configura el patrón de relleno con el que se desea rellenar toda la pieza a excepción de la capa superior e inferior. Tenemos diferentes maneras de rellenar según la geometría de nuestra pieza. Se recomiendan los infill rectilíneo para piezas normales y concéntrico para geometrías con círculos o circulares.

Top/bottom fill patern:

Aquí se configura el patrón de relleno con el que se desea rellenar la capa superior e inferior.

Tenemos diferentes maneras de rellenar según la geometría de nuestra pieza. Se recomiendan los infill rectilíneo para piezas normales y concéntrico para geometrías con círculos o circulares.

Infill every:

Este parámetro nos define cada cuantas capas es necesario hacer infill. Si seleccionamos 2 tendremos capas de relleno cada

2 capas. Se recomienda altamente el uso de 1 para este parámetro, es decir que cada capa genere relleno.

Solid infill every:

Este parámetro define cada cuantas capas se hace un relleno solido. Se recomienda un 0 para este parámetro si se buscan piezas con resistencia normal o media, y un valor diferente si se desea una resistencia extra. Hay que tener en cuenta que una capa solida consume más material y tiempo que una pieza normal. Si introducimos un 5, cada 5 capas tendremos una solida, tardará un poco más y consumirá más material, pero tendremos más resistencia.

Fill angle:

Aquí podemos configurar el ángulo con el que deseamos obtener el infill. Si introducimos un 45, nuestro patrón de relleno trazará las líneas a 45º. Se puede introducir casi cualquier valor, pero 45º es óptimo para la programación del software.

Solid infill threshold área:

Este parámetro obliga a Slic3r a generar infill solido para aéreas menores del valor especificado. Se recomienda el valor por defecto (70).

Only retract when crossing perimeters:

Esta función, si esta activada, hace la función “retract” del extrusor solo en el momento que dos perímetros se cruzan entre ellos. Por defecto y su valor óptimo es desactivado.

Print settings-Speed:

En este apartado se tratan las velocidades de impresión de todas las partes características de una pieza.

Nombre del parámetro:

Función y valor óptimo:

Perimeters:

Aquí se configura la velocidad de impresión de los perímetros. Para impresiones con acabados buenos se recomiendan velocidades de perímetros alrededor de los 40mm/s. Se puede llegar de forma estable a velocidades de 70mm/s .

Para pruebas de velocidad las maquinas tienen el límite en los 250mm/s

Small perimeters:

Este parámetro solo afecta a perímetros con radios inferiores a 6,5mm. Para estos radios se escogen velocidades más lentas que los perímetros normales. Así se pueden trazar de forma correcta.

De no ser así estos perímetros nunca quedarían bien definidos. Se recomiendan velocidades de alrededor de un 20% más lentas que para los perímetros estándar. Se pueden expresar en %(seria optimo un 80%) o en mm/s que se tiene que calcular. Si se observa que los perímetros pequeños no salen correctamente, reducir la velocidad de los mismos.

External perimeters:

Este parámetro solo afecta a los perímetros más externos de la pieza, es decir, los que nosotros vemos. Se puede modificar dicha velocidad para hacer que vaya más lento y que su acabado visual sea mejor. Se recomienda de un 90% a un 100%

Infill:

Aquí se determina la velocidad de relleno. Para piezas convencionales sin geometrías raras se recomienda un 150% de la velocidad de los perímetros. Para piezas raras o complejas, introducir un 120% o 130% de la velocidad de los perímetros. Se tiene que introducir en mm/s

Solid Infill:

Es la velocidad del infill de las capas solidas. Se recomienda dejar este valor al mismo que el infill normal.

Top solid infill:

Este parámetro hace referencia a la velocidad del infill de la capa superior. Se acostumbra a reducir el valor de la velocidad para obtener un mejor acabado visual de la misma. Se recomienda poner un 10% o un 20% menos que la velocidad del solid infill.

Support material:

Velocidad a la que se imprimen las estructuras del material de soporte. Se puede dejar el valor óptimo, y si se observa que al realizar las estructuras no son óptimas, reducir la velocidad a 40mm/s o 50mm/s.

Bridges:

La velocidad con la que se fabrican los puentes. El software slic3r interpreta los puentes como partes donde debe cerrar o unir dos partes de material separadas por un trozo al aire. Se acostumbra a realizar los puentes a una velocidad rápida para eliminar la posible forma de catenaria del material. Con 70mm/s suele funcionar correctamente. Si se observa falta de material, reducir la velocidad. Si se observa el material en forma de catenaria, aumentar la velocidad. Se recomienda que las geometrías no tengan puentes muy largos ya que si no es inevitable tener la geometría de catenaria. Si se quiere mejorar el acabado de los puentes se puede utilizar un ventilador de capa*( Ver manual : Instalación de un ventilador de capa)

Gap fill:

Parámetro que controla la velocidad de relleno en zonas de pequeño infill. Este infill característico de las zonas pequeñas es característico por crear un zigzag pequeño. Se recomiendan valores bajos dado que a altas velocidades de este parámetro pueden aparecer vibraciones excesivas y resonancias que nos harían perder definición.  Entre 10mm/s y 20mm/s

Travel:

El parámetro de travel nos define la velocidad en vacío de la maquina. Este parámetro se puede aumentar hasta 150mm/s con seguridad. Es la velocidad de traslado cuando la maquina no imprime.

First layer speed:

Este parámetro nos permite definir un % de velocidad para la primera capa. Esto nos ayuda a poder hacer que la primera capa vaya, por ejemplo, un 30% más lenta que de normal. Al ir la capa más lenta, nos aseguramos una adhesión perfecta y un mejor “primer” acabado.  Se recomienda un 50% a un 70%. Si se observa que la primera capa no se pega correctamente a causa de la alta velocidad, reducir hasta un 30%.

Print settings-Skirt and brim:

Cuando empezamos una impresión siempre habremos observado como un  borde alrededor delimitando la zona de impresión parámetro que Slic3r lo conoce como Skirt. Esta delimitación se utiliza para la limpieza de la boquilla antes de la impresión. Más vueltas siempre mejor, dado que estará más limpia la boquilla antes de empezar.

En las nuevas funciones de Slic3r también ha aparecido otro parámetro especial que nos crea un borde extra en las piezas para que no se despeguen. Lo llamamos Brim.

Nombre del parámetro:

Función y valor óptimo:

Loops:

Este parámetro nos configura el número de vueltas alrededor delimitando el área de impresión que se realizaran. Para piezas que ocupen más del  50% de la superficie de impresión se recomiendan 2 vueltas. Para piezas pequeñas este número debe aumentarse considerablemente, alrededor de 4 o 5. A más vueltas, más limpia la boquilla.

Distance from object:

Esto nos defina la distancia o separación del skirt de las piezas de la impresión. El valor de 6mm es óptimo si se modifican el número de vueltas, aumentándolo para piezas pequeñas. Si no se modifican las vueltas, este número ha de aumentarse para piezas pequeñas hasta 12 mm si la base lo permite.

Skirt height:

Esto nos determina la altura del skirt, expresado en número de capas que tiene que tener en altura. Se recomienda que solo realice el skirt en la primera capa, así que dejamos un 1

Minimum extrusión Length:

Este parámetro contrarresta los anteriores. Aquí solo tenemos que definir la cantidad de material que consideramos que debe extruir antes de empezar la pieza en mm y el calcula el numero de loops que debe hacer. Si están los anteriores bien configurados, no se utiliza.

Brim width:

Aquí configuraremos que distancia han de tener los bordes extras del Brim para que obtengamos una adhesión extra. Recordad que estos mini pies después deben ser retirados. Se recomienda de 1mm a 3mm.  Se introduce un 0 si la pieza es plana y su adhesión ya es buena de por sí.

Print settings-Suport material:

Las estructuras de soporte son usadas para  fabricar piezas con voladizos o elementos flotantes que de no ser por estos nunca se podria imprimir. Siempre hay que configurar este parámetro pensando en que posteriormente debe ser retirado mediante un cúter o algún elemento cortante.

Estas son las opciones disponibles:

  • Generate support material: Activando esta opción le permitirá a Slic3r decidir si tiene que hacer soportes o no y donde hacerlos.  Slic3r crea el mismo y calcula dichos soportes. Si tenemos piezas con elementos flotantes o voladizos, se recomienda activarlo. Recomendamos que tenga esta opción activada.
  • Overhang threshold: Este parámetro nos permite configurar a partir de que ángulo de pared Slic3r creará soportes . Aquí se puede definir a partir de cuantos grados queremos que Slic3r cree los soportes. Normalmente funcionara bien con un valor de 45 grados en la mayoría de los casos.
  • Enforce support for the first: Se puede forzar a que se genere material soporte durante las capas que necesitara, independientemente de los ángulos que haga la pieza. Esto es muy útil para piezas que tienen una base muy pequeña o que cuentan con poca estabilidad.
  • Raft layers: El raft es una “cama” de material que se hace para que repose la pieza, normalmente para mejorar la adherencia o para piezas donde la capa inferior no es plana. Aquí puede definir cuantas capas de Raft quiere o necesita hacer.
  • Pattern: Nos permite escoger el patrón de andamio para los soportes. Se recomiendan la nueva generación de estructura de panel de abeja si se requieren crear planos flotantes, dado que es más resistente, pero más difícil de retirar. Sino, como valor correcto como norma general es el rectilíneo.Por tanto en esta opción puede elegir el tipo de estructura de los soportes. Para piezas con puentes grandes o voladizos se recomienda la estructura de panal de abeja porque es mucho más resistente; para las piezas restantes con el relleno rectilíneo es suficiente y más fácil de retirar.
  • Pattern spacing: Aquí se define el espacio entre las líneas de la estructura del soporte, mientras menos distancia más rígido es el soporte pero tendrá más dificultad para retirarlo. Los valores frecuentes son de 2 a 4 mm en función de la pieza.
  • Pattern angle: Permite definir el ángulo de rotación entre las distintas capas horizontales del soporte, es decir define el ángulo con el que quiere realizarse el andamio. Como el soporte lo va a retirar después, no es un parámetro que influya demasiado. Este se puede configurar entre 0 o 45 grados indistintamente. En la mayoría de casos no tiene mucho sentido su modificación, así que se recomienda dejarlo en 0º
  • Interface layers: Aquí puedes definir cómo hacer la unión entre el soporte y la pieza. En este parámetro se definen cuántas capas de unión deseas colocar. Para las piezas en las que quieras un acabado especialmente bueno, puedes escoger unas capas de unión diferentes para poder desprender mucho mejor el soporte de la pieza sin perder acabado superficial.
  • Interface pattern spacing: Aquí puedes marcar la distancia entre las líneas del relleno de esta parte de unión entre la pieza y el relleno.

Print settings-Output options:

La mayoría de los parámetros están en función experimental, y para impresiones cotidianas no tienen utilidad alguna. Para los curiosos, ahí va su explicación.

Nombre del parámetro:

Función y (valor óptimo en fase beta)

Complete individual objects:

Esta opción es una novedad que tiene su sentido teórico pero poca facilidad de aplicación. Nos permite realizar impresiones secuenciales, es decir, imprimir toda una pieza de golpe, después ir a otra pieza y así sucesivamente. La idea es de mejorar la perdida de material si una pieza falla y todas las demás se ven afectadas. El problema aparece en la segunda o n piezas siguientes a la primera: las colisiones con el extrusor en el momento de imprimir la segunda pieza con la primera.

Extruder clearance :

Esto nos permite definir que radio de espacio tiene el extrusor para trabajar en impresión secuencial sin que tenga impactos con otras piezas.

Verbose G‐code:

Si activamos esta opción nos explicara cada paso del g‐code comentado al lado. Esto nos es practico si queremos estudiar cuales son los pasos de la lógica del software, ya que si abrimos el g‐code con el notepad sabremos que significa cada línea.

No se recomienda si se va a imprimir desde tarjeta SD dado que el archivo g‐code ocupara más espacio de lo normal.

Output filename format:

Formato del nombre de los g‐code. Por defecto esta introducido que nos salga con el mismo nombre que el .stl. Recomiendo no cambiar dicha opción, dado que es muy práctica.

Post‐processing scripts:

Totalmente para desarrollo. Nos permite incorporar nuestros scripts para post‐trabajar el gcode.

Print settings-Multiple Extruders:

Trabajar con múltiples cabezales nos puede permitir imprimir en varios colores y con diversos materiales en una sola pieza.

En este apartado se nos permite escoger cada extrusor (en caso de utilizar múltiples cabezales) hará cada parte de la pieza.

Print-Settings -Advanced

El programa Slic3r se estructura en bastantes opciones que tienen que ver el espesor del extrusor, el Overlap , el Flow   así como otras opciones ( XY Size Compensation    y Resolution).

De esta parte solo se puede decir una cosa, cuidado. Son parámetros nuevos y la mayoría en fase bastante verde que no nos aportaran de momento nada nuevo. Se suele  recomendar corregir el parámetro de extrusión width‐ First Layer‐ y ponerlo de 200% a 100%.

 

Ahora vemos otras opciones de Settings-Filaments

 

Filament Settings:

Aquí introduciremos los parámetros del material que utilizamos. La mayoría se configuran con el wizard inicial, pero por si no lo has seguido puedes volver a configurarlo por aquí. Filament:

Nombre del parámetro:

Función y valor óptimo:

Diameter:

Se debe introducir el diámetro de nuestro material. Si se observa que no saca suficiente material en el momento de la impresión debemos observar que realmente hemos puesto bien este valor, y en su defecto corregir o poner un diámetro más pequeño. Para los materiales de 3mm de RepRapBCN se encuentra como óptimo 2.93mm

Extrusion multiplier:

El ratio de vueltas que da el engranaje pequeño del motor respecto el grande. Este parámetro está definido ya en el firmware de la maquina, así que nunca se debe modificar por Slic3r: Dejar el valor en 1.

Extruder (Temperature)

Nos permite escoger la temperatura de fusión del material y a la cual fijaremos nuestro extrusor. Se recomienda ir al apartado 6 de Configuración inicial de este manual. Para el valor de primera capa utilizar el mismo valor que en el resto.

Bed(Temperature)

En este apartado se define la temperatura de la base. Para su valor óptimo mirar punto 7 de configuración inicial de este manual. Se recomienda siempre la 1 capa subir 5 grados del resto de las capas.

Cooling:

En este apartado se deben incluir los parámetros para el ventilador de capa que se sitúa en el carro del extrusor y dirige aire a la capa y la pieza. Así se consigue que la pieza se solidifique antes y, al hacer una capa superior, no haya errores de que la capa inferior no esté dura.

Debe estar marcado el enable cooling, aunque no tengamos ventilador instalado para que funcionen los parámetros indicados más abajo.

Así, de este apartado solo comentar que, independientemente de tener ventilador o no, podemos configurar:

Nombre del parámetro:

Función y valor óptimo.

Slow down if layer print is below :

Su función es disminuir la velocidad en la impresión de la capa si el tiempo de impresión de esta es menor del tiempo indicado. Esta función es muy útil si tenemos piezas muy pequeñas o cúpulas. Se recomienda un valor de 5 segundos.

Min print speed:

Velocidad mínima de impresión. Juntamente con el parámetro superior, cuando la capa es más rápida que el tiempo indicado, se reduce a la velocidad indicada aquí. El valor de

10mm/s es correcto.

Printer settings:

Aquí se definen la mayoría de parámetros característicos de la maquina.

General:

Parámetros del tamaño de la base y firmware.

Nombre del parámetro:

Función y valor óptimo

Bed Size:

Definimos el tamaño de la cama o base. Este parámetro ya ha sido definido en el configuration wizard, para las maquinas PRUSA 3D y BCN 3D es 200x200mm

Print center:

Aquí escogemos donde centraremos la impresión. Por defecto y como óptimo es una impresión centrada en la base, por lo tanto 100x100mm

Z offset

Este parámetro nos define la altura inicial que tiene la impresión. Si la máquina está bien calibrada a 1 decima el extrusor de la base este parámetro tiene que ser 0. Si por ejemplo observamos que la impresión sale muy levantada de la base, este parámetro nos permitirá definir un Z origen más bajo.

G‐code flavor:

Seleccionamos nuestro firmware.  Para  las impresoras de RepRapBCN es Marlin.

Use relative distances:

Siempre tener la opción desactivada.

Extruders

Definimos el numero de cabezales que tiene nuestra maquina. Por defecto será 1.

Custom G­code:

En esta parte no hay parámetros propiamente dichos. Aquí se pueden configurar g‐codes para que se ejecutan al inicio de la impresión y al final de la misma. Se ha añadido el código que se apague el bed al finalizar la impresión: Simplemente se trata de tener lo mismo que hay en pantalla.

Extruder 1:

Aquí se definen parámetros de los extrusores. Como se ha introducido que solo tenemos un extrusor, solo nos aparecen valores para un solo extrusor.

Nombre del parámetro:

Función y valor óptimo:

Nozzle diameter:

El diámetro del agujero de nuestra boquilla. Para el Greg’s Extruder, Miniextruder o hotend V5 el agujero es de 0,5mm

Extruder offset:

Solo si tenemos un doble extrusor o mas cabezales. Se tratará con más detalle en el futuro manual del doble extrusor.

Length(Retract):

Este parámetro hace referencia a la cantidad de material que el extrusor tira hacia atrás cuando el mismo pasa de imprimir a dejar de imprimir y moverse. Para el Greg’s Extruder este parámetro es 2mm.

Lift Z:

Aquí introducimos la altura que sube el extrusor cuando cambia de pieza que está imprimiendo. Para piezas con una pequeña base o muy altas o con mucho detalle se recomienda usar 0,3mm. Para impresiones normales 0,2 o 0,15mm es óptimo.

Speed:

Velocidad a la que el extrusor hace el retract del material. Se recomienda un valor alto para hacer el vacio de la boquilla rápido y limpio. Una velocidad entre 30mm/s y 50mm/s es correcta.

Extra Length on restart:

Dejar este parámetro siempre a 0. Nos indica la cantidad de material que el extrusor debe tirar de nuevo cuando cambia de pieza y hace retract. Este parámetro no funciona bien y acostumbra a sacar excesivo material al nuevo inicio. Dejar en 0 .

Minimum travel after retraction:

Este parámetro nos indica el recorrido mínimo que el extrusor tiene que hacer para detectar que tiene que hacer todas las funciones comentadas anteriormente o hacer un retract en términos técnicos.  Si por ejemplo introducimos 5mm, si el extrusor debe desplazarse 6mm hará retract y si debe desplazarse 4 no hará

nada diferente. Es recomendable situar este parámetro entre 5 y 7 mm

Length2

Parámetro solo utilizado en doble extrusor. Más detalle en el futuro manual de doble extrusor.

Extra length2

Parámetro solo utilizado en doble extrusor. Más detalle en el futuro manual de doble extrusor.

Guardar y cargar configuraciones:

Una vez realizada una configuración, estas se pueden guardar para volverlas a utilizar en un futuro.

La forma más sencilla de hacerlo es dirigiéndonos al menú file‐export config. Ahora la guardamos y le ponemos un nombre que nos sirva para identificarla en un futuro y nos pueda servir para más piezas.

Para cargar una configuración ya guardada anteriormente, menú file‐import config.

Finalizar la creación del g­code:

Una vez ya definidos todos los parámetros, cargado la pieza .stl y ajustado todo lo necesario, solo nos queda darle en la pestaña plater‐ export g‐code y esperar a la creación del código.

Ejemplo  de uso

  • Identifique  el modelo de impresora a usar. Algunas empresas proveen los perfiles de impresión recomendados para iniciar en Slic3r de sus modelos de impresoras, las cuales son descargables en línea. Esta opción facilita las cosas, pero siempre tendrá que ajustar parámetros de acuerdo a cada caso. Si los fabricantes de su impresora no brindan esta opción, se puede comenzar con la configuración inicial provista en el manual de Slic3r y luego probar con los diferentes parámetros hasta llegar a su configuración ideal.
  • Añada el archivo de configuración recomendada para Slic3r de su impresora  en “File / Load Config”. Normalmente vienen en 3 tipos: alta, media y baja: esto se refiere a la calidad de la impresión.Si su impresora no posee perfiles de impresión para Slic3r, entonces procede a configurar los parámetros estándar de acuerdo al manual.
  • Desde la pestaña “Plater” pulsa en “Add”  y elija el archivo (.stl * .obj, * .amf * .pov) a importar o arrastra el archivo a la base de impresión. Una vez importado verás la proyección 3D sobre la base.
  • Modifique los parámetros para definir cuántas copias del modelo deseas imprimir a la vez o añade otros archivos para imprimir diferentes objetos en 3D a la vez.
  • Cuando las piezas tengan la posición deseada pulsa en “Export G-Code…”. Escojae el nombre del archivo y listo. Ya tendrá un archivo G-Code correctamente configurado y listo para enviarlo a la impresora 3D.

Introdución a OpenScad

Verresmo un chuletario con la sintaxis de openscad, sin duda uno de los mejores programas de diseño 3d gratuitos


Para el modelado en 3D,  la famosa aplicación web de AutoDesk  Tinkercad debería ayudarnos ante cualquier diseño inicial  de una manera  más sencilla con el proceso de modelado 3D, tanto es así, que incluso los modeladores experimentados lo hacen  explorando las formas de Tinkercad,  pues curiosamente, una herramienta “simple” como Tinkercad puede utilizarse para crear formas complejas.

Lógicamente detrás del interfaz gráfico de  Tinkercad  ( o de cualquier otro programa de modelado 3D),   está el código que procesa las manipulaciones del diseñador , de modo que a medida que arrastra y suelta formas, los algoritmos complejos están trabajando para calcular cómo aparecerán los gráficos en la pantalla  y generando las formas 3d.

 

OpenSad   en efecto surgen ante el dilema de que  también debería ser posible crear figuras geométricas directamente mediante código, de un  modo  mucho mas eficiente   y conciso   que el  proceso de diseño que cualquier otra herramienta gráfica como por ejemplo Tinkercad.

A diferencia de Tinkercad, OpenSCAD no es una aplicación basada en la web , de  modo que si esta interesado  en la herramienta   tendrá que descargarla  gratuitamente   desde http://www.openscad.org  ( está disponible para Windows, Mac OS X y Linux)   e instalarla en su PC para usarla.

La interfaz OpenSCAD es sencilla  en comparación con Tinkercad ,constando  de sólo tres ventanas, siendo la ventana de la izquierda un editor de texto utilizado para ingresar el código.

panel

Con OpenSCAD pues está diseñando código, pero no se preocupe: escribir código con Open SCAD es muy similar a la sintaxis  HTML  siendo el código para crear objetos  autoexplicativo   ,por ejemplo, el comando del cubo crea cubos, el comando de esfera crea esferas y el comando del cilindro crea cilindros, etc.

Probablemente haya alrededor de 60 comandos en OpenSCAD , algunos de ellos que enunciaremos mas abajo, muchos de los cuales  permitirán manipular la geometría ,  como por ejemplo mover, rotar, escalar y usar operaciones booleanas para combinar objetos, pero no se preocupe porque  para modelar  la mayoría de la piezas solo necesitaran  unos pocos comandos como  son union , difference, translate, cylinder o  cube.

Es facil deducir que en base a esos , es decir mediante secuencias de comandos en el lenguaje de OpenSCAD , se utilizaran para crear modelos en 2D o 3D.

Este script es una lista de formato libre de instrucciones de acción.

 object(); variable = value;
operator() action();
operator()
{ action();
action();
}
operator()
operator()
{ action();
action();
}
operator()
{ operator()
action();
operator()
{ action();
action();
}
}

Como vemos  en el ejemplo  hay  objetos, acciones  y operadores para construir una pieza:

  • Objetos:Los objetos son los bloques de construcción de modelos, creados por primitivas 2D y 3D. Los objetos terminan en un punto y coma ‘;’.
  • Acciones: Instrucciones de acción  que incluyen la creación de objetos usando las primitivas y asignar valores a variables. Las instrucciones de acción también terminan en un punto y coma ‘;’.
  • Operadores :Los operadores o las transformaciones, modifican la ubicación, color y otras propiedades de los objetos. Los operadores usen llaves ‘{}’ cuando su ámbito de aplicación abarca más de una acción. Más de un operador puede usarse para la misma acción o grupo de acciones. Varios operadores se procesan de derecha a izquierda, es decir, el más cercano a la acción del operador se procesa primero. Los operadores no terminan en punto y coma ‘;‘, pero la persona hacen acciones que contienen.

Por ultimo y no menos importante sobre todo para llevar las piezas modeladas al mundo real por ejemplo mediante impresion en 3d, as unidades en OpenSCAD son genéricas  de modo que no hay sistemas de medición en OpenSCAD, es decir , no hay designación para las unidades, y le corresponde al diseñador definir el tamaño del objeto al configurar el archivo antes de la impresión 3D.

 

A modo de resumen  vamos a ver de forma sintetica los entresijos del lenguaje OpenScad;

 

 

RESUMEN DE LAS FUNCIONES MAS IMPORTANTES

Sintaxis de elementos principales

Los usuarios pueden ampliar el lenguaje  definiendo sus propios módulos y funciones. Esto permite agrupar partes de secuencia de comandos de fácil reutilización con diferentes valores. Nombres bien escogidos también ayudan a documentar la secuencia de comandos.

OpenSCAD proporciona: funciones que devuelven valores. módulos que realizan acciones pero no devuelven valores.

OpenSCAD calcula el valor de variables en tiempo de compilación, no tiempo de ejecución. La última asignación variable dentro de un ámbito se aplicará en todo el mundo en ese ámbito. También se aplica a los ámbitos internos, ni los niños, sus. Ver alcance de variables para obtener más detalles. Puede ser útil pensar en ellos como constantes capaz de anular en lugar de variables.

En resumen estas son las cinco construcciones mas usadas ; 

var = value;
Variables en OpenSCAD son creadas por una declaración con un nombre o identificador, asignación a través de una expresión y un punto y coma. El papel de los arreglos de discos, en muchos lenguajes imperativos, se maneja en OpenSCAD mediante vectores.
module name(…) { … } 
Módulos pueden utilizarse para definir objetos o, mediante children(), definir los operadores. Una vez definido, módulos temporalmente se agrega al lenguaje.
function name(…) = … 
Las funciones operan sobre valores para calcular y devolver valores nuevos.
include <….scad>

actúa como si el contenido del archivo incluido fueron escrito en el archivo incluido
use <….scad>

importaciones de módulos y funciones, pero no se ejecuta ningún comando que no sea de esas definiciones

2D

circle (r=radius | d=diameter)

Se crea un círculo en el origen. Todos los parámetros, excepto la r, deben ser nombrados.


Parámetros
radius: radio (debe antecederse la r)
diameter:diametro ( debe antecederse la d)

polygon ([points])

Crea un polígono en base a una  lista de x, y puntos del polígono. : Un vector de vectores elemento 2. (los puntos son indizados desde 0 hasta n-1)

 

polygon ([points], [paths])

Crea una forma echada a un lado múltiples de una lista de coordenadas x, y. Un polígono es el más poderoso objeto 2D. Nada puede crear ese círculo y plazas pueden, y mucho más. Esto incluye formas irregulares con los bordes cóncavos y convexos. Además puede colocar agujeros dentro de esa forma
square ([width, height], center)

Crea un cuadrado o un rectángulo en el primer cuadrante. Cuando el centro es cierto la plaza se centra en el origen. Nombres de argumento son opcionales si en el orden que se muestra a continuación
text (text, size, font, halign, valign, spacing, direction, language, script)

El módulo crea texto como un objeto geométrico 2D, utilizando tipos de letra instalados en el sistema local o como archivo de fuente independiente.

3D

cube (size)

Crea un cubo en el primer octante. Cuando el centro es cierto, el cubo se centra en el origen. Nombres de argumento son opcionales si en el orden que se muestra a continuación.
Al teber solo un valor,el  cubo tiene los lados de esta longitud

cube ([width, depth, height])



Crea un cubo en el primer octante. Cuando el centro es cierto, el cubo se centra en el origen. Nombres de argumento son opcionales si en el orden que se muestra a continuación.
Array de 3 valores [x, y, z] que responde  a las dimensiones x, y y z.

parámetros:
tamaño
solo valor, cubo con los lados de esta longitud
3 valor array [x, y, z], cubo con dimensiones x, y y z.
Centro
falso (predeterminado), 1 º octante (positivo), una de las esquinas en (0,0,0)
cierto, cubo está centrado en (0,0,0)
cylinder (height, BotttonRadios,TopRadius, center)

Crea un cilindro centrado sobre el eje z. Cuando el centro es cierto, también se centra verticalmente a lo largo del eje z.
Nombres de los parámetros son opcionales si en el orden que se muestra Si un parámetro se denomina, deben también llamarse todos los parámetros siguientes.

cylinder (h, r1|d1, r2|d2, center)

Crea un un cono centrado sobre el eje z. Cuando el centro es cierto, también se centra verticalmente a lo largo del eje z. 
Nombres de los parámetros son opcionales si en el orden que se muestra Si un parámetro se denomina, deben también llamarse todos los parámetros siguientes
 Si se utilizan r, d, d1 o d2 deben llamarse.

Parámetros
h : altura del cilindro o de cono
r : radio del cilindro. R1 = r2 = r.
R1 : radio, parte inferior del cono.
R2 : radio superior del cono.
d : diámetro del cilindro. R1 = r2 = 2 d.
D1 : diámetro, parte inferior del cono. R1 = d1/2
D2 : diámetro superior del cono. R2 = d2/2
(Nota: d, d1, d2 requiere 2014.03 o posterior. Debian en la actualidad se sabe que detrás de esto)
Centro
falso (por defecto), z va desde 0 a h
cierto, rangos de z de -h/2 a + h/2

polyhedron (points, triangles, convexity)

Un poliedro es el sólido primitivo 3D más general. Puede utilizarse para crear cualquier figura regular o irregular, incluyendo aquellos con características tanto cóncavos como convexos. Superficies curvas se aproximan por una serie de superficies planas.

Parámetros
puntos
Vector 3d puntos o vértices. Cada punto es a su vez un vector [x, y, z], de sus coordenadas.
Puntos pueden definirse en cualquier orden. N puntos se hace referencia en el orden definido como 0 a N-1.
triángulos (obsoleto en 2014,03, caras de uso versión)
Vector de caras que incluyen colectivamente el sólido. Cada cara es un vector que contiene los índices (basado en 0) de 3 puntos desde el vector de puntos.
caras (introducido en la versión 2014.03)
Vector de caras que incluyen colectivamente el sólido. Cada cara es un vector que contiene los índices (basado en 0) de 3 o más puntos el vector de puntos.
Caras pueden definirse en cualquier orden. Definir bastante caras para incluir completamente el sólido, sin traslapo.
Puntos que describen una sola cara deben estar en el mismo plano.
convexidad
Entero. El parámetro de convexidad especifica el número máximo de caras puede penetrar un rayo que se intersecan el objeto. Este parámetro sólo es necesario para visualizar correctamente el objeto en modo de vista previa OpenCSG. Tiene ningún efecto en la prestación del poliedro. Para problemas de la pantalla, ponerla a 10 debería funcionar bien para la mayoría de los casos.

sphere (radius | d=diameter)

Crea una esfera en el origen del sistema coordinado. El nombre de argumento de r es opcional. Para utilizar d en lugar de r, d debe ser nombrado.

 

 

Parámetros

Radio. Este es el radio de la esfera. La resolución de la esfera se basará en el tamaño de la esfera y el $fa, $fs y $fn variables. Para obtener más información sobre estas variables especiales: 
Diámetro. Esto es el diámetro de la esfera.

(Nota: d sólo está disponible en versiones de 2014.03. Debian en la actualidad se sabe que detrás de esto)

$fa 
Ángulo de fragmento en grados
$fs 
Dimensión en mm del fragmento
$fn 
Resolución

Transformaciones

translate ([x, y, z])

Se traduce (se mueve) en sus elementos secundarios a lo largo del vector especificado. El nombre de argumento es opcional.
rotate ([x, y, z])

Gira su child  ‘a’ grados sobre el eje del sistema coordinado o alrededor de un eje arbitrario. Los nombres de argumento son opcionales si los argumentos se dan en el mismo orden como se especifica.
scale ([x, y, z])

La escala de sus elementos secundarios mediante el vector especificado. El nombre de argumento es opcional.
resize ([x, y, z], auto)

Modifica el tamaño del objeto secundario para que coincida con el dado x,y y z

mirror ([x, y, z])

Refleja el elemento en un plano que pase por el origen 
multmatrix (m)

Multiplica la geometría de todos los elementos secundarios con la matriz de transformación de 4 x 4 dada.
Uso: multmatrix (m = […]) { … }
color (“colorname”)

Los nombres de los colores disponibles son los de lista del color SVG la World Wide Web consortium.

color ([r, g, b, a])

Muestra los elementos secundarios mediante el color RGB especificado + valor alfa. Sólo se utiliza para la previsualización de F5 como CGAL y STL (F6) actualmente no admiten color. El valor de alfa por defecto 1.0 (opaco) si no se especifica.

offset (r|delta, chamfer)

Desplazamiento permite mover contornos 2D hacia afuera o hacia adentro por una cantidad dada.
hull()

Muestra el casco convexo de los nodos secundarios.

minkowski()


Muestra la suma de minkowski de nodos secundarios. Se suele utilizar para hace figuras redondeadas en las aristas 


Operaciones booleanas

union()

Crea una Unión de su hijo nodos. Es la suma de todos los hijos (lógica de o).
Se puede utilizar con objetos 2D o 3D, pero no mezclarlas.
difference()

Resta los nodos hijo 2 º (y todos los otros) de la primera ( y no).
Se puede utilizar con objetos 2D o 3D, pero no mezclarlas.
intersection()

Crea la intersección de todos los nodos secundarios. Esto mantiene la porción traslapada (lógica y).
Se conserva sólo la zona que es común o compartido por todos los hijos.
Se puede utilizar con objetos 2D o 3D, pero no mezclarlas.

Modificadores de carácter

*Desactivar
!Mostrar sólo
#Destacar / debug
%Transparente / antecedentes

Matemáticas

abs

Corresponde a la funcion del valor absoluto. Devuelve el valor positivo de un número decimal con signo.
acos

arcoseno, o coseno inverso, expresado en grados.
asin

arco seno, o seno inverso, expresado en grados
atan

arco tangente, o tangente inversa, matemática. Devuelve el valor principal de la arco tangente de x, expresada en grados.
atan2

atan dos argumentos , tomando y como su primer argumento. Devuelve el valor principal de la arco tangente de y / x, expresada en grados

ceil

Función matemática techo .
Devuelve el valor de entero más próximo por redondeo el valor si es necesario.
cos

Función matemática coseno de grados.

exp

Función matemática exp . Devuelve la función exponencial de base e de x, que es el número e elevado a la potencia x.
floor

Función matemática flooro . Floor(x) = el entero más grande no es mayor que x
len

Función matemática longitud . Devuelve la longitud de una matriz, un vector o un parámetro de cadena.

let

Asignación secuencial de variables dentro de una expresión. La siguiente expresión se evalúa en el contexto de las tareas que y puede utilizar las variables. Esto es principalmente útil para realizar complicadas expresiones más legible mediante la asignación de resultados provisionales a las variables.
ln

Función matemática logaritmo natural.
log

Función matemática del logaritmo en base 10.

max

Devuelve el máximo de los parámetros. Si se da un único vector como parámetro, devuelve el máximo elemento de ese vecto
min

Devuelve el mínimo de los parámetros. Si se da un único vector como parámetro, devuelve el mínimo elemento de ese vector.

pow

Función matemática potencia
rands

Generador de números aleatorios. Genera un vector constante de pseudo números aleatorios, al igual que una matriz. Los números son dobles no enteros. Cuando se genera un único número, se llama todavía con variable [0]
round


El operador devuelve la parte entera más o menos, respectivamente, si la entrada numérica es positivo o negativo
sign


Función matemática signum . Devuelve un valor de unidad que extrae la señal de un valor
sin

Función matemática seno
sqrt

Función matemática de raíz cuadrada .
tan

Función de la tangente de matemática.

Funciones

chr

Convertir a números en una cadena que contiene caracteres con el código correspondiente. OpenSCAD utiliza Unicode, por lo que el número se interpreta como punto de código Unicode. Números fuera del intervalo de punto de código válido producirá una cadena vacía.
concat

Devuelven un vector que contiene los argumentos.
Donde argumento es un vector de los elementos del vector se agregan individualmente al vector resultado. Cadenas son diferentes de vectores en este caso
cross


Calcula el producto cruzado de dos vectores en el espacio 3D. El resultado es un vector que es perpendicular a ambos vectores de entrada.
Utilizando parámetros de entrada no válidos (por ejemplo vectores con una longitud diferente de 3 o de otro tipo) producirá un resultado indefinido.
lookup

Buscar valor en tabla e interpolar linealmente si no hay ninguna coincidencia exacta. El primer argumento es el valor a buscar. La segunda es la tabla de búsqueda–un vector de pares de clave y valor.
norm

Devuelve la norma euclideana de un vector. Tenga en cuenta que esto devuelve la longitud numérica real mientras que len devuelve el número de elementos en el vector o matriz.

parent_module (idx)

$parent_modules contiene el número de módulos en la pila de ejecución. parent_module(i) devuelve el nombre del módulo niveles por encima del módulo actual en la pila de ejecución. La pila es independiente de donde se definen los módulos. Es donde ellos son instancias que cuenta. Esto puede usarse para construir por ejemplo, las listas de materiale
search

Buscar valor en tabla e interpolar linealmente si no hay ninguna coincidencia exacta. El primer argumento es el valor a buscar. La segunda es la tabla de búsqueda–un vector de pares de clave y valor.
str

Convertir todos los argumentos a las cadenas y concatenar.
version

devuelve el número de versión de OpenSCAD.

version_num

devuelve el número de versión de OpenSCAD

Otros

children ([idx])


Los objetos se indizan mediante enteros de 0 a $children-1. OpenSCAD establece $children el número total de objetos en el ámbito de aplicación. Objetos agrupados en un ámbito sub se tratan como un hijoo.
echo (…)

Esta función imprime el contenido de la ventana de compilación (también conocido como consola). Útil para depurar código.
Valores numéricos se redondean a 5 dígitos significativos.
La consola OpenSCAD soporta un subconjunto de lenguaje de marcado HTML
for (i = [start:end]) { … }

Bucle para evaluar cada valor en un rango, aplicándola a la acción siguiente.


Parámetros
start – valor inicial
end – parada cuando el siguiente valor sea final
for (i = [start:step:end]) { … }

Bucle para evaluar cada valor en un rango , aplicándola a la acción siguiente.


Parámetros
start – valor inicial
step o paso – cantidad para aumentar el valor, opcional, por defecto = 1
end – parada cuando el siguiente valor sea final
for (i = […, …, …]) { … }

Bucle evaluando cada valor en un  vector, aplicándola a la acción siguiente.
if (…) { … }

Estructura condicional realizando una prueba para determinar si las acciones en un ámbito secundario deben realizarse o no.

import (“….stl”)

Importa un archivo para su uso en el modelo actual de OpenSCAD. OpenSCAD actualmente soporta importación de DXF, apagado y ficheros STL (ASCII y binario). La extensión de archivo se utiliza para determinar el tipo.
intersection_for (i = [start:end]) { … }

Iterar sobre los valores en un rango y crear la intersección de objetos creados por cada pasada.
Además de crear instancias independientes para cada paso, el estándar for() también agrupa todas estas instancias de creación de una Unión implícita.

Parámetros
start – valor inicial
end – parada cuando el siguiente valor sea final

intersection_for (i = [start:step:end]) { … }


Iterar sobre los valores en un rango y crear la intersección de objetos creados por cada pasada.
Además de crear instancias independientes para cada paso, el estándar for() también agrupa todas estas instancias de creación de una Unión implícita.

Parámetros
start – valor inicial
step o paso – cantidad para aumentar el valor, opcional, por defecto = 1
end – parada cuando el siguiente valor sea final
intersection_for (i = […, …, …]) { … }


Iterar sobre los valores en un  vector y crear la intersección de objetos creados por cada pasada.
Además de crear instancias independientes para cada paso, el estándar for() también agrupa todas estas instancias de creación de una Unión implícita.
linear_extrude (height, center, convexity, twist, slices)



Es una operación de modelado que toma un polígono 2D como entrada y extiende en la tercera dimensión de modo que se crea así una forma 3D. Tenga en cuenta que la protuberancia se realiza siempre del plano XY a la altura indican a lo largo del eje Z ; así que si se gira o aplicar otras transformaciones antes de extrusión, la extrusión se aplica a la proyección del polígono 2D en el plano XY.


Parámetros

height -altura, 
center -centro, 
convexity-convexidad, 
twits-torcedura, 
slices-rodajas
projection (cut)


Utilizando la función, puede crear dibujos en 2d de modelos en 3d y exportarlos al formato dxf. Funciona proyectando un modelo 3D (x, y) plano, con z en 0. If, sólo puntos con z = 0 se considerará (cortando efectivamente el objeto), con (el valor predeterminado), puntos por encima y por debajo del plano se considerarán así (creando una proyección adecuada).
projection()cut=truecut=false
render (convexity)

Las fuerzas de la generación de una malla incluso en modo de vista previa. Útil para ser demasiado lentos para seguir las operaciones booleanas.

rotate_extrude (convexity)

Gira alrededor del eje z para formar un sólido que tiene simetría de rotación una figura en 2D. Una forma de pensar de esta operación es imaginar un torno de alfarero colocada en el plano X-Y con su eje de rotación hacia arriba hacia + Z. Luego colocando el objeto por el hecho de ser en esta virtual de alfarero (posiblemente extendido hacia abajo por debajo del plano X-Y a -Z, tomar la sección de este objeto en el plano X-Z pero mantener solamente el derecho de la mitad (X > = 0). Es la forma 2D que necesitan ser alimentados a rotate_extrude() como el niño con el fin de generar este sólido.
Desde una forma 2D se procesa por OpenSCAD en el plano X-Y, una manera alternativa de pensar de esta operación es la siguiente: hace girar una figura en 2D alrededor del eje y para formar un sólido. El sólido resultante se coloca de modo que su eje de rotación se encuentra a lo largo del eje z.
No puede utilizarse para producir una hélice o rosca.
La forma 2D necesita mentir completamente en el derecho de cualquiera de los dos (recomendado) o el lado izquierdo del eje y. Más precisamente hablando, cada vértice de la forma debe tener ya sea x > = 0 o x < = 0. Si la forma cruza el eje X una advertencia aparecerá en la ventana de consola y se ignorará el rotate_extrude(). Para OpenSCAD versiones anteriores a 2016.xxxx, si la forma es en el eje negativo las caras será al revés, que puede causar efectos no deseados
surface (file, center, invert, convexity)


Lee mapa información de archivos de texto o imagen.

Parámetros
file : La ruta del archivo que contiene los datos del mapa.
center:Esto determina la posición del objeto generado. Si es cierto objeto se centra en x y el eje y. De lo contrario, el objeto se coloca en el cuadrante positivo. Por defecto false.
invert: Invierte como los valores de color de imágenes importadas se traducen en valores de altura. Esto no tiene ningún efecto al importar archivos de datos de texto. Por defecto false.
convexity. El parámetro de convexidad especifica el número máximo de partes delanteras (lados traseros) podría penetrar un rayo que se intersecan el objeto. Este parámetro sólo es necesario para visualizar correctamente el objeto en modo de vista previa OpenCSG y no tiene ningún efecto en la prestación final.

Compresiones de listas

Generar[ for (i = range|list) i ]
es decir

[para (i = rango | lista) i]
Condiciones[ for (i = …) if (condition(i)) i ]

es decir 
[para (i =…) si (conditcon(i)) i]
Asignaciones[ for (i = …) let (assignments) a ]

es decir

[para (i =…) que (asignaciones) un]

Variables especiales

$childrenNúmero de hijos de módulo
$faÁngulo mínimo
$fsTamaño mínimo
$fnNúmero de fragmentos
$tPaso de la animación
$vprRotación de la vista
$vptTraducción de ventanilla
$vpdDistancia de la cámara de ventanilla

Mas información en  https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/

htt

Software 3D alternativo para impresora Geeteeth Prusa I3W

Geeetech I3proW es una impresora con una calidad de impresión que mejora lo esperado en relación a su precio. Su montaje es relativamente sencillo, con unas instrucciones bien detalladas. Un poco más laboriosa es su puesta a punto y calibración, En este post hablamos de dos programas de impresión 3d para usar con esta impresora


Actualmente una de las impresoras 3d mas económicas pero al mismo tiempo fiables es la famosa impresora Geetech  Prusa I3W, la cual por cierto es la elección preferida por los clientes de Amazon ( cuesta unos 150€ en forma de kit), siendo una de las mas vendidas en consecuencia .

El montaje de la Prusa I3 W ciertamente es bastante laborioso pero no es  tan complicado como podrida pensarse ( unas 10 horas aproximadamente o dos tardes ) siendo un ejercicio estupendo para compartir con un menor,  sobre todo cuando se trata de ensamblar piezas móviles o conectar bloques de madera entre si .Por cierto en este blog están precisamente los links de los videos de montaje paso a paso,

Una vez hecho el montaje mecánico, hay que cablear ,colocar la electronica  ,ajustarla e instalar el sw  de EasyPrint3d con el pc. Se supone que es “plug and play” pero hay personas  que tienen  que  buscar el driver de Arduino e instalarlo.

Podríamos decir que la calibración y configuración es lo que más tiempo lleva para conseguir una impresión óptima, aunque  eso sólo ha de hacerse una vez ( al menos en teoría).

 

Programa EasyPrint

EasyPrint 3D es el software de impresión 3D GRATUITO oficial para usar con la Prusa I3 W : es fácil de usar , esta desarrollado por GEEETECH y es capaz de convertir un modelo 3D digital en instrucciones de impresión para su impresora 3D.

Corta el modelo en secciones horizontales (capas) proceso conocido como slicing, genera información de trayectoria y calcula la cantidad exacta de filamentos a extruir.

Se  puede descargar desde el sitio oficial  http://www.geeetech.com/forum/viewforum.php?f=43

Esta es la configuración recomendada por el fabricante pera el  material en el caso de usar PLA ( el cual es que mejores resultados da con esta impresora):

 

material

Estos son los parámetros específicos para la impresora la Prusa I3 W l :

printer.PNG

Y  finalmente los parámetros usados para la impresión 3d

parameters.PNG

Ahora veamos las lineas de Gode al iniciar a impresión

G28 ;Home

G1 Z15.0 F6000 ;Move the platform down 15mm

;Prime the extruder

G92 E0

G1 F200 E3

G92 E0

Y  estos  son las linea de Gcode al finalizar

M104 S0

M140 S0

;Retract the filament

G92 E1

G1 E-1 F300

G28 X0 Y0

M84

Ultimaker Cura

Al ser  la Prusa I3 W  una impresora con código libre es posible usar otros programas diferentes tanto para el slicing como a la  propia impresión  3D ,  diferentes del recomendado  por el fabricante (EasyPrint ) como por ejemplo el  famoso sw de cura, el cual es un programa más elaborado y con idioma español

Puede parece descabellado usar otro sw, pero  es fácil percibir con la practica que el sw oficial EasyPrint es lamentablemente  un producto en proceso de depuracion lo cual normalmente se traduce en muchas piezas mal impresas o  que tenemos desechar  por interrupciones o cueles de este .

He probado con ambos programas, junto muchos mas usuarios  ,y  desde mi experiencia    el sw de cura da mejor resultado en la impresión con la Prusa I3 W,lo cual no significa que no tenga que usarse el sw ofical

Este  programa es ligeramente mas complejo que usar  el EasyPrint 3D , ahora bien una vez configurado su manejo es también muy sencillo  (y todo el interfaz esta traducido  en Español a diferencia del EasyPrint3d que esta en chino y en ingles unicaemnte)

El cura necesita configurarse para este modelo de impresora ya que aparece la Prusa I3  pero no la Prusa I3 W,, por lo que debernos  cambiar algunos ajustes  que vamos a describir

En primer lugar , si disponemos de un equipo con W10 64 bits  con al menos dos núcleos , descargaremos  el sw de Cura desde su sitio oficial https://ultimaker.com/en/products/ultimaker-cura-software

Para poder realizar la descarga nos piden unas pocas preguntas en ingles  pero al responderlas , en  pocos segundos estaremos descargando el sw

Una vez instalado el sw , ejecutaremos este  y nos  iremos a la sección de los ajustes

Estos son los ajustes de la impresoara Prusa I3 W,:

 

ajustes2.PNG

Y estos son los del extrusor:

 

ajusters3.PNG

Por ultimo este el gcode que nos proponen;

G21 ;metric values

G90 ;absolute positioning

M82 ;set extruder to absolute mode

M107 ;start with the fan off

G28 X0 Y0 ;move X/Y to min endstops

G28 Z0 ;move Z to min endstops

G1 Z15.0 F9000 ;move the platform down 15mm

G92 E0 ;zero the extruded length

G1 F200 E3 ;extrude 3mm of feed stock

G92 E0 ;zero the extruded length again

G1 F9000

;Put printing message on LCD screen

M117 Printing…

 

Y  estos  son las linea de Gcode al finalizar:

M104 S0 ;extruder heater off

M140 S0 ;heated bed heater off (if you have it)

G91 ;relative positioning

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more

G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way

M84 ;steppers off

G90 ;absolute positioning

 

En este caso en ambas partes no proponen codigo similar (en negrita están las similitudes con el sw de easyprint3d) ,

Vemos que esta mucho mas desarrollado ,por  que es perfectamente funcional y se puede mantener así

 

Herramientas para ayudarnos con la impresión en 3D

Veremos algunas herramientsa para ayudarnos en nuestras impresiones en 3d


Si ha comprado una impresora 3D (  o la piensa comprar en un futuro muy cercano) ,y quiere empezar a imprimir  el mundo gracias a sus habilidades de impresión ,antes de hacerlo , en este pequeño  post veremos  una lista de herramientas que nos pueden hacer nuestra vida cotidiana con una impresora 3D mucho más fácil …

 Cinta adhesiva

Cinta adhesiva

De lejos la cosa más importante a comprar para su impresora 3D ; es cinta adhesiva de papel ( llamada también cinta de carrocero).

Nos sera útil poniendo cuidadosamente tiras de cinta adhesiva sobre la cama de su impresora: no sólo ayudará a que el objeto impreso se adhiera a la cama mucho mejor, también hará  que la eliminación del objeto completado de la cama sea mucho más fácil, y protegerá a ademas  a esta de daños posteriores.

Para hacer la vida más fácil y tener menos solapamientos de cinta (donde potencialmente la altura de impresión será diferente) utilice una cinta lo más ancha posible ( recomiendan de  50mm que es  la más ampliamente disponible).

La cinta adhesiva es importante, así que no compre las cosas baratas. La marca  tesa básicamente es la que tiene el adhesivo más fuerte y la mas usada en este campo. Incluso hay  gente vendiendo cinta adhesiva azul, que es resistente a los rayos UV pero no es necesariamente la mejor opción.

Stick de pegamento

Palo de pegamento

¿Alguna vez ha visto  una impresión 3D ir horriblemente mal debido a deformación? Pues si es asi , muchos aficionaos  han encontrado  que el uso de una barra de pegamento para agregar una capa de pegamento en la parte superior de la cinta de papel adhesiba justo antes de la impresión hace que la impresión se adhiera mucho mejor a la cama. Una vez más, tenga cuidado de no comprar  pegamento barato, aunque generalmente son bastante baratos en general. !Sólo asegúrense de que se adhiere al plástico!

En lugar de una barra de pegamento, hay personas que optan por   Aqua spray  ( Apenas dé a la superficie de la estructura un aerosol ligero y su objeto se pegara).

Pinzas y alicates

Pinzas y Alicates

Si ha seguido los dos últimos pasos, podrías haber experimentado cómo funcionan los adhesivos para hacer que su objeto se adhiera a la cama de la impresora,pero desafortunadamente esto también podría significar tener problemas para obtener su objeto impreso fuera de la plataforma.

Es interesante disponer pues de contar con  pinzas y alicates algunos para diferentes tamaños de objetos. Es cierto que las mas usadas son  todo las pinzas pequeñas y los alicates grandes . Como una ventaja adicional de las pinzas pequeñas son también grandes para la eliminación de cualquier filamento que podría exudarse fuera de la pre-impresión extrusora.

Calibre

Este modelo cuenta con pantalla de LCD retroiluminada puede mostrar la lectura claramente al medir el diámetro interior, el diámetro exterior, la profundidad y la longitud

Al entrar en el mundo de la impresión 3D, quiera o no, también está entrando en el mundo de la ingeniería  asi qeu  obtener un calibre e sbuena idea  para asegurarse de que sus impresiones tienen el tamaño correcto

Si está diseñando sus propios objetos también, utilícelo como una gran forma de dimensionar partes de su objeto.

Los mas interesantes son los  digitales, pues  dan dos decimales de precisión que es muy agradable cuando se quiere medir el diámetro verdadero de su filamento o lo mucho que su PLA se encoge durante la impresión.

En Amazon afortunadamente existen modelos por unos 12€.   

  • Pantalla de LCD retroiluminada puede mostrar la lectura claramente al medir el diámetro interior, el diámetro exterior, la profundidad y la longitud.
  • Ventajas: Muestra automáticamente la lectura, el compartimento de la batería de la base es coveniente para descargar y cambiar.
  • Rango de medición: 0 – 150 mm/0 – 6 pulgadas precisión: + 0,02 mm (0-150 mm). Temperatura de trabajo(0 – 40), Tiempo de apagado automático: 5 min. Ahorro de batería
  • Diseño: Diseñado especialmente para el uso profesional

 

 

 Limpiador casero de extremo caliente

Limpiador de extremo caliente DIY

Hay gente  que tiene problemas antes de ajustar el filamento  debido a obstrucciones con el extremo caliente  Para remediar el problema es bueno usar una aguja fina .Se pueden  usar de agujas de acupuntura pues  pueden comprar en diversos tamaños para caber su boquilla) .

La aguja la cortamos con un Dremel hasta que tenga un diámetro menor que el agujero del extremo caliente  (¡ahi le sera de utilidad el calibre).Para una mayor usabilidad agreguar  algunos plásticos moldeados a mano (Polycaprolactone alias Polimorfo) para un mango.

Conduzca su aguja archivada cuidadosamente a través de su extremo caliente caliente para desatascarlo. La rugosidad de la limadura hace que el plástico se adhiera a la aguja mejor. ADVERTENCIA: Tenga cuidado al conducir algo a través de su extremo caliente. Usted puede dañar el extremo caliente que realmente estropeará su impresión.

Gel de sílice (para usuarios de PLA)

Silica Gel (para usuarios de PLA)

Si está imprimiendo con plástico PLA, compre un gel de sílice, o mejor aún, no tire los paquetes que probablemente fueron incluidos cuando compró su impresora o filamento. PLA absorbe el agua con el tiempo, lo que puede resultar en la impresión burbujeante, así que hágase un favor y guarde su filamento en una bolsa de plástico cerrada con algunos paquetes de gel de sílice. Usted puede comprar 100 paquetes en eBay por alrededor de $ 1-2 incluyendo la entrega, por lo que no hay excusa para no hacerlo!

autor
 ¿Se le ocurre alguna otra herramienta que no hayamos incluido aquí?

 

Como construir una maquina CNC a partir de piezas recicladas

veremos como a partir de piezas recicladas podemos construir una maquina CNC multiproposito


A veces las partes viejas de ordenadores pueden ser muy útiles para muchas cosas pero sobre todo es muy destacable    las fuentes de alimentación (tanto de portátiles como  de ordenadores fijos )  de las que tantas veces hemos hablado en este blog , no solo para  usar la salidas de 12 y 5V , sino incluso para hacer asociaciones de  varias fuentes  para generar fuentes con tensiones o intensidades mayores .
El reciclaje de las piezas de un ordenador  no queda en la fuente,  pues hay un sinfín de  otras piezas  útiles  que podemos  reciclar en un viejo ordenador, como por ejemplo:
  •  Las pantallas de los portátiles  que  pueden usarse  con una controladora barata como un  monitor.
  • Las memorias  que pueden utilizarse para otros aparatos electrónicos.
  • Los ventiladores  y radidadores  usados para refrigerar las CPU  nos pueden servir para refrigerar nuestros circuitos o  incluso para otras aplicaciones con celulas de Peltier
  •  Las cajas ATX  tienen un sinfín de aplicaciones
  • De los lectores de CD / DVD podemos usar los motores,la mecánica  y el láser
  • De las viejas disqueteras   podemos usar los motores,la mecánica
  • Tornillos , herrajes ,etc

En el post de hoy a vamos a  ver como es posible construir una maquina  CNC o una impresora 3D     con la mecánica  de dos  o tres lectores dvd ( o incluso incluyendo una disquetera) invirtiendo muy poco dinero, pues tan solo necesitaríamos una mínima  electronica de control aparte.

Las partes hardware que necesitamos son:
  •  3 lectores de CD o DVD que no usemos
  • 1 Arduino (Uno en nuestro caso)
  • 3 controladras de motor paso  a paso
  • Fuente de alimentación  de 5v DC ( nos vale una vieja fuente de PC)
El sofware necesario seria el siguiente:

Ensamblaje

Para empezar  con este proyecto  lo primero  es desmontar  los  lectores de CD o DVD
disco1
Como vemos  ,en su interior vamos a ver encontrar una placa  metálica con un motor paso paso (compuesto por  dos bobinados independientes ) y cuyo eje es un tornillo sin  fin , lo cual es la pieza clave  para   reciclar . Asimismo necesitaremos las carcasas de dos de ellas  y los componentes necesarios para fijarlos al chasis (  el laser  y los otros motores no son necesarias).
Cada motor va a simular cada uno de los ejes de la maquina (X,Y,Z)  por los que en los contactos de cada motor  soldaremos un cablecillo  a cada contacto para hacer las 4  conexiones  con las controladoras ( podemos eliminar el cable de cinta flexible que suelen llevar pues es muy difícil que den la medida).
En este punto es interesante identificar mediante una sencilla de prueba de continuidad con un polímetro   usándolo en modo  resistencia  para  saber cuales son los dos bobinados  ( entre si   no deben tener continuidad )
 cables.JPG
Una vez tengamos el cableado hecho de los motores nos tocaría la parte mecánica la cual quizás sea la parte mas engorrosa  y difícil de llevar a cabo   pues realmente no existe una única solución  a este problema   a la hora de afrontar el ensamblaje  que básicamente  consiste en  fijar los carros con  los motores paso a paso en los tres ejes x, y , z  para formar un único conjunto.
En primer  lugar  , nos centraremos en lo que será el eje Y  . Usando  una carcasa colocaremos uno de los  carros junto con el motor  por medio de  soportes tratando de alinearlo lo mas cercano a uno de los bordes  y centrándolo sobre este.
Los soportes pueden ser metálicos roscados ( se pueden comprar en ferreterias)  o separadores de plástico de los usadas para las placas madre.
ejey
De un modo similar  también fijaremos otro carro con su motor a otras de las carcasas de manera que crearemos para el eje X (obviamente la idea  es montarlo perpendicularmente al montaje del eje y). Asimismo también debemos fijarlos  a una de los bordes en la parte superior y centrados sobre este cuerpo.
Los soportes usados también  pueden ser metálicos roscados ( se pueden comprar en ferreterias)  o separadores de plástico de los usadas para las placas madre.
ejex.png
Ahora nos toca el eje z  que se diferencia   de los dos anteriores  que debe ir colocado sobre  uno de los ejes: más  concretamente el eje x.
El eje Z a diferencia de los otros dos lo instalaremos en una placa  liviana ( por ejemplo de vaquelita ,plástico, metílica,etc  ) para luego  montarla en los soportes del eje X
ejez.png
Una vez que tenemos los tres ejes es hora de  unir  ambas carcasa  por  las  base del eje Y y X  formando un angulo recto.
Normalmente muchos aficionados usan escuadras metálicas   e incluso pequeños perfiles metálicos entre ambas carcasas  : todo depende de lo solido que haya quedado la unión así que  quizás  no sea tan necesario en función de como queden fijadas ambas partes
escuadras1.png
Una vez que hayamos ensamblados  lso tres ejes , nuestro proyecto ha tomando toda su  forma, por  lo que solo nos queda conectar  los motores paso a paso a  los controladores   y estos a la placa Arduino Uno.
Las conexiones de cada motor irán a cada driver  de motor  paso  a paso y las entradas  de estos  a la placa Arduino Uno según las siguientes  conexiones digitales:
  • Eje x: puertos 3 y 6, GND
  • Eje Y : puertos 4 y 7,GND
  • Eje Z: puertos 5 y  8;GND

Asimismo no debemos olvidar las conexiones de alimentacion de la placas de los drivers (+5V) que se recomienda no se obtengan de Arduino  sino directamente desde  la fuente auxiliar

El esquema electrico final seria el  siguiente:
Diagramas
Cuando hayamos  conectado e instalado, lo que quedaría seria ir configurando el software necesario para hacerla funcionar.
En youtube podemos encontrar  miles de videotutoriales  que explican con detalles estos pasos por lo que no lo vamos a repetir aquí
Como pinceladas  dejamos dos vídeos muy claros al respecto para que sirvan  como guía:
Con eso concluimos  de este proyecto, lo cual es la base para diferentes usos como puede ser un plotter , una fresadora o incluso colocando un extrusor una impresora 3D,una grabadora láser , etc
final.png

Impresoras 3d economicas

Ejemplo de una impresora SLA


Hasta que grandes fabricantes decidan apoyar la impresión 3d ,lo cierto que hoy por hoy , incluso en forma de kit , las impresoras  3d   son máquinas aun muy caras y por tanto poco accesibles a los aficionados en general

No obstante , como en todo en la vida , existe  una  excepción como son  aquellas basadas en la tecnología SLA  donde no se  utilizan en sí mismo piezas impresas en 3D, lo cual es la tónica  habitual empleada en  la mayoría de kits  de impresoras que están construidas con elementos impresos en 3D.

La tecnología SLA, conocida como Estereolitografía, es una de las dos tecnologías usadas en la impresión 3D, un tipo a base de resina para la impresión en 3D, y es generalmente diseñado para imprimir de abajo hacia arriba. De esta manera  necesita mas resina, así que sube el gasto del consumible , aunque en general  el diseño de este al no necesitar tantos  engranajes y motores simplifica mucho el dispositivo  y con ello el precio

En este interesante proyecto su creador ha hecho uso del software de Arduino para hacerlo funcionar creando una impresora que imprime de las dos maneras posibles de abajo hacia arriba o viceversa y que usa en parte algunos materiales reciclados.

La lista de elementos usados es la siguiente:

  1. Motor paso a paso (versión de 4 pines, extraída de la unidad de DVDrom) ejemplo aquí o bien  un motor de pasos NEMA $15
  2. Arduino Uno.
  3. Controlador paso a paso. Ejemplo aquí .a DRV8825 tiene un paso de 1/32 aunque yo también utilizan la original 1/16 paso A4988.
  4. Condensador de 100uF.
  5. Placa de circuito – para su construcción la placa
  6. Fuente de alimentación de 12V a 2A
  7. Florero de cristal
  8. Proyector DLP

 Impulsión del eje Z

Se pueden usar  las viejas unidades de CD-ROM  recicladas  pero algunas  unidades pueden tener motores que sólo tienen cableado positivo y negativo  pero eso no va a funcionar para nosotros. En cambio si serviran la mayoria de las  grabadoras de CD / DVD ,por ejemplo un DVDrom externo modelo  dvd740 de HP.

El trineo que tiene  un motor paso a paso de 4 pin con   impulsión del tornillo en este proyecto   también es útil  a falta de las especificaciones para el motor ( se puede utilizar un multímetro para probar la continuidad y ver qué cables son”pares”.)

Stepper Driver

El utilizado es  el  popular A4988 Stepper Driver. Es una gran opción, pero también buscando  más flexibilidad  y ya que los precios caen continuamente sirve un  par de drivers DRV8825 StepStick  en su lugar. Ambos tienen configuraciones muy similares y cabrán en al regulador de RAMPS . La principal diferencia es que el A4988 baja a un paso de 1/16 mientras que el DRV8825 puede hacer un paso de 1/32.(el paso más lento podría aumentar la resolución  )

3d

Steppers: Determinación de patillas

Digamos que tiene un motor paso a paso, pero no tienen idea de que cables son que, o qué gancho donde. ¿Qué hacer?

Motores Parker todos tienen dos fases, que alternadamente son energizadas por la unidad, haciendo que el motor gire. Un motor 4-pasos o 6 tendrá una bobina por fase; 8-lleva los motores tienen dos. Llamamos arbitrariamente una de estas fases “A + / A-” y el otro “B + / B-“.

Cada alambre en un motor paso a paso de 4 o 8 plomo está asociada a un extremo de una bobina. Lo primero es saber que los cables en la bobina del mismo. Hay una forma sencilla de hacerlo: escoge dos cables al azar, y mida la resistencia entre ellos. Si obtiene un valor finito (del orden de unos pocos ohmios), estos cables son en la misma bobina. Continuar hasta tener los cables emparejados para arriba.

Con un motor de 6 pasos  además de las cuatro puntas al final de las fases, existen dos centro—un cable que brota desde el centro de cada fase. Esto facilita determinar que dos conductores son la centrales: la resistencia de cualquiera de los extremos de la fase al  centro  debe ser la mitad la resistencia, medida a través de la fase entera.

Un motor de ocho pasos tiene dos bobinas de cada fase; estas bobinas pueden conectarse en serie o en paralelo. Por ahora, sólo encontrar que cables son  (usted debe terminar con 4 pares). Luego, averiguar qué pares están en la misma fase . Para ello, necesita el disco de paso a paso. Configurar el disco para ejecutar al 50% actual (si es aplicable, también establecer inductancia 50%). Conecta un par de cables a la A + / A – terminales y otro par al azar que B + / B-. Si el motor gira, han escogido una bobina de cada fase. Buena. De lo contrario, las bobinas están en la misma fase. De esta manera, podrá determinar que las bobinas están en cada fase.
Ahora tiene cada cable con su “compañero de bobina” y cada bobina con su “compañero de fase”). Llame a un par de bobinas “fase A” y la otra una “fase B”. Entonces, llame a una bobina en cada fase de “la bobina 1” y la otra bobina “2.” Ahora tiene 4 bobinas: A1, A2, B1 y B2.

Ahora debemos determinar la polaridad de cada bobina en cada fase. Conecte uno A coil y una bobina B la unidad y el movimiento hacia la derecha del comando. Si gira hacia la izquierda, cambiar el cable en B + con el que está en B-. Ahora, usted sabe el lado positivo de cada uno de estos dos bobinas. Estos alambres A1 +, A1, B1 + y B1 – de la etiqueta. Ahora, quitar bobina B1 e introducir la bobina B2. Otra vez, comando de movimiento hacia la derecha. Si el motor gira hacia la izquierda, cambiar el cable en B + con el que está en B-. Una vez que gira hacia la derecha, identifique el cable en el B + terminal “B2 +” y el cable en la terminal B “B2-“. Por último, retire la bobina A1 e Inserte la bobina A2. Movimiento hacia la derecha del comando; Si el motor gira hacia la izquierda, cambiar el cable de A + con el de A-. Etiqueta en el A + terminal “A2 +” y el otro un “A2-“.
Ahora tienes todos los cables con la etiqueta: A1 +, A1, A2 +, A2, B1 +, B1-, B2 + y B2-. Aquí es el momento de decidir si se va a enlazar en configuración serie o en paralelo. Cableado paralelo ofrece un mayor par motor a altas velocidades, pero límites de generación, ciclo de deber del motor al 50% del calor. Configuración de serie permite que el motor a funcionar constantemente. La serie se utiliza más comúnmente.

Conector de la unidadCables del motor (paralelo)Cables del motor (serie)A-centertapxA1-, A2 +A +A1 +, A2 +A1 +A-A1-, A2-A2-B +B1 +, B2 +B1 +B–B1, B2-B2-B-centertapx-B1, B2 +
y por cierto, aquí está el código de color más común para los cables:

A1 + rojo
A1 – amarillo
A2 + azul
A2 – Negro
B1 + blanco
B1 – naranja
B2 + marrón
B2 – verde

Conexiones 

Comenzando en el Pin superior derecho, tenemos  el lado + de una línea de 12V y un condensador de 100uF conectado. El otro extremo del condensador  de desacoplamiento de 100uF y los lados de la línea de 12V están conectados al pasador por debajo.

 Pins 3,4,5,6 (su paso)

Por debajo de ese pin   negativo va sus conexiones de motor paso a paso. Las conexiones B van primero y luego las conexiones A. E ltexto  anterior le dice cómo decir A1 de A2, e.

El pin FAULT es el siguiente en la lista y es el único pin que no he conectado a nada.
El pin botom en la fila es su tierra y puede conectarlo a la tierra en el tablero de Arduino (o bien lo hará).

Es hora de conectar el otro lado del tablero de controladores (de arriba abajo de nuevo)
El pin  superior está rotulado Habilitar basado en el código de Arduino que se  esta  usando y  esta conectado al pin 7 en el tablero de Arduino Uno.

M0, M1 y M2 están todos conectados a la línea Arduinos 5V (que en mi configuración está realizando la selección de paso 1/32). Puede utilizar la hoja de especificaciones anterior si desea una resolución de paso diferente.

Los siguientes dos clavijas son RESET y SLEEP y he superado los de la línea 5V también.

El segundo al último pin es STEP y lo tengo conectado al pin 6 del Arduino Uno
Y el último pasador es DIR que va al pin 5.

Hay una segundo masa en Arduino y el puente que con la línea negativa del suministro de 12V.

 

SAMPLE CODE

int x;
void setup() {
pinMode(7,OUTPUT); // Enable
pinMode(6,OUTPUT); // Step
pinMode(5,OUTPUT); // Dir
digitalWrite(7,LOW); // Set Enable low
}
void loop() {
digitalWrite(5,HIGH); // Set Dir high

for(x = 0; x < 200; x++) // Loop 200 times
{
digitalWrite(6,HIGH); // Output high
delayMicroseconds(500); // Wait 1/2 a ms
digitalWrite(6,LOW); // Output low
delayMicroseconds(500); // Wait 1/2 a ms
}

delay(1000); // pause one second
digitalWrite(5,LOW); // Set Dir low
for(x = 0; x < 200; x++) // Loop 200 times
{
digitalWrite(6,HIGH); // Output high
delayMicroseconds(500); // Wait 1/2 a ms
digitalWrite(6,LOW); // Output low
delayMicroseconds(500); // Wait 1/2 a ms
}

delay(1000); // pause one second
}

Cuidadosamente tratar de obtener su paso a algún lugar en el centro antes de comenzar con el código. Lo que hará es girar ligeramente el motor en una dirección y luego volver a donde se viene. Es una prueba bastante segura de que no se caerá en los extremos.

For (x = 0; x <200;

200 es un número bastante bajo y puede ser incluso menor que una rotación completa. He ido con seguridad a 3000 o así (que va un poco más de ½ camino y volver creo).

Esto concluye la prueba exitosa de su combinación de CDROM Stepper y Arduino Uno / Driver !!

RV8825 TRIMPOT

El pequeño círculo  DRV8825 es un potenciómetro que le permite afinar y ajustar el mA que fluye al motor paso a paso usando un pequeño destornillador de joyas. Si envía mucha energía al stepper puede  quemarlo de modo que lo idea es ajustar e voltaje más bajo que se pueda(  alrededor de 181mA más o menos) y luego conectar  el motor,cargar el código de prueba Arduino y el motor debería funcionar maravillosamente sin calefacción ni zumbido.

Al final y gracias a Ebay se puede construirse una impresora,,la cual  como hemos dicho es barata , pero desgraciadamente muy mal  documetada.

Aqui dejamos el enlacea a dicho proyecto por si os animáis a montaros una, y ya nos contareis www.buildyourownsla.com/forum/viewtopic.php?f=8&t=2768