martes, 27 de noviembre de 2018

Creality Ender 3: puesta en marcha de nuestra primera impresora 3D

Acabamos de adquirir nuestra primera impresora 3D. Nos hemos decantado por la Comgrow Creality Ender 3, de la que hemos oído hablar muy bien en distintos foros especializados. Nos ha salido a un precio muy competitivo para lo que estamos acostumbrados a ver, aunque no tanto si lo comparamos con el que se oferta en numerosas páginas chinas, en las podemos encontrarla hasta un 25% más barata.

Proceso de ensamblado.

Nada más recibir el paquete, prodecimos raudos y veloces a su apertura para comprobar que todo estaba correcto. El paquete venía perfectamente organizado con los plásticos y espumas protectoras correspondientes, totalmente asegurado y con todas las piezas correctamente etiquetadas con su nombre o número. Se incluía un A3 a doble cara con todas las instrucciones de montaje, así como todas las herramientas necesarias para realizar el ensamblaje, algo que se agradece bastante. Aunque inicialmente teníamos un poco de miedo, pues nos habían comentado que este tipo de montajes eran complicados, en cuanto nos pusimos manos a la obra nos dimos cuenta de que esta tarea era tan sencilla como la de montar un mueble de Ikea o realizar una construcción con bloques de LEGO. Simplemente hay que ir paso a paso, fijándose bien en cada pieza, tornillo, correa,... e ir realizando el ensamblaje tal y como se indica en la hoja de instrucciones.
Fragmento del manual de instrucciones para el montaje de la impresora 3D.
 
Recreación del montaje de la impresora 3D Comgrow Creality Ender 3.
(Video proporcionado en la microSD incluida en el paquete)

Instalación y calibrado.

Una vez montada la impresora, estábamos ansiosos por probarla. Los pasos lógicos que pasan por la cabeza son los de leer el manual, instalar el software de control, realizar un complejo proceso de calibrado, estudiar el funcionamiento del software de diseño... La Creality Ender 3 incluye una pequeña tarjeta microSD y un adaptador USB para utilizarla a modo de pendrive. En esta tarjeta se pueden encontrar drivers, programas, manuales, documentos con preguntas frecuentes,... así como un pequeño manual de funcionamiento básico y un modelo 3D de ejemplo listo para ser impreso. En el manual se indica que la impresora puede funcionar de forma autónoma, sin necesidad de usar el ordenador, leyendo modelos 3D directamente desde cualquier tarjeta microSD a través de un puerto destinado a tal fin. Así que nos planteamos comenzar a imprimir el modelo de prueba sin realizar ningún tipo de instalación ni conexión al PC.
Encendimos la impresora y el display de la misma nos dio la bienvenida. Rápidamente comenzamos a navegar por las distintas opciones y nos hicimos una idea del funcionamiento general: opciones de movimiento del "cabezal de impresión" o "nozzle", opciones de ajustes de temperatura y opciones de impresión desde la microSD, con posibilidad de pausa. En menos de 5 minutos nos habíamos familiarizado con todas las opciones. Comentar que existen algunas diferencias de organización entre los menús que muestra la máquina y los que aparecen en el manual, seguramente como consecuencia de alguna actualización del firmware posterior a la impresión de las instrucciones. Sin embargo estas diferencias son mínimas y no suponen ningún problema para el uso de la máquina.
Preparados mentalmente para imprimir, metimos el filamento por el tubito habilitado para tal fin (siguiendo las indicaciones básicas del manual) y seleccionamos en el menú de la impresora la opción de imprimir desde la microSD ("print from SD"). El "nozzle" empezó a moverse y comenzó a salir un filamento solido que se retorcía sobre si mismo sin crear ninguna forma. Comenzaban a surgir los primeros problemas:
  • Primer problema: selección de temperatura del cabezal.
    Nos dimos cuenta que entre los distintos elementos incluidos en la caja de la impresora había una pequeña tablita con los distintos materiales soportados por la impresora y las temperaturas a las que deben ser fundidos. Por defecto la impresora arranca a 200ºC, pero estabamos intentando imprimir con ABS HD que se fundía entre 240 y 260ºC. Corregimos la temperatura en el menú correspondiente y reintentamos la impresión.
    Relación de distintos materiales del filamento usado por la impresora 3D y las distintas temperaturas de trabajo a las que debe configurarse la misma.
  • Segundo problema: distancia de la base ("bed").
    En el segundo intento de impresión notamos como el filamento ya salía ligeramente fundido y pegajoso, pero seguía retorciéndose sobre sí mismo y cuando alcanzaba la base llegaba sólido. La base estaba demasiado alejada del cabezal ("nozzle"), a solo un par de milímetros o menos. Habíamos pasado por alto que ésta tenía que estar a una distancia mínima, algo que indicaba claramente en las instrucciones, pero de lo que no nos habíamos percatado. Así que procedimos calibrar la distancia "a ojo", apretando las cuatro rueditas situadas debajo de la base, subiéndola hasta que "casi rozaba con el nozzle".
    Detalle de una de las ruedas de calibrado de la base ("bed") de la impresora 3D.
    Detalle de las dos ruedas frontales de calibrado de la base de la impresora 3D.
  • A la tercera va la vencida.
    Después del calibrado manual, reintentamos nuevamente la impresión. Esta vez comenzó a pegarse el filamento sobre la base, formando un patrón perfectamente definido. Los minutos pasaban lentamente, pero poco a poco la impresión iba tomando forma.
    Primeros momentos de la impresión del modelo proporcionado para pruebas en el kit de instalación de la impresora 3D.

Impresión de la figura de prueba.

Una vez comenzó la impresión de la figura de prueba, la cual inicialmente pensamos que era una rana, todo fue perfectamente, aunque algo lento para nuestra impaciencia. Comenzamos la impresión a las 11a.m. y nos teníamos que marchar a las 13:30h, con lo que la impresora disponía de escasas dos horas y media para acabar el trabajo. Desafortunadamente pecamos de demasiado optimistas. A la hora de marcharnos, se había completado escasamente un 30% de la figura. Eso si, la calidad nos pareció bastante buena. Accedimos a los controles de la máquina y le indicamos que realizase una pausa. A continuación procedimos a apagarla.
Estado de la impresión tras una hora y cuarto de trabajo.
Era viernes y no volveríamos al laboratorio hasta pasado el fin de semana. Sabíamos que la impresora disponía de la posibilidad de reanudar el trabajo en el punto que se realizó la pausa, pero no sabíamos si tras un largo fin de semana la máquina continuaría su trabajo con la misma calidad que lo empezó. Así que tras el fin de semana, a primera hora de la mañana volvimos a conectar el interruptor de encendido, y en el display se nos preguntó si queríamos continuar con la impresión. Obviamente contestamos que sí.
Display de la Creality Ender 3 preguntando si queremos reanudar la impresión.
El trabajo continuó durante cuatro largas horas más sin aparentes problemas. Si que notamos como surgieron algunas pequeñas grietas, principalmente en el punto inicial donde se reanudó la impresión.
Alumnos trabajando en el laboratorio mientras la impresora 3D hace su trabajo.
Pese a las pequeñas imperfecciones presentadas por el perrito (nos dimos cuenta que era un perrito y no una rana cuando observamos que se estaba imprimiendo una pequeña cola en la parte trasera), creemos que el resultado obtenido es bastante aceptable. Habrá que probar distintos materiales y jugar con distintos valores de temperatura hasta conseguir controlar perfectamente el trabajo de esta fantástica máquina de crear objetos.
Producto final. un bonito perrito, obtenido tras la impresión 3D.
Con este perrito ya tenemos una nueva mascota para el laboratorio de tecnología del Norba Caesarina de Cáceres.

jueves, 8 de noviembre de 2018

NORBA STATION 1: captación de energía solar fotovoltaica

Un grupo de alumnos de 4º de ESO están desarrollando un sistema para captar energía solar, almacenarla y posteriormente usarla, el cual debe disponer de un mecanismo que permita orientarse automáticamente para maximizar la obtención de energía. Para la realización del mismo se utilizarán una placa solar policristalina, cuatro fotorresistencias, dos servomotores y una placa arduino de control, así como otros componentes básicos tales como resistencias, cableado, protoboard, pegamento, y materiales reciclados en general. Además, con vistas a probar el rendimiento del sistema, se utilizarán también voltímetros, amperímetros y baterías, entre otros elementos.

Placa solar fotovoltaica
Fotorresistencia
Servomotor
Previa a la creación del sistema, el cual aún no está finalizado, se ha realizado un estudio preliminar de los distintos componentes a utilizar. Para ello se ha empleado, como en otros proyectos, el simulador proporcionado por Tinkercad. Posteriormente se ha dividido el proyecto en tres partes bien diferenciadas:
  1. Sub-sistema motor para el movimiento de la placa solar, el cual consta de dos servomotores que permiten dotar al mismo de dos grados de libertad (giro de 360 grados sobre una superficie horizontal, y giro de unos 170 grados en el plano vertical), y de distintas estructuras conectadas a los mismos capaces de sujetar la placa y moverla de forma eficiente.
    Un primer esbozo de la estructura de este subsistema se ha realizado mediante el software de diseño CAD de Tinkercad.
    Diseño CAD del sistema motor.
    Basándose en ese diseño, posteriormente se ha realizado un prototipo del mismo usando materiales reciclados, el cual aún está en fase de revisión y mejora.
    Alumnos 4º ESO con su primer prototipo del sub-sistema motor.

    Sub-sistema motor del captador de energía solar en detalle.
    Para probar este sub-sistema se ha utilizado una placa Arduino y una serie de interruptores para la realización del movimiento de forma manual, mediante un diseño muy parecido al utilizado para la construcción del primer NORBA JOINT o "Brazo Robot" del proyecto NorbaSky.
    Circuito creado para probar manualmente el movimiento de los dos servomotores.
    Completando el circuito de control manual mediante interruptores y Arduino.

    Sistema motor, aún sin placa solar, moviéndose mediante interruptores y Arduino.

  2. Sistema de localización de luz, el cual consta de dos pares de fotorresistencias colocadas perpendicularmente una de la otra, formando todas ellas un ángulo de 45º con la placa solar. Estos componentes informarán acerca de la luz recibida. Con esta configuración, las cuatro fotorresistencias deberían recibir la misma cantidad de luz cuando la placa solar fotovoltaica se posicionase perpendicularmente a la fuente de luz (situación óptima).
    Para probar este sistema, se ha creado un circuito a partir de las citadas fotoresistencias además de cinco leds formando una cruz. Cuando la luz incida de forma óptima sobre las fotorresistencias (perpendicularmente), solamente el led central se iluminará. En el resto de los casos, se encenderán alguno de los leds restantes, indicando una inclinación mayor de la cuenta en la dirección del led iluminado. Este diseño servirá posteriormente de base para el tratamiento automático del sub-sistema motor.
    Asimismo se ha incluido un interruptor para el calibrado de la luz, a fin de que el sistema pueda aprender cuál es la situación de máxima y mínima luz. Esto mejora el rendimiento global del sistema.
    Sistema de información de inclinación óptima de las cuatro fotorresistencias.

    
    #define HMin A2
    #define HMax A1
    #define VMin A0
    #define VMax A3
    
    #define LedHMin 4
    #define LedHMax 1
    #define LedVMin 5
    #define LedVMax 2
    #define LedCentro 3
    
    #define BotonCalibrado 7
    
    //Determinal los valores máximos y mínimos de luz devueltos
    //por las cuatro fotorresistencias  
    int MinLuz=1024; //Valor inicial que irá disminuyendo en calibrado
    int MaxLuz=0;    //Valor inicial que irá aumentando en calibrado 
     
    //Vectores que permiten acceder a los puertos incluidos en la sección 
    //"#define" de una forma rápida dentro de un bucle "for".
    int foto_res[4]={HMin,HMax,VMin,VMax};
    int led[4]={LedHMin,LedHMax,LedVMin,LedVMax};
    
    
    void setup() {
       int luz;
     
       for (int x=0;x<4;x++){ //Inicia las 4 fotorresistencias y los 4 leds.
           pinMode(foto_res[x], INPUT); 
           pinMode(led[x], OUTPUT); 
           };
     
       pinMode(BotonCalibrado, INPUT);
       pinMode(LedCentro, OUTPUT);
     
       /*
         "while" del proceso de calibrado: busca la luz máxima y mínima.
         Se leen los valores devueltos por las cuatro fotorresistencias 
         una y otra vez, almacenando en MaxLuz el valor máximo encontrado
         y en MinLuz el valor mínimo. Este proceso se repite hasta que se 
         pulse el botón BotonCalibrado.
       */
       while (digitalRead(BotonCalibrado)==LOW) {
           for (int x=0;x<4;x++) { 
               luz=analogRead(foto_res[x]); 
               MinLuz=(luz<MinLuz?luz:MinLuz); 
               MaxLuz=(luz>MaxLuz?luz:MaxLuz);
               }
           }
       }
    
    void loop() {
        int v[4];
     
        //Se leen los valores de las cuatro fotorresistencias y se almacenan
        //en los cuatro valores del vector auxiliar "v" para su posterior
        //procesado.
        for (int x=0;x<4;x++) { 
              v[x]=map(analogRead(foto_res[x]),MinLuz,MaxLuz,0,4); 
              }
     
        digitalWrite(LedHMin, v[0]>v[1]); //Condición verdadera vale HIGH
        digitalWrite(LedHMax, v[1]>v[0]);
        digitalWrite(LedVMin, v[2]>v[3]);
        digitalWrite(LedVMax, v[3]>v[2]);
        digitalWrite(LedCentro, (v[0]==v[1])||(v[2]==v[3]) );
    
        delay(100); 
        }
    
    
    Código de control del Sistema de Información de Orientación Optima.
  3. Sistema de control basado en Arduino, capaz de procesar la información procedente de las cuatro fotorresistencias y actuar en consecuencia sobre los servomotores del sistema motor, con el fin de obtener en todo momento la orientación óptima de la placa solar fotovoltaica para maximizar la producción de energía eléctrica.