¿Que es Marlin?


 

Marlin es un firmware de código abierto  GRATUITO   para la familia RepRap de replicar prototipos rápidos mediante impresoras 3D derivado de Sprinter y grbl  que  se convirtió en un proyecto de código abierto independiente el 12 de agosto de 2011 con su lanzamiento de Github bajo licencia  GPLv3 .

Desde el principio Marlin fue construido por y para los entusiastas de RepRap para ser un controlador de impresora sencillo, confiable y adaptable que «simplemente funciona». Como testimonio de su calidad, Marlin es utilizado por varias impresoras 3D comerciales respetadas  como  Ultimaker, Printrbot, AlephObjects (Lulzbot) y Prusa Research   etc . Ademas Marlin también es capaz de cotrolar las  famosa maquinas CNC ,asi como grabadores láser ,  pues en realidad  en vez extruir material de diferentes propiedades , como lo haría  una impresora 3d,  son variantes de estas al haberse sustituido el extrusor por un láser o una multiherramienta de fresado , corte,etc.

Una clave de la popularidad del fw  Marlin es que se ejecuta en microcontroladores Atmel AVR de 8 bits de bajo costo siendo en su version  2.x   compatible con  placas de 32 bits,  chips  que como sabemos  son el núcleo  de la popular plataforma de código abierto Arduino/Genuino (de  hecho la plataforma de referencia para Marlin es un Arduino Mega2560 con RAMPS 1.4 y Re-Arm con rampas 1.4).

Como producto comunitario, Marlin tiene como objetivo ser adaptable a tantas placas y configuraciones como sea posible, de modo  que sea  altamente  configurable, personalizable, extensible y económico tanto para aficionados como para proveedores de modo  que una implementación  de  Marlin puede ser muy escueta por ejemplo  para su uso en una impresora sin cabeza con un solo hardware modesto pero que  pueda  ampliarse sus características habilitando  según sea necesario para adaptar Marlin a los componentes añadidos.

Resumidamente estas son las principales características:

  • Código G completo con más de 150 comandos
  • Suite completa de movimiento de código G, que incluye líneas, arcos y curvas Bézier
  • Sistema de movimiento inteligente con movimiento de mirada anticipada, basado en interrupciones, aceleración lineal
  • Soporte para cinemática cartesiana, delta, SCARA y core/H-Bot
  • Control del calentador PID de bucle cerrado con ajuste automático, protección térmica, corte de seguridad
  • Soporte para hasta 5 extrusoras más un estampado calefactado
  • Interfaz de usuario del controlador LCD con más de 30 traducciones de idiomas
  • Impresión de tarjetas SD y basadas en host con inicio automático
  • Compensación de nivelación de cama: con o sin sonda de cama
  • Avance lineal para extrusión a presión
  • Soporte para extrusión volumétrica
  • Soporte para mezcla y multiextrusoras (Cíclope, Quimera, Diamante)
  • Soporte para sensores de ancho/de ejecución de filamentos
  • Temporizador de trabajo de impresión y contador de impresión

FDM

Marlin Firmware se ejecuta en la placa principal de la impresora 3D, gestionando todas las actividades en tiempo real de la máquina coordinando los calentadores, motores paso a paso, sensores, luces, pantalla LCD, botones y todo lo demás involucrado en el proceso de impresión 3D implementando  el famoso  proceso de fabricación aditiva llamado Fused Deposition Modeling (FDM), también conocido como Fused Filament Fabrication (FFF). En este proceso, un motor empuja el filamento de plástico a través de una boquilla caliente que funde y extruye el material mientras la boquilla se mueve bajo control informático. Después de varios minutos (o muchas horas) de colocar finas capas de plástico, el resultado es un objeto físico.

El lenguaje de control para Marlin es un derivado del código G donde los comandos de código G le dicen a una máquina que haga cosas simples como «establecer el calentador de 1 a 180o» o «mover a XY a la velocidad F.» Para imprimir un modelo con Marlin, debe convertirse en código G utilizando un programa llamado «slicer». Dado que cada impresora es diferente, no encontrará archivos de código G para descargar; tendrá que cortarlo  este el propio usuario  obviamente con unsw de slicing 

A medida que Marlin recibe comandos de movimiento, los agrega a una cola de movimiento para ser ejecutados segun las ordenes recibidas. La «interrupción paso a paso» procesa la cola, convirtiendo los movimientos lineales en pulsos electrónicos con precisión en los motores paso a paso. Incluso a velocidades modestas Marlin necesita generar miles de pulsos paso a paso cada segundo. (p. ej., 80 pasos por mm * 50 mm/s a 4000 pasos por segundo!) Dado que la velocidad de la CPU limita la velocidad con la que la máquina puede moverse, ¡siempre estamos buscando nuevas formas de optimizar la interrupción paso a paso!

Los calentadores y sensores se gestionan en una segunda interrupción que se ejecuta a una velocidad mucho más lenta, mientras que el bucle principal controla el procesamiento de comandos, la actualización de la pantalla y los eventos del controlador. Por razones de seguridad, Marlin realmente se reiniciará si la CPU se sobrecarga demasiado para leer los sensores.

 Modelado

Mientras Que Marlin solo imprime código G, la mayoría de las segmentaciones solo cortan archivos STL.

Sea lo que sea que utilice para su cadena de herramientas CAD, siempre y cuando pueda exportar un modelo sólido, una segmentación puede «cortar» en código G, y el firmware de Marlin hará todo lo posible para imprimir el resultado final.

Antes de que Marlin pueda soñar con imprimir, primero necesitará un modelo 3D. Puede descargar modelos o crear los suyos propios con uno de los muchos programas CAD gratuitos, como FreeCAD, OpenSCAD, Tinkercad, Autodesk Fusion 360, SketchUp,etc.

Se necesita un alto grado de conocimiento para modelar objetos complejos como un cráneo T-Rex,pero otros objetos pueden ser bastante simples de modelar. Para obtener ideas y probar cosas, explore sitios como Thingiverse y YouMagine e imprima cosas por diversión.

Rebanar

Las segmentaciones preparan un modelo 3D sólido dividiéndolo en rodajas finas (capas). En el proceso se genera el código G que indica a la impresora con minuciosidad cómo reproducir el modelo. Hay muchas segmentaciones de datos para elegir, incluyendo:

  • Cura.
  • Slic3r.
  • PrusaSlicer (anteriormente Slic3r Prusa Edition) El nuevo Kid en el bloque basado en Slic3r.
  • Simplify3D es una oferta comercial.

Impresión

Marlin se puede controlar por completo desde un host o en modo independiente desde una tarjeta SD. Incluso sin un controlador LCD, una impresión SD independiente todavía se puede iniciar desde un host, por lo que el equipo se puede quitar de la impresora.

El software host está disponible para varias plataformas, incluyendo sistemas de escritorio, Raspberry Pi y tabletas Android. Cualquier dispositivo con un puerto USB y un terminal serie puede actuar técnicamente como host, pero tendrá una mejor experiencia de impresión utilizando software host diseñado específicamente para impresoras 3D.

Las selecciones actuales incluyen:

  • Pronterface es un anfitrión de código abierto de Kliment.
  • Repetier Host es un host de código cerrado de Repetier Software.
  • OctoPrint es un host de código abierto para Raspberry Pi por Gina H-u-ge.
  • Cura es un anfitrión de código abierto de Ultimaker. (ADVERTENCIA: Ya no puede seleccionar manualmente el puerto com y la velocidad, su impresora necesita ser detectada automáticamente por Cura)
  • Simplify3D incluye tanto un host como una segmentación de datos.

Muchas impresoras 3D se envían con una versión personalizada de Repetier o Cura. Si bien esto ayuda a asociar la marca de la impresora con una pieza complementaria de software, estas versiones suelen ser obsoletas y reciben pocas actualizaciones. Le recomendamos que descargue la última versión genérica de su software host preferido en su lugar.

Cómo construir un banco de energía con supercondensadores.


Recientemente se ha introducido en el mercado los «supercondensadores» o lo que es lo mismo condensadores de gran capacidad pero que mantienen prácticamente el mismo factor de forma que los condensadores electrolíticos que estamos acostumbrados a usar en electronica . 

Un aspecto muy diferenciador  de esta nueva tecnología  es que gracias a esta se puede  almacenar energía sin reacciones químicas , lo cual permite que los súpercondensadores se carguen y descarguen mucho más rápido que las baterías y debido a ello  no sufren el desgaste causado por las reacciones químicas, también durando mucho más tiempo (como sabemos a diferencia de los condensadores ordinarios, las baterías almacenan energía en una reacción química, y debido a esto, los iones se insertan realmente en la estructura atómica de un electrodo : a diferencia de un condensador, los iones simplemente “se adhieren”.)

Normalmente si  descargamos nuestra batería del coche a menudo e intentamos arrancar nuestro coche una vez más ,esto  causará más daño a la batería del coche y eventualmente  no cargará de nuevo , hasta que llegue un tiempo rodando otra vez. Sin embargo esto no es cierto para los super-condensadores: por ejemplo un condensador tradicional del tamaño de una batería de célula 18650  , tiene una capacidad de aproximadamente 20 microfaradios, pero si tomamos un supercondensador  de tamaño similar, este  puede llegar a tener una capacidad de 300 Farads lo que  significa que para la misma tensión, el supercondensador  podría en teoría almacenar hasta 15 millones de veces más energía.

 A pesar  del gran avance ,sin embargo no todo son ventajas en los condensadores pues un condensador típico de 20 microfaradios sería capaz de manejar hasta 300 voltios, mientras que un ultracondensador solo puede llegar  a soportar  2,7 voltios, lo cual significa que  si se usa un voltaje más alto, el electrolito dentro del supercondensador comienza a descomponerse  y podría por tanto llegar a destruirse: por este motivo en realidad un super-condensador tiene la capacidad de almacenar alrededor de 1.500 veces la energía de un condensador de tamaño similar.

Por todo esto los supercondensadores  aunque  el campo de aplicación es muy grande : alimentación de emergencia ideal para CMOS, RAM, VCR, radio, televisión, teléfono, instrumentos inteligentes, datos de conducción, tres ICs, relojes electrónicos, linternas LED, dispositivos inteligentes, motores de juguetes, pantalla DC, USV industrial, válvula magnética, IC, reflectores LED, etc.    deberíamos  tenemos  tener en cuenta algunas consideraciones ya comentadas antes de proceder a  usarlos.

Preparación de un supercondensador

Como hemos ya comentado los supercondensadores deben  ser cargados SIEMPRE con circuitos de carga balanceadas pues sin estos corremos el riesgo de destruirlos .No obstante si piensa que son complejos no es así puesto que  estos, circuitos son asequibles de bajo costo  , sencillos ( en realidad hablamos de  un simple circuito de conmutación que no deja pasar la tensión de carga al condensador por encima del umbral )  y  son  muy fáciles de instalar pues van encima de cada condensador ya que están diseñadas con la misma forma para colocar estos justo encima y dar continuidad eléctrica ( y carga ) al conjunto

Por ejemplo si conectamos 5 supercondensadores en serie a 12v  el  voltaje no se dividirá por igual entre los diferentes terminales de los condensadores (2.2V),lo cual ya no está dando una pista de sus limitaciones especialmente a la hora de cargarlos puesto que en caso de asociación serie ,  hasta que cada supercondensador esté completamente cargado,  el voltaje en los extremos de cada condensador subirá y bajará casi como en vumetro de leds precisamente :es precisamente esta la razón  por la que  debemos usar un circuito de protección que proteja los condensadores labor que realizan las placas balanceadoras las cuales mantiene el voltaje entre los condensadores entre 2.7V o menos , es decir los mantiene en  la zona segura de funcionamiento segura cortando la tensión de carga cuando se supera ese valor protegiendo así de este modo al supercondensador

Estas placas por tanto nos descargan de un  trabajo tedioso  pues para cargar un simple condensador de 2.7V 500F   con 2.4 v de forma segura sin usar una placa balanceadora deberíamos conectar un voltímetro y un amperímetro simultáneamente durante unos 30 minutos para llegar casi a los 2V con una intensidad de unos 0.19Amp controlando en cada  momento que no se supere  el umbral . Una vez cargado aunque baje la tensión estos se comportan manteniendo la corriente casi invariable

 

Vamos a ver como calcular la capacidad  resultante de la asociación mas tipica de 5 supercondensadores  

  • En el caso de dos condensadores serie sabemos que esta es la capacidad resultante  es  1/c= 1/c1+ 1/c2

Por tanto la capacidad resultante será : 1/Cfinal= 1/500+ 1/500  =>  Cfinal =250F  

Asimismo  las tensión final es el sumatorio de las parciales:V=V1+v2

Es decir  V= 2.7 +2.7 =5.4V                                                                                                                                                                                                                          

  • En el caso de  tres  condensadores serie sabemos que esta es la capacidad resultante  es

      1/c=1/c1+1/c2+1/c3    lo que da  Cfinal=  166.67F

        Asimismo  las tensión final es el sumatorio de las parciales:    3x 2.7V 500F =8.1v                                                                                                                                                                                                                                                                                      

  • En el caso de cuatro condensadores serie  1/c=1/c1+1/c2+1/c3 +1/c4

Por tanto la capacidad resultante será Cfinal=125F

Asimismo  las tensión final es el sumatorio de las parciales:4 x 2.7V 500F =10.8V                                                                                                                                                                                         

  • Finalmente en el caso de cinco condensadores serie 1/c=1/c1+1/c2+1/c3 +1/c4+1/c5

Por tanto la capacidad resultante será Cfinal=100F

Asimismo  las tensión final es el sumatorio de las parciales  5* 2.7V 500F =13.5V , que es justo el valor que queremos llegar        

 

 

 

 

 

Calculo final

En el calculo anterior de  5 supercondensadores serie  obtuvimos  una tensión útil de 13.5V d3l conjunto   pero con una capacidad final  muy mermada de 100F  así que para aumentarla  si tomamos dos agrupaciones de 5  condensadores en serie  en  paralelo la  capacidad aumentará manteniéndose la tensión final;

 

 

La  capacidad  de este conjunto  aumenta justo el doble tal y como nos dicen los cálculos

          1/cfinal= 1/c1+1/c2+1/c3 +1/c4+1/c5 + 1/c6+1/c7+1/c8 +1/c9+1/c10  =>

         1/cfinal= 1/500+1/500+1/500 +1/500+1/500 + 1/500+1/500+1/500 +1/500+1/500 =>

          cfinal=200F  

Asimismo  las tensión final es el sumatorio de las parciales de una agrupación al estar ambas en paralelo

Es decir  V= 10 x 2.7V = 13.5V

En resumen    tenemos  con ambas agrupaciones  un supercondensador equivalente   de 3.5V 200F

 

Como C=As/V ( AS=Amperios por segundo) , entonces AS=C+V,

 AS= 200F x 13.5V =2700 Amp/seg   

Vemos   que para nuestra agrupación  serie y paralelo de 10 supercondensadores  obtenemos pues  una capacidad en AS  de 2700 Amp/seg

 

Por otro lado como la capacidad de un acumlador normalmente se mide en  unidades  de tiempo (AH= Amperios hora)  como AH =AS/3600s

C (en Amphora) =2700 (enAmp/seg)   /3600= 0.75Ah

Vemos   que para nuestra agrupación de 10 supercondensadores  una capacidad en AH de 0.75AH  que sería la capacidad de esta agrupación , lo cual  nos hace ver en números  que con estas agrupaciones siguiendo estas fórmulas ya comentadas  necesitamos bastantes elementos (  por ejemplo  para obtener un powerbank de 15AH necesitaríamos  unos 200 supercondensadores de 2.7V 500nf)

Una vez hecho los cálculos  llega el momento de construir el  banco de supercondensadores , para  lo cual lo primero es soldar los condensadores a las placas de  protección respetando escrupulosamente la  polaridad  .

Ya montados los módulos de condensador con las placas toca interconectar estos   para obtener  los 0.75AH    . Debemos   tener en cuenta ,dada la corriente que debe pasar por estos cables  que deberemos hacer   la interconexión   con cables  de cobre   de cierto espesor . En este sentido como un cable de 1.1mm soporta  unos 99 Amp en alterna  lo ideal es usar varios cable juntos para que no haya problemas   de calentamiento de estos

Este es el resultado final del montaje

 

 

Medición  de corriente  y tensión de carga

La mejor manera de monitorear la carga de  un acumulador o una  la agrupación de supercondensadores es usar  un medidor multifuncional de panel , pero !atención !  , porque este debe ser especial  para  corriente continua, lo cual será claramente evidente cuando  sea necesario un shut  que deberemos conectar en serie con la carga  (en nuestro caso el banco de supercondensadores)

Normalmente en estos medidores  el shunt se conecta  en  el polo negativo en serie con la carga   en el que precisamente  en ambos extremos  conectaremos  los hilos de medición  siguiendo el esquema siguiente 

Este tipo de multímetros  DC 4 en 1  suelen tener  una precisión de medición de grado 1.0, combinando  la medición de voltaje, corriente, potencia y energía en un combo, súper compacto y liviano que puede ser portátil y fácil de usar.   También  suelen  tener una  función de alarma mostrando el voltaje parpadeando  la luz de fondo  simultáneamente si el voltaje va más allá del umbral de alarma   que se puede establecer si es necesario( el rango va desde   6 a los 90v ).

Además estos instrumentos almacenan automáticamente los datos de  la última prueba de modo que  cuando se  apagan  el valor energético se puede restablecer por una pulsación corta el botón de función en segundos.

En  concreto este medidor, puede medir voltios, amperios, vatios y energía individualmente contando con un shunt de 100 A / 75 mV, adecuada para mediciones de gran alcance . Cuenta  con una pantalla Digital Súper Grande de  51x30mm de  LCD azul para mostrar la tensión, corriente, potencia y la energía.  Con este medidor, puede medir voltaje 6.5V – 100V DC, amperios 0.0A – 100A y vatios 0.0w – 10Kw.

 

 

Si tiene dudas sobre su uso en este video podemos ver el medidor   en funcionamiento  usando precisamente  est  para monitorizar la carga de nuestro conjunto de 10 supercondensadores

 

Conclusión 

Realmente ya hemos visto como montar  los supercondensadores  para fabricar  un banco de energía de supercondensadores  para uso doméstico utilizando  placas de protección  para ensamblar los condensadores   de 2.7V 500F  montados en una combinación mixta de serie y en paralelo de forma segura.

El valor total de la capacidad de los  10 supercaps resultante de es  de 13.5V ,como hemos calculado es de 200F  que traducido a Ampx hora es de  0.75AH .siendo e tiempo de carga promedio para este paquete de unos 8 minutos  utilizando un  cargador lento  comercial  tradicional  de  batería del automóvil.

No nos cansaremos de repetir que las placas de carga son imprescindibles  porque  protegen los condensadores de daños por sobretensión.

 

Finalmente  en este video podemos ver el montaje de este conjunto   y su utilización practica