【XYペンプロッター制作①】CNCシールドでステッピングモータを動かすまで

【XYペンプロッター制作①】CNCシールドでステッピングモータを動かすまで
【XYペンプロッター制作①】CNCシールドでステッピングモータを動かすまで

この記事では、ArduinoとCNCシールドを使ってGコードでステッピングモータを動かすまでの詳しい解説を行います。Gコードでステッピングモータを動かすことができれば、CNC工作機械はもちろんレーザー彫刻機や3Dプリンタなんかも作れます。 本記事で紹介する手順は、決してむつかしいものではありません。ステッピングモータがはじめての方でも、ぜひチャレンジしてみてください。

つかうもの

本記事で使うものをご紹介します。

ステッピングモータ

本記事ではこちらのIverntechのNema17ステッピングモータを使用しました。二層のバイポーラ型です。

ステップ角は「1.8°±5%」となってますので、200step/回転となります。電流は「1A/相」、抵抗値「4.1±10%Ω/相」です。

Amazonで購入したステッピングモータは、コネクタとコードが付属してますので、CNCシールドにそのまま接続できます。また、ステッピングモータのフロントのネジ穴は、M3口径でした。

Nemaステッピングモータ
Nemaステッピングモータ

Nemaとは?

ところでNemaとは、ステッピングモータの寸法の規格です。Nema17であれば、軸の面の一辺が42.3mmになるように作られてます。Nema17は、一般的な3Dプリンタでもよく使われる規格です。ちなみに、胴体の長さが長いほどトルクを強くでき、お値段も高くなります。

トルクの問題

先ほどのステッピングモータは、値段が高くなりがちなバイポーラ型ステッピングモータの中では、かなり低価格で購入できるものです。ボディサイズは約42x42x23mm、バイポーラステッピングモータの中ではなかなか薄型です。 その代わり、トルクが必要な部分にはあまり向いてはいません。CNC工作機械などで使う場合は、トルクの強いステッピングモータをおすすめします。できるだけ胴体の長いのを選びましょう。

ペンプロッター用途なら、先ほどのステッピングモータで十分です。

他にも色々なステッピングモータがありますが、二層のバイポーラ型ステッピングモータを選んでください。また、ステッピングモータのリード線は4本になります。 Raspberry Piでステッピングモータの制御 の記事で使用した SM-42BYG011 でも動作可能です。

ただし、超低価格な ユニポーラ型ステッピングモータ がありますが、本記事の内容では動かせません。

CNCシールド

今回はArduino Unoに取り付けられる、こちらのCNCシールドV3.00を使用します。

ステッピングモータ用ドライバ

ステッピングモータ用のモータドライバ4988です。CNCシールドとセットで使ってください。

12V電源

ステッピングモータを動かすために、12Vの外部電源が必要になります。複数のステッピングモータを使う場合は、電源のワット数に注意してください。たとえば、12Vで2A消費するステッピングモータを4個使うなら、96W(12Vx2Ax4)以上の電力が必要になります。

余裕を見て、こちらの120Wのスイッチング電源を購入しました。

120Wスイッチング電源
120Wスイッチング電源
120Wスイッチング電源
120Wスイッチング電源

ただし、スイッチング電源にはケーブルやコンセントは付属してませんので、自分で作る必要があります。使ったものは裸端子、圧着ペンチ、ビニールコード、コンセントプラグ、熱収縮チューブです。

Arduino Uno

Arduino Uno Rev3を使用しました。ELEGOOなどのArduino Uno互換品でも動作します。

ただし、今回使用するCNCシールドがArduino Unoのために作られてますので、ほかのArduinoですと配線の工夫が必要になります。ご注意ください。

Arduinoをお持ちでないようでしたら おすすめArduinoどれを選べばいい?Arduinoで電子工作をはじめる方へ をご覧ください。

ArduinoへGRBLをインストール

ArduinoにGRBLというソフトウェアをインストールします。CNCシールドのバージョンによってGRBLのソフトウェアバージョンを選ぶ必要があるようです。 今回使用したCNCシールドはVer3.00でして、こちらのGRBL0.8(GRBL-Arduino-Library)をインストールしました。

Grbl v0.9の場合はこちらの記事をご覧ください。これから設定するなら、Grbl v0.9のほうがおすすめです。

下記ページの「Code」から「Download ZIP」を選択して、zipファイルでライブラリをダウンロードします。 GitHub - Protoneer/GRBL-Arduino-Library: Arduino Library for GRBL - With this Library you can use the Arduino IDE to upload GRBL to your Arduino Board. (More details at the bottom of this page)

zipファイルのライブラリをダウンロード
zipファイルのライブラリをダウンロード

その後、Arduino IDEで「Sketch」→「Include Library」→「Add .ZIP Library...」を選択して、ダウンロードしたzipファイルを追加します。

「Add .ZIP Library...」からライブラリを追加する
「Add .ZIP Library...」からライブラリを追加する

その後、「File」→「Examples」→「GRBL-Arduino-Library-master」→「GRBLtoArduino」を開いて、スケッチをそのままArduinoへアップロードします。

GRBLtoArduinoを開いてArduinoに書き込む
GRBLtoArduinoを開いてArduinoに書き込む

以上で、ArduinoにGRBLをインストールできました。 シリアルモニターから、$$などのコマンドを送信するとレスポンスがあるはずです。

シリアルモニタからコマンド送信
シリアルモニタからコマンド送信

配線

CNCシールドとモータドライバ、そしてステッピングモータの配線は写真のようになりました。今回はX、Y軸のみ使います。

CNCシールドとモータドライバ、そしてステッピングモータの配線
CNCシールドとモータドライバ、そしてステッピングモータの配線

モータドライバをマウントする向きにご注意ください。また、お使いのステッピングモータによっては、配線の色が異なりますのでご注意ください。

▼ 写真で使用したこちらの製品での配線になります。

GRBLコントローラで操作

配線がそれぞれできましたら、最後にGRBLコントローラーでステッピングモータを動かしてみます。Arduino IDEは使いませんので、閉じてください。とくに、シリアルモニタがつながっていると、GRBLコントローラから通信できません。

本格的に使う場合は、GRBLコントローラよりCNCjsがおすすめです。

GRBLコントローラのインストール

macOS環境ですので、こちらのページから「GrblController-3.6.1.7z」をダウンロードし、インストールしました。

Releases · zapmaker/GrblHoming · GitHub

GRBLコントローラを立ち上げます。Arduino IDEのときと同じように、Arduinoがつながっているポートを選択します。

GRBLコントローラでポートの選択
GRBLコントローラでポートの選択

その後、矢印ボタンを適当に押してみてください。Gコードが表示されつつ、ステッピングモータが動くはずです。

GRBLコントローラでステッピングモータを動かす
GRBLコントローラでステッピングモータを動かす

下記の動画では、ArduinoをつかってステッピングモータをGコードで動かしてみました。

▼ 続きはこちらの記事をご覧ください。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

この記事で紹介した商品

いろいろなCNCマシン
いろいろなArduino
Arduinoのオススメ参考書

▼ Arduino初心者向きの内容です。ほかのArduino書籍と比べて図や説明がとてもていねいで読みやすいです。Arduinoでひととおりのセンサーが扱えるようになります。

▼ 外国人が書いた本を翻訳したものです。この手の書籍は、目からうろこな発見をすることが多いです。

▼ Arduinoの入門書をすでに読んでいる方で、次のステップを目指したい人向きの本です。C言語のプログラミングの内容が中心です。ESP32だけでなく、ふつうのArduinoにも役立つ内容でした。

関連記事