PR

【完全版】Raspberry PiとPythonでXYテーブルを自作する!回路設計からGUI制御まで全11回を徹底解説

RaspberryPi

XYテーブル製作シリーズ 総集編

スポンサーリンク

Raspberry PiとPythonでXYテーブルを自作する|回路設計からTkinter GUI制御まで全工程まとめ

自作XYテーブルの外観図。2軸のリニアガイドとタイミングベルト、NEMA17ステッピングモーターで構成
完成イメージ(外観図)
Tkinterで自作したXYテーブル操作画面。X軸・Y軸の移動量入力欄と現在座標表示、各種操作ボタンが並ぶ
完成した操作画面(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回)

まずは土台作り。ラズパイを起動し、プログラムで「電気」を操る基本を学びます。

第0回

Raspberry Pi OSのインストール

すべての始まり。開発環境を整えます。

ラズパイのOSインストール手順|Raspberry Pi Imager【XYテーブル自作 第0回】
第1回

GPIOの基本操作

LED点滅(Lチカ)を通じて、ピン制御の基礎を理解します。

ラズパイでLチカ|PythonとGPIOでLEDを点滅させる方法【XYテーブル自作 第1回】

【Phase 2】モーターを思い通りに動かす(第2回〜第4回)

いよいよ物理的な「動き」を作ります。

第2回

ステッピングモーターを回す

A4988ドライバを使い、モーターを回転させます。焼損を防ぐVref調整が重要です。

ラズパイでステッピングモーターを回す方法|A4988の配線とPython制御・Vref調整【XYテーブル製作 第2回】
第3回

「mm単位」で動かす制御手法

タイミングベルトのピッチとプーリー歯数から、1mm動かすのに必要なパルス数を計算します。

ステッピングモーターをmm単位で動かす計算式とPython実装【XYテーブル自作 第3回】
第4回

ハードウェアの組み立てとXYテーブル化

モーターを2台に増やし、A4988を増設。XYテーブルとして個別・同時に動かします。

ラズパイでステッピングモーターを2軸制御する方法【XYテーブル自作 第4回】

【Phase 3】高度な制御ロジック(第5回〜第7回)

「ただ動く」から「実用レベルの装置」へ進化させます。

第5回

滑らかな動きを実現する加減速制御

急加速で止まる「脱調」を防ぐスローアップ・スローダウン(台形駆動)を実装します。

ステッピングモーターの脱調を防ぐ加減速制御をPythonで実装【XYテーブル自作 第5回】
第6回

2軸同時制御(直線補間)

threadingでXとYを同期させ、斜め移動などの自由な軌道を作ります。

Pythonのthreadingでステッピングモーターを2軸同時制御【XYテーブル自作 第6回】
第7回

原点復帰(ホーミング)

リミットスイッチを使い、装置の「基準点(機械原点)」を自動で確定させます。

XYテーブルの原点復帰(Homing)をPythonで実装する方法【XYテーブル自作 第7回】

【Phase 4】GUIアプリ化と完成(第8回〜第11回)

プログラミング知識がない人でも扱える「操作画面(GUI)」を整え、装置として完成させます。

第8回

TkinterによるGUI操作パネル作成

移動量入力・XY同時制御・緊急停止を備えた操作画面を、Tkinterで実装します。

Tkinter(Python)でXYテーブルの操作GUI(グラフィカル)を作る【XYテーブル自作 第8回】
第8.5回

GUIが固まる理由とThreadの使い方(番外編)

モーター動作をメインスレッドで実行するとGUIが応答しなくなる問題を、スレッド分離で解決します。

PythonのGUIが固まる理由とThreadの使い方【XYテーブル自作 第8.5回】
第9回

現在地を見失わない座標管理

ソフトウェア側で常に座標を保持し、ソフトリミットとQueueを使ったThread安全なGUI更新を実装します。

XYテーブルGUIに原点復帰・位置表示・ソフトリミットを実装【XYテーブル自作 第9回】
第10回

単軸動作・片道運動・安全終了の実装

GUIを閉じたときやプログラム異常終了時に、モーターが暴走せず正しく停止する処理を仕上げます。

XYテーブルGUIに単軸動作・片道移動・安全な終了処理を追加【XYテーブル自作 第10回】
第11回

完成構成と設計資料【保存版】

全体の配線図・BOM・ソースコードのまとめ。実際に製作するときに役立つ設計資料一式です。

自作XYテーブルの完成構成と設計資料(図面・BOM)【XYテーブル自作 第11回】

スポンサーリンク

このシリーズの「こだわり」ポイント

  • 「安全第一」のコード設計:GUIを閉じたときやプログラムが異常終了したときに、モーターが暴走せず正しく停止するための処理(スレッド管理など)を徹底解説しています。
  • 数学を実用的なコードに落とし込む:「なぜこの計算が必要なのか」という理屈を大切にし、mm単位の計算や加減速のロジックを初心者にも分かる言葉で解説しています。

必要なパーツ・工具リスト

製作に必要な主要パーツをまとめました。各記事を巡らなくても、ここから揃えられます。

※一部のリンクはアフィリエイトプログラムを利用しています。ミスミの部品は会員登録が必要です。


スポンサーリンク

よくある質問(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へと少しずつステップアップする構成になっています。



ニンジン🥕アイコン

Follow me on X

本ブログの中の人「ニンジン🥕」はXやってます。新着記事はいち早くポストでお知らせしているので、見逃したくない方は @ninjin_py_vba をフォローしてみてください🥕

@ninjin_py_vba をフォロー

この記事が役に立ったら、シェアしてもらえると嬉しいです🥕

Xでポスト はてブ LINE Pocket

PROJECT LOG — SERIES INDEX
スポンサーリンク

シリーズ記事一覧

電子工作・自動化ツールの製作記録をシリーズごとにまとめています。気になるテーマからお読みください。


超音波距離センサーHC-SR04をRaspberry Pi Picoで使う|仕組み・配線・精度検証
.uds1-block { position: relative; overflow: hidden; border-radius: 12px; border: 1px solid #f0cba8; background: linear-g…
今週の注目ガジェット〜09/07週〜|電子工作・自作向け新製品まとめ(TickrCast/Radxa Linkr ほか)
ニンジンのガジェット通信 09/07週。ESP32-P4の自作気象モニター、極小IP-KVM「Radxa Linkr」、ESP32のDINレール型PLC、LTE開発キットなど、電子工作で使えそうな新製品5つを解説。
サーボモータの角度をタクトスイッチで可変|OLED(SSD1306)に現在角度をリアルタイム表示
Raspberry Pi Pico 2W×MG996RにタクトスイッチとOLED(SSD1306)を追加。ボタンで角度を可変しながら現在角度をリアルタイム表示するMicroPython実装を、framebufの文字拡大やサーボの遊び対策まで実機ベースで解説します。
MG996RサーボモーターをRaspberry Pi Pico 2Wで動かす:PWM制御とキャリブレーション実践
MG996RサーボモーターをRaspberry Pi Pico 2Wで動かす方法を解説。公称180度のはずが実測198度だった個体差の原因究明から、ホーンのズレ補正、タクトスイッチでの角度制御まで実機検証の様子を紹介します。
Tapo P110Mの消費電力をExcelレポート化する【年次集計・電気代試算・セキュリティ判断編】
FastAPI+openpyxlでTapo P110Mの消費電力をExcelレポート化。15秒間隔の生ログを日次集計する設計や、31円/kWhでの電気代試算、外部公開を見送った理由まで解説します。

コメント