概要
- Open Micro-Manipulator は低コストかつ高精度なオープンソースのXYZマイクロマニピュレーター
- サブミクロン精度 のモーションコントロールを実現し、光学アライメントや電子部品のプロービング、顕微鏡用途に最適
- G-Code やUSBシリアル経由で簡単に制御・プロジェクト統合が可能
- Python GUI/API やCADデータなど、開発・運用を支援する豊富なリソースを提供
- 最新ハードウェア/ファームウェア で利便性・性能がさらに向上
Open Micro-Manipulator 概要
- 低コスト で 自作可能 なモーター駆動XYZマイクロマニピュレーター
- サブミクロン精度 の位置決めを実現
- 用途例 :光学機器のアライメント、電子部品プロービング、顕微鏡下作業
- YouTube動画 で組立や動作の詳細を紹介
- パラレルキネマティック構造 と ミニチュアボールジョイント による高剛性・広い可動範囲
- 市販ステッピングモーター + 高精度PWM/クローズドループ制御
- 磁気ギアリング 方式でロータリーエンコーダの分解能を30倍に強化(50nmステップ対応)
- 解像度と絶対精度 の違いに注意(分解能は高いが絶対精度はやや劣る)
制御・ファームウェア
- G-Code コマンドをUSBシリアル経由で送信可能
- 独自ファームウェア によるスムーズな経路計画・パスフォロー
- 6自由度ポーズ補間 をサポートし、将来的な拡張性も考慮
- VSCode+PlatformIO でファームウェアのビルド・書き込みが容易
- hw_config.h でハード設定(ピン番号やモータータイプ等)を調整
ハードウェアバージョン4.0の改良点
- 自己干渉問題 (ホーミング時)を解決
- ボールジョイントブロック の固定強化、回転ズレ防止
- リンクロッド長 の一貫性確保
- 不要な摩擦 ・ ゴムバンド交換不可 問題の解消
- FreeCADモデル の大幅な整理・改良(全ピン・ファスナー含む)
- BOM未更新 のため注意
GUI・Python API
- Python製GUI で直感的な操作・ライブカメラ表示が可能
- G-Codeランナー ・ リアルタイムマウス制御 など多機能
- Python API でシリアル通信・コマンド実行・デバッグが容易
- 接続/切断 ・ 原点復帰 ・ キャリブレーション ・ 移動 ・ ツール出力 など主要操作を網羅
- open_micro_stage_api.py をプロジェクトにコピーし、依存関係をインストールするだけで利用可能
主要API関数例
- connect(port, baud_rate)
- disconnect()
- home(axis_list)
- calibrate_joint(joint_index, save_result)
- move_to(x, y, z, f, move_immediately, blocking, timeout)
- set_tool_output(tool_idx, output_value, immediate)
- wait_for_stop(polling_interval_ms, disable_callbacks)
- set_max_acceleration(linear_accel, angular_accel)
- set_servo_parameter(pos_kp, pos_ki, vel_kp, vel_ki, vel_filter_tc)
ファームウェアの主な更新内容
- v1.0.4 :ツール出力(レーザー彫刻等)の高速・正確な制御
- PWM出力 にPIO機能を利用し多チャンネル対応
- キャリブレーションエラーチェック の強化
- パラメータ初期化・コメント追加、バグ修正
- v1.0.1 :キャリブレーション・ホーミング・ログ出力の改善、新G-Codeコマンド追加
G-Code対応コマンド
- G0/G1 X Y Z F :指定位置への直線移動
- G4 S/P :指定時間の停止
- G24 X Y Z A B C :サーボループ用ポーズ直接設定
- G28 A-F :ジョイントの原点復帰
- M3 :ツール出力設定
- M17/M18 :モーター有効/無効
- M50~M58 :各種情報取得・パラメータ設定・キャリブレーション
CADデータ・機械設計
- FreeCAD で設計(無料・オープンソース)
- 3軸CNC加工 を想定した設計、3Dプリントも可(熱変形に注意)
- CAD/STLファイル をリポジトリで公開
- アーム長など寸法 は組立時に要確認
電子回路
- KiCAD設計、市販モジュールを組み合わせたシンプルなPCB
- SMD不要 で組立容易
- PCB v1.2 はD1ダイオードのミスプリント修正が必要(v1.3で解消)
- 推奨電源 :5V~6V(2A)
- 製造用ファイル も公開
サポート・貢献方法
- ビルドガイドの改善 や 体験フィードバック の提供
- Nema-17ステッピングモーターのシャフト誤差評価
- Ko-fi での支援(任意)
- YouTube動画 で最新情報や組立方法を紹介
参考リンク
- YouTube動画 :An Open Source Motorized XYZ Micro-Manipulator - Affordable sub µm Motion Control
- Cylos Garage (モーター誤差評価参考):https://www.youtube.com/watch?v=gt2gK-oxy5s
- FreeCADモデル/STLファイル :リポジトリ参照
- GUI・API・セットアップガイド :公式GitHub参照
この人、伝説だね。彼のこのシリーズや他の動画はYouTubeで見る価値があるよ。なんか、ただの一般人がサブUMマニピュレーターのDIYをYouTubeにアップして、あっさり消えちゃうのがすごいよね。宣伝も何もなしで。