Saltar al contenido

Incubadora precisa y de bajo costo para biología de bricolaje

julio 4, 2021
FFCG8YUIH3T95YA

Paso 1: una descripción más técnica de cómo funciona nuestra incubadora

Una descripción más técnica de cómo funciona nuestra incubadora

En este paso, discutimos cómo controlar el suministro de CA utilizando un mecanismo de control de fase de CA. Este paso tiene algunos detalles técnicos antes de entrar en los pasos prácticos del montaje de la incubadora.

En el control de fase de CA, controlamos la potencia de entrada suministrada a la carga (en nuestro caso, la bombilla de tungsteno) permitiendo que solo una parte de cada medio ciclo de la señal de CA la atraviese. Esto es algo similar a la modulación de ancho de pulso (PWM) en DC. A diferencia de los suministros de CC, donde el voltaje es constante en un momento dado, el voltaje de un suministro de CA sigue una forma de onda sinusoidal. Por lo tanto, necesitamos conocer la posición actual del ciclo de CA exactamente antes de permitir que pase por la carga para lograr la potencia de salida deseada.

Simplemente, el mecanismo de control de potencia debe sincronizarse con la señal de CA de entrada. Para eso usamos un detector de cruce por cero. Como sugiere el nombre, el punto de cruce por cero es donde la señal de CA cruza el nivel de 0V o el punto en el que cambia su dirección. Esto sucede al principio (y al final) de cada medio ciclo y el detector de cruce por cero genera un pulso cuadrado en cada uno de estos puntos. Una vez que detectamos este punto, podemos esperar la cantidad de tiempo T1 antes de encender la señal de CA para pasar por la carga. Controlando el T1 podemos controlar la potencia de salida de la carga.

Si es un novato en el trabajo con la red eléctrica (~ 110 V / ~ 220 V), puede ser una buena idea consultar a alguien que tenga buena experiencia con ella para que le ayude. Es bueno aprender de tus errores, ¡pero no con la red eléctrica!

Paso 2: Materiales que necesitamos

Materiales que necesitamos

En este proyecto usamos:

  • Un Pantalla LCD Olimex (LCD 16×2 con 4 botones) como interfaz de usuario
  • madera contrachapada básica (1/4 de pulgada)
  • acrílico (1/8 pulgadas)
  • Tuercas y tornillos
  • Un imán
  • Dos pequeñas bisagras de metal
  • Paso 3: ensamble el circuito

    Ensamblar el circuitoEnsamblar el circuitoEnsamblar el circuito

    Construyendo el circuito de control de fase de CA

    El diagrama de circuito muestra el circuito de control de fase de CA que usamos en nuestro proyecto de incubadora. Este circuito consta de dos partes principales; a) Circuito de detección de cruce por cero b) Circuito de disparo de CA. En ambos circuitos, los componentes de CC de bajo voltaje están optoaislados de los componentes de CA de alto voltaje. Usamos un optoacoplador H11AA1 con una resistencia levantada de 10k para detectar los puntos de cruce por cero. Tenga en cuenta que aquí conectamos el suministro de CA con el H11AA1 a través de dos resistencias de 15k. Usar un transformador reductor (~ 110 V a ~ 12 V) sería una forma más agradable de hacer esto. Pero si está dispuesto a usar resistencias, tenga en cuenta que debe usar resistencias de alta potencia (no las pequeñas de un cuarto de vatio). Usamos resistencias de 5W, pero las de 2W serán más que suficientes para un suministro de 110V. De todos modos, haga sus cálculos (V al cuadrado sobre R), especialmente si está a 220 V o si usa otros valores de resistencia. Usamos el triac Q6015L5 para activar (encender) el circuito de CA. La función Triac es similar a la función de un relé donde podemos encender y apagar una señal de alto voltaje usando una pequeña señal de voltaje de un Arduino.

    NOTA: Cuando esté construyendo este circuito, debe tener mucho cuidado ya que se trata de voltajes más altos. No se puede utilizar el cableado interno de las placas de banda o pequeños cables de circuito para conectar componentes de alta potencia. Debes usar alambres gruesos y una buena cantidad de plomo mientras los sueldas. Usamos conectores de bloque de terminales de tornillo para conectar la entrada y salida de CA. Compruebe las conexiones varias veces para evitar cortocircuitos antes de conectarlo a la red eléctrica.

    Una vez que haya terminado de soldar el circuito, conecte el cable de alimentación de CA a los conectores de tornillo de entrada para que pueda conectarlo fácilmente a una toma de corriente. Luego, conecte el portalámparas a los conectores de tornillo de salida. Luego, puede conectar el extremo de CC del circuito a los pines 5V, GND, 9 y 2 de Arduino como se muestra en el esquema. Aquí, la salida de cruce por cero está conectada al pin int.0 (pin 2) del Arduino, ya que usamos las funciones de interrupción de Arduino en el código y el pin 9 se usa para activar el triac (puede usar cualquier otro pin disponible para esto)

    Conexión del sensor de temperatura

    Usted puede sigue este bonito artículo de Adafruit. Explica todo lo que quieres saber. Nuestro esquema muestra cómo conectar el amplificador de termopar al Arduino.

    Conexión de la interfaz de usuario de LCD

    Nosotros usamos Pantalla LCD compatible con Olimex Arduino que viene con 4 botones incorporados como interfaz de usuario de la incubadora. Este escudo puede comunicarse con Arduino a través de I2C y UART. En este proyecto utilizamos la comunicación I2C. Por lo tanto, solo necesita conectar los pines 5V, 3V3, SDA, SCL, AREF y GND del escudo a los pines relevantes del Arduino.

    Paso 4: el código Arduino

    En el siguiente paso, discutimos cómo controlar este circuito con el código Arduino. Simplemente puede descargar y ejecutar nuestro código. El resto de este paso entra en los detalles sangrientos de cómo funciona el código. Tenga en cuenta que algunas partes de nuestro código se basan en Tutorial de control de fase de CA de Arduino y reutilizamos una parte de ese código tal como está.

    La placa Arduino UNO contiene un microprocesador ATmega328P 16MHz. Para activar el circuito de control de fase de CA a intervalos precisos, utilizamos las funciones de interrupción del temporizador de hardware de ATmega328. Por lo tanto, si no está familiarizado con conceptos como temporizadores, desbordamientos de registro y preescalado, este artículo los explica mejor.

    Antes de entrar en codificación, tenemos que hacer algunos cálculos básicos. La señal de CA es de 60 Hz. (No se preocupe si tiene 50Hz en su país, puede volver a calcularlo fácilmente) Esto significa que la señal de CA cruza cero, alcanza el voltaje máximo positivo, cruza cero nuevamente, alcanza el voltaje máximo negativo y vuelve a cero 60 veces cada una segundo. El período (tiempo que tarda esto) es 1/60 o 0,01667 segundos (16,67 milisegundos). Por lo tanto, un medio ciclo o el tiempo entre dos pulsos de cruce por cero ocurre en 8.33 milisegundos.

    De aquí en adelante, determinaremos los intervalos de tiempo en el código a partir de los recuentos de reloj, no por segundos. El reloj de Arduino funciona a 16 MHz, que es de 16.000.000 de ciclos por segundo: un ciclo de reloj tarda 0,0625 microsegundos. Un solo medio ciclo de la señal de CA de 60 Hz contiene 133,333 ciclos de reloj. El temporizador de 16 bits (temporizador1) de Arduino Uno solo puede contar hasta 65535. Así que necesitamos configurarlo con un preescalador. En este código usamos un prescaler 256. Con el preescalador 256, medio ciclo significa aproximadamente 520 incrementos de temporizador. Por razones prácticas (ligeros cambios en la frecuencia de suministro y retrasos en el funcionamiento del triac) lo consideramos 450. Esto asegura que el controlador del triac tiene tiempo para apagarse antes del siguiente medio ciclo. Así que controlamos el tiempo de espera antes de encender el triac dentro del rango 1-450 dentro de cada medio ciclo para controlar la potencia de salida. Usamos interrupciones de coincidencia de comparador para esto. Usamos interrupciones de desbordamiento del temporizador para controlar la señal a la puerta del triac y establecer el ancho de pulso en 4 conteos de temporizador. Aquí, cuando el pulso se envía a la PUERTA del triac, encenderá el suministro de CA y permanecerá encendido incluso después de que se elimine el pulso hasta la próxima vez que la onda de CA llegue a cero. (Si no está familiarizado con el funcionamiento de Triac Este es un buen artículo.) Debido a esto, no tenemos que preocuparnos por apagar el triac.

    El siguiente fragmento de código muestra la lógica de control de fase de CA.

    #define DETECT 2 //detección de cruce por cero

    #define GATE 9 //puerta triac

    #define PULSE 4 //ancho de pulso de disparo (conteos)

    // configurar Timer1 (16 bits)

    OCR1A = 100; //inicializar el comparador

    TIMSK1 = 0x03; //habilitar el comparador A y las interrupciones de desbordamiento

    TCCR1A = 0x00; //registros de control del temporizador configurados para

    TCCR1B = 0x00; //funcionamiento normal, temporizador desactivado

    // configurar interrupción de cruce por cero

    attachInterrupt (0, zeroCrossingInterrupt, RISING);

    //cruce por cero detectado

    void zeroCrossingInterrupt () {

    TCCR1B = 0x04; //iniciar el temporizador con dividir por 256 de entrada

    TCNT1 = 0; //reiniciar temporizador – contar desde cero – contar hasta que coincida con el valor del comparador

    }

    //coincidencia del comparador: alcanzó el retraso esperado

    ISR (TIMER1_COMPA_vect) {

    escritura digital (PUERTA, ALTA); //Ponga la puerta del triac en alto – encienda el suministro

    TCNT1 = 65536-PULSE; //ancho de pulso de disparo

    }

    //desbordamiento del temporizador1: el pulso alcanzó su ancho

    ISR (TIMER1_OVF_vect) {

    digitalWrite (GATE, LOW); //apaga la puerta del triac

    TCCR1B = 0x00; //deshabilitar el temporizador para detener los desencadenantes no deseados

    }

    Control de temperatura

    Ahora hemos terminado con la parte más complicada de nuestro código. Lo siguiente es controlar la potencia (o el tiempo de retardo) de acuerdo con el valor de temperatura actual y la temperatura objetivo deseada. Para leer el valor de temperatura usamos el Biblioteca Adafruit_MAX31855. Para implementar el mecanismo de control usamos lógica de control PID. No se preocupe si suena un poco complejo. Afortunadamente tenemos un Biblioteca Arduino para eso. El siguiente fragmento muestra el código para eso.

    #define DO 3

    #define CS 4

    #define CLK 5

    Termopar Adafruit_MAX31855 (CLK, CS, DO);

    punto de ajuste doble, entrada, salida; //Definir variables a las que nos conectaremos

    doble Kp = 2, Ki = 6, Kd = 1; //Especificar los enlaces y los parámetros de ajuste inicial.

    PID myPID (& Entrada, & Salida, & setPoint, Kp, Ki, Kd, ​​DIRECTO);

    myPID.SetMode (AUTOMÁTICO);

    myPID.SetOutputLimits (0, 449); // establecer el rango

    // dentro del método de bucle

    doble c = termopar.readCelsius ();

    si (isnan (c)) {

    i = 450; // Vaya a la potencia mínima si algo salió mal

    }

    demás {

    Entrada = c; myPID.Compute ();

    i = 450-Salida; // Bajar la demora, aumentar la potencia

    }

    OCR1A = i; //establecer el valor del comparador en i

    retraso (400); // espere antes de la siguiente lectura de temperatura


    Interfaz de usuario

    Para programar la interfaz de usuario usamos la biblioteca de escudo lcd olimex junto con la biblioteca de cables Arduino. Usted puede descargar la biblioteca olimex del sitio web de Olimex.

    Archivos adjuntos

    Paso 5: prueba el sistema

    Probar el sistemaProbar el sistema

    Una vez que haya terminado con la soldadura, el montaje, el cableado y la programación, tiene casi todo para hacer una incubadora funcional y probarla. ¡Solo dos cosas más simples que hacer! Tienes que perforar un orificio en la parte superior de la caja de poliestireno para colocar el portalámparas y otro pequeño orificio en la parte inferior de la parte posterior para colocar el cable del termopar. Consulte la primera imagen. Coloque el soporte a través del orificio superior y coloque la bombilla de tungsteno en él.

    Pase el extremo libre del cable del termopar a través del orificio inferior y péguelo a la pared posterior de la caja de poliestireno con cinta adhesiva. Consulte la segunda imagen. Usa la tapa de la caja de poliestireno para cerrarla, a partir de ahora (luego haremos una puerta transparente). Encienda el arduino con una fuente de CC. Enchufe el cable de CA a una toma de corriente y enciéndalo. No toque nada que lleve corriente alterna desde este punto. Por defecto, la temperatura objetivo es de 35 C.Si todo funciona bien el …

    close