在过去的几个月里,COVID-19 大流行一直在世界各地蔓延。感染人数不计其数,不幸的是,伤亡人数众多。世界卫生组织建议的最重要措施之一是经常用肥皂或洗手液洗手。但最重要的问题之一是我们这样做的方式,即通过物理接触分配器,这消除了行动的全部目的,甚至造成了很大的感染风险。所以我,一个 14 岁的男孩,决定使用 Arduino Nano 板来解决这个问题,但我也希望它便宜,并且能够轻松、快速、有效地连接到许多不同的分配器!这正是我所做的,一个配件可以连接到大多数洗手液/皂液器上,并完全免提和自动转动
因此,基本上步进电机通过耦合器连接到螺钉。然后,3D 打印压板的一侧使用螺母与螺钉连接,另一侧由 3D 打印杆支撑。杆不允许螺杆的旋转力旋转压脚,而是压脚线性移动。通过这种方式,我们可以命令步进器在任何方向(来回)、以任何速度和尽可能多的步数移动。
这个概念是,当连接到 3D 打印的 IR 支架上的 IR 障碍物传感器被激活时,只需将您的手放在其下方几厘米处,按压器就会下降一段设定的距离,(按压分配器)等待 2秒,然后通过简单地向上返回到初始位置,直到终端停止开关被激活。同样,当设备第一次通电时,压脚会上升,直到开关被激活,然后它会停在那里,作为一种自我校准,以便压脚准备好使用。
然后使用魔术贴包裹您选择的洗手液并尽可能收紧。
现在自动洗手液分配器可以正常工作了!!
必要组件的所有链接都位于“事物”部分。
所有 3D 打印部件都是我在 Onshape 上设计的,但您不必担心 3D 设计,因为我在“附件”部分提供了所有 .stl 文件。
我在我的 Creality3D Ender 3 V2 上以 0.2 毫米的层高和 20% 的填充量用灰色和白色 PLA 3D 打印了这些零件。如果您无法使用 3D 打印机,您可以尝试使用纸板或木头。
28BYJ-48 步进电机是一款小巧且非常便宜的步进电机。这是一个单极步进电机,扭矩约为300 g/cm ,适用于我们的项目,但我希望它更强大以获得更好的效果。我们可以通过简单易用的模块将其转换为双极电机,将扭矩增加到 800+ g/cm !
双极步进电机的线圈更大,因此扭矩更大。
首先,您想用螺丝刀卸下蓝色盖板。
移除后,您需要使用刀子完全切断通往红线的中间痕迹。
您要确保它不再连接。
现在你可以从两边剪掉红线。
您现在可以重新安装蓝色盖板。我需要切断它的 2 个支撑物才能把它放回去。
现在您有了自己的双极 28BYJ-48 步进电机。它具有大约 2.5 倍的初始扭矩。但是现在您需要获得一个双极步进驱动器,例如我正在使用的 DRV8825。驱动器的最小电源电压额定为 8.4V,我们的电机额定电压为 5V。但不要担心双极版本的电机可以轻松处理该电压!
是时候制作将配件连接到分配器的 Velcro 系带了。如果您已经有一些 Velcro 扎带,请随意使用它们。
您可以根据需要将它们剪得长或短,但我建议将一个部分切割为 30 厘米 - 40 厘米,另一部分切割为 4 厘米 - 7 厘米。
现在你想把这两个部分装订在一起。确保将要装订在一起的侧面要么粗糙要么都柔软。
现在您的 Velcro 领带可以使用了!
您将需要其中两个。
是时候创建电子电路了!对于初学者来说,将 9V 电池的地线连接到 Arduino 地线,中间有一个 100μF 的电解电容器(记住电容器的白线一侧是地线/阴极)。将 9V 连接到通用开关,然后连接到电容器阳极上的 Vin。我使用了两个迷你面包板,因为它们很适合放在箱子里,使用任何你喜欢的面包板,但要考虑到有限的空间。
将红外障碍物传感器 VCC 连接到 5V,接地到接地,最后将 OUT 连接到数字引脚 9。
现在我们要连接终端开关。将公共支路连接到 5V,将常开连接到数字引脚 8,并通过 1kΩ 电阻接地。
将 DRV8825 双极电机驱动器添加到面包板。将 Vmot 连接到 Arduino 的 Vin。将两个接地连接到地。将 Dir 引脚连接到数字引脚 2,将步骤引脚连接到数字引脚 3,将启用引脚连接到数字引脚 4。将复位和睡眠引脚相互连接。
最后将 28BYJ-48 的蓝色线连接到 A2,黄色线连接到 A1,橙色线连接到 B1,粉色线连接到 B2。
电子设备终于连接上了!
const int dirPin = 2;
我们将驱动器的 Dir 引脚定义为 Digital pin 2。
const int stepPin = 3;
我们将驱动器的 Step 引脚定义为 Digital pin 3。
const int enablePin = 4;
我们将驱动器的 Enable 引脚定义为 Digital pin 4。
const int stepsPerRevolution = 6000;
我们将每转的步数定义为 6000,旋转一次 360 度为 2048 步。
int endStop = 8;
我们将 endStop 开关的输入引脚定义为数字引脚 8。
int irSensor = 9;
我们将 IR 障碍物传感器的输入引脚定义为数字引脚 9。
void setup()
{
pinMode(endStop, INPUT);
pinMode(irSensor,INPUT);
在设置中,我们将 endStop 和 irSensor 引脚声明为输入。
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);
我们将 stepPin、dirPin 和 enablePin 声明为输出。
digitalWrite(enablePin, LOW);
我们将 enablePin 设置为 LOW 以启用 DRV8825 驱动程序
while(digitalRead(endStop) == LOW)
{
只要 endStop 开关的数字值为 LOW(未按下开关。)
digitalWrite(dirPin, HIGH);
电机旋转方向设置为逆时针
for(int x = 0; x < 1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
并且步进器将一次逆时针旋转一步,直到 While 语句的条件为假。
digitalWrite(enablePin, HIGH);
}
这会禁用我们的驱动程序,以便在不使用驱动程序时不会消耗太多电流。
void loop()
{
if(digitalRead(irSensor)== 0)
{
在循环中,如果 irSensor 的数字值为 0(IR 障碍物传感器前面有障碍物(手))
digitalWrite(enablePin, LOW);
驱动程序被启用。
digitalWrite(dirPin, LOW);
电机的旋转方向设置为顺时针。
for(int x = 0; x < stepsPerRevolution; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
步进器将顺时针旋转 6000 步。
delay(2000);
它将等待 2 秒。
while(digitalRead(endStop) == LOW)
{
只要 endStop 开关的数字值为 LOW(未按下开关。
digitalWrite(dirPin, HIGH);
电机旋转方向设置为逆时针方向。
for(int x = 0; x < 1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite(stepPin, LOW);
delayMicroseconds(2000);
}
}
并且步进器将一次逆时针旋转一步,直到 While 语句的条件为假。
digitalWrite(enablePin, HIGH);
}
}
然后驱动程序将被禁用,直到 If 语句的条件为真并且代码再次播放。
只需将魔术贴扎带放在间隙中,在其顶部添加支架并将它们拧在一起。
x2
将 Velcro 手柄拧到盖子上。盖板组装完成!
x2
将直线轴承推入右孔中,直到它在中间。用 4 个螺钉将 T8 螺母拧到压脚的左孔上。
把你的电路放在电子箱里。将步进器、开关和红外障碍物传感器的电缆穿过孔。
将红外障碍物传感器拧入孔中,并使用螺母拧紧配合并调整位置。
插入轴承。
添加T8螺丝和压脚组件。(T8螺丝需要70mm到82mm长。如果你有更长的螺丝,你应该用钢锯之类的工具把它切成想要的尺寸。否则你可以试试3D打印一个。 )
将联轴器拧紧到电机轴上。然后将其拧紧到 T8 螺钉上。最后用两个螺丝将电机拧到底座上。
添加终止开关。
用 5 颗螺钉将盖子拧到底座上。
用 2 颗螺钉将红外障碍物传感器支架拧到底座前部。
最终用 3 个螺丝将电子外壳拧到盖子上!干得好,项目完成!
这个可以将大多数洗手液/皂液器完全自动化和免提的配件项目终于完成了!!
感谢您的时间!!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !