留出300个小时,手把手教你做一个乐高潜水艇!网友看了都直呼大师之作

留出300个小时,手把手教你做一个乐高潜水艇!网友看了都直呼大师之作
2022年07月19日 12:13 大数据_文摘

大数据文摘出品

作者:kazuha

乐高被玩出花是不是已经不新鲜了?

比如这个叫大卫·阿吉拉尔(David Aguilar)男孩因右臂发育不良,就自己利用乐高来制作了义肢

或者是用乐高DIY一个高精度电动显微镜。

但是文摘菌敢说,这次的乐高也绝对能让你大吃一惊。

看到了吗,这水中矫捷的身影,一个漂亮的U型回转然后急速刹车,再沉着冷静地向上浮去。

再看实际演练过程中,“船长”一脸镇定地操作,即使是在自然环境中也没有丝毫退却的意思。

就是你想的那样,这个潜艇正是利用乐高制作的。

该视频在YouTube上也是引起了热烈讨论,两三天观看人数就已经接近3万人次。

这不,有网友就直呼,“又是一个大师之作!”

也有网友表示,镜头清晰度令人震惊,对于低成本水下远程拍摄来说,这也是一个很好的概念验证。

接下来,就和文摘菌一起揭开这个乐高潜艇的面纱~

乐高和树莓派竟是“绝配”!

做好准备,开工!

我们先备上一个60毫升的注射器,将乐高齿轮架(零件编号3743)放在注射器杆旁,末端的灰色部分可以帮助固定机架线。

在此基础上要将齿轮用力推到齿条上,以确保其它们就不会乱动。在这里可以放置两个8齿齿轮(10928)从两侧推动杆,这也可以帮助固定齿条。

然后要用注射器的一个手柄把齿轮按杆的方向纵向固定住,这个过程需要大量的试错和实验。

乐高变速箱(6588)有24:1的齿轮减速比。它需要一个蜗轮 (4716) 和一个24齿齿轮 (3648) 才能工作,除了将扭矩增加24倍、减少摩擦外,它还非常紧凑,很适合用在潜艇上。

乐高电机选用的是EV3中型电机,里面的转速表可以用来跟踪注射器位置,将其与树莓派连接上。这里可以剪断一条EV3电缆,在末端压接杜邦母线连接器。

接下来需要用到Python来读取转速表,两个转速计信号可以根据哪个信号首先变为1来了解旋转方向。

tachoPower = DigitalOutputDevice(20)

tachoA = DigitalInputDevice(16)

tachoB = DigitalInputDevice(19)

tachoAValue = tachoA.value

tachoBValue = tachoB.value

def tachoA_rising():

global tachoCount

global tachoAValue

global tachoBValue

tachoAValue = 1

if tachoBValue == 0:

#A in rising edge and B in low value

# => direction is clockwise (shaft end perspective)

tachoCount += 1

else:

tachoCount -= 1

def tachoA_falling():

global tachoAValue

tachoAValue = 0

def tachoB_rising():

global tachoCount

global tachoAValue

global tachoBValue

tachoBValue = 1

if tachoAValue == 0:

tachoCount -= 1

else:

tachoCount += 1

def tachoB_falling():

global tachoBValue

tachoBValue = 0

tachoA.when_activated = tachoA_rising

tachoA.when_deactivated = tachoA_falling

tachoB.when_activated = tachoB_rising

tachoB.when_deactivated = tachoB_falling

tachoPower.value = 1

射器围设置在3毫升至45毫升之间。

SYRINGE_POS_MIN = 3 #syringe ballast min pos [ml]

SYRINGE_POS_MAX = 45 #syringe ballast max pos [ml]

SYRINGE_TACHO_COUNT = 19000 #tacho count from syringe min to max pos

SYRINGE_HYSTERESIS = 360 #motor+gearbox+syringe backlash/hysteresis [tacho counts]

#calculate syringe position

if tachoCount > trueTachoCount:

trueTachoCount = tachoCount

elif tachoCount

trueTachoCount = tachoCount + SYRINGE_HYSTERESIS

syringePos = SYRINGE_POS_MIN + SYRINGE_POS_MAX * \

             trueTachoCount / SYRINGE_TACHO_COUNT  #[ml]

通过游泳池测试运行的注射器位置数据可以看到,有效操作范围约25毫升,大约是注射器的一半。

不就是造一个船体吗(狗头

接下来可以制作船体部分了。

预先准备好两个有机玻璃亚克力塑料圆柱体,外径11厘米和10厘米,长度均为25厘米,厚度均为3毫米。

再还没有把它们焐热的时候,先从小圆柱体上锯下2厘米长部分。

在一块由苯乙烯-丙烯腈制成的塑料板上取下2块大小合适的圆形切片。

然后需要将切下来的圆柱体粘到圆形切片上,注意粘合需要防水且牢固。

然后需要对其进行防水密封,这里可以使用O型线圈

安装盖子也是一个挑战,你必须得用指尖把O型圈推到缝隙中,否则它就会滑出来。秘诀是,先进入盖子的底部,然后用力将整个盖子向下推,挤压O形圈,同时将顶部翻入。

还需要在盖上开一个洞来让水进出注射器。此外,还需要使用外部水来测量深度。钻好孔后,将两根4毫米直径乐高气动软管(21825)穿过孔。

在进行组装时,螺旋桨电机必须位于背面才能与磁力联轴器连接;注射器需要空间才能完全延伸,可以安装在电机下方或上方;电池很大,可以安装在前盖附近,也可以用手指方便进行开关操作。

在螺旋桨的选择上,主螺旋桨可以使用4x4.5的Diatone Bull Nose,在螺旋桨两侧贴一块双面胶带,将带有轴孔的圆形乐高板(4032)推到两侧,在车轴上添加乐高半衬套 (4265a) 以保持两端安全。

转弯螺旋桨可以乐高螺旋桨3叶片3直径轴孔6041)。

接下来就可以……继续盖盖子了。

首先在盖子的两侧贴了一条低摩擦胶带,磁铁上添加硅润滑剂,用棉签清除脏污,添加磁耦合,插入乐高,主要添加了一个8齿齿轮 (10928) 和一个用于转动螺旋桨的轴,以及一个连接件 (48496),用两个锥齿轮 (6589) 进行L形转弯。

再装上压力传感器和激光距离传感器,就可以准备出海了

开上我心爱的小潜艇

带着我们做好的潜艇上路吧!

在水箱测试中,不管是压力传感器还是激光距离传感器,都能正常工作。

在泳池测试中,由于可施展空间更大,不管是转弯还是用螺旋桨加速前进,也都能很好地得以验证和演算。

在完成了初步测试后,我们还可以把潜艇放在自然界的河流里进行最后的模拟测试。

在这段长达200米的行进中,潜艇不仅能躲过各种障碍物正常运转,还拍摄到了非常清晰的水下图景。

给我们的“船长”一个大特写:

尽管看上去十分炫酷,但是作者也很真诚的给大家拔了播草。作者表示,前前后后整个构建过程太过杂,可能花了300个小时左右。

同时目前还存在由于密封严密且需要平衡内部压力,端盖部分尤其复杂;转动螺旋桨太弱;潜艇在以最高速度行驶时不会直线行驶;测速脉冲有时会丢失,需要修复注射器位置参数等问题。

尽管目前已经做了4个版本的乐高潜艇,作者还在想对其进行改进,比如改造端盖使其更易于安装并添加锁定机制,更换无线电控制板,拆下激光距离传感器,增加转动螺旋桨尺寸或齿轮比等等。

文摘菌的脑子已经被这个乐高潜艇炫酷晕了,不知道大家对这个小潜艇有什么看法,欢迎在评论区留言讨论~

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部