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

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Componentes y materiales

Sensor IR temperatura (Seeed Grove) × 1
Arduino UNO × 1
Base Shield V2 (Seeed) × 1
Sensor luz (Seeed Grove Light Sensor P v1.1) × 1
Display alfanumérico cuádruple 0.54" I2C (Adafruit) × 1
Pulsador 12mm abovedado (Seeed) × 1
Altavoz piezoeléctrico × 1
Fuente 12VDC 1.2A (Seeed) × 1

Sobre el proyecto

Dispositivo de desinfección de mascarillas

UV-C / Calor, controlado por Arduino, para Coronavirus (SARS-CoV-2)

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Proyecto open source bajo Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA).

Descargo de responsabilidad: Este documento se acoge a la "Ley del Buen Samaritano".

Publicación original: needlab.org/face-masks-disinfection-device

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Introducción

Mascarillas FFP1/FFP2 son elementos de protección indispensables en epidemias. Diseñadas para un solo uso, en crisis su reutilización es inevitable y se requieren mecanismos de desinfección. Hospitales y centros usan irradiación germicida ultravioleta (UVGI) y/o calor. Pero estos métodos no están al alcance de poblaciones vulnerables, donde la reutilización es la única opción. La necesidad aumenta por la estabilidad del SARS-CoV-2 en mascarillas quirúrgicas hasta 7 días.

Este proyecto crea un dispositivo bajo coste y portátil que usa UVGI y calor seco para desinfectar mascarillas de SARS-CoV, reproducible por quien lo necesite.

Instrucciones DIY

Diagrama de montaje

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Dimensiones del dispositivo

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Pruebas iniciales de calor

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Construcción del sistema de calentamiento

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Importante: La sartén NO debe tocar la madera de la caja (reduce eficiencia). Selecciona diámetro del agujero y forma los soportes según diagrama:

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Construcción de la tapa superior

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Sistema UV-C

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Fuente UV-C: bombilla 11W de kit "Esterilizador para acuario". Tubo UV-C extraído y montado en tapa en ambos extremos. Fijado con 4 agujeros, bridas (zip ties) y aislamiento suave. Superficie superior forrada en aluminio para reflexión.

Puedes usar otra lámpara UV-C. No uses vidrio como sustituto del tubo de cuarzo: el vidrio bloquea la radiación UV-C.

⚠ ADVERTENCIA CRÍTICA

La radiación UV-C es MUY PELIGROSA para ojos y piel. La lámpara UV-C SOLO debe encenderse con la tapa CERRADA y apagarse al ABRIR el dispositivo.

Recomendaciones clave de Horror Coder (comentarios):

"La radiación visible del tubo germicida es solo subproducto (3-4% emisión total). No confíes en tu ojo: hay riesgo de fuga UV-C que no percibes. Verifica que la caja es estanca a la luz poniendo una luz potente (10× potencia del tubo, linterna LED alta potencia) dentro y busca fugas en oscuridad total. Tapa todos los agujeros, usa junta de espuma/borde para evitar fugas y verifica con el método anterior."

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Forrar superficies con papel aluminio

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Antes de instalar tubo UV-C y rejilla, forra laterales y tapa con aluminio (reflexiona UV-C en caras laterales). Cinta doble cara para superficies, cinta americana en bordes.

Rejilla para mascarillas

Mascarillas sobre rejilla de alambre de cobre (30 mm entre alambres), a 120 mm de la base. Alambre pasa por agujeros en caras frontal/trasera.

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Configuración Arduino y sensores

Visión general Arduino

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Lista de materiales (BoM)

Sensores temperatura y luz

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Ver también: Benchmarking sensores temperatura para Arduino

Lógica de control Arduino

Estados:

Alarmas: Tono específico en altavoz y mensajes en display si:
1) Estado ERR (UV off/perdida o temp baja)
2) Temp demasiado alta (>75°C)

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Código fuente Arduino

Disponible en: pastebin.com/zgK7zfMh

Librerías externas requeridas:

Manual de usuario

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
  1. Coloca la caja sobre placa de inducción (o vitrocerámica).
  2. Enciende alimentación Arduino.
  3. Cierra la caja y calienta al 70-80% potencia inducción.
  4. Espera a 60°C. Reduce potencia al 30%.
  5. Abre, coloca mascarillas, cierra.
  6. Pulsa botón → inicia ciclo (display 30 min).
  7. Espera a 00 min → señal acústica.
  8. Para nuevo ciclo, pulsa botón (vuelve a INIT).

Nota: En estado COUNT, el punto entre Timer y Temperatura parpadea a 1 Hz.

Ciclos de temperatura

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Inactivación por calor de virus

La capacidad de eliminar microorganismos con calor húmedo <100°C se conoce desde Pasteur. Aquí usamos calor seco, que inactiva eficazmente SARS-CoV. Estudios: inactivación considerable a 56°C 30-90 min, casi completa a 65°C 20-60 min, completa a 75°C 30-45 min. Estudio reciente: SARS-CoV-2 pierde infectividad detectable a 56°C 30 min o 70°C 5 min.

Por evidencia y considerando efectos en funcionalidad de mascarillas, protocolo: 65°C durante 30 min.

Protocolos germicidas en mascarillas

Desinfección efectiva contra virus influenza: UVGI ~1 J/cm², UVGI ~18 J/cm², o calor húmedo 65±5°C 3h. No hay estudios con coronavirus en mascarillas, pero al ser virus ARN monocatenario (como influenza), se esperan efectos similares.

Método recomendado para desinfectar mascarillas

Importante: buen procedimiento (personalización, conteo ciclos, empaquetado). Inspírate en: "N95 Filtering Facepiece Respirator Ultraviolet Germicidal Irradiation (UVGI) Process for Decontamination and Reuse" (Nebraska Medicine).

PDF incluido: n-95-decon-process.pdf

Conclusiones

Evidencia y detalles técnicos → protocolo: 30 min UV-C + calor seco 65±5°C. Tiempo cuenta desde que se alcanza temp/intensidad requerida. UV-C o calor solos con estas specs ya eliminan casi toda infectividad; combinación aumenta seguridad.

Consideraciones de seguridad

Descargo de responsabilidad

Basado en evidencia científica, el protocolo probablemente elimina casi toda infectividad SARS-CoV y hace mascarillas mucho más seguras que sin desinfección. Pero Needlab y colaboradores no asumen responsabilidad por uso del dispositivo. Diseñado con buena fe y mejor conocimiento, pero:

No hay tests de laboratorio formales de inactivación SARS-CoV-2 con este dispositivo, ni evaluación fiable de efectos en capacidad de filtración. El uso es decisión libre.

Próximos pasos (Versión 2)

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Buscamos validación con laboratorios especializados.

Actualización 11 junio: V2 con 12 mascarillas FFP2/N95.

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino
Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Ganamos premio OPT 1er puesto, colaborando con universidad en Marruecos para producción local.

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Actualización 2 septiembre: Proyecto V2 en Hackaday:
hackaday.io/project/172189

Equipo: Jean Noel Lefebvre, Daniel Moreno, Dra. Alejandra Duque, Dr. Felipe Gutiérrez Arango, Jason Knight, María Isabel Vélez Isaza, Sameera Chukkapalli.

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

#COVID19DetectProtect

Bibliografía

  1. CDC - Guía uso prolongado/reutilización limitada N95 (2019)
  2. Chin et al. - Estabilidad SARS-CoV-2 en condiciones ambientales (medRxiv 2020)
  3. Tseng & Li - Inactivación virus en superficies por UVGI (J Occup Environ Hyg 2007)
  4. Hackerfarm - NUKEMETER: Medir intensidad UV-C (2020)
  5. van Doremalen et al. - Estabilidad aerosol/superficie SARS-CoV-2 vs SARS-CoV-1 (NEJM 2020)
  6. Kariwa et al. - Inactivación SARS-CoV por povidona-yodo, condiciones físicas, reactivos (Jpn J Vet Res 2004)
  7. Duan et al. - Estabilidad SARS-CoV en especímenes/ambiente y sensibilidad a calor/UV (Biomed Environ Sci 2003)
  8. Darnell et al. - Inactivación coronavirus SARS (J Virol Methods 2004)
  9. Ansaldi et al. - Resistencia SARS-CoV, influenza A, VRS a desinfectantes/UV (2004)
  10. Mills et al. - UVGI en respiradores N95 contaminados influenza (Am J Infect Control 2018)
  11. Lore et al. - Eficacia 3 tratamientos descontaminación vs influenza en respiradores (Ann Occup Hyg 2012)
  12. Lindsley et al. - Efectos UVGI en rendimiento filtración/integridad N95 (J Occup Environ Hyg 2015)
  13. Viscusi et al. - Evaluación 5 métodos descontaminación respiradores (Ann Occup Hyg 2009)
  14. Bergman et al. - Procesado múltiple (3 ciclos) descontaminación respiradores (J Eng Fiber Fabr 2010)
  15. Kampf et al. - Persistencia coronavirus en superficies e inactivación con biocidas (J Hosp Infect 2020)

Código

TheBox V1 (C/C++)

/* * Author: Jean Noel Lefebvre - www.ootsidebox.fr - march 31th 2020 * */
// https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric-9b21a470-83ad-459c-af02-209d8d82c462
// https://wiki.seeedstudio.com/Grove-Infrared_Temperature_Sensor/
// https://wiki.seeedstudio.com/Grove-Light_Sensor/
// https://github.com/thomasfredericks/Metro-Arduino-Wiring
#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include <math.h>
#include <Metro.h>

#define LIGHT_SENSOR A2
#define SUR_TEMP_PIN A0
#define OBJ_TEMP_PIN A1
#define BUZZER 3
#define BP 2
#define SEUIL_TEMP 59
#define HIGH_TEMP 75
#define SEUIL_LIGHT 60
#define TIMER 30

float temp_calibration=0;
float objt_calibration=0.000;
float temperature_range=10;
float offset_vol=0.014;
float tempValue = 0;
float objtValue= 0;
float current_temp=0;
float temp=0;
float temp1=0;
float temp2=0;
unsigned int temp3=0;
const float reference_vol=0.500;
unsigned char clear_num=0;
float R=0;
float voltage=0;
long res[100]={ 318300,302903,288329,274533,261471,249100,237381,226276,215750,205768,
  196300,187316,178788,170691,163002,155700,148766,142183,135936,130012,
  124400,119038,113928,109059,104420,100000,95788,91775,87950,84305,
  80830,77517,74357,71342,68466,65720,63098,60595,58202,55916,
  53730,51645,49652,47746,45924,44180,42511,40912,39380,37910,
  36500,35155,33866,32631,31446,30311,29222,28177,27175,26213,
  25290,24403,23554,22738,21955,21202,20479,19783,19115,18472,
  17260,16688,16138,15608,15098,14608,14135,13680,13242,12819,
  12412,12020,11642,11278,10926,10587,10260,9945,9641,9347,
  9063,8789,8525,8270,8023,7785,7555,7333,7118,6911 };
float obj [13][12]={ /*0*/ { 0,-0.274,-0.58,-0.922,-1.301,-1.721,-2.183,-2.691,-3.247,-3.854,-4.516,-5.236},
 /*1*/ { 0.271,0,-0.303,-0.642,-1.018,-1.434,-1.894,-2.398,-2.951,-3.556,-4.215,-4.931},
 /*2*/ { 0.567,0.3,0,-0.335,-0.708,-1.121,-1.577,-2.078,-2.628,-3.229,-3.884,-4.597},
 /*3*/ { 0.891,0.628,0.331,0,-0.369,-0.778,-1.23,-1.728,-2.274,-2.871,-3.523,-4.232},
 /*4*/ { 1.244,0.985,0.692,0.365,0,-0.405,-0.853,-1.347,-1.889,-2.482,-3.13,-3.835},
 /*5*/ { 1.628,1.372,1.084,0.761,0.401,0,-0.444,-0.933,-1.47,-2.059,-2.702,-3.403},
 /*6*/ { 2.043,1.792,1.509,1.191,0.835,0.439,0,-0.484,-1.017,-1.601,-2.24,-2.936},
 /*7*/ { 2.491,2.246,1.968,1.655,1.304,0.913,0.479,0,-0.528,-1.107,-1.74,-2.431},
 /*8*/ { 2.975,2.735,2.462,2.155,1.809,1.424,0.996,0.522,0,-0.573,-1.201,-1.887},
 /*9*/ { 3.495,3.261,2.994,2.692,2.353,1.974,1.552,1.084,0.568,0,-0.622,-1.301},
 /*10*/ { 4.053,3.825,3.565,3.27,2.937,2.564,2.148,1.687,1.177,0.616,0,-0.673},
 /*11*/ { 4.651,4.43,4.177,3.888,3.562,3.196,2.787,2.332,1.829,1.275,0.666,0},
 /*12*/ { 5.29,5.076,4.83,4.549,4.231,3.872,3.47,3.023,2.527,1.98,1.379,0.72} };
int Light;
float Heat;
int Timer=0;
int Minute=59;
Adafruit_AlphaNum4 alpha4 = Adafruit_AlphaNum4();
Metro ledMetro = Metro(1000);
enum States{INIT, COUNT, END, ERR};
int Automate=INIT;
bool TemperatureOK=false;
bool LightOK=false;

void setup() {
  pinMode(BP, INPUT_PULLUP);
  Serial.begin(9600);
  analogReference(INTERNAL);
  alpha4.begin(0x70);
  alpha4.clear(); alpha4.writeDisplay();
  PrintLed(alpha4,"TboX");
  tone(3, 3000, 500); delay(1000);
  Automate=INIT;
}

void loop() {
  static int Point=1;
  float T1=measureSurTemp();
  float T2=measureObjectTemp();
  Heat=T1+0;
  if ((ledMetro.check() == 1) ) {
    #ifndef TEST
    if (Automate==COUNT)
    #endif {
      if(Point) Point=0; else Point=1;
      Minute--;
      if(Minute==0) { Minute=59; if(Timer) Timer--; PrintSensors(); }
    }
    if(Automate==END) tone(3, 3000, 100);
    if(Automate==ERR) tone(3, 300, 200);
  }
  #ifdef TEST
  TemperatureOK=true;
  #else
  if (Heat >= SEUIL_TEMP) TemperatureOK=true; else TemperatureOK=false;
  #endif
  Light=analogRead(LIGHT_SENSOR)/10;
  if(Light >= SEUIL_LIGHT) LightOK=true; else LightOK=false;
  if(Heat>=HIGH_TEMP) { tone(3, 300, 200); delay(500); }
  switch(Automate) {
    case INIT:
      Timer=0;
      if((!digitalRead(BP)) && TemperatureOK) { Automate=COUNT; Timer=TIMER; tone(3, 3000, 500); }
      if((!digitalRead(BP)) && !TemperatureOK) { PrintLed(alpha4,"lowT"); tone(3, 300, 200); }
      else PrintLedVal(alpha4,Timer,(int)Heat,Point);
      break;
    case COUNT:
      if(Timer==0) Automate=END;
      if(!LightOK || !TemperatureOK) Automate=ERR;
      PrintLedVal(alpha4,Timer,(int)Heat,Point);
      break;
    case END:
      if(!digitalRead(BP)) Automate=INIT;
      PrintLed(alpha4,"END.");
      break;
    case ERR:
      if(!digitalRead(BP)) Automate=INIT;
      PrintLed(alpha4,"Err.");
      break;
  }
}

void PrintSensors() {
  Serial.print(Timer); Serial.print(", "); Serial.print((int)Heat); Serial.print(", "); Serial.print(100); Serial.println();
}

float binSearch(long x) {
  int low=0, mid, high=100;
  while (low<=high) { mid=(low+high)/2; if(xobj[temp3][i])&&(voltage

Librería Metro (GitHub)

https://github.com/thomasfredericks/Metro-Arduino-Wiring

Esquemático

Dispositivo Inteligente de Desinfección de Mascarillas con UV-C y Calor – Controlado por Arduino

Proceso de manufactura

  1. Guía completa de dispositivos de depilación modernos: Diseño, historia y futuro
  2. Construcción de una estación meteorológica exterior con Raspberry Pi 2 y ADS‑WS1
  3. Sistema de control de temperatura basado en LM35 con microcontrolador AT89S52
  4. Breakout compacto DHT de temperatura y humedad para Raspberry Pi – ATtiny85 y DHT22/DHT11
  5. Interruptor de Arranque Pico-Powered: Elige tu SO Antes de Encender
  6. Accesorios de Dispositivos Médicos: Definiciones, Clasificaciones e Impacto Regulatorio
  7. Tecnología de tiristores: De SCR a TRIAC, GTO y UJT
  8. Avances en tecnología de dispositivos médicos: sensores, conectividad y seguridad
  9. Escalando Aprovisionamiento IoT: Estrategias Seguras y Eficientes para Onboarding de Dispositivos
  10. Seguridad de datos en escaneo móvil: Por qué el procesamiento en dispositivo importa
  11. Attestation de dispositivos: cómo GlobalPlatform construye confianza en IoT