XYテーブル製作シリーズ 総集編
Raspberry PiとPythonでXYテーブルを自作する|回路設計からTkinter GUI制御まで全工程まとめ
「Raspberry Piで何か動くものを作ってみたい」「Pythonでハードウェアを制御したい」——そんな方向けに、当ブログで連載してきたXYテーブル製作シリーズの全工程を1本にまとめたロードマップです。
ラズパイのOS設定から、ステッピングモーターのmm単位制御、2軸同期、原点復帰(ホーミング)、そして Tkinter による GUI(操作画面)の実装まで。「結局どこから読めばいいの?」を、この記事で解消します。第0回から順に読めば、実用レベルのXYテーブル装置をゼロから構築できます。
この記事で分かること
- XYテーブル製作の全体像と、読む順番(全12回+番外編)
- Raspberry Pi・NEMA17ステッピングモーター・A4988ドライバでの2軸制御の流れ
- パルス数と移動距離の計算(mm単位制御)、加減速制御で脱調を防ぐ考え方
- リミットスイッチによる原点復帰(ホーミング)と、ソフト側での座標管理
TkinterでのGUI化と、「GUIが固まる」問題をスレッドで解決する方法- 必要なパーツ・工具リスト(Amazon・ミスミの実売品)
こんな人に向いています
- 電子工作初心者:ラズパイのOS設定から始めたい方
- Python勉強中の方:コードを書いて実際にモノを動かす楽しさを知りたい方
- 機構系の技術者:実務レベルの装置制御(安全設計や座標管理)を学びたい方
製作ロードマップ:4つのフェーズ
全工程を、学習の段階に合わせて4つのフェーズに分けました。第0回から順に進めるのがおすすめです。
【Phase 1】準備と基礎(第0回〜第1回)
まずは土台作り。ラズパイを起動し、プログラムで「電気」を操る基本を学びます。
【Phase 2】モーターを思い通りに動かす(第2回〜第4回)
いよいよ物理的な「動き」を作ります。
ステッピングモーターを回す
A4988ドライバを使い、モーターを回転させます。焼損を防ぐVref調整が重要です。
ラズパイでステッピングモーターを回す方法|A4988の配線とPython制御・Vref調整【XYテーブル製作 第2回】「mm単位」で動かす制御手法
タイミングベルトのピッチとプーリー歯数から、1mm動かすのに必要なパルス数を計算します。
ステッピングモーターをmm単位で動かす計算式とPython実装【XYテーブル自作 第3回】ハードウェアの組み立てとXYテーブル化
モーターを2台に増やし、A4988を増設。XYテーブルとして個別・同時に動かします。
ラズパイでステッピングモーターを2軸制御する方法【XYテーブル自作 第4回】【Phase 3】高度な制御ロジック(第5回〜第7回)
「ただ動く」から「実用レベルの装置」へ進化させます。
滑らかな動きを実現する加減速制御
急加速で止まる「脱調」を防ぐスローアップ・スローダウン(台形駆動)を実装します。
ステッピングモーターの脱調を防ぐ加減速制御をPythonで実装【XYテーブル自作 第5回】【Phase 4】GUIアプリ化と完成(第8回〜第11回)
プログラミング知識がない人でも扱える「操作画面(GUI)」を整え、装置として完成させます。
TkinterによるGUI操作パネル作成
移動量入力・XY同時制御・緊急停止を備えた操作画面を、Tkinterで実装します。
Tkinter(Python)でXYテーブルの操作GUI(グラフィカル)を作る【XYテーブル自作 第8回】GUIが固まる理由とThreadの使い方(番外編)
モーター動作をメインスレッドで実行するとGUIが応答しなくなる問題を、スレッド分離で解決します。
PythonのGUIが固まる理由とThreadの使い方【XYテーブル自作 第8.5回】現在地を見失わない座標管理
ソフトウェア側で常に座標を保持し、ソフトリミットとQueueを使ったThread安全なGUI更新を実装します。
XYテーブルGUIに原点復帰・位置表示・ソフトリミットを実装【XYテーブル自作 第9回】単軸動作・片道運動・安全終了の実装
GUIを閉じたときやプログラム異常終了時に、モーターが暴走せず正しく停止する処理を仕上げます。
XYテーブルGUIに単軸動作・片道移動・安全な終了処理を追加【XYテーブル自作 第10回】完成構成と設計資料【保存版】
全体の配線図・BOM・ソースコードのまとめ。実際に製作するときに役立つ設計資料一式です。
自作XYテーブルの完成構成と設計資料(図面・BOM)【XYテーブル自作 第11回】このシリーズの「こだわり」ポイント
- 「安全第一」のコード設計:GUIを閉じたときやプログラムが異常終了したときに、モーターが暴走せず正しく停止するための処理(スレッド管理など)を徹底解説しています。
- 数学を実用的なコードに落とし込む:「なぜこの計算が必要なのか」という理屈を大切にし、mm単位の計算や加減速のロジックを初心者にも分かる言葉で解説しています。
必要なパーツ・工具リスト
製作に必要な主要パーツをまとめました。各記事を巡らなくても、ここから揃えられます。
| # | 部品名 | 個数 |
|---|---|---|
| 1 | Raspberry Pi 3 ModelA+ | 1 |
| 2 | 5V 4A電源アダプター(ラズパイ用) | 1 |
| 3 | microSDカード(16GB以上推奨) | 1 |
| 4 | NEMA17(ステッピングモーター) | 2 |
| 5 | 12V5A電源(モーター用) | 1 |
| 6 | モータードライバ:A4988焼損を防ぐVref(基準電圧)調整の手順はこちら | 2 |
| 7 | リミットスイッチ | 2 |
| 8 | リニアガイド_SSEB8-295 | 2 |
| 9 | アイドラプーリー_2GT_30歯 | 2 |
| 10 | プーリー_2GT_32歯 | 2 |
| 11 | ステッピングモーター_Nema17 | 2 |
| 12 | タイミングベルト_GBN7262GT-60 | 2 |
| 13 | ガイドレール_MLG20-400 | 2 |
| 14 | キャリッジ_MLG-20C | 2 |
| 15 | 板金類はこちらを確認下さい250×250 板金XYテーブルのDXF/STEP図面セット。noteで配布 | 1式 |
※一部のリンクはアフィリエイトプログラムを利用しています。ミスミの部品は会員登録が必要です。
よくある質問(FAQ)
QどのRaspberry Piを使えばいいですか?
AこのシリーズはRaspberry Pi 3 Model A+ で製作しています。GPIOの40ピンがあれば Pi 4 / Pi 5 / Pi Zero 2 W でも動きます。ステッピングモーター制御の処理は軽いので、古い機種でも問題ありません。
QモータードライバはA4988とDRV8825のどちらがいいですか?
ANEMA17でXYテーブルを組むなら A4988 で十分です。DRV8825は最大電流とマイクロステップ分解能が上ですが、この用途では差が出にくいです。どちらを使う場合も、モーターの定格電流に合わせたVref調整は必須です。
QGUIのボタンを押すと画面が固まってしまいます。
Aモーターの移動処理をメインスレッド(GUIと同じスレッド)で実行しているためです。時間のかかる処理は別スレッドに逃がす必要があります。第8.5回でThreadの使い方を、第9回でQueueを使ったThread安全なGUI更新を解説しています。
Qリミットスイッチは何個必要ですか?
A最小構成なら、X軸とY軸の原点側に1個ずつの計2個です。両端に付ける(計4個)と、ソフトリミットの基準がより正確になります。ノイズ対策のプルアップ配線については第7回で解説しています。
Q板金やリニアガイドが無くても作れますか?
A動作原理の確認だけなら、木材やアルミフレームでも組めます。ただし精度と剛性は落ちます。実用レベルの装置にするなら、第11回で配布している板金図面(DXF/STEP)の使用をおすすめします。
QPythonの経験がなくても大丈夫ですか?
A第0回のOSインストールから順に進めれば大丈夫です。第1回のLチカ(LED点滅)から始めて、モーター制御・座標計算・GUIへと少しずつステップアップする構成になっています。
最後に
装置づくりは、一つひとつの積み重ねです。最初はモーターが1ミリ動くだけでも、それは大きな前進。一歩ずつ進めば、必ずあなただけのXYテーブルが完成します。まずは第0回から、ものづくりの第一歩を踏み出しましょう。
次に読む記事
🚀 まずはここから(第0回) Raspberry PiのOSインストール完全ガイド 開発環境のセットアップから。すべてのスタート地点です。 → ⚡ モーターを使う前に(必読) A4988の電流制限(Vref)調整方法|焼損を防ぐ計算式とテスターでの設定手順 ステッピングモータードライバの発熱・焼損を防ぐVref調整を、計算式とテスター手順で解説。 → 🛠️ 次のステップ(応用) ゼロから自作するCNCの全手順ロードマップ|Arduino・GRBL・CNCjsでレーザー刻印機を作る このXYテーブルを仮筐体として流用し、ArduinoとGRBLで本格的なCNC加工機に発展させた記録です。 →Follow me on X
本ブログの中の人「ニンジン🥕」はXやってます。新着記事はいち早くポストでお知らせしているので、見逃したくない方は @ninjin_py_vba をフォローしてみてください🥕
@ninjin_py_vba をフォローシリーズ記事一覧
電子工作・自動化ツールの製作記録をシリーズごとにまとめています。気になるテーマからお読みください。
-
FILE.01 — IoT
Raspberry Pi Pico W × GASラズパイPico W×GASで自作!「LINEで動く温湿度&スマートリモコン」完全ロードマップ
「外出中のペットの室温が心配…」そんな思いからスタートしたIoT自作プロジェクトの総集編。温湿度監視からエアコン遠隔操作まで、仕組みをゼロから作りたい方のための全5回の開発記録です。
シリーズを読む -
FILE.02 — CNC
Arduino × レーザー刻印CNCCNC自作シリーズ
高精度な加工を目指し、本格的な自作CNC製作に挑戦中。現在は基幹パーツであるオリエンタルモーターの納品を待つ「設計・準備編」を公開。ハードとソフトの両面から、理想のマシンを形にする過程をリアルタイムにお届けします。
シリーズを読む -
FILE.03 — XY軸制御
Raspberry Pi × ステッピングモーターXYテーブルシリーズ
Raspberry Piとステッパモーターを使い、ゼロから2軸制御に挑む記録。OS設定から回路設計、多軸制御のPythonコードまで、躓きやすいポイントを徹底図解。電子工作初心者が「動く感動」を味わうための実戦ガイドです。
シリーズを読む -
FILE.04 — 業務自動化
Python × Excel × CustomTkinter【Python開発記】NINJIN Mail制作記
PythonとExcelを連携させ、実務で即戦力となるメール送信ツールを開発。CustomTkinterによるUI構築や、ミスを防ぐテンプレート活用術など、現場の「痒い所に手が届く」自動化ノウハウを細部まで丁寧に解説します。
シリーズを読む -
FILE.05 — 業務自動化
Python × Excel × GUIアプリ化Invoice Maker(請求書・見積書自動作成)
手作業の請求書作成から卒業!PythonでExcelデータを読み込み一括PDF化する「Invoice_Maker」の作り方を全3回で解説。基本ロジックからGUIアプリ化まで、実務で役立つ自動化ノウハウが満載です。
シリーズを読む




コメント