lunes, 20 de abril de 2015

Autoclave (Horno para curar fibra de carbono)

    Me dice mi amigo Santiago que necesita un sistema de control para poder fabricar piezas de fibra de carbono para sus aviones.
   El proceso de fabricación necesita unas condiciones de presión y temperatura determinadas además de controlar los tiempos de curado, básicamente consiste en preparar los perfiles del ala y forrarlos con las capas de fibra de carbono, resina y kevlar, meterlo en una bolsa de plástico y hacer el vacio para que la presión atmosférica oprima el montaje en todas direcciones.
   Además se sube la temperatura y se mantiene en esas condiciones el tiempo que necesite.
   Hay otras etapas de curado, de endurecimiento y demás, así que el sistema ha de ser capaz de poder ejecutar cada etapa con unos valores diferentes.

Prototipo del control funcionando.
 

   La idea era utilizar un compresor de nevera para generar el vacio y una resistencia eléctrica para generar el calor, un sistema de control basado en Arduino y muchas horas de ensayo y error, Santiago se ocuparía de la parte mecánica y yo de la electrónica.

   El objetivo final es fabricar aviones como este, un ejemplo real de alas fabricadas con este invento:

 
   Para medir la presión utilizamos un sensor de presión diferencial de Motorola, MPX2200DP, es un sensor con dos puertos, uno para presión positiva y otro para vacio (o presión negativa) que es el que utilizaremos, en el datasheet, podemos ver que el sensor nos entrega un voltaje proporcional a la diferencia de presión que recibe, de 0,2mV por KPa.

   Habrá que diseñar una etapa de amplificación y acondicionamiento de esta señal para poder tratarla en el Arduino, para ello vamos a utilizar unos amplifcadores operacionales encapsulados en un LM380 o en otro parecido (en el prototipo utilicé un cuadruple operacional LM324, aunque sólo aprovechaba dos amplificadores).


   La primera etapa es un amplificador diferencial para recoger la señal diferencial del sensor, además para poder ajustar el valor a cero cuando no hay vacío, lleva un ajuste de offset en P1.
   Esta primera etapa tendrá una ganancia de 10.


  La segunda etapa es un amplificador con una ganancia de 25 para ajustar el valor de la presión al rango de resolución del conversor A/D del Arduino, ya que la máxima presión de trabajo será de 1 bar (aunque sea negativo lo medimos como una presión positiva al entrar por el puerto de vacio del MPX).
    Para 1 bar, tenemos 100KPa, lo que nos dará en la salida del MPX 20mV, por 10 de la ganancia de la etapa 1, nos da 200mV y por 25 de la etapa 2, nos da los 5V, el máximo de la entrada del A/D.
Primera versión del prototipo de la etapa de entrada de presión, con el sensor MPX , los OPAMP y la fuente de alimentación,

   Entonces, para tener una ganancia de 25, buscamos los valores de las resistencias de la realimentación de la etapa 2, han de ser: 25=1+(P2/R6), si escogemos R6=1K8, P2 nos da 43K2, o sea un potenciómetro de 50K, nos vale, preferiblemente multivuelta los dos potenciómetros, sino será muy difícil de ajustar.


   Esquema del circuito pasado a limpio, creado con fritzing y que podeis descargar desde aquí, como se puede ver está mucho más completo, incluye la pantalla LCD, las salidas a relé, el sensor de temperatura y los mandos de programación.
  De hecho el regulador de 5V no hace falta para conectar a un arduino "entero", esto es con su placa, la idea es sacar el chip ATMEGA 328 de la placa y ponerlo sobre un zócalo en la placa, una vez programado, y para ello sí es necesario el regulador 5V.
Prototipo del compresor con la placa de control, el arduino y la pantalla LCD.

Esto es lo que hay dentro de la caja, no deja de ser un prototipo.

Pruebas de funcionamiento del sistema de control.


 El programa podeis descargarlo desde aquí, a continuación una descripción de los componentes principales:

 

  Manual de instrucciones:
  Una vez encendido, puede estar en modo programación o en modo RUN;

  •    Modo RUN.
               Ejecuta las etapas que hayan sido programadas, según la siguiente tabla:
             

               De forma que, por ejemplo, si hemos programado la etapa 1 con 1 hora y media, una presión de 0,8 bar y una temperatura de 45ºC, el sistema estará durante 1,5 horas controlando la presión mediante el compresor y la temperatura mediante las resistencias para mantenerlas en los valores de consigna de 0,8bar y 45ºC.
              Si la segunda etapa tiene otros valores, ejecutará la temporización determinada con los valores correspondientes de presión y temperatura.
              Ejecutará después la etapa 3 y finalmente la 4, terminará apagando compresor y resistencia y poniendo un mensaje en pantalla "fin de cocción, presione botón".
              Se quedará en modo reposo por siempre o hasta que pulsemos el botón, con lo que vuelve a iniciar el ciclo programado, etapa 1, etapa 2, etapa 3, etapa 4, fin.



  • Modo Programación.
     En el modo programación, muestra los valores que tenga memorizados de cada etapa, ejecutando un ciclo informativo en el que pone en pantalla la etapa 1, con sus valores asociados, la  mantiene unos segundos y cambia a la etapa 2, espera y presenta la etapa 3, la cuatro y finalmente una pantalla con los valores de histéresis de presión y de temperatura.

   Si queremos programar nuevos valores, pulsamos el botón "memoria" durante 5 segundos y en cuanto aparezca en pantalla el mensaje "programación", lo soltamos, con lo que entramos en el modo programación, en este modo nos va pidiendo los valores que vamos a introducir en la tabla.
   Primero nos indica "etapa 1" y nos pide el tiempo que queremos que dure, se introduce este con el mando giratorio (potenciómetro "Mando programación" en el esquema) y una vez alcanzado el valor deseado pulsamos "memoria" con lo que nos pide ahora la presión, se ajusta el valor con el mando giratorio y se graba en memoria con el botón "memoria", nos pide luego valor de temperatura que se introduce igual y se graba igual.
  Luego para la etapa 2 nos pide los mismos datos, igual para las etapas 3 y 4.
  Por supuesto podemos dejar con valor 0 cualquiera de ellos, de forma que si el tiempo es cero, no se ejecuta esa etapa, si la presión es cero no se regula la presión y si la temperatura es cero, tampoco se tiene en cuenta, de esta manera podemos hacer regulación sólo de uno de los parámetros que nos interese.
  Despues de las cuatro etapas, nos pide los valores de histéresis de presión y temperatura, que se introducen exactamente igual que los valores comentados anteriormente, estos pueden variar entre 0 y 0,4bar para la presión y entre 0 y 10ºC para la temperatura.

   Una vez hemos terminado de introducir todos los valores pone el mensaje "Programación finalizada", ya sólo es necesario mover la palanca al modo RUN para que comience a ejecutar las etapas programadas.

Un video del sistema funcionando en su totalidad:

 




7 comentarios:

  1. Felicidades, me ha gustado mucho y pienso ponerlo en practica.

    ResponderEliminar
  2. Excelente, gran aportacion a la red. Deberia ser traducido al ingles y subido a sitios como instructables.com, hackaday, etc. porque hay muchisima gente buscado esto mismo para aplicarlo a otros "inventos", me consta.

    En mi caso me has ahorrado demasiadas horas de desarrollo para mi camara de vacio. Un millon de gracias y felicidades.

    ResponderEliminar
  3. Buenos días. Estoy construyendo un horno industrial para curar epoxi pero la parte electronica me resulta un poco más difícil. Este cuadro me parece muy bueno por la posibilidad de regular el vacio mientras se hace el ciclo de curado. Pero tengo algunas dudas para ponerlo en marcha. Me harías un gran favor si pudieras darme un par de consejos. Mi correo electrónico es davidsoria45@hotmail.com gracias de antemano

    ResponderEliminar
  4. Falta un parámetro importante, toma en cuenta que la fibra de carbono le gusta la cocción lenta, el parámetro en cuestión es el tiempo progresivo para llegar a una temperatura específica, por ejemplo: digamos que en la etapa 1 queremos curar la pieza a 58° celsius durante 70 minutos, pero queremos que el horno vaya aumentando la temperatura a 1,3 grados por minuto, eso significa que en 44.3 minutos el horno alcanzó la temperatura programada, y los otros 25.7 minutos estará a 58° grados celsius, a su respectiva presión.

    ResponderEliminar
  5. Buenas tardes
    En el esquema aparecen dos puntos de -12V eso es una errata en el esquema o hay que invertir polaridad en esa parte del circuito? Porque en una de las zonas aparece +12 una resistencia variable y -12v
    Un saludo

    ResponderEliminar
  6. Hola, no es una errata, es correcto, si te fijas en la fuente de alimentación, es simétrica, hay un regulador de +12V y otro de -12V, la resistencia variable que citas es para el ajuste de offset.
    En cualquier caso si me dices a qué parte del circuito te refieres exactamente, compruebo el esquema por si acaso.
    Gracias.

    ResponderEliminar
  7. Buenas!

    Excelente proyeto!

    Lo estoy acuerdo pero tengo dudas...
    Perdona mi español,pero hablo un poquito mejor que lo escribo!

    La foto del esquema de amplificacion no vaya certo con el esquema de fritzing!

    Otra cosa es que vosotros alimentais el pino 4 del mpx2200 que do debería ser el pino 3!

    Hay visto algo mal!?!

    Cordiales saludos

    ResponderEliminar