DEEP 159 · 第十四辑 · 小白机械课 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

解读 159 · 螺丝与紧固件体系

解读对象:概念课 · 以 microduck-replica/docs/紧固件反推.md 全文为教材
需要的前置:解读 33(从 STL 反推装配的总体方法);解读 155(热熔螺母怎么压进去)。

没有螺丝清单,就从孔的形状里找

上游没有机械 BOM,也没有螺丝清单——想知道这只鸭子用什么螺丝,只能让几何自己开口。scripts/analyze_holes.py 的思路像法医验骨:把 47 个 STL 网格逐一扫描,按二面角 35° 切开成一片片"光滑曲面",每片拟合圆柱面求出轴线和直径(相对残差 >3% 的丢弃),再看法向——指向轴心的是孔,背离轴心的是轴/凸台,最后只保留包角 ≥300° 的完整圆孔。47 个零件全部扫完只要 2.5 秒。

生活类比:看到门板上一个 5 厘米的圆孔加一圈凹槽,不用看锁你也能猜出是球形门锁——孔的直径、形状、成对关系,就是紧固件的指纹。

指纹比对:整机是 M2 系统

扫描结果按直径分组,一眼看出主力:

直径 数量 判读
Ø2.2 77 M2 过孔(螺丝穿过,M2 标准 clearance 2.2–2.4)
Ø4.4 28 M2 沉头孔(M2 内六角柱头 Ø3.8,沉孔 4.0–4.5)
Ø1.6 20 M2 攻丝底孔(M2 标准底孔正好 1.6)
Ø2.4 / Ø2.0 22 / 12 M2 松配 / 紧配过孔
Ø2.7 / Ø2.8 20 M2.5 过孔(少量)
Ø5.4 / Ø6.0 16 轴孔/轴承座,非螺丝

三个"三孔型"是铁证:Ø2.2 与 Ø4.4 成对出现在 yaw2roll、leg、ankle_left、neck_pitch、yaw_roll_motion 上——过孔让螺丝杆穿过、沉头孔让螺丝头沉平,这是"过孔 + 沉头"的典型组合,确认用 M2 内六角圆柱头螺丝;Ø1.6 底孔则是让螺丝直接在塑料里攻出螺纹。交叉验证:xl330.stl 舵机自身就有 Ø2.0×4 + Ø1.6×8,与 Dynamixel XL330 的 M2 安装孔一致——打印件和采购件在同一个螺距体系里,互相印证。

从孔到采购单:数量是算出来的,不是拍出来的

按装配体用量加权(注意 leg 实际用 4 件、hip_l 用 2 件,不加权就数错——本仓库自己勘误过一次"213 个"),整机 M2 级孔共 237 个:60 个在舵机本体上(15 只 × 4 孔)、21 个在轴承/PCB/电池等外购件上、结构件上约 156 个。螺丝长度不是猜的,来自 Ø2.2 孔的深度分布:0–3 mm 共 51 个、3–5 mm 共 24 个、8–12 mm 共 4 处——于是采购表给出 M2×4 ×60(薄壁位)、M2×6 ×80(主力)、M2×8 ×40、M2×12 ×15,另加螺母 50、热熔螺母 60(打印件推荐替代直接攻丝,牢得多)、M2.5×6 ×20,合计按 325 件备货,对 237 个孔位留 1.37× 余量。

还有一条跨文档的提醒:反推自仿真网格,只保证外形,不保证公差——Ø2.2 的孔 FDM 打出来通常偏小 0.1–0.3 mm,装配前先打试件校验(处理办法见解读 160)。孔径统计也有盲区:腰孔、包角 <300° 的圆弧、大于 14 mm 的开口都不在数里。能确认的是实物一关已过:构建日志 2026-09-02,腿部件 M2 螺丝已实装,孔位反推成立。

你带走的收获

  1. 没有图纸时,孔的几何就是紧固件的指纹:直径定规格,过孔+沉头成对定头型,底孔定攻丝。
  2. 本机是 M2 内六角圆柱头体系,三孔型 Ø2.2(过)/ Ø4.4(沉)/ Ø1.6(攻丝底孔)是骨干,外购件 xl330 同体系互证。
  3. 采购量 = 孔数(加权 237)× 余量(1.37×),长度分布(0–3/3–5/8–12 mm)决定 M2×4/6/8/12 的配比。
  4. 打印孔会缩 0.1–0.3 mm:反推的直径是设计值,实测补偿才管装。
  5. 加权意识:leg ×4、hip_l ×2——不按装配用量加权的统计必然失真,本仓库"213→237"的勘误就是学费。

延伸

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页