産業用スピンドルを使ってみた

今までマキタのルーターをマシンに取り付けていましたが、産業用スピンドル+VFDインバーターを手に入れてみました。

少し使ってみてマキタのルーターとの違いなどわかったので、今後のために共有します。

メリット

  • 低回転時の静音性
  • 明確な回転数
  • 外部入力による回転数の変更

デメリット

  • コネクタ作り等のセットアップが大変
  • 重い
  • 高い

簡単な結論

メリットは多くあるがセットアップが大変であるということ。これに尽きる。
個人的には長時間加工しない、切削対象も比較的柔らかめなどであればマキタのルーターの方がポン付けできて簡単なので優先されるかなと感じた。産業用スピンドルだと1段階ハードルが上がってしまうかなという印象。

詳細な内容

産業用スピンドルの回転数の確認

スピンドル本体刻印
400Hz = 24000rpm

測定環境

設定(Hz) 測定回転数(rpm)
100 5908
200 11904
300 17883
400 23792

刻印と回転数はほぼ一致。
インバーター出力100Hzごとに約6000rpmずつ増加。

三相交流モーターの理論的な回転数の計算方法は
回転数 = 120 * 周波数 / 2
= 60 * 周波数
で算出可能。

なお、マキタのルーターと回転数の重なる領域としては
マキタのスピンドルのダイヤル1 = 産業用スピンドル200Hz = 10000rpmあたり
マキタのスピンドルのダイヤル4 = 産業用スピンドル400Hz = 24000rpmあたり

静音性

測定器:モノタロウの騒音計
測定位置:スピンドルが150mm程度の位置
測定環境:

マキタのルーター

設定 騒音値 (dB(A)) 推定回転数 (rpm)
電源OFF 36.4 0
ダイヤル1 73.1 9860
ダイヤル2 77.9 12340
ダイヤル3 82.5 16774
ダイヤル4 89.2 22285
ダイヤル5 91.6 26460
ダイヤル6 94.0 30112

回転数引用:【参考資料】自作CNC用 トリマ&ルータ&スピンドルの考察 (初心者向) - Gym の #2

産業用スピンドル

50Hzくらいから回り始める。

設定 (Hz) 騒音値 (dB(A)) 推定回転数 (rpm)
0 36.8 0
100 50.1 5908
200 68.2 11904
300 78.2 17883
400 84.6 23792

回転数と音量のまとめ

消費電力

切削なし、無負荷
測定環境:

マキタのルーター

ダイヤル 電圧(V) 起動時の電流(A) 安定後の電流(A) 起動時の消費電力(W) 安定後の消費電力(W)
1 99 2.3 1.4 75 37
2 99 2.1 1.5 80 45
3 98 2.7 1.6 129 60
4 98 3 1.8 182 91
5 98 3.4 2 280 138
6 97 3.8 2.2 315 182

引用:【参考資料】自作CNC用 トリマ&ルータ&スピンドルの考察 (初心者向) - Gym の #4

産業用スピンドル

以下は安定時無負荷の値

設定 (Hz) 100V側 消費電力(W)
0 2
100 11
200 19
300 29
400 45

ちなみに、100Hz時に木材をスピンドルに押し当てて負荷をかけると45Wくらいの表示になっていました。

設定 (Hz) U-V間 相電圧(V)
0 0.53
100 51.2
200 77.6
300 94.6
400 106

なお、スピンドルの相間(U-V,V-W,U-W)の抵抗値はそれぞれ2.8Ωでした。(2端子法による測定)

重量

マキタのルーター: 1.4kg
産業用スピンドル: 2.6kg
AvalonTechストア情報より

産業用スピンドルは倍近い重量。
マキタのルーターでは起きていなかったが、産業用スピンドルでは非通電時にZ軸が自重で下がることがあった。
懸念事項として、あまりZの剛性が強くないマシンではスピンドルが重い分、軸やホイールがたわむので、その分精度が変わるかもしれない?

コネクタ制作

これは正直、産業用スピンドルを使う一番の難所かと思う。
はんだ付けに慣れているとか、コネクタはんだ付けをしたことがあるとかではないと苦戦するのではと思った。
ちなみに私は苦戦してきれいにはんだ付けできなかった。

コネクタのハウジングに収める都合上、そんなに外装の被覆を剥けないこともあり、各線も短く取り回しも若干難しい。
コネクタ作成後は短絡してしまっていないか、テスターを当ててすべてのピンの導通とショートのチェックをした方が良いと思う。特に蓋を締めてしまうと中はどうなっているかわからないので。

また、ノイズ抑制の観点からケーブルのシールド線は引き出してアースに繋げたほうが良いと思うが、取り回しがしづらかったため断念した。

はんだ付けに関するノウハウ参考

設定関連

一番大事なマニュアル

DeepLでPDF丸々日本語翻訳したものを一応置いておきます。
誤訳等あるとは思うので、参考程度で。
YL620Manual ja.pdf (2.1 MB)

少し戸惑ったこと

  • 電源を落とすと毎回Er10が出たこと
    • Power down prompt(電源断)のエラーだったので無視
  • いろいろ触ったせいか、RUNボタンを押してもディスプレイが点滅したままで回転しなくなった
    • P00.13=10にして電源をオン・オフで工場出荷状態に初期化で解決
  • ディスプレイの小数点表示が見えづらく、F400のことを最初F4000と勘違いした
    真正面から見るとちゃんと小数点は見える
  • RPMのステータスランプがあるので、Hzではなく回転数表示ができるのかと思っていたが特に設定項目は見つからない。

関連動画

「いいね!」 4

回転数の制御

産業用スピンドルの特徴の1つである、外部入力によるスピンドルの回転数制御を試してみました。

回転数の制御方法は大きく分けて2つ

  • VI1へのアナログ電圧入力
  • RS-485 Modbusを使った通信

VI1へのアナログ電圧入力

入力電圧範囲は本体にあるディップスイッチにて変更できるようです。
すべて下に下がっているときは0-5V、1と2が上で3と4が下のときは0-10Vとなるようです。
デフォルトはおそらく0-10V設定になっていると思いますが、使うときは要確認。

パラメータのP7.08=3とするとアナログ入力を受けつけるようになります。パネルのツマミは無効化されます。
VI1とGNDに安定化電源を繋いで動作確認してみました。


結果は以下。当然ですがほぼ線形変化でした。
10Vは手が滑って超えてしまうと危険かもという判断で、9.5Vまでで測定しています。
理論的には40Hz/V=2400rpm/Vであってほしいので、数ヘルツの誤差はありますが、個人的には大体きてるしそんなものかなと思います。
わりと適当な配線で実験したので、ケーブル側で電圧降下が起きていて周波数が下がった可能性はあります。

電圧(V) 周波数(Hz) 推定回転数(rpm)
1.00 37.7 2262
2.00 77.8 4668
2.99 116.7 7002
4.00 156.9 9414
4.99 196.6 11796
6.00 236.3 14178
6.99 274.8 16488
8.01 315.3 18918
9.01 353.9 21234
9.51 375.3 22518

回転開始は手動でRUNボタンを押しています。
今回は設定していませんが、P00.01を編集すると外部端子(FWD、REV端子)でスピンドルの開始停止を制御可能となります。

Duetで制御

公式参考:

PWMをアナログ電圧0-10Vに変換するモジュールを用意して以下のように配線

VFDのパラメータを
P00.01=0 VFDのRUNボタンで回転開始設定
P07.08=3 VI1の値で回転数制御設定
に設定。

Duet側にはconfigに以下の設定を追加

M950 R0 C"vfd" L24000 ;VFDピン、24000RPMのスピンドル0定義
M563 P0 S"VFD" R0 ;スピンドル0をツールとして登録

Duet側にスピンドルが登録されるとWEBUIにスピンドル操作のパネルが出てきて制御できるようになります。

実際に回転数を指定してスピンドルを回転させてみました。
そのときのWEBUI上の指定値に対するVFDの周波数の結果を載せます。

DWC上設定速度 VFD表示周波数
0 0
4000 69.1
8000 133.4
12000 197.4
24000 378.9

概ね線形変化。ただし特に調整もしない状態だと上限の400Hzには達しませんでした。
おそらく24000rpm指定して、実際には22500rpm~23000rpmあたりが出ているのかと思います。

スピンドルを回転させる前はVFD表示は数ヘルツ程度値が前後していましたが、実際にスピンドルを回し始めると値は安定しました。
変換基板上のツマミ(ポテンショメータ)を調整すると出力が調整できたので、12000RPM指定時にVFD上で200Hzとなるようにしましたが、24000RPMを指定するとVFDでは380Hz程度だったので、スピンドル定義の最大回転数を23,000くらいに落として登録して実際の回転数に合わせて登録しても良いかもしれません。

CNCxPRO v5で制御

CNC xPRO v5はTOOLHEADの部分に0-10Vの端子が出ているので使えるはず。


(Front_Panel · Spark-Concepts/xPro-V5 Wiki · GitHub から引用)

試したら追記

RS485 Modbus通信

2線式のRS485のUSBモジュールが手元にあったので、試してみました。

インバーターのいくつかパラメータを変更しました。
P00.01 = 3 (モーターの制御:RS485 Modbus設定)
P03.00 = 3 (RS485の通信速度 繋がり易くするため遅め設定 9600bps)
P03.01 = 1 (アドレス。デフォ10ですが、分かりやすくするため1に変更)
P07.08 = 5 (インバーターの周波数変更をModbusでするように変更)

RS485の端子は緑の端子台の上にあります。XHコネクター3PでB,A,COMがでています。

インバーターのABとUSBのモジュールのABを接続しました。
終端抵抗は必要かと思いましたが、入れるとうまく動作しなかったので、どちらも終端抵抗はすでに入っていたのかもしれません。あるいはたまたま動作しただけかもしれません。

今回はテストとして直接Modbusの指令値を送って周波数を指定値にしたり、回転・停止ができることを確認しました。

動作確認に使ったソフト:
https://www.fa.hdl.co.jp/jp/html/app/Modbus_Tool/index.html

手動で設定した周波数の設定値の読み取り(パラメータ07.08=0のとき)

Modbusでの周波数の設定および回転の開始停止

制御できることは確認できましたが、
ぶっちゃけ、上記のように直接Modbusのコマンドを打つのは非効率なので基板側がRS485 Modbusに対応していなければ使う必要はないかと思います。

アナログの値ではないので明確に値を指定できるのがメリットだと思いますが、通信のケーブルにノイズが載って読み込めなくなると元も子もないので、ケーブル作りは注意が必要かも。

CNCxPRO v5で制御

CNC xPRO v5にはRS485用の端子がでているので使えるはず。
ただしwikiの説明はHuanyang VFDになっているので、YL620では使えないかも。FluidNCのwikiにはYL620の記載があるので、FluidNCを入れた状態でYL620用設定にすれば使えそう。


(Front_Panel · Spark-Concepts/xPro-V5 Wiki · GitHub から引用)

試したら追記する。

Duetで制御

残念ながらRepRapFirmware3.5時点では対応していない。対応予定ではあるらしいがいつになるかは不明

追記:3.6で追加される可能性あり

「いいね!」 1

回転オンオフ制御(正転逆転制御)

回転数に合わせて回転のオンオフまたは正転逆転を外部から制御が可能です。

制御方法としては以下となります。

  • FWD,REV端子などへの入力
  • RS-485 Modbusを使った通信

外部から制御可能ではありますが、インバーターの電源を入れたか確認する意味も込めてオンオフは手動で本体ボタンを押す運用でも良いのではないかと個人的には思います。
一方で、ボタン押し忘れそうとか、加工後しばらく放置になるというパターンや完全に自動化してしまいたいという場合は回転オンオフ制御は有効だと思うので、環境や趣味に合わせて選択するのが良さそうです。

一応試してみたので、メモを残しておきます。

入力端子への入力を使って制御

FWDやREV、X4の端子にXGNDを導通させるかどうかで回転のオンオフや回転方向を制御します。

具体的にどうするかはパラメータでの設定になり、P00.16の説明に回転の制御方法がいくつか並んでいます。
ざっくり紹介すると
パラメータ0:FWD端子は正転コマンド、REV端子は逆転
パラメータ1:REV端子は方向(オープン状態正転)、FWD端子は開始コマンド

パラメータ7:REV端子が開放時、FWD閉で回転開始。REV端子閉で回転禁止及び即時停止
など、環境や機能に合わせて設定できるようです。

参考の配線図もマニュアルに載っています。


image

蛇足ですが、外部入力で回転数制御をしているのであれば、回転の指令を出さない限り回転数用電圧は出ないはずなのでFWDとXGNDを繋いでしまって常時スピンドルONにして回転数は0の状態でOFFと同じ状態にするというのも手かもしれません。制御基板への配線が少なくなります。
一方で何かのトラブルで予期しないときにスピンドルが回転してしまう可能性もあるので、安全対策ができているならという感じでしょうか。

手動

まず手動で試してみることにして、スイッチをXGNDとFWD間に入れました。


パラメータはP00.01=1(外部入力によるスタート)、P00.16=0(FWD入力で正転開始)
ボタンを押すとスピンドルが回転し、離すと回転が止まります。オルタネイトのボタン(押すとONのまま)を使えば、押すと回転し再度押すと止まるようになると思います。

Duetの場合

Duet側のオンオフによってインバーターのFWDとXGND間を導通させるようにします。
ただし電気的に分離するためにリレーを中継します。
(XGNDとFWD間の電圧を測ったところ15.7V程度だったので、少なくともDuetと同じ電圧レベルでは動いていないだろうとして電気的に分離することにしています)

簡単な配線図
今回は中華リレーを使いましたが、少し配線が変わると思いますがマイコン用リレーモジュールでもDC用のSSRでもいいと思います。リレーを使う場合はサージ対策に注意。

M950にてスピンドルの定義をしますが、この時にピンをPWMピン、オンオフピン、正転逆転ピンの3つを指定できます。
https://docs.duet3d.com/en/User_manual/Reference/Gcodes/M950
なので、configに以下のように設定します。

M950 R0 C"vfd+out3" L24000                     ;VFD用のピン設定 vfd=pwm, out3=on/off
M563 P0 S"VFD" R0 

インバーターのパラメータはP00.01=1、P00.16=0をセット。
これでFWDとXGNDが導通すると正転が開始され、切れると停止するようになります。

最終的にはWEBUIで回転数を指定すると自動で回転が開始され、アクティブのボタンを押すと回転が終了するようになりました。



CNCxPROv5の場合

リレーが本体にあるので、リレーにインバーターのFWDとXGNDを繋ぐことで動作するはずです。(未確認)
ただし、公式的には回転数制御の信号(画像ではPWMですが、実際は0-10V)をリレー経由にした方が安全としてその配線を推奨しているので、その場合はインバーターのFWDとXGNDを繋ぐことができません。
手でRUNボタンを押すか、XGNDとFWDを繋いでしまって常時ONにしてしまうかになるかと思います。


from:Front_Panel · Spark-Concepts/xPro-V5 Wiki · GitHub

RS-485 Modbusを使って制御

マニュアルを参照すると0x2000のアドレスにコマンドを投げれば使えます。

とはいえ、直接コマンドを打つ機会はそうそうないとは思うので、基本的には使う制御基板がRS485の通信やYL620のコマンドに対応しているかどうかが重要です。