自制潜水艇与表面wifi天线

一切如何开始


我欢迎大家我是Maxim,我想分享在旅途开始时如何组装无线电遥控潜艇的信息,而无需任何电子知识。



我本人是动画和计算机图形艺术家-我从未做过编程或电子学。我只有一小部分关于焊接的知识,祖父在我还是小学生的时候就给了我。

我一生都对水下研究感兴趣,这一切都始于童年时代与J.I.库斯托,并最终开发了有关欧洲冰冷海洋的游戏。但是,现在不关那件事了。

决定是时候将我的兴趣爱好转移到实习了–我去了Youtube。我掌握了一些最基本的知识,然后我的道路已经像许多其他道路一样依靠AliExpress。最后,购买了27个各种模块和其他组件的名称。



邮局员工在寻找27个包裹时非常不高兴...

潜艇的工作开始和第一次失败


扰流板
, , .

最初,我找到了一个对潜艇有第一手了解的人;他帮助我进行了理论和测试。

接下来,我立即开始为Arduino编写我的第一个代码。这是用于控制两个潜艇发动机的代码。两个电位器:左侧控制引擎的总功率,右侧控制潜水艇的旋转(根据电位器的位置降低引擎之一的功率)。我打算将所有这些显示在便宜的显示器上,因为我计划制作一个单独的控制面板(因此,潜水艇是通过智能手机控制的)。



考虑到一周前我不知道电位器如何工作,我的热情是难以形容的。不止于此,我去了一家五金店和一家药店。在建筑行业,我给各种聚丙烯管,接头和管夹打了分,在药房里,我拿了几个珍妮特注射器。

管道分别进入潜艇的船体,而通往模块的注射器则改变了浮力。对于我来说,只是改变浮力的模块才是最有问题的部分。

浮力模量


该模块的任务非常简单,收集水并将其挤压回命令。随之而来的问题是-如何推动具有少量伺服器,马达和一组齿轮的注射器的活塞?值得一提的是:



这是与齿轮和其他琐事互动的第一次体验。顺便说一句,我能够将sg90伺服器进行360°旋转改造:我磨尖了主齿轮上的闩锁,这使电位计转动,并将电位计轴胶合到零位置,这样即使使用修剪的限位器也不会意外旋转。

齿轮照片


这仍然无助于解决问题-我无法可靠地固定与齿条相互作用的齿轮。收获的工程经验,帮助我掌握了浮力改变模块的第二次:我参加了一个更强大的伺服,厚厚的螺杆和螺母,这是我固定在活塞上。这次我没有去改动伺服器,我决定使用外部驱动器并直接连接到伺服电机会更容易。



我是妈妈的工程师


Wasyansky挠性联轴器


铝制框架,提高刚度


激光测距仪被放置在活塞上,以便我可以实时确定它现在处于什么位置。好吧,基于此距离数据,我规定了在极端位置时要使用的活塞锁。也许有更简单的方法来确定活塞的位置,但我偶然从中文中找到了一个非常便宜的模块-VL53L0X测距仪,并决定使用它。结果,我感到非常高兴,该库很简单,我建议它可以正常工作。从原则上讲,注射器在密闭空间中的精度大约为5mm。



在测试期间,出现了另一个问题-活塞牢固地粘附在注射器的壁上。我不知道它是与什么相连的,但是要开始活塞的运动,有必要施加一定的力,在最初的卡纸后,它才能正常进行。我们尝试了几乎所有类型的润滑剂-其中许多使情况变得更糟。因此,我必须为该模块添加一个铝制框架。

马达


使用推进系统,我选择了最简单的解决方案,并购买了现成的水下发动机。在此之前,我使用机箱内部的电动机测试了该选件。我订购了一套带轴和螺钉的船尾管,但是当我研究这个问题时,结果发现,出于我的目的,我需要一个完整的系统:复杂的油封,法兰等。否则,它将在任何情况下继续进行。我有未来的计划,将潜艇扔到拉多加的某个地方,并通过3G网络进行管理,该网络位于家里的沙发上,这意味着任何可能的泄漏都将导致设备的自主性降低。



将来,我计划仅使用水下电机,很可能是无刷电机。目前,这些已被使用,收集器:



我使用PWM控制它们。卖方说,它们最大深度为8米,这又立即施加了一些限制。

住房


该案例是一项有趣的任务-建立密封连接,该连接很容易拆卸。我没有完成任务,我不得不将所有东西紧密地粘在一起。当注射器吸水时,体内会产生压力,我们所有的紧固件都被简单挤出。结果,所有重要的电线都被带到一个密封的连接器,您可以通过该连接器为设备充电,对板上的Arduino进行闪光并连接天线。

是的,我们的天线通过电缆连接并且处于水面位置,从而确保可靠的通信。但是稍后天线。



附加照片







外壳由50mm聚丙烯管和接头组成。接缝处用密封膏覆盖,并在顶部增加强度以填充热熔胶。最终将一个注射器喷嘴,一个气密连接器,一个内含拨动开关和两根探照灯电线拉到了尽头。泛光灯安装在被淹零件的船首,这种设计可使重心移近潜水艇中心。

潜艇大脑


这对我来说是最有趣的部分。当我开始计算电路时,我仍然不知道例如电容器如何工作以及为什么需要电容器。当关闭电源时,由于电容性电容,Arduino上的LED指示灯缓慢熄灭时,我感到非常高兴。
实际上,它们在电路中是有用的,用于平滑由于收集器电动机的操作而在电路中出现的峰值。连接稳压器也需要它们。

我们有两个电池组成的电池,分别为8.4 V,电压流至电动机,稳定器后为5 V,即Arduino和其他传感器。全尺寸方案(可点击):



最初,很多事情并没有因为我将所有东西都收集在面包板上而产生。我只是不明白为什么电路的这个或那个部分不起作用。结果,一切都开始焊接起来,很快就不会有正面的测试结果。



测距仪引起了有趣的问题之一。他的库很好,但是如果将精度模式设置为中或高,则整个草图将变慢,并且控件将以至少2000 ms的ping退出。因此,测距仪处于FAST模式,但其精度仍然足以满足我们的任务。

我遇到的下一件事情是电缆管理。表壳直径50毫米。似乎很多,直到您开始尝试将所有内容放入其中。我使用了设计用于音频的过粗的直电缆,这让我很沮丧。我只想要铜,因为它很容易焊接,并且不会断裂,例如铝。下次我将花更多时间寻找好的电线。





仅天线带来了进一步的困难。

天线


作为天线,我决定使用esp8266并通过智能手机通过Wi-Fi控制潜艇。只有中文才有基于ESP8266的各种各样的模块,我购买了三个不同的模块,但是我只能连接和刷新其中一个模块-ESP -01

从理论上讲,如果您现在订购,它们将已经带有必需的固件。通过RemoteXY进行管理,并且他需要用于AT命令的特定固件版本。仅通过RemoteXY指南解决了通过AT命令找到合适的固件进行控制的问题。顺便说一句,我只是喜欢界面,而不是做广告,直到那时我才发现适用于各种IoT的更加方便和完善的界面设计器。



固件成功后,我将模块与必要的组件挂在一起,并焊接了USB连接器以方便连接。将USB伴侣从常规的瓶子下面插入软木塞中,我们得到了一个简单的有线天线,可以改变外壳(更换瓶子)。



除固件外,还有更多问题。

ESP-01板应在3.3 V而不是5 V电压下工作。此外,逻辑和电源均应如此。如果我通过电平转换器配置逻辑,那么我就太懒了以至于无法控制电源,我只是在芯片上贴了一个小的散热器子。从五伏电压起,它可以正常工作,但会变得很热。最后的散热器有助于防止芯片烧坏。



另一个问题-我为密封式连接器挑选了理想的电缆,但它只有2个带屏蔽的引脚,而对于天线,则需要4个(电源以及RX和TX,用于天线和板上的Arduino之间的通信)。

事实证明,单独为天线供电是不可能的,因为要使ESP + Arduino正常工作,必须有共同点。我必须将屏蔽层用作电缆附近的地面,并在天线本身上添加一块单独的电池。不方便,但可以。当然,找到4芯电缆并用潜水艇的电池为天线供电更容易。



在照片中,密封连接器的电缆,硅胶管和压接孔的直径非常吻合。

管理和固件


通过智能手机上的界面进行管理。该接口由直接在站点上的现成模块组成,接收到该接口的源代码,然后仅将接口的各个元素绑定到固件内部的操作即可。



在接收接口的源代码之前,您需要在设置中指定与Arduino交互的无线模块的类型。我们仅刷新Arduino本身-使用Wi-Fi模块,通过AT命令自动进行通信。创建一个访问点,从智能手机连接到它,并通过预安装的应用程序对其进行控制。该接口来自Arduino,它已连接至固件,并被智能手机中的应用程序本身识别。

这是我的第一个代码,我不会在这里保留它,因为它仅使用基本的编程技能和基本的数学知识。我遇到了一些困难的时刻-我第一次无法执行通常的逻辑操作-因此在某些值下,注射器的伺服驱动器将被阻止单向移动。

例如,当达到最大取水量时,活塞应向后停止,但不应向前阻塞。反之亦然,当所有的水都被挤出时,活塞不应前进,但可以毫无问题地执行返回命令。

  if ((RemoteXY.button_1 == 1) && (RemoteXY.button_2 == 0) && (val_f < 100)) {
    pwm_UP = 1;
    pwm_DOWN = 0;
  }

  else if ((RemoteXY.button_1 == 0) && (RemoteXY.button_2 == 1) && (val_f > 25)) {
    pwm_UP = 0;
    pwm_DOWN = 1;
  }
  else {
    pwm_UP = 0;
    pwm_DOWN = 0;
  }

这是最后的逻辑结构,其中RemoteXY.button_#是界面中用于潜水或浮出水面的按钮。

另外,从代码中对我来说最困难的部分来说,这是一个范围查找器滤波器(我选择了网络中最简单的一个),好吧,设置电压表的值。由于测距仪上提到了FAST模式,因此需要使用过滤器,输入值跳了很多,而过滤器只是帮助解决了这一问题。但是电压表对于指示电池的放电很有用。 Arduino有一个参考引脚,如果对其施加的电压不超过1.1伏,则Arduino将能够准确确定向该引脚提供的电压。我们将分压器之后的8.4 V转换为1.1V。结果证明这种转换不准确,我不得不通过在固件中添加变量来实验性地校正电压值。

测试中


测试是在废弃采石场上用相对干净的水进行的。为了进行测试,有必要固定摄像机并调整海底装饰(以及基本的中性浮力)。

仅通过安装摄像机安装座的正确螺钉即可解决第一个任务。为避免相机旋转,添加了少许粘土。



修剪器由一个袋子包着,事实证明它很方便钩在夹具上,并且已经可以轻松地将夹具沿着潜水艇移动了。根据袋子中坚果的数量,我们设置了中性浮力,然后我们迅速拿起了夹子的位置,以使潜艇不会咬鼻子。该选项的决定是在前往采石场之前做出的,根本就没有时间制造自动修剪修剪系统。从理论上讲,这是很容易通过沿螺杆移动负载来制造的。在下一艘潜水艇中,我将尝试使用此选项。也许这是整个潜艇。

我录制了两个视频,在其中我详细讨论了组装过程,并展示了设法在水下拍摄的镜头。有一个很好的观看


希望材料有趣。接下来将进行压力舱的实验(以检查设备的密封性)和水下桨的测试。我还将在它们上以文章的形式准备材料,但已经带有图表和各种决策的比较。

All Articles