电子说
步骤1:泵的类型和操作
与大多数泵一样,离心泵将旋转能量(通常来自电动机)转换为运动流体中的能量。一部分能量转化为流体的动能。流体通过外壳的孔眼轴向进入,被叶轮叶片捕获,并沿切线和径向向外旋转,直到流体通过叶轮的所有圆周部分进入外壳的扩散器部分。流体在通过叶轮时会同时获得速度和压力。外壳的甜甜圈形扩散器或涡旋形部分使流量减速,并进一步增加压力。重要的是要注意,水不是通过离心力(不存在力)径向向外推,而是通过惯性,即物体绕圆行进时沿直线(与半径相切)连续的自然趋势。可以将其与洗衣机中旋转周期的工作方式进行比较。
如果您想了解有关泵的更多信息,这是一篇很棒的文章,它更深入地解释了它们的操作:https://www.allpumps.com.au/blog/2016/01/25/class 。..
只是为了弄清楚为什么我要选择离心泵:性价比是无与伦比的,所以这款3美元的泵非常适合该项目。
这个小型泵可以将240L/H输送到3米高(最大),以200L/H计算,即每分钟约3升,因此,要充满我的10升罐,大约需要3分钟。
齿轮泵用于泵送油等油脂性材料,蠕动泵适用于食品级,医疗级的流体输送,但它们又慢又昂贵,与活塞泵一样。
我在此构建过程中了解到的一件事很困难,那就是您必须将这些泵浸入水中,因为如果它们的吸入管不在水下或气泡进入那里,则泵将停止工作(使流量再次工作的唯一方法是打开/断开回路以将气泡冲洗出叶轮)。正如我最初的构建日志所显示的那样,我计划将泵本身构建到与电路相同的盒子中。仅当将比泵高一点的水箱连接到吸水口以提供恒定的水流量时,这种方法才有效。
步骤2:硬件设计
WasserStation是一款简单的水泵,具有水位检测功能,可以将水箱注满水。
这很有指导意义不适用于那些可能想知道为什么不只是插入12V适配器的水泵,然后看着水箱注满水(使用当前的水泵大约需要5分钟)的人。
这是5分钟,您可以花其他时间,在进行此构建时,您将学到许多有关水系统,水泵的有趣知识,以及有关进度指示器的软件设计小技巧。/p》
您可以轻松地使用此构建来创建满足您需求的多种变化,例如:
1,拥有一个室外水塔,您可以在其中抽水
2,在白天从一口井中使用太阳能
2,您有一个室内水箱,该水箱通过电磁阀连接到主水龙头上
3,
4,具有足够大的属性,可以拥有自己的水塔来存储水以存储潜在的能量,以运行小型发电机(猜测您需要进行的所有修改,以添加具有110V/230V高压的继电器,从而可以打开更大的泵。
超声波水检测非常可靠,并且可以如果您要处理的是封闭的水箱而不是开放的泳池区域,则可以很好地进行调整。
如果您要构建此饮用水系统,请确保所有设备均为食品级,管道,水罐,接头。在我的构建中,我使用1 Y连接器,那里没有更好的方法来对构建进行防水处理,但要对其进行热粘合。由于组件紧密结合在一起,因此甚至没有必要只是预防措施,因为我不想处理泄漏,而不是1年内或5年内。
如果您将水储存更长的时间,还值得检查系统中的藻类。这对于我的建筑物来说从来没有发生过,因为水大约需要3-4周。
抱歉,但是这次没有电路图。我什至没有为这个项目制作PCB,它是如此的简单。继电器通过外部连接直接连接到Arduino,例如LCD和超声波传感器。
关于设计的另一点说明:您需要在罐顶的某个地方有气孔,不会太大也不会太多,以免脏物进入水中,但是如果水箱中有真空,水显然不会流动。
步骤3:硬件零件
1x Go&Camp Wasserkanister 10l mit Hahn(McTrek户外运动)
1x Y JOINER Piece 3 WAY塑料倒刺连接器PIPE软管减速器空气燃料水2x 12V
12mm N/C塑料电磁阀电磁水空气常闭
1x微型DC-DC降压转换器降压模块电源,用于航空建模( 12-》 5V)
1x 12V DC 5W微型迷你超静音无刷水泵潜水车0〜75℃
1x SIP-1A05簧片开关继电器
1x Arduino Pro Micro
1x液晶显示屏-》 Winstart 2004A-CTI-JT
1x on/关闭开关1x 3.5电源插孔1x 4针接口,用于超声波1x 10kOhm可变电阻,用于LCD对比线,面包板
步骤4:软件设计
此代码很简单,因为它不与任何PC,Xbee或其他设备通信,只是从超声传感器中读取值,打开泵
我还利用RGB LCD屏幕根据水位来更改背景光:
const int LCD_R = A1; // BackLight - R
const int LCD_G = A0; // BackLight - G
const int LCD_B = 15; // BackLight - B
在启动时,泵总是关闭,然后调用 water_check()例程检查水位。这里要注意的一件事是,HC-SR04超声波传感器只能在距离物体2-3 cm的距离内可靠地工作,因此我们的停止值为100%。如果我们整天都可以通过各种科学计算确定其余的值,但是由于我希望这个项目尽快完成,因此我遵循了旧的unix KISS原则,并简单地检查了传感器读数在一定的水位上并将其硬编码到代码中(与JavaStation相同)。这将始终取决于您使用的储罐的大小,形状,这是您必须校准自己的构造所必须进行的测量。
如果储罐已满,将应用5分钟的保持计时器。在使用泵,压缩机的回路中,使用保持计时器是一种好习惯。这些设备不应该反复打开和关闭,在这种情况下,绝对没有必要这样做。
/* Water level is on full no need to keep polling it every second, lock for 1 minute. */
if (water_level 》= 100)
如果水箱未打开100%,则泵将打开,并且LCD上将同时显示水位%和CM。
最大值如果您不想使用其他传感器,填充时间检查是一种简单而有效的检查溢出的方法。
您可以测量将油箱加满所需的时间,并在其中多加+1分钟。该检查将立即关闭泵并中断主程序流程,因为显然有问题。从这一点开始,Arduino必须重新通电。
#ifdef MAX_FILLUP_TIME
wait_count++;
if (wait_count==MAX_FILLUP_TIME)
{
#ifdef DEBUG
Serial.println(“WSTATION_ERROR_REFILL”);
#endif
myISR();
}
#endif
如果水位低于20,则背光为红色;如果背光在20至80之间,则切换为绿色;如果超过80,则为蓝色;当水箱装满时到100%,然后变成青色。
要在便宜的非图形LCD屏幕上创建外观更好的进度条,我使用了一个巧妙的技巧。一个字符被分割为另外5个较小的框架,使进度条看起来更紧密相连(尽管您仍然会看到字符之间的空白)。
例如,字符字段的第一列亮起:
B10000,
B10000,
B10000,
B10000,
B10000,
B10000,
B10000,
B10000
然后将第一列和第二列一起显示:
B11000,
B11000,
B11000,
B11000,
B11000,
B11000,
B11000,
B11000
仅此而已,您可以轻松地修改此代码,以适合不同尺寸的水箱和LCD屏幕的需求。
第5步:关闭和待办事项列表
希望此简短的指导对您有所帮助,并将帮助您成功建立自己的蓄水设施。尽管这是一个简单的构建,但是可以做一些改进:
-在水箱壁上添加溢水(水分)传感器,以提高安全性(在我的其他JavaStation项目中完成)。
-安装带插头和小腔室的超声波传感器,以便于更换(以防泛滥:P)
-安装前向流量阀,以防进料管下来。超声波装置的主要缺陷之一是,如果水从远处倾泻而下,将导致水面混乱,并且传感器读数将波动,并且波动范围为+/- 20相对于此,最佳做法是将输入管向下馈入水箱的底部,从而获得透明的表面,但是这又带来了另一个问题,即当泵停止运转时,该管将开始将水回流。为此,您必须使用前进流阀。
全部0条评论
快来发表一下你的评论吧 !