新冠病毒已经肆虐世界几年了,我们现在习惯于使用酒精类消毒液和喷雾剂进行消毒,但我们的护目镜、钥匙、手机、手表、纸币、笔记本电脑等物品如何消毒呢?特别是快递包裹,病毒在此类包裹上的存活时间比较长,从高风险地区流入其他地区,造成传播隐患,大大增加防疫难度。对此类物品进行消毒的便捷解决方案是紫外线 (UV),您可以自己制作的紫外线 (UV)消毒盒。
紫外线是波长为 10 至 400nm 的光线。它的波长比可见光短,但比 X 射线长。广泛的紫外线辐射分为三大类:
· 波长为 315 至 400nm 的 UV-A
· 波长为 280 至 315nm 的 UV-B
· 波长为 100 至 280nm 的 UV-C
UV-C 灭菌是一种杀死病原体、病毒和细菌的方法。UV-C会破坏病原体的DNA,削弱其重要的细胞活动功能。这种杀菌方法的有效性取决于暴露的持续时间以及紫外线辐射的强度和波长。因此,尽量让足够的 UV-C 照射被消毒物体的整体。
杀菌灯主要有UVC汞灯灯管作为光源,该灯发出 253.7nm 的光。也可以使用产生波长在255到280nm之间的光的UV-C LED。在本项目中,我们使用了两个 11 瓦杀菌紫外线管。
该消毒器的特点是:
· 254nm 波长具有有效的杀菌效果
· 封闭式紫外线防漏盒
· 反射面最大限度地提高反射率并提供有效的 360 度覆盖
· 门/盖的磁性保持,以保持其牢固关闭
· 曝光时间通过旋钮开关可设置为 1 至 10 分钟
· 如果需要,可以暂停计时器
· 使用开始/恢复和停止/暂停按钮的简单操作
· 显示剩余时间和警报消息的显示屏
· 如果盒子的门/盖打开,会关闭紫外线灯的安全功能
构建
UV-C 射线对人体有害,因此请采用适当的保护隔离外壳。本次项目是使用空的打印机盒构建的,如图所示。
紫外线消毒柜正面开口
将铝箔纸贴在盒子的所有内侧,使紫外线在盒子内散射。盒子的外侧也可以用牛皮纸覆盖。使用扎带将两个 11W 紫外线灯管安装在盒子的顶部板上。
电路和工作
控制核心使用Arduino,可以使用占用空间小的 Arduino Pro,但任何 Arduino 变体都可以使用。紫外线消毒盒电路图如下图所示。
它包括一个TM1637模块、5V直流电源模块(Module1)、Arduino Nano(Board1)、5V单转换继电器(RL1)、一个旋转开关、一个磁控门开关、两个 230V AC 的 UV 管和一些其他组件。
旋转开关看起来像一个模拟电位器,但它是一个可以循环旋转而没有任何终点的数字设备,用于设置时间。它不给出任何具体数值,可以解释为给出运动方向。最常见的旋转编码器是计算机鼠标上的滚轮。就像鼠标一样,旋转编码器可以旋转和点击(按下)。在这个电路中,没有使用它的内置压力开关。编码器内部有一个槽盘连接到公共接地引脚 C,以及两个接触引脚 A 和 B,如下图所示。
除了这三个引脚外,还有两个用于瞬时开关的引脚(未使用)。当旋钮顺时针旋转时,针脚 A 在针脚 B 之前接地,并且随着旋钮继续旋转,针脚 A 在针脚 B 之前变为低电平。在转动时,可以感觉到咔嗒声,因为有棘爪(停止) 。一整圈有 20 个这样的棘爪。
类似地,当旋钮逆时针旋转时,脉冲序列会随着引脚 B 首先变高,然后是引脚 A 变高。脉冲序列如下图所示。
这里使用的编码器有五个引脚,如下图所示。编码器的引脚 DT 连接到 Arduino 的引脚 2,而 CLK 引脚连接到 Arduino 的引脚 D3。编码器的 + 和 GND 引脚分别连接到 Arduino 的 5V 和 GND 引脚。
软件设计
通过软件监控在A 脚由高变低时,检测B 脚的电平来判断旋转方向。如 B=1时 顺时针方向,B=0时 逆时针方向。
设定一个初值为0的变量,该变量记录脉冲数即旋转产生的脉冲数值。由于编码器是机械的,当旋转位置变化时会有很多弹跳,需要在软件中进行去抖动。
以上编码器任务都由 NewEncoder 库处理。编码器的引脚 A 和 B 必须连接到 Arduino 的中断引脚,因为该库使用中断来跟踪旋转。Arduino Uno、Nano 或 Pro 版本只有两个硬件中断引脚,即引脚 2 和 3。如果连接到其他数字输入引脚,编码器将无法工作。
一个 4 位 7 段显示器用于显示时间。使用了基于 TM1637 IC 的显示模块,它只需要 Arduino 上的两个引脚来显示数字。该模块的时钟引脚连接到Arduino引脚 4,数据引脚连接到引脚 5。
该模块使用 Avishay Orpaz 的 TM1637 库。可以使用 Arduino IDE 的“项目—加载库—管理库”选项搜索安装此库。
两个瞬时按下开关(S1 和 S2)用作启动和停止按钮。启动按钮的一个引脚连接到引脚 6,而第二个引脚接地。同样,停止按钮连接到 Arduino 的引脚 7。
按钮按下由 Matthias Hertel 的 OneButton 库处理。它也可以使用 IDE 的“项目—加载库—管理库”选项进行安装。
如上图所示,磁性门感应开关固定在门的上边缘。
磁铁部分连接到门,而簧片开关部分连接到盒子。簧片开关的分别连接到 Arduino 的引脚 D12和GND。D12 引脚的模式设置为INPUT_PULLUP,以便激活引脚D12 的内部上拉电阻。
一个 5V 蜂鸣器连接到 Arduino 的引脚 D11 以发出警报信号。
如图所示,电路放置在这个盖子内,前面作为控制面板。
一个 5V 继电器通过一个 2N2222 NPN 晶体管连接到 Arduino 的引脚 D10,该晶体管的基极连接 18k 电阻以限制基极电流。只要 D12 引脚保持高电平,继电器就会导通。也可以使用现成的继电器模块代替继电器和晶体管。但是,如果继电器模块是使用低电平导通的,需要在软件中进行适当的更改。
继电器的 NO 端子连接到 UV 镇流器,在继电器导通时打开 UV 灯。当紫外灯打开时,连接到 Arduino 引脚 D13 的指示灯 LED 会亮起。
下面是消毒盒的工作状态数码管:
使用紫外线消毒器
消毒过程取决于紫外线照射的持续时间和强度。像钥匙这样的小物品应至少照射两到三分钟,而对于较大的物品,照射时间应按比例增加。使用小钢架将物品放在盒子里,这样紫外线也可以到达物品的下部。
先将待消毒物品放在钢架上,关好门。门打开时,显示屏将显示“door”。当门关闭时,显示将变为“00:00”。现在您可以使用旋转开关设置时间。可以设置从 1:00 到 10:00 的任何时间如果时间在最大值或最小值时继续旋转编码器,蜂鸣器会发出“哔”声。
现在按下开始开关。继电器将导通,计时器将开始倒计时。剩余时间出现在显示屏上。倒计时完成后将显示“end”并听到一声长“哔”声。现在您可以打开门并取出物品。
关门时,时间段将自动设置为上次设置。如果需要,可以使用旋转开关进行更改,或者可以使用旧时间设置对更多物品进行消毒。阴影会影响消毒,所以不要一次存放太多物品以避免阴影。
如果在倒计时过程中按下停止按钮,显示屏将显示“stop”。按下“开始”按钮后,倒计时将恢复并照常完成。但是,如果在消毒过程中打开了门,则该过程将被取消,并且在关闭门时,恢复上次设置的时间。门一打开,紫外线灯就会关闭,消毒过程就会停止。在设置时间时,可以通过按“停止”按钮将其重置为“00:00”。
PCB
警告:UV-C 射线对人体有害。不要直接将自己或他人暴露在紫外线下。