Show HN:我是个 15 岁的「准工程师」,这是我造的摆线减速器
文章摘要
这是一个 15 岁少年(HN 用户 tomilan)在 GitHub 上发布的个人项目:一台他自己设计并 3D 打印出来的摆线减速器(cycloidal gearbox),以及一份用来参数化生成这套齿廓的 Python 脚本。摆线减速器是一种把转速换成扭矩的减速机构,它最特别的地方在于没有传统意义上的齿——传动完全依靠特定的摆线几何形状实现,因此具有极低的回差(backlash)、多点接触和高效率,在机器人执行器里很受欢迎。
README 记录了完整的三轮迭代,这份坦白的失败记录本身比成品更有价值:
- 版本 1 是一台手摇的减速器,减速比 1:9,唯一目的是验证他写的那个 Python 摆线生成器到底对不对。
- 版本 2 尝试做成微型化,同样 1:9,把体积压缩到与一颗 NEMA 17 步进电机相同的占地面积。这一版失败了——小尺寸摆线传动需要非常紧的公差,而 3D 打印达不到这个精度。
- 版本 3 是第一个能真正驱动 NEMA 17 的可用版本。他主动放大了尺寸以换取更宽松的公差,最终得到一个完整可用的设计。
技术细节相当扎实。脚本基于 SolidWorks 官方那篇《Building a Cycloidal Drive with SOLIDWORKS》,核心是两条参数方程,用 R(节圆半径)、E(偏心距)、N(外销数量)和 r(滚销半径)来生成转子轮廓,减速比为 1:(N−1),转子的旋转方向与输入轴相反。脚本以 Autodesk Fusion 插件的形式运行,暴露出的关键参数包括销数与节圆半径(决定外壳几何,转子有 N−1 个凸瓣)、偏心距(约束条件为 R > E·N)、外销半径(需要对照根切极限 r_max 校验)、角度步长与轮廓偏移(正值用于给 3D 打印留间隙),以及输出销和螺栓半径。
版本 3 的实测规格表是这个项目最能说明「他真的做完了」的部分:减速比 1:9(N=10 个外销、9 个转子凸瓣)、外径 90mm、PLA 材质、4 颗 M3×8 螺丝和 2 个 6704 轴承、全周留了 +0.15mm 的公差偏移。性能数据是实测并带误差范围的:NEMA 17 原始扭矩 0.21 N·m ± 0.007,经减速器后输出 1.3 N·m ± 0.007,效率 66% ± 0.22%。他还列出了两条明确的改进方向:把外壳销换成 MR128 轴承以降低摩擦、提升效率;把输出销换成带金属包覆的 M2 螺丝以提高刚度、最大扭矩和效率。最后连打印参数都写清楚了(Bambu P1S、PLA、最小支撑 XY 1mm、支撑接触面用 Bambu 支撑专用 PLA)。
HN 评论精华
这条 Show HN 拿到 337 分、111 条评论——但正如一位评论者一针见血指出的,讨论几乎完全跑题了。真正谈论这台减速器本身的评论只有一条。
- useiris 就是那唯一一条:摆线设计属于那种「亲手造过」远胜于「只在书上读过」的东西——偏心运动在纸面上很好跟踪,但一旦真实公差进场就出人意料地难缠。他给出了两条专业建议:一是测回差,以及跑几百个循环之后回差变化了多少——摆线传动的卖点本来就是低回差,知道自己的真实数字,就能把这个打印件变成一个可以标注规格的产品;二是如果有办法给输出轴加载,负载下的效率是所有人接下来都会问的第二个数字。t23414321 在下面补了一句:”[这里唯一一条真正在谈这个传动装置的评论 :) ]”
那么其余 110 条在讨论什么?主要是三场彼此纠缠的争论。
第一场:该不该在网上公布自己是未成年人。 morelikeborelax 的「别在网上发你的年龄 :) 」是全帖被回复最多的评论之一。smalltalk7 反驳说:”这是个技术论坛。工程界最好的传统之一,就是认真对待新手、帮助那些想学的人。我们大多数人在这里,是因为当年也有人这样对待过我们。你的出发点是好的,但我不明白为什么技术论坛会是一个需要隐藏自己的地方。” morelikeborelax 解释了自己的立场:”那些说没关系的人出发点也是好的。但我来自一个眼看着年轻人被诱骗、被追踪、被操纵的世界。未成年人在成人论坛上公布年龄没有任何正当理由。” amelius 从另一个角度反对:”如果你想让人们根据项目本身的价值来评判它,就别公布年龄;这会让诚实的反馈对你和给反馈的人都变得困难。” 但 HtmlProgrammer 认为年龄恰恰提供了必要语境——知道对方 15 岁,你就不会建议他去买一台五千美元的机床,也不会说「这纯属业余水平不值得讨论」。amelius 自己也补了一句正面的话:任何能在一个项目上专注超过几周并把它做完的人,都能成为不错的工程师。
第二场:「工程师」这个称号。 大量评论在劝这个孩子把「wannabe」(准/想当)这个前缀去掉。koopuluri:”你不是 wannabe!你就是工程师!你做出了很棒的东西。” ninalanyon:”你当然还有很长的路要走、很多要学,但我认为你已经是一名工程师了,只是站在一段可能很了不起的职业生涯的起点上。” bluelightning2k 的说法最俏皮:”你是个非常有才华的 15 岁工程师,不是 wannabe。你只是提前抢跑了冒名顶替综合征而已。欢迎入会。” 但这引出了一场跨国界的拉锯:Rafert 指出在加拿大等地,”engineer” 和律师、医生一样是受法律保护的头衔;mcmcmc 澄清在美国受保护的是 Professional Engineer(P.E.);firesteelrain 进一步解释美国只在直接涉及公共安全的领域才对工程实行管制,多数工程师所在的公司承担了责任。joenot443 给出了这场争论里最优雅的一段:他也是加拿大人,此刻正戴着那枚工程师铁戒打字,但他已经接受美国人对这个词的用法不同、而这没什么问题——加拿大的定义直接源自魁北克大桥垮塌事故,是一段有趣的加拿大历史;就像把 favourite 写成 favorite 一样,尊重接纳自己的国家的习惯才是对的,”假装自己比拥有 CS 学位的美国同事更配称工程师,那会非常无知”。Projectiboga 一句话终结了这段讨论:”『15 岁 wannabe』这个说法本身已经把他和任何有资质的工程师区分清楚了。”
第三场:AI 与「亲手做」的意义。 这是全帖最长、也最有情绪的一支。起点是 liamilan 贴出 2018 年一个 12 岁孩子用 JS 写元胞自动机的老帖子,plastic-enjoyer 感慨:”疯狂的是,2018 年这被认为很特别(它确实特别),而今天没人会多看一眼,因为你可以毫不费力地 vibe code 出来。” 这句话点燃了辩论。el_io:”只是标准变高了。我少年时代花几周做的项目,现在半小时 vibe coding 就出来了。” noduerme 的回应是全帖最动人的一段自白:”我正在经历这个,让人心灰意冷。我想花几周时间写点酷东西。但让 AI 30 分钟做完这个念头就像……那还有什么意义。我知道我能做到,那何必呢。我不如去喝杯啤酒。就像拿到了全部作弊码,游戏就不好玩了。” 底下给出的解法各不相同:mohamedkoubaa 说「更有野心一点,有些项目即便用最前沿的 agent 也要花好几个月」;darkwater 说「或者干脆走向物理世界,做软硬件结合的项目——现实世界还没有 AI,至少还没有爱好者买得起的」;herewulf 的类比最完整:”你做实际的苦活时学到的东西多得多。有些人享受学习本身。编译器存在我们还是可以学汇编,3D 引擎存在我们还是可以学 OpenGL,SQLite/MariaDB/Postgres 存在我们还是可以学写关系数据库。你也完全可以在拥有全部作弊码的情况下选择不用它们。” Izmaki 站在另一边,认为 AI 把琐碎问题变简单了,让你有时间做更大的事——”与其花几周在家里砌一堵墙,不如花一周盖一座房子”;noduerme 的回击很锋利:”是啊,但那样你就不再是建筑师和工程师了,你基本上只是个顾客。”
ddlsmurf 给发帖人的建议因此显得格外简洁:”也试着做点不用 AI 的东西,那会很有价值。”
几条实际帮到了这个孩子的评论:
-
zachlatta(Hack Club 创始人)邀请他加入 Hack Club,提到自己刚在一场活动上见到一位高中生设计并造出了无级变速器。tomilan 回复说自己本来就想加入、该怎么入手,zachlatta 给了 programs 页面、Slack 邀请,以及后续如何申请开办一个附属社团的具体路径。不过 kaladin-jasnah 给出了一段值得听的过来人保留意见:他青少年时期在 Hack Club 周边待过一段,感觉那里的氛围让他被迫过一种超出自己准备程度的、加速的人生(16 岁去做暑期实习、和伴侣同居之类);他认识的很多人后来去了 MIT 之类的地方,但”慢一点过日子也有它的美”。zachlatta 的回应很得体:如果你有任何关于如何让社区更围绕自我表达和自我实现的想法,请给我发邮件——”Hack Club 是一个帮助青少年成为他们想成为的人的空间,而不是把他们推向任何一条特定道路,这对我非常重要”。
-
mohamedkoubaa 提供了最实在的帮助:”落后两个版本的机械工程教材便宜得跟白菜一样。如果你买不起,给我发邮件,我寄几本给你。”
-
WithinReason 在 tomilan 解释了什么是摆线减速器之后,建议他把这段说明加进 README。mlyle 借题发挥了一句很有洞察的话:”成年工程师本来就不太擅长判断别人知道什么、什么值得说出来。这是学生明显更差的唯一领域——『如果我知道,别人肯定也知道』;或者说,找出真正需要解释的那个点。” tomilan 随后回复:”已经加上了!”
-
fuzzfactor 贡献了一条冷知识:你可能早就拥有一台摆线机构而不自知——它常见于厢式车和皮卡底盘下方,用来紧凑地驱动那个升降底盘下备胎的钢索卷筒。这套机构在钢索处于任何长度时都能自然自锁,让人用一个轻型手摇柄就能把沉重的卡车轮胎吊上去。他还提醒大家:仔细看 GitHub 上那张动图,可见转子有 9 个凸瓣、定子有 10 个工位,截屏就能确认。
-
sota_pop 总结了这个项目为什么值得被认真对待,而且刻意与年龄无关:”任何涉及硬件或实体物件(尤其是你自己制造的)的项目都令人印象深刻——做工、对既有标准的引用、文档、以及真正把它发布出来。”
-
REDA_MAH,另一位自称同样 15 岁的读者,留下了唯一一条来自同龄人的评价:”你的作品非常令人印象深刻、也很有创意,但也许你可以在实践的那一面多下点功夫。”