Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Contenedor de temperatura controlada para transporte de muestras

Componentes y suministros

Sensor de temperatura PT 100
× 1
Arduino UNO
× 1
Batería de iones de litio
10400 mAh
× 1
Caja de poliestireno
Reciclado de la entrega convencional de muestras / productos químicos
× 1
Bloques de cobre
Dos bloques de cobre aprox. 80x50x10mm, para mecanizar para disipador de calor y accesorio Peltier, con orificios para tubos de calor.
× 1
Módulo de placa de fuente de alimentación de refuerzo ajustable ULS
× 1
Heatpipe cooler
× 1
Potenciómetro digital
× 1
Magic Gel
Para mejorar la transferencia de calor, podríamos insertar varillas de metal entre las muestras
× 1
Convertidor de CC
× 1
módulo Peltier
× 1
Condensador 3.3 uF
× 1
Tuberías de calor
× 1
Fuente de alimentación para la red
× 1
Divisor de CC para fuente de alimentación
× 1
Adafruit Pantalla LCD Adafruit
× 1
Estera calefactora
Para calentar muestras
× 1
Bloque de terminales
× 1
Caja de plástico
× 1
Enchufe de CC de montaje en panel
× 1
Interruptor de doble tiro de cuatro polos
× 1
Interruptor monopolar de dos posiciones
× 1
Caja de plástico
Caja de plástico externa para electrónica
× 1
Conector de bloque de terminales, 3 vías
× 1
Conector de bloque de terminales, 5 vías
× 1
Cinta Hook and Loop DualLock
× 1
Adafruit Proto-Screwhield
Para conexiones de cables de terminales de tornillo más firmes a Arduino
× 1
Cargador de batería USB de iones de litio Adafruit
× 1
Amplificador del sensor de temperatura Adafruit PT100
× 1

Herramientas y máquinas necesarias

Soldador (genérico)
Dremel 4000
Vise
Ejercicio
Herramienta para pelar cables, alicates, cortadores
Molino manual
Para mecanizar piezas de cobre

Aplicaciones y servicios en línea

GitHub
Usamos la biblioteca de sleemanj para el potenciómetro digital MCP41100 (¡gracias sleemanj!). También usamos las bibliotecas de Adafruit para cada uno de los módulos de Adafruit que usamos; están disponibles en la página del producto.
Arduino IDE

Acerca de este proyecto

Mr ThermoParcel:contenedor de temperatura controlada para el transporte de muestras

El objetivo es desarrollar un contenedor de temperatura controlada que se pueda utilizar para transportar de forma segura muestras sensibles con un servicio de correo convencional. Nuestro dispositivo prototipo, llamado Mr ThermoParcel, funciona dentro del rango de temperatura de 4 a 37 ° C y puede alimentarse con un adaptador de red, una batería interna u otras fuentes de 12 V, como un encendedor de cigarrillos de automóvil o un cargador de computadora portátil.

La génesis de nuestro proyecto

Nuestra idea parte de un problema real al que nos enfrentamos en nuestra investigación académica:el intercambio seguro de muestras biológicas sensibles a la temperatura con colaboradores. Viola actúa contra la enfermedad de la malaria y, a menudo, es necesario enviar o recibir muestras de sangre. Sin embargo, si las muestras no se mantienen a la temperatura correcta durante el almacenamiento y el transporte, pueden degradarse fácilmente y volverse inútiles. Esto es aún más frustrante cuando las muestras contienen valiosos tipos de sangre que tienen una respuesta especial a la malaria y provienen de pacientes raros.

El método común para enviar muestras de sangre de este tipo es congelarlas por completo antes del envío, utilizar un servicio de mensajería estándar para los productos congelados y luego descongelarlos cuidadosamente después de la entrega. Además de seguir siendo costoso, este sistema está lejos de ser ideal, ya que la congelación / descongelación siempre altera o daña partes de las muestras, y el proceso de descongelación en sí sigue un protocolo específico que requiere productos químicos adicionales. Además, los artículos a menudo se entregan a la Universidad en el depósito de paquetes del campus, donde las condiciones de almacenamiento inapropiadas y los retrasos en la notificación de entrega son causas frecuentes de degradación de la muestra.

Concepto de diseño

Integramos un sistema de control de temperatura en un contenedor de poliestireno convencional del tamaño de un paquete pequeño, reutilizado de una entrega de productos químicos. Lo optimizamos y probamos con muestras de sangre, pero el mismo sistema podría usarse para una amplia gama de otros materiales biológicos, como células, medios de cultivo, productos químicos sensibles a la temperatura, emulsiones y enzimas, o incluso adaptado para elementos sólidos.

El concepto del sistema se muestra en la Figura 1 . El enfriamiento se logra con un módulo Peltier, con el lado frío unido a una pequeña caja de muestra dentro del contenedor de poliestireno y el lado caliente conectado a un disipador de calor externo. El calentamiento se realiza con una estera calefactora colocada dentro de la caja de muestra. La temperatura se monitorea constantemente usando un sensor en contacto con las muestras, y la intensidad de calentamiento / enfriamiento es regulada por un controlador Arduino.

Implementación

Hardware de contenedor diseño

El contenedor externo es una caja de poliestireno con unas dimensiones de 250x250x250 mm y un grosor de pared de 45 mm en todos los lados, que es un tipo de caja común que se utiliza en las entregas de laboratorio con servicios de correo estándar. En el interior se coloca una caja de plástico (125x70x40 mm) que contiene dos tubos de centrífuga de 50 ml. Estos tubos actúan como embalaje secundario de acuerdo con las regulaciones para Sustancias Biológicas e Infecciosas, Categoría B UN3373 ( enlace: http://www.un3373.com/info/regulations/ ). Las muestras primarias son seis tubos Eppendorf de 2 ml que contienen muestras, separados por un tejido absorbente para evitar cualquier fuga. Mr ThermoParcel puede almacenar hasta 50 ml de muestras líquidas reemplazando el embalaje secundario duro con bolsas flexibles que pueden contener una mayor cantidad de muestras, p. Ej. hasta tres o cuatro tubos de 15 ml (enlace:https://www.alphalabs.co.uk/laboratory-products/consumables/sample-handling/sample-transport/95kpa-pouches). Para mejorar la uniformidad de calentamiento / enfriamiento dentro de la caja interna y asegurar el contacto térmico entre la hoja de cobre, las muestras y el sensor de temperatura, vertimos un gel de fraguado sólido y aislante eléctrico alrededor de las muestras. La caja interior que contiene las muestras se muestra en la Figura 2 . .

Sistema de refrigeración y calefacción

La temperatura interna se monitorea con un termómetro de resistencia Pt de 100 ohmios (o detector de temperatura de resistencia, RTD) colocado en contacto con las muestras y controlado con un sistema PID usando un módulo Peltier (enfriamiento) o un tapete calefactor (calentamiento). Para disipar fuera de la caja el calor del Peltier, el lado caliente del módulo Peltier se pone en contacto térmico con una pieza externa de cobre y un disipador de calor (enfriador de CPU) a través de tres tubos de calor de cobre. El lado frío está adherido a una fina lámina de cobre que atraviesa la caja, enfriando las muestras de manera uniforme. Los detalles del acoplamiento térmico se muestran en la Figura 3 . .

La estera calefactora se coloca dentro del recinto interior en contacto con el sensor de temperatura y las muestras.

Electrónica y cableado

Regulación de refrigeración y calefacción

El módulo Peltier utilizado por Mr ThermoParcel está clasificado para 3.9A y 7.6V a máxima potencia de enfriamiento. Para controlar la temperatura de manera efectiva, la cantidad de energía entregada al módulo Peltier se administra electrónicamente utilizando el regulador de conmutación ajustable reductor PTN78020W. El regulador acepta un voltaje de entrada en el rango de 7-36V y produce una salida en el rango de 2.5-12.6V, con la limitación de que la salida no puede exceder la entrada menos 2V. El voltaje de salida se ajusta estableciendo un cierto valor de resistencia entre dos pines de regulación, de acuerdo con la tabla en la hoja de datos del dispositivo. Mr ThermoParcel emplea el potenciómetro digital MCP41100 de 100kOhm, controlado por Arduino, para regular electrónicamente el voltaje de salida basado en la lectura de temperatura. Dado que todo el rango de voltaje de salida del PTN78020W requiere una variación en el voltaje superior a 1MOhm, se aplica un voltaje al módulo Peltier incluso cuando el potenciómetro digital está configurado en 100kOhm, por lo que el módulo Peltier no se puede "apagar" usando el potenciómetro digital solo. El mismo concepto de regulación se aplica al calentamiento realizado con la estera calefactora. La alfombra es simplemente una resistencia que disipa la corriente en forma de calor, y regular el voltaje es una forma directa de controlar la energía entregada.

Fuente de alimentación

Se utiliza una fuente de alimentación de 12 V CC para alimentar directamente el PTN78020W cuando Mr ThermoParcel está cerca de una toma de corriente. Esto permite una salida de hasta 10 V, que es suficiente para impulsar el Peltier a la máxima potencia, y la alfombrilla calefactora a la potencia suficiente para los propósitos del proyecto. Dado el rango de entrada de 7-36V del regulador PTN78020W, Mr ThermoParcel también se puede manejar con la mayoría de las fuentes de alimentación de CC utilizadas para computadoras portátiles y otros dispositivos electrónicos, así como con los enchufes del encendedor de cigarrillos que se encuentran en los automóviles. Cuando no hay energía externa disponible, Mr ThermoParcel funciona con una batería de iones de litio de 3,7 V y 10400 mAh. La batería aún alimenta el regulador PTN78020W, pero para alcanzar el voltaje de entrada requerido para impulsar el módulo Peltier (10-12V en la entrada PTN78020W), el convertidor elevador DC-DC XL6019 se conecta primero a la salida de la batería.

Cableado Arduino

La alimentación se suministra a Arduino directamente desde la entrada externa de 12 V, si está disponible, a través del conector jack de la placa. Si usa la batería interna, se establece un voltaje similar en el enchufe usando la salida del convertidor XL6019.

Arduino regula la potencia entregada al módulo Peltier / tapete calefactor controlando la resistencia del potenciómetro digital. El cableado se realiza de acuerdo con las instrucciones de la biblioteca de la serie MCP41 de sleemanj, con el potenciómetro en configuración de resistencia variable. Arduino también está conectado al amplificador Adafruit MAX31865 Pt100 RTD, que se usa para leer el sensor de temperatura, y al Adafruit RGB LCD Shield, que se usa para mostrar los datos de temperatura y el funcionamiento del sistema. Ambos están conectados de acuerdo con la documentación completa de Adafruit que se encuentra en las páginas del producto.

Software

Todos los módulos Adafruit conectados a Arduino se operan con sus respectivas bibliotecas y el potenciómetro digital con la biblioteca de la serie MCP41 de sleemanj. Las funcionalidades centrales del código Arduino en Mr ThermoParcel están relacionadas con el control de temperatura, que se implementa con un sistema de circuito cerrado PID. El punto de ajuste de temperatura lo proporciona el usuario a través de los botones de protección de la pantalla LCD. Cada lectura de temperatura medida se utiliza para obtener la desviación del punto de ajuste y, por lo tanto, calcular el valor PID que se alimenta al potenciómetro digital para regular la potencia de refrigeración / calefacción. Un interruptor de palanca físico externo determina si la salida de energía se dirige hacia el módulo Peltier (enfriamiento) o la estera calefactora (calefacción). Dado que no hay interruptores electrónicos en el sistema, se hace una distinción es el código entre un modo de calefacción y un modo de enfriamiento, y el usuario debe seleccionar el modo apropiado utilizando los botones de protección de la pantalla LCD. Esta distinción asegura que el valor PID calculado tenga el signo correcto. Durante nuestras pruebas probamos un rango de valores para los factores PID y observamos que el término P solo era suficiente en la mayoría de las situaciones para permanecer dentro de ± 0.5 ° C desde el punto de ajuste, por lo que finalmente eliminamos los factores I y D. Esto probablemente se deba a la capacidad calorífica relativamente grande de las muestras y la caja interna llena de gel, que ralentizan los cambios de temperatura (normalmente un promedio de 0,02 ° C / s en los regímenes más rápidos).

Rendimiento

Cuando está conectado a la red, Mr ThermoParcel se enfría a 4 ° C cuando comienza a una temperatura ambiente de 21-23 ° C en aproximadamente 1 hora. Se alcanza una temperatura de 8-10 ° C en los primeros 20 minutos. Comenzando de nuevo desde la temperatura ambiente y usando la estera calefactora, se alcanzan 37 ° C en aproximadamente 10 minutos. Todas las temperaturas se mantienen en el punto de ajuste dentro de ± 0,5 ° C.

Cuando se alimenta únicamente con la batería interna, aproximadamente 10 ° C es la temperatura mínima que se puede alcanzar, en un tiempo de 1,5-2 h. Con la estera calefactora, todavía se pueden obtener 37 ° C, pero en 40-60 minutos. Estas limitaciones se deben a la tasa de descarga de la batería:la batería de iones de litio en Mr ThermoParcel está clasificada para una corriente de descarga máxima de 7 A a 3,7 V, pero dada la conversión ascendente a 10-12 V, la corriente de descarga debería ser mayor para mantener la máxima potencia del módulo Peltier. Dado que la batería contiene circuitos de autoprotección que cortan su salida en caso de sobrecarga de corriente, el sistema no puede funcionar si el sistema de refrigeración / calefacción intenta consumir una corriente mayor que la clasificación máxima. Cuando se opera a través de la batería, el software limita el consumo de energía a un nivel seguro. Esta limitación se debe únicamente a la batería que se utiliza aquí, y las baterías con una tasa de descarga más alta están ampliamente disponibles. Alternativamente, una batería de iones de litio con 3 celdas en serie y un voltaje nominal de 11,1 V resolvería el problema y también eliminaría la necesidad de un convertidor de CC elevador.

Direcciones futuras

En su etapa de desarrollo actual, nuestro dispositivo no se puede enviar, principalmente debido al tamaño y las partes móviles del enfriador de la CPU, y la solidez de la construcción. Sin embargo, una vez que el disipador de calor es reemplazado por un sistema de enfriamiento pasivo y se emplea un empaque secundario de 95k Pa, Mr ThermoParcel podría colocarse en un contenedor rígido apropiado para un transporte seguro, cumpliendo con todos los requisitos de los mensajeros estándar para el envío de muestras por avión y todo otros medios de transporte.

Con el objetivo principal de lo logrado, se podrían agregar otros componentes para extender la funcionalidad del dispositivo. El perfil de temperatura durante el transporte podría almacenarse en una memoria local para su posterior verificación, o enviarse directamente al usuario a través de SMS a intervalos regulares utilizando un módulo GSM Arduino. También se podría incluir un receptor GPS para el seguimiento independiente de paquetes y la recolección oportuna en el momento de la entrega.

Código

  • PID_LCD_controller_v03
PID_LCD_controller_v03 Arduino
Código Arduino para conectarse a los módulos utilizados por Mr ThermoParcel, ejecutar el controlador PID, mostrar información en el panel LCD y recibir la entrada del usuario.
 #include  // importar la biblioteca de sensores de temperatura PT100 # include  // importar la biblioteca de potenciómetros digitales # include  // importar la pantalla LCD y los botones de la biblioteca de escudos # incluir  // importar la biblioteca del expansor I2C # incluir  // Configurar potenciómetro digitalMCP41_Simple digitalPotentiometer; // crear un potenciómetro digital objectconst uint8_t digitalPotentiometer_CS =10; // Configurar el sensor de temperatura PT100 // Usar el software SPI para el sensor de temperatura PT100:CS, DI, DO, CLKAdafruit_MAX31865 PT100amplifier =Adafruit_MAX31865 (2, 3, 4, 5); // Establecer valor de la resistencia Rref. Use 430.0 para el sensor de temperatura PT100. # Define RREF 430.0 // Resistencia nominal de 0 grados-C del sensor, 100.0ohm para PT100 # define RNOMINAL 100.0 // Configuración del protector de pantalla LCD con botones Adafruit_RGBLCDShield LCD_shield =Adafruit_RGBLCDShield (); // # define OFF 0x0 // Los estados ON y OFF se pueden usar para encender / apagar la luz de fondo de la pantalla LCD // # definir ON 0x1void setup () {Serial.begin (115200); Serial.println ("Sr. ThermoParcel, iniciando la operación ..."); PT100amplifier.begin (MAX31865_4WIRE); // establecer en 2WIRE o 4WIRE según sea necesario, RTD de 4 hilos en este caso // Inicializar el potenciómetro digital digitalPotentiometer.begin (digitalPotentiometer_CS); // Establece el limpiaparabrisas en un punto arbitrario entre 0 y 255 digitalPotentiometer.setWiper (200); // Inicializar el protector de la pantalla LCD // configurar el número de columnas y filas de la pantalla LCD:LCD_shield.begin (16, 2); // configurar el punto de ajuste y el texto T medido en la pantalla LCD con los espacios correctos LCD_shield.print ("Tsetpoint:C"); LCD_shield.setCursor (0, 1); LCD_shield.print ("Tsample:C");} // Inicializar las constantes PID, las variables relacionadas con la temperatura y el botón de protección valueint powerMode =1; // powerMode =1 para alimentación por batería, powerMode =-1 para alimentación de red; se utiliza para evitar la sobrecarga de la batería en modo de operación =1; // operationMode =1 para refrigeración, operationMode =-1 para calefacción; utilizado para corregir el signo de los términos PID flotador PT100ratio; // Definir la variable de relación de resistencia para PT100 sensoruint8_t buttonsPressed =0; float kp =500.0; //; int ki =5; int kd =3.9; flotante PID_p =0.0; // int PID_i =0; int PID_d =0; float Tmedido =-1.0; float Tsetpoint =22.0; // Comience alrededor de la temperatura ambientefloat PID_error =5; float PID_value =0; // Defina la función print_Tsetpoint para imprimir correctamente el punto de ajuste de temperatura en la pantalla LCD estática char TsetpointString [3]; void print_Tsetpoint (int T) {// Imprimir Tsetpoint en el colocar LCD_shield.setCursor (10, 0); dtostrf (T, 3, 0, TsetpointString); LCD_shield.print (TsetpointString);} // Definir la función print_Tmeasured para imprimir correctamente la temperatura medida en la pantalla LCD estática char TmeasuredString [4]; void print_Tmeasured (float T) {// Imprimir Tmeasured en el lugar correcto LCD_shield.setCursor (8, 1); dtostrf (T, 5, 1, TmeasuredString); LCD_shield.print (TmeasuredString);} // Defina la función print_powerMode para imprimir correctamente el modo de energía (B, batería; M, red) void print_powerMode () {LCD_shield.setCursor (15, 0); if (powerMode ==1) {LCD_shield.print ("B"); } else if (powerMode ==-1) {LCD_shield.print ("M"); }} // Definir la función print_operationMode para imprimir correctamente el modo de energía (C, enfriador Peltier; H, tapete calefactor) void print_operationMode () {LCD_shield.setCursor (15, 1); if (operationMode ==1) {LCD_shield.print ("C"); } else if (operationMode ==-1) {LCD_shield.print ("H"); }} // *** bucle principal *** bucle vacío () {// Leer temperatura uint16_t rtd =PT100amplifier.readRTD (); PT100ratio =rtd; PT100ratio / =32768; Tmeasured =PT100amplifier.temperature (RNOMINAL, RREF); Serial.print ("Temperatura de consigna ="); Serial.println (Tsetpoint); Serial.print ("Temperatura ="); Serial.println (Tmeasured); // Imprimir valores y modos de temperatura print_Tsetpoint (Tsetpoint); print_Tmeasured (Tmeasured); print_powerMode (); print_operationMode (); // Calcular el error entre el punto de ajuste y el valor medido PID_error =Tmeasured - Tsetpoint; // Calcula el valor P PID_p =operationMode * kp * PID_error; // Calcula el valor total de PID, si está por encima del máximo (255), manténgalo en 255, si está por debajo del mínimo (0), manténgalo en 0 PID_value =(int) PID_p; // + PID_i + PID_d; Serial.print ("PID_p ="); Serial.println (PID_p); Serial.print ("powerMode ="); Serial.println (powerMode); Serial.print ("operationMode ="); Serial.println (operationMode); Serial.print ("PID_error ="); Serial.println (PID_error); Serial.print ("PID_value ="); Serial.println (PID_value); // Si está en modo de batería (powerMode =1) limitar la salida para evitar la sobrecarga de la batería // Si está en modo de red (powerMode =-1) permitir plena potencia (255) if (powerMode ==1) {if (PID_value <0) { PID_value =0; } si (PID_value> 120) {PID_value =120; }} else if (powerMode ==-1) {if (PID_value <0) {PID_value =0; } si (PID_value> 255) {PID_value =255; }} Serial.print ("PID_value ajustado ="); Serial.println (PID_value); // Establecer la resistencia del potenciómetro digital a partir del valor PID digitalPotentiometer.setWiper (255 - PID_value); // Detecta cualquier botón presionado, cambia el valor del punto de ajuste si es necesario, y muestra el punto de ajuste medido y T // Las llamadas a la función delay () aseguran que se dé suficiente tiempo para presionar los botones y ver los valores cambiar delay (1000); botonesPresionado =LCD_shield.readButtons (); if (buttonsPressed &BUTTON_SELECT) {// Resalte ese sistema en modo de edición haciendo parpadear el cursor LCD_shield.setCursor (14, 0); LCD_shield.blink (); retraso (1000); botonesPresionado =0; // Permanezca en el modo de edición hasta que vuelva a presionar el botón SELECT. Los botones ARRIBA y ABAJO cambian el punto de ajuste T. // IZQUIERDA alterna el modo de funcionamiento (calefacción / refrigeración). DERECHA alterna el modo de energía (batería / red). while (no (botones presionados &BUTTON_SELECT)) {botones presionados =LCD_shield.readButtons (); if (botones presionados &BUTTON_UP) {Tsetpoint + =1; } if (botones presionados &BUTTON_DOWN) {Tsetpoint - =1; } if (botones presionados &BUTTON_RIGHT) {powerMode * =-1; print_powerMode (); } if (botones presionados &BUTTON_LEFT) {operationMode * =-1; print_operationMode (); } print_Tsetpoint (Tsetpoint); LCD_shield.setCursor (14, 0); retraso (500); } // Salir del modo de edición y dejar de parpadear el cursor LCD_shield.noBlink (); botonesPresionado =0; } Serial.println ();} 

Esquemas

Diagrama de circuito esquemático con todos los componentes principales de nuestro contenedor de temperatura controlada. Esquema de cableado solicitado por otro usuario de la comunidad. Es el que usamos para ensamblar el cableado, por lo que es feo y nunca fue diseñado para su publicación. Pero quizás pueda ser útil. Cableado del potenciómetro a otros componentes.

Proceso de manufactura

  1. Ventilador de temperatura controlada
  2. Bricolaje:Regulación y monitoreo de temperatura para HomeBrew
  3. Medición de temperatura para proyectos científicos y de laboratorio
  4. Los mejores metales para conducir el calor
  5. Cómo calcular la disipación de calor para VFD
  6. Laminados de PCB de alta temperatura
  7. Guía de temperatura de PCB
  8. Tratamiento térmico para fundiciones de aluminio
  9. Aleación 36 (Invar®) Aleación de expansión controlada
  10. Proceso de tratamiento térmico para piezas de metal mecanizadas CNC
  11. Construcciones de contenedores para brazo en x86