口罩消毒装置 —需要实验室
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
关于这个项目
口罩消毒装置
UV-C / 加热,Arduino 控制,用于冠状病毒 (SARS-CoV-2) 的面罩消毒装置
这是一个在知识共享“署名-非商业性-相同方式共享”下共享的开源项目 CC BY-NC-SA
免责声明: 本文件属于“好撒玛利亚人法”。
原始出版物:http://www.needlab.org/face-masks-disinfection-device
简介
FFP1和FFP2口罩是疫情期间不可或缺的防护元素 .它们旨在一次性使用,但在危机期间,重复使用是不可避免的,并且需要消毒机制 (1)。在持续的 SARS-CoV-2 大流行期间,医院、医疗中心和研究机构对这些口罩实施了不同的消毒机制,通常涉及紫外线杀菌照射 (UVGI) 和/或某种热量。尽管如此,这些方法并不适用于许多脆弱的人群,但由于短缺,这些口罩的重复使用已成为唯一的选择。有证据表明 SARS-CoV-2 在外科口罩表面非常稳定,即使在 7 天 (2) 之后,也进一步增加了对可行的口罩消毒方法的需求。
该项目旨在创造一种低成本的便携式设备,可以有效地利用 UVGI 和干热对来自 SARS-CoV 病毒体的口罩进行消毒,并且可以被需要的人轻松复制。
DIY消毒装置制作教程
设备设置图
● 温度必须保持在 65+/-5°C 的范围内
● 灯必须提供 UV-C 波长。
● 消毒循环持续时间至少为 30 分钟。 (建议:不要超过 30 分钟,以便有一个更安全的范围,以避免潜在的面罩退化和功能丧失。)
设备尺寸
第一次热测试
供暖系统制作
- 一个直径为 22 厘米(感应兼容)的煎锅,去掉了把手。
- 用铝箔盖住煎锅以反射 UV-C 光。
- 在盒子/设备底面的中心开一个 20 厘米的洞。
- 为了保持煎锅的位置,请使用四个金属支架,如图所示。
重要提示: 煎锅不应接触盒子的木头,因为它会降低热效率。因此必须根据下图选择合适的孔直径和金属支架的形状:
图> 图> 图>
顶盖制作
UV-C系统
对于该设备中的 UV-C 源,使用了“水族馆消毒器”套件中的 11 W 灯泡。如图所示,UV-C 灯泡被取出并安装到灯泡两端的顶盖上。灯泡的安装方法是在顶盖上开 4 个孔,并使用扎带/扎线带和软垫牢固地固定灯泡。顶面用铝覆盖以反射紫外线。
随意使用其他来源的 UV-C 灯。如果您无法接触到水晶管(在本项目中使用),请不要使用玻璃作为替代品,因为玻璃会阻挡紫外线辐射。
此设备的 UV-C 灯泡光源
!!警告:
您必须意识到 UV-C 辐射对您的眼睛和皮肤非常危险。 UV-C 灯必须在设备顶盖关闭时打开,在设备打开时关闭。
还请检查 Horror Coder 在这篇文章的评论中给我们的非常相关的建议(再次感谢他的宝贵贡献):“...我想强调 UVC 的看不见的危险,你必须检查盒子很轻,真的很轻。 请记住,杀菌管的可见辐射只是一种副产品,仅占总排放量的 3/4%,所以不要相信您的眼睛,排放泄漏的风险很大,而您没有察觉。 em> 您必须检查是否不透光,在盒子内放一盏额定功率为管瓦数 10 倍的灯(使用高功率 LED 手电筒或类似的东西)和 在完全黑暗的环境中检查盒子/外壳周围是否有漏光 . 你必须填满所有的洞 ,使用一些泡沫垫片和/或一些边框来避免这种UV-C泄漏到盒子外面的风险,并用上面推荐的方法检查。
用铝箔覆盖表面
在安装 UV-C 管和线架之前,用铝箔覆盖盒子的侧面和顶面,如图所示。目标是将 UV-C 光反射到侧面,从而增强功效。
提示: 可以使用双面胶带将铝箔固定在表面上,边缘可以用管道攻丝。
制作线架 - 放置面罩
面罩将放置在金属架的顶部。 I 线架使用铜细线制成,每根线相距 30 毫米。线架位于底面上方 120 毫米处。线架通过将线穿过盒子前后表面上的小孔而固定在一起。
设置 Arduino 和传感器
Arduino 概览
物料清单
- Arduino UNO Rev3
https://www.seeedstudio.com/Arduino-Uno-Rev3-p-2995.html
- 格罗夫基地盾牌 V2, 0
https://www.seeedstudio.com/Base-Shield-V2.html
- Grove 红外温度传感器
https://www.seeedstudio.com/Grove-Infrared-Temperature-Sensor-p-1058.html
- 格罗夫光传感器(P)
https://www.seeedstudio.com/Grove-Light-Sensor-p-1253.html
- 按钮
https://www.seeedstudio.com/12mm-Domed-Push-Button-Pack-p-1304.html
- 压电扬声器
https://www.gotronic.fr/art-capsule-piezoelectrique-dp035f-3856.htm
- 四位字母数字显示器 - 白色 0.54" 数字,带 I2C 背包
https://www.adafruit.com/product/2157
- 壁式适配器电源 12VDC
https://www.seeedstudio.com/Wall-Adapter-Power-Supply-12VDC-1-2A-Includes-5-adapter-plugs.html
温度和光线传感器:
另见: Arduino 温度传感器的基准测试
Arduino控制
INIT:在此状态下,LED显示屏指示温度,但您必须等待它达到阈值(70°C)才能在COUNT状态开始循环计数
计数:从 30 到 0 的分钟数显示在 LED 显示屏上,温度旁边。如果温度过低,或者UV灯关闭,状态会变为ERR。
END:这是经过时间结束时的正常状态。演讲者会做广告。按下按钮再次进入 INIT。
ERR:这是错误状态,如果温度太低或紫外线灯关闭,它将被激活。演讲者会做广告。按下按钮再次进入 INIT。
闹钟
报警条件很少 - 如果报警打开,扬声器上会有特定的音序,LED 显示屏上会显示消息。
报警条件: 1) 如果系统处于 ERR 状态(UV 灯关闭/丢失或温度太低)2) 如果温度太高(超过 75°C)
Arduino 的源代码
https://pastebin.com/zgK7zfMh
要包含的外部库
Adafruit_LEDBackpack.h:https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric-9b21a470-83ad-459c-af02-209d8d82c462
Metro.h:https://github.com/thomasfredricks/Metro-Arduino-Wiring
用户手册
1. 将盒子放在感应(或电阻)滚刀的顶部。
2. 打开 Arduino 的电源。
3. 关闭盒子并开始以电磁炉功率的 70~80% 加热。
4. 等到温度达到 60°C。现在将电磁炉的变化功率降低到30%。
5. 现在您可以打开设备,将口罩放入并关闭设备。
7. 按下按钮开始 => 应显示剩余时间(30 分钟)。
8. 从现在开始,您只需等待时间减少到 00 分钟,扬声器就会有信号。
9. 要从初始状态重新开始新的循环,只需按下按钮即可。
备注: 当计时器正在计算经过时间(COUNT 状态)时,Timer 和 Temperature 显示之间的小圆点会以 1 秒的节奏闪烁。
温度循环
病毒的热灭活
自巴斯德时代以来,人们就知道通过通常低于 100°C 的湿热去除微生物的能力。在该设备中,我们实施了干热,据报道,这可以有效消除 SARS-CoV 的传染性。分析表明,病毒在 56°C 下在 30-90 分钟内大量灭活,在 65°C 下几乎完全灭活 20-60 分钟,在 75°C 下在 30-45 分钟内完全灭活 (7, 8)。此外,最近的一项研究表明,SARS-CoV-2 在 56°C 下孵育 30 分钟或 70°C 下孵育 5 分钟后失去了所有可检测的传染性 (2)。
根据这些证据和关于这些消毒方法对面罩功能影响的额外考虑——这将在下一节中解释——,我们决定将与设备一起使用的协议的热暴露设置为 65 °C 30 分钟。
口罩上的杀菌协议
到目前为止,我们已经提供了有关对与我们打算对其进行消毒的口罩不同的样本进行病毒消毒的证据。因此,我们在这里提供一些关于我们打算使用的同类型口罩的病毒消毒报告。
已证明使用约 1 J/cm2 的 UVGI (10)、约 18 J/cm2 的 UVGI 或 65±5 °C 的湿热在 3 小时内消毒口罩对流感病毒有效 (11) .没有研究用冠状病毒对口罩进行消毒,但由于流感病毒也是 ssRNA 病毒,因此可以预期类似的效果。
详细了解:
紫外线辐射。 UVC光的杀菌作用物理消毒对口罩的不利影响
推荐的口罩消毒方法。
建立一个良好的使用过的口罩消毒过程的程序是非常重要的。主要问题是关于个性化、计算消毒周期数、包装消毒口罩的方法。我们建议从 Nebraska Medicine 发表的这篇论文“N95 过滤式面罩呼吸器紫外线杀菌辐照 (UVGI) 去污和重复使用过程”中获取灵感。
n-95-decon-process.pdf
结论
考虑到收集到的证据和设备的技术细节,我们决定将消毒协议设置为 UVC 照射 30 分钟和 65±5°C 的干热。考虑到设备达到所需温度和光强度所需的时间,必须计算该时间。单独使用这些规格的 UVC 或加热应该足以消除几乎所有的 SARS-CoV-2 传染性,并且两者的同时作用应该将方法的有效性提高到更安全的水平。
安全注意事项
• UVC 辐射对皮肤和眼睛有害。 UVC灯泡只有在盒子关闭时才能打开。
• 小心盒子的金属部件,加热后可能会很热,可能会灼伤皮肤。
免责声明
根据现有的科学证据,消毒方案可能会消除几乎所有的 SARS-CoV 传染性,并且肯定会使口罩比不进行任何消毒更安全地重复使用。但是,Needlab 和从事该项目的成员对该设备的使用不承担任何责任。它的设计是出于善意,并尽我们的知识和能力,但必须声明以下内容:
在使用此设备灭活 SARS-CoV-2 方面尚未进行适当的实验室测试,也无法事先自信地评估对口罩过滤能力的实际影响。设备的使用和本指南是一个自由决定。
后续步骤
我们现在正在开发具有很多改进的 V2:
- 增加尺寸以在内部放置更多面罩
- 为 CNC 铣削和激光切割机提供两种可能的文件
- 为加热系统提供 3 种选择:感应、简易电饭锅、红外线辐射(包括 PID 温度调节)。
- 为 HMI 使用 2x16 LCD 显示屏
- 多种循环模式:加热 + UV-C、仅加热、仅 UV-C
- 可以选择不同的温度传感器https://create.arduino.cc/projecthub/user66015547/benchmarking-of-temperature-sensors-for-arduino-03b33b
红外线 光芒四射 和 紫外线 (UV-C) 到 杀死 病毒
另一方面,我们正在寻找在专业实验室的支持下验证流程的解决方案。
6 月 11 日更新:
V2里面有12个FFP2/N95口罩
我们获得了OPT一等奖,我们正在与摩洛哥的大学合作,在本地生产该设备
更新 开 九月 第二: V2 项目 开 黑客日:
https://hackaday.io/project/172189-face-mask-disinfection-device/log/183101-version-2-face-mask-disinfection-device
团队
Jean Noel Lefebvre、Daniel Moreno、Alejandra Duque 博士、Felipe Gutiérrez Arango 博士、Jason Knight、Maria Isabel Velez Isaza、Sameera Chukkapalli。
#COVID19DetectProtect
原始出版物 :http://www.needlab.org/face-masks-disinfection-device
参考书目
疾病预防与控制中心。乔治亚州亚特兰大:美国卫生与公共服务部 C 为 DC 和 P. CDC - 在医疗保健环境中延长使用和有限重复使用 N95 过滤面罩呼吸器的推荐指南 - NIOSH 工作场所安全与健康主题 [互联网]。 2019 [引自 2020 年 4 月 2 日]。可从:https://www.cdc.gov/niosh/topics/hcwcontrols/recommendedguidanceextuse.html
- Chin A、Chu J、Perera M、Hui K、Yen H-L、Chan M 等。 SARS-CoV-2在不同环境条件下的稳定性。 medRxiv。 2020 年 3 月 27 日;2020.03.15.20036673。
- 曾 C-C、李 C-S。紫外线杀菌照射灭活表面病毒。 J Occup Environ Hyg [互联网]。 2007 年 4 月 23 日 [引自 2020 年 4 月 2 日];4(6):400–5。可从:http://www.tandfonline.com/doi/abs/10.1080/15459620701329012
- 黑客农场。如何:NUKEMETER – 测量 UV-C 光强度。 2020 年;可从:https://hackerfarm.jp/2020/03/nukemeter/
- van Doremalen N、Bushmaker T、Morris DH、Holbrook MG、Gamble A、Williamson BN 等。与 SARS-CoV-1 相比,SARS-CoV-2 的气溶胶和表面稳定性。 N Engl J Med [互联网]。 2020 年 3 月 17 日 [引自 2020 年 4 月 2 日];NEJMc2004973。可从:http://www.ncbi.nlm.nih.gov/pubmed/32182409
- Kariwa H、Fujii N、Takashima I。通过聚维酮碘、物理条件和化学试剂灭活 SARS 冠状病毒。卷。 52, Jpn。 J. 兽医。水库2004.
- 段 SM、赵 XS、Wen RF、Huang JJ、Pi GH、Zhang SX 等。 SARS冠状病毒在人类标本和环境中的稳定性及其对加热和紫外线照射的敏感性。生物医学环境科学。 2003 年 9 月 1 日;16(3):246–55。
- Darnell MER、Subbarao K、Feinstone SM、Taylor DR。灭活引起严重急性呼吸系统综合症的冠状病毒,SARS-CoV。 J病毒方法。 2004 年 10 月 1 日;121(1):85–91。
- Ansaldi F、Durando P、Sticchi L、Gasparini R. SARS-CoV、甲型流感和合胞体呼吸道病毒对常见消毒剂和紫外线照射的抵抗力职业卫生工作组 (SItI) 查看职业医学中的大数据查看项目 [互联网]。杂志上的文章。 2004 [引自 2020 年 4 月 2 日]。可从:https://www.researchgate.net/publication/267219876
- Mills D、Harnish DA、Lawrence C、Sandoval-Powers M、Heimbuch BK。受流感污染的 N95 过滤式面罩呼吸器的紫外线杀菌照射。 Am J 感染控制。 2018 年 7 月 1 日;46(7):e49–55。
- Lore MB、Heimbuch BK、Brown TL、Wander JD、Hinrichs SH。用于过滤式面罩呼吸器的三种流感病毒去污处理的有效性。 Ann Occup Hyg [互联网]。 2012 [引自 2020 年 4 月 2 日];56(1):92–101。可从:https://academic.oup.com/annweh/article-abstract/56/1/92/166111
- Lindsley WG、Martin SB、Thewlis RE、Sarkisian K、Nwoko JO、Mead KR 等。紫外线杀菌辐照 (UVGI) 对 N95 呼吸器过滤性能和结构完整性的影响。 J Occup Environ Hyg [互联网]。 2015 年 8 月 3 日 [引自 2020 年 4 月 2 日];12(8):509–17。可从:http://www.tandfonline.com/doi/full/10.1080/15459624.2015.1018518
- Viscusi DJ、Bergman MS、Eimer BC、Shaffer RE。对过滤式面罩呼吸器的五种去污方法的评估。 Ann Occup Hyg [互联网]。 2009 [引自 2020 年 4 月 2 日];53(8):815-27。可从:https://academic.oup.com/annweh/article-abstract/53/8/815/154763
- Bergman MS、Viscusi DJ、Heimbuch BK、Wander JD、Sambol AR、Shaffer RE。过滤式面罩呼吸器的多重(3 循环)净化处理评估。 J Eng Fiber Fabr [互联网]。 2010 年 12 月 15 日 [引自 2020 年 4 月 2 日];5(4):155892501000500。可从:http://journals.sagepub.com/doi/10.1177/155892501000500405
- Kampf G、Todt D、Pfaender S、Steinmann E。冠状病毒在无生命表面上的持久性及其使用杀生物剂灭活。卷。 104,医院感染杂志。 WB桑德斯有限公司; 2020 年。 246–51。
代码
- TheBox V1
TheBox V1C/C++
/* * 作者:Jean Noel Lefebvre - www.ootsidebox.fr - 2020 年 3 月 31 日 * * *///https://learn.adafruit.com/adafruit-led-backpack/0-54-alphanumeric-9b21a470 -83ad-459c-af02-209d8d82c462//http://wiki.seeedstudio.com/Grove-Infrared_Temperature_Sensor///http://wiki.seeedstudio.com/Grove-Light_Sensor///https://github.com/ thomasfredericks/Metro-Arduino-Wiring#include#include "Adafruit_LEDBackpack.h"#include #include //Include Metro library#define LIGHT_SENSOR A2#define SUR_TEMP_PIN A0 //模拟输入引脚连接到温度传感器 SUR 引脚#define OBJ_TEMP_PIN A1 // 模拟输入引脚连接到温度传感器 OBJ 引脚#define BUZZER 3#define BP 2#define SEUIL_TEMP 59#define HIGH_TEMP 75#define SEUIL_LIGHT 60#define TIMER 30// #define TESTfloat temp_calibration=0; //此参数用于校准温度//float objt_calibration=0.000; //该参数用于校准物体温度float temperature_range=10; //我们根据传感器数据表制作温度-电压图。 10是sensor和//object距离为9CM时的温度步长。float offset_vol=0.014; //此参数用于设置中间电平电压,当传感器置于正常环境10分钟后,//传感器输出0。例如,环境温度为29℃,但通过传感器的结果为27℃ , //您应该将reerence设置为0.520或更高,根据您的传感器进行更改。 //单位为Vfloat tempValue =0;浮动对象值=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;//当用lcd显示时float R=0;float电压=0;长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,87,37,1059,87,1059,859,1059 ,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}, //→周围温度,从 -10,0,10,...100/*2*/ { 0.567,0.3,0,-0.335,-0.708,-1.121,-1.577,-2.078,-2.628,-3.229,-3.884,- 4.597}, //↓物体温度,从-10,0,10,...110/*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./* 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.53,1.792. ,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,-1.5,-1.5 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.26/1 { 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.934,84,1.6.6 77,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},5.12,/*6*. ,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_MetroNum4) (1000);枚举状态{INIT, COUNT, END, ERR};int Automate=INIT;bool TemperatureOK=false;bool LightOK=false;///********************* ****************************************************** ***********void setup() { pinMode(BP, INPUT_PULLUP); Serial.begin(9600); analogReference(INTERNAL);//设置参考电压1.1V,区分度可达1mV。 alpha4.begin(0x70); // 传入地址 alpha4.clear(); alpha4.writeDisplay(); PrintLed(alpha4,"TboX");音调(3, 3000, 500);延迟(1000); Automate=INIT;}void loop() { static int Point=1; float T1=measureSurTemp();//测量传感器周围的环境温度 float T2=measureObjectTemp();热量=T1+0; if ((ledMetro.check() ==1) ) {#ifndef TEST if (Automate==COUNT)#endif { if(Point) Point=0;否则点=1;分钟 -;如果(分钟==0){ 分钟=59; if(Timer) 定时器--;打印传感器(); } } if(Automate==END) 音调(3, 3000, 100); if(Automate==ERR) 音调(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);延迟(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); //Serial.println("INIT");休息; case COUNT:if(Timer==0) Automate=END; if(!LightOK || !TemperatureOK) Automate=ERR; PrintLedVal(alpha4,Timer,(int)Heat,Point); //Serial.println("COUNT");休息; case END:if(!digitalRead(BP)) Automate=INIT; PrintLed(alpha4,"END."); //Serial.println("END");休息; case ERR:if(!digitalRead(BP)) Automate=INIT; PrintLed(alpha4,"Err."); //Serial.println("ERR");休息; }}void PrintSensors(){ Serial.print(Timer); Serial.print(", "); Serial.print((int)Heat); Serial.print(", "); Serial.print(100); Serial.println();}//*************************************************************float binSearch(long x)// this function used for measure the surrounding temperature{ int low,mid,high; low=0; //mid=0; high=100; while (low<=high) { mid=(low+high)/2; if(x res[mid]) high=mid-1; } return mid;}//************************************************************float arraysearch(float x,float y)//x is the surrounding temperature,y is the object temperature{ int i=0; float tem_coefficient=100;//Magnification of 100 times i=(x/10)+1;//Ambient temperature voltage=(float)y/tem_coefficient;//the original voltage //Serial.print("sensor voltage:\t"); //Serial.print(voltage,5); //Serial.print("V"); for(temp3=0;temp3<13;temp3++) { if((voltage>obj[temp3][i])&&(voltage Github
https://github.com/thomasfredericks/Metro-Arduino-Wiringhttps://github.com/thomasfredericks/Metro-Arduino-Wiring
示意图
制造工艺