こんにちは、榧野製作所です。
今回は、タイトルの通りオリジナルマインドのCNCである「KitMill CL200」をGRBLで制御してみたことについてまとめてみようと思います。
家庭用CNCとして人気のある オリジナルマインドの KitMill CL200。
エントリーモデルながら十分な性能を備えており、個人での加工や試作にはちょうど良い機体です。しかし、実際に運用していくなかで、制御ソフトウェアに関する悩みが出てきました。

1.背景
CL200 は本来、オリジナルマインド専用の制御ソフトである「USBCNC」を使用する前提で設計されています。
ところが私は普段、CNC操作にはCNCjsを使用しており、新しいソフトを覚える手間がどうにも気乗りしませんでした。
さらに、USBCNCは管理者権限が必須であるため、ゲストアカウントでの運用ができません。これは、CNCを共用で運用したい時にネックになります。また、調べものをするうえでも、専用ソフトのための情報よりオープンソースであるGRBLに関する情報の方が豊富で実践的なのも明らかです。
そこで最終的に、CL200に付属していた制御器を取り外し、GRBL 対応のコントローラへ置き換えることにしました。
2.作業工程
2.1.既存の制御器を取り外す
まずはCL200本体から純正の制御ユニットを取り外します。
モータやセンサに接続されたケーブルを根本のコネクタからすべて外す必要があり、これが思ったより大変でした。
2.2. 新しいロボットケーブルにコネクタを取り付ける
配線のためにロボットケーブルを購入し、コネクタを圧着する作業をします。
(純正状態のケーブル類とコントローラは、緊急時のためにとっておきたかったので、新しいケーブルを使うことにしました。)
・ステッピングモータ用(4芯ケーブル)×3
コネクタ:XH6P←→QI4P
注意点!:私はこの作業で 配線方式を変更しています。
CL200 純正ではステッピングモータがユニポーラ仕様のため 6 線接続ですが、GRBL 化にあたって バイポーラ駆動へ変更したため、4 線構成になっています。
モータはそのまま使用できます。

これがユニポーラ配線で6ピンです。

ハウジングをそのままに4ピンにします。これでバイポーラとして扱えます。
・原点センサ用(3芯)×3
コネクタ:RH4P←→QI2P(信号・GND)+QI1P(5V)
2.3.制御器の用意
制御部には Arduino + 市販の CNC Shield を使用しました。
ArduinoにはGRBL 公式ファームウェアを書き込み、シールドにモータドライバA4988とケーブルのコネクタを接続します。

この時、もしCNC Shield V3を用いている場合、Z軸のホーミングスイッチのピン配置が「END STOPS +/-」ではなく、「SpnEn」に接続しないと反応しないので注意してください。(私はここで1週間つまづいていました。)
2.4.Arduino 制御器への電源供給
GRBL を動かす Arduino+CNC Shield には、市販のスイッチング電源(24V / 15A)を使用しました。
CNC Shield は 12〜36V の範囲で動作するため、24V であれば十分な余裕があります。
電源から直接Arduinoシールドのターミナルブロックへ配線しています。

2.5.スピンドルモータの配線と制御
KitMill CL200 純正のスピンドルは 小型 DC モータ(30W) で、回転数は供給電圧で制御する仕様になっているようです。
今回はスピンドルの電源をGRBLから独立させ、電圧可変式のアナログ制御として構成することにしました。
・DCDC 降圧コンバータによる速度調整
秋月電子通商で購入した出力可変のDCDC降圧器を使用しています。([105437]4~21V 最大3A 可変スイッチング電源キット(降圧) (KIC-053使用))

配線構成は以下のとおりです。
スイッチング電源(24V)
↓
トグルスイッチ(回転の ON/OFF 用)
↓
DCDC降圧コンバータ(出力電圧をツマミで調整)
↓
スピンドルモータ
この構成により
ツマミ → 回転数調整
トグルスイッチ → 回転の ON/OFF
が可能になりました。
CL200のスピンドルは20V程度で約10,000rpmと推測され、通常の切削では十分かと思います。
2.6.制御器のケース実装
Arduino、CNC Shield、DCDCコンバータ、トグルスイッチはケース内にまとめて固定しました。


以前、Arduino を裸のまま保管していたところ、埃によるショートでシールドを一枚ダメにした経験があったため、今回は反省を活かしてケースによって保護します。
ケース側面にはケーブルを抜き差しできるように穴を開け、メンテナンス性を確保しています。
2.7.GRBLパラメータの設定
配線が終わったら、PCとArduinoをUSBケーブルで接続し、CNCjsを起動します。
シリアル接続が完了すると、現在の GRBL パラメータが自動的に表示されます(コンソールで “$$” を入力しても確認できます)。
ここから、CL200 の仕様に合わせて以下の項目を順次調整していきます。
$3=4
$5=1
$22=1
$23=3
$100~102=1600(これは実際に加工・測定して調整するので多少前後する)
$110~112=500(これより大きくするとモータが脱調する。改善にはモータ変更が必要)
$120~122=200
$130=350
$131=200
$132=200
これで、設定は完了です。
お疲れ様でした!
以下は実際にCNCで加工した作例です。

3.余談①:スパイラルチューブ
KitMill純正では、ケーブルをまとめるのにメッシュチューブを使っていましたが、今回組み直すにあたってスパイラルチューブにしました。便利です。


4.余談②:タッチプローブを使おう!
CNCで作業する時、何気にめんどくさいのは面出しです。
ホーミング動作ではZ軸は上に登っていってしまうので、作業平面を捉えられません。
そこで役に立つのがタッチプローブです。
Arduinoにはシールド右上のSCLとGNDに接続します。
CNCjsウィジェット「プローブ」にタッチプレートの厚みを入力し、Z軸G38.2で、実行すると、Z軸のワーク座標が平面で0になります!










