世界を動かす技術を、日本語で。

HNに表示: 15歳のエンジニア志望です。私が作ったサイクロイドギアボックスです。

2026年8月2日原文(github.com)

概要

  • Cycloidal gearbox の自作と Pythonスクリプト による設計自動化
  • 3バージョン の設計開発とテスト経緯
  • SolidWorks 記事ベースの数式利用と Fusion 360 での実装
  • 主要パラメータ、制約条件、出力仕様の解説
  • Version 3 の詳細仕様と 改良余地 の提案

サイクロイドギアボックス設計プロセス

  • Version 1

    • ハンドクランク式 サイクロイドギアボックス
    • 1:9 の減速比
    • Pythonスクリプトの 動作検証用プロトタイプ
  • Version 2

    • NEMA 17相当サイズ のマイクロサイクロイドギアボックス
    • 1:9 の減速比
    • 3Dプリントの精度不足高精度要求 により動作不可
  • Version 3

    • NEMA 17用 初の実用動作品
    • Version 2より 外形拡大 し、 公差確保完全動作 を実現

Pythonスクリプトによる生成

  • SolidWorks 記事「Building a Cycloidal Drive with SOLIDWORKS」参照
  • 主なパラメトリック方程式
    • $x = R \cos(t) - E \cos(N t) - r \cos(t + \psi)$
    • $y = R \sin(t) - E \sin(N t) - r \sin(t + \psi)$
    • $\psi = \text{atan2}\left(\sin((1 - N) t), \frac{R}{E \cdot N} - \cos((1 - N) t)\right)$
  • 減速比
    • $1 : (N - 1)$(ローターは入力軸と逆回転)

インストール & 実行方法

  • リポジトリをクローン
  • Fusion 360 起動、「Scripts and Add-Ins」(Shift + S)選択
  • 「Scripts」タブで +(プラス) をクリックし、 cycloidal_generator フォルダを追加
  • Run でスクリプト実行

主なパラメータと制約

  • ピン数 ($N$) & ピッチ半径 ($R$)
    • 外側ハウジング形状を決定(ローターは$N-1$ローブ)
  • 偏心量 ($E$)
    • 入力軸オフセット距離(制約:$R > E \cdot N$)
  • 外側ピン半径 ($r$)
    • ローラーピン半径(制約:アンダーカット限界$r_{max}$に対して検証)
  • 精度/プロファイルオフセット
    • 角度ステップサイズと公差オフセット(3Dプリント用クリアランス調整)
  • 出力ピン & ボルト半径
    • 同心出力ピンとロータークリアランス穴($r_{pin} + E$)

Version 3 — 詳細仕様・性能

  • CADファイル :cad_models/version_3に格納
  • 主要仕様
    • 減速比 :1:9($N=10$ピン、9ローブ)
    • 外径 :9.0 cm(90 mm)
    • 駆動モーター :NEMA 17 Stepper Motor(42bygh40-A24dh)
    • 3Dプリント材質 :PLA
    • 主要ファスナー/ハードウェア :M3×8ネジ4本、6704ベアリング2個
    • 公差オフセット :全周+0.15 mm(+0.015 cm)
    • ギアボックストルク :1.3 N·m ± 0.007 N·m
    • NEMA 17ベーストルク :0.21 N·m ± 0.007 N·m
    • 効率 :66% ± 0.22%

改良ポイントと今後の展望

  • ハウジングピンMR128ベアリング に置換し、 摩擦低減・効率向上
  • 出力ピンM2ネジ+金属カバー に変更し、 剛性・最大トルク・効率向上
  • 設計の拡張性パーツ交換による性能最適化

Hackerたちの意見

君は「なりたい自分」じゃないよ!君はエンジニアだ!すごいものを作ったんだね。応援してるよ :)

彼は多分アメリカ人だね。だからエンジニアじゃないんだ。彼はV8motoreer、つまりストリートの人だよ。

これは何なの?ギアみたいなもので、出力シャフトが入力シャフトの一部の割合で回るってこと?従来の歯車と比べて、何か良い点や悪い点があるの?

かなりクールだね。バックラッシュがなくて、トルクが必要な状況では良いかも。ロボティクスではアクチュエーターとしてすごく人気だと思うよ。

ギアボックスみたいな働きをして、回転速度を犠牲にして高トルクを得ることができるんだ。このギアボックスの特別なところは、低バックラッシュで、接触点が多くて、高効率だってことだね。

「Not an Engineer」チャンネルは絶対楽しめるよ!: https://www.youtube.com/watch?v=YFJJkZm796I

インターネットに年齢を載せるなって言う人の言うことは聞かなくていいよ。これは素晴らしい作品だし、君はロブロックスの+1ドーパミントラップにハマる代わりに、意味のあることをしたんだ。フォートナイトで他の(多くはもっと若い)子供たちに怒鳴る仲間たちとは違って、君はバージョン3まで待って世界と共有したんだから。すごいよ、頑張ったね!

「なりたい自分」ってレッテルは外していいと思うよ。もちろん、まだまだ学ぶことはたくさんあるけど、君はもうエンジニアだよ。素晴らしいキャリアの始まりにいるだけなんだ。

同意!ソフトウェアを作ってるの?おめでとう、君は公式にソフトウェアエンジニアだね :) お金をもらってそれをやり始めたら、プロのソフトウェアエンジニアになったってことだ。人々の生活を本当に改善するソフトウェア(今この言葉を打ってるコンピュータで動いてるLinuxカーネルみたいな)を作れば、いいソフトウェアエンジニアだって名乗れるよ ^_^

いいね!俺も40歳超えのエンジニア志望なんだけど、君のプロジェクトには全然及ばないんだ。教授ジャック・フィリップスの「一般的な空間インボリュートギア」に基づいて「ユニバーサル」ギアをデザインするっていうのが俺の小さなペットプロジェクトなんだけど、今のところシーメンスNXで基本的なヘリコイドをモデリングできるようになっただけ。ISA(中間ねじ軸)に沿って接触するようにしてるんだけど、ギア軸の間にあるCDL(中心距離線)を通るやつね。そこから実際のインボリュート歯に進む方法が全然わからないんだ。いつかNX Openのスクリプトやモジュールを書いて、シャフトや軸のベクトルを選んだり、比率やピッチなどのパラメータを入力すると、俺のモデルに似た構造のものを出力するようにしたいと思ってる。

それは頑張って!NXは他の選択肢(商用やフリー/オープンソース)に比べて使いづらいよね。NX Openはさらに面倒で、基本的に90%が推測だし。

いいね!CNCで切るためにSVGファイルを出力できるの?

Hacker Newsで議論の続きを見る