太阳轮 a + 双联行星轮 c/d + 内齿圈 b(固定),行星架输出 —— 不只给"同心误差 0 ✓",把内啮合最容易出事的几项也一起校核
受限 Beta · 只做几何与啮合校核。齿根弯曲与齿面接触强度、行星间均载都不算;效率只在 Wolfrom 构型里按齿面啮合损耗估算(不含轴承、搅油); 齿根过渡曲线在动画里按示意画(径向线 + 齿根圆弧),不是滚刀包络出来的真实过渡曲线。 全部计算在你的浏览器里完成,参数不上传。
绿色框是算出来的值。齿顶圆按「两对啮合都保持标准顶隙 c*·m」确定 (外啮合即常见的齿顶降低 Δy);内齿圈变位 x_b 正 = 齿槽加宽,与外齿轮同号约定。
给一个目标传动比,让算法在齿数与变位里找全部校核都通过、并且某一项最好的方案。 模数 m1/m2、压力角、ha*、c*、行星轮个数取左边当前值(固定不变);x_b 每次都按同心条件解出。 每个候选都由本页同一个内核算 —— 点「载入」后上面结果表里的数,就是 GA 看到的数。
收敛曲线:每一代最好可行方案的目标值(还没有可行解时不画)。
当代种群:横轴传动比,纵轴目标值;蓝点 = 全部校核通过,灰叉 = 至少一项不通过(画在顶边);绿带 = 允许的传动比范围(带外的点贴边画)。鼠标移上去看齿数。
算法:实数 + 整数混合编码;Deb 可行性规则选择(可行胜不可行,不用罚系数);
z_b 不当基因 —— 落在传动比误差带里的一两个 z_b 逐个算、取最好;变位用相对量(从不根切的最小变位起算);
每代对最好个体做齿数 ±2 的成组局部搜索;最后对前 10 名及其邻居逐个把变位单独优化(可行点是孤岛,要连跳几步)。
凭什么信(nw_opt_check.js,每次部署前跑):固定变位时与四个齿数全枚举比,三个目标 × 10 个种子
30/30 找到穷举最优;变位放开时与 0.1 步长网格穷举比,15/15 不差于网格最优;返回的每个方案用另写的判据
(传动比、装配条件自己算)重核;同种子可复现;让 GA 看不见装配条件的造错版本必须变红。
GA 不保证全局最优 —— 不同种子在「滑动率」目标上相差约 1%,重要的设计请换两三个种子再跑。
为什么图里大行星轮 c 盖住了内齿圈?上面是沿轴向看的投影:c 只和太阳轮 a 在同一平面(a–c 层), d 只和内齿圈 b 在另一平面(d–b 层),c 与 b 轴向错开,不接触(见上方剖面示意)。 真正要校核的是同一平面里的东西 —— a 与 c、c 与 c、d 与 b、d 与 d —— 这几对都在结果表里。 c 的回转包络比齿圈齿根圆还大时,c 只能放在齿圈轴向外侧,壳体在 c 层要留出足够大的内孔(结果表「c 层壳体内孔」)。
所有齿按真实渐开线齿廓(含变位与齿顶降低)画在各自的啮合位置上,转速按传动比实时算。 啮合相位自检:每一帧都把每个行星轮的实际转角与"刚好啮合"所要求的转角比一次, 偏差以齿距计 —— 装配条件不满足时,这个数会明显大于零,动画里能看到齿对不上。
参考轴 内齿圈固定。阶次 = 参考轴每转一圈该事件发生的次数;乘以参考轴转频就是 Hz。
δ = 行星轴(曲柄 / 行星架孔)位置误差的径向分量,向外为正。它使 a–c(外啮合)与 d–b(内啮合)的中心距同时增加 δ;对外啮合这意味着侧隙张开,对内啮合则是行星轮被推向齿圈齿槽深处、侧隙收紧。 每个行星轮各填一个 δ(mm);名义侧隙 jn0 是你按齿厚公差预留的法向侧隙,实际几何侧隙 = jn0 + Δjn;不知道就填 0 只看增量。
公式:cos α′ = a₀·cos α₀ / (a₀ + δ);端面侧隙增量 Δj_t = ±2(a₀+δ)·[inv α′ − inv α₀](外 +、内 −),法向 Δj_n = Δj_t·cos α′;小偏差线性近似 ≈ ±2δ·sin α₀。闭式由齿厚和推出,并用渐开线多边形构造独立验证(Backend_Julia/reference/nw_backlash_geom.py)。 工艺上:对行星机构,除了总体安装尺寸,还要看各行星轴孔相对共同基准的位置一致性 —— 它决定各行星轮的啮合条件是否一致(上面「三个行星轮不一致」那一格),不能靠一次整体调整消除。
| 网友转来的第三方工具截图(m1=2.5、m2=3、z=15/39/21/66、x=0.33/0.1/0.21) | a′=68.52、α′=22.22°、x_b=0.568、ε=1.450/1.723、滑动率 2.591/1.702/1.509/0.330、邻接 15.79 mm、i=9.171 逐位一致。只说明两边约定相同,不说明谁对 |
| 真实齿廓啮合仿真(齿廓多边形求重叠面积,与公式无关) | 齿厚各减 0.01 mm 时全程零重叠、各加 0.01 mm 时必有重叠 —— 齿形与相位都对;内啮合重叠干涉 Gs 的正负与仿真 7 组全部一致(含 4 组干涉) |
| 整机逐层叠合仿真(截图参数,行星架转一圈 90 个位置) | a–c 层(a 与 3 个 c、c 与 c)、d–b 层(b 与 3 个 d、d 与 d)齿厚各减 1 µm 后全程零重叠(名义尺寸下只在接触线上有 1.6×10⁻⁵ mm² 的多边形离散误差)。若把 c 错放进 d–b 层,与齿圈重叠 776 mm² —— 这就是动画里看到的投影重叠,两层必须轴向错开 |
| 装配条件公式 vs 相位法 | (z_a·z_d + z_b·z_c) / (n·gcd(z_c, z_d)) 为整数 ⟺ 均布行星轮能同时装入:随机 2994 组全部一致 |
| 阶次表与谱线规则 | 阶次表 vs Python 精确分数算法 5 组齿数两种参考轴逐项 1e-12;O_c、O_prel 与本页运动学数值导数一致;网友转来文章的例子(42/81/27/113/3)两位小数逐项相同。谱线规则 (h·z + k) mod n = 0 由两份独立仿真(numpy 整周期 FFT、浏览器内核逐行星叠加投影)验证:a–c 侧 42/3 同相 ⇒ O_m1 本身出现、边带 ±3O_c;d–b 侧 113/3 顺序相位 ⇒ O_m2 本身被抑制,线在 k = −2, +1, +4 |
| 啮合相位分类与各谐次激励类型 | 同相 / 顺序 / 对相位与扭转 / 横向 / 平衡的模算术判据,vs Python 逐行星力矢量叠加(合力矩、合力随时间的幅值)数值判定:z = 8~130 × n = 1~8 × h = 1~6 共 984 组全部一致;把横向判据写错的造错版本变红 |
| 中心距偏差 → 侧隙 | 闭式 2a(inv α′ − inv α₀) vs Python 按齿厚和定义算(外 p_w − s₁w − s₂w,内 e_bw − s_dw)8 组对到 10⁻¹⁰;短视频例子 60 → 60.20 得 α′ 20.52°、Δj_n 线性 0.137 / 精确 0.139 mm;同一 δ 下 a–c 与 d–b 增量大小相等符号相反;δ→0 连续、小 δ 收敛到线性式 |
| Wolfrom(3K)构型 | 公开流传的 Wolfrom 算例 40/30/25/100/95 → i = 28.5(本页由 Willis 关系独立算出);几何 9 组 vs Python 1e-10;传动比 vs numpy 解 Willis 线性方程组 1e-12;装配条件 1920 组齿数扫描 —— 闭式条件、Python 有理数相位枚举、浏览器浮点相位枚举三者一致;效率 vs Python 力矩法(另一条路线)1e-12,三对 η=1 时整机 η=1,Σ 啮合损耗 = 1 − η,i 越大 η 越低;造错版本(传动比分母符号反)17 项变红(nw_wolfrom_check.js) |
| 浏览器内核 vs Python 参考实现 | 40 组工况 1380 项逐项对拍到 1e-10;每次部署前跑,造错样本必须变红 |