レーザー加工機やCNCを作るためには制御のためのソフトや回路、モーターなどのハードウェアが必要になる。
昔ならゼロから基板を設計してなんてことになるのだろうが、最近はオープンソースのハードウェア、ソフトウェアが普及しているおかげでプラモデル感覚でちゃんとしたプラットフォームを構成することができるし、簡単に改造することもできる。
ネットという集合知と安価にパーツを提供してくれるPRCに感謝しつつ、今回は、それらのパーツを組み合わせてステッピングモーターをPCから動作させるところまでをやってみたい。
ダウンロード、実行、差し込む、つなぐといった単純作業なので誰でもできる。
![]() |
サインスマート NEMA 17 ステッピングモーター 1.5A-2.5A 3Dプリンタ Reprap Makerbot Prusa CNC Router サインスマート(SainSmart) |
以下、手順の動画を貼ったので、実際の作業の手順は動画、リンクは以下の文章で追ってください。
以前にも書いた通り、ステッピングモーターを制御して座標空間上を自由に移動させるための言語にG-codeというものがある。これは”どの位置に、どの速度で、どうやって”移動するのかをシーケンシャルに書き並べた命令の固まりだ。
最近の3Dプリンタや、レーザー加工機、CNCなどは独自方式を除いてほぼG-codeで動いているといってもいい。逆にいえば、G-codeで動くものを選べばソフトやハードは自由に組み替えられるということになる。
今回は、その中でもCNCでよく利用されているgrblというプラットフォームを使うことにする。
構成としては以下のような信号の流れになる。
PC(bCNC) – Serial(G-code) – Arduino(grbl) – CNC Shield – Stepping motor
以下、それぞれのセットアップ手順を示す。
1. PC(bCNC)
bCNC – GRBL CNC command sender, autoleveler and g-code editor
gitのページ、右側にある”Clone or download”をクリックしてファイルをダウンロードする。zipを展開して任意のフォルダに配置する。とりあえずこれで終わり。
2. Arduino(grbl)
まずはArduinoの入手から。Unoをチョイス。基板だけど別にプログラムをする必要はないしはんだ付けをする必要もない。
![]() |
【永久保証付き】Arduino Uno スイッチサイエンス |
Arduinoにはgrblのファームウェアを書き込む。
Grbl v0.9j Atmega328p 16mhz 115200baud with generic defaults (2016-03-17)
上のリンクを右クリックして名前を付けて保存する。Arduinoでは一般的にIDEを使ってプログラムをコンパイル、転送するが、ここでダウンロードするhexファイルというのはすでにコンパイルされたバイナリファイルのこと。Arduino IDEは使わない。
その代り、hexファイルをArduinoに書き込むソフトを使う。
XLoader – Arduino hex uploader
これもダウンロードして、展開、実行するだけ。
ArduinoをPCとUSBケーブルで接続し、デバイスマネージャーからArduinoが何番のCOMポートに割り当てられたかを確認する。
先ほどのXLoaderを起動し、ダウンロードしたHexファイルを選択しComポートを設定したらUploadボタンを押すだけ。これでArduinoにgrblファームウェアが書き込まれる。
次に、CNC Shieldを接続する。
![]() |
New CNC shield V3 Arduino engraving machine expansion board / 3D printer A4988 driver board by Keyes [並行輸入品] Keyes |
CNC Shieldにはモータドライバも差し込む。4ヶ所挿せるが、それぞれ自由に動かせるのは3軸まで。もう1軸はどれかの軸と同じ動きになる。
![]() |
A4988ステッピングモータドライバモジュール RepRap 3Dプリンター 4個 ジェネリック |
3. ステッピングモータ
モーターは4線タイプが間違いない。5線や6線でも扱えるモータはあるが、性能を引き出せない場合や動かない種類のものもある。独自形状のものを除き、汎用性が高いのはNEMA17やNEMA23という規格のもの。ネジ位置などが決まっているので交換しやすい。
![]() |
NEMA17 3Dプリンタ二相4線ステッパーステップモーター1.8Deg 004 ジェネリック |
配線は、モータドライバ右横の4pinコネクタにつなぐだけなのだが、4本をどうつなげばいいのかはモーターのマニュアルを見る。もしくは抵抗値で判断するのどちらか。
4本の線は両端がコイルにつながれた2組になっている。それぞれの組み合わせで抵抗値を計り、絶縁されているものではなく、抵抗値が計れる組み合わせがペアだ。
ペア同士を並べた状態でCNC Shieldの4Pinに挿す。この時点でモーターが回らないことはないはずだが、極性を考えていないので逆回転する可能性はある。その場合はどちらかのペア1方だけを入れ替えると回転方向が逆転する。もし、4pinがコネクタになっていて入れ替えられない場合はソフト側で逆転することもできる。
4. 動作の準備
これでパーツはそろったはず。あと必要なのはCNC Shieldに接続するモータ用の電源だ。12-36Vと幅があるが、ここはモーターの大きさやトルクに合わせて選ぶ必要がある。無負荷であれば12VのACアダプタでも動作確認はできる。
5. 動かしてみる
あまり説明しすぎても動いたときの感動がなくなりそうなので簡単に。
CNC Shieldを挿したArduinoをPCに接続し、bCNCを起動。ArduinoのCOMポートを指定しgrblでポートをオープンする。ここでConnectedと出たら8割成功。
bCNCのコントロールパネルから、モーターを接続した軸の操作をしてモーターが回れば成功だ。
ほんとは動画をちゃんと作りこめばいいんだろうけど、ちゃんと作ったところで1000万人が見るわけでもないのでそのあたりは手抜きで。両方合わせてそれなりに興味を持ってもらえればいいなと思う。YoutubeにCNCやフライスに関する動画がアップされるのを待ち望んでいる僕としてもそういう人たちの暇つぶしに少しでもなれればと思う。
![]() |
Konmison DIY CNC Router Kits Wood Carving Milling Engraving Machine 7×7 (3 Axis, 300w, 10000rpm) by Konmison [並行輸入品] Konmison |
コメント