いんくらyochさんの日記

興味あることの忘備録

CNC-2020の32bitコントローラ化

3DプリンタでDiamondホットエンドを使いたいため、6ステッパー駆動できるコントロールボードとしてRAMPS-FDを買ったが、もう一つSmoothieBoard互換のMKS SBASEを買っていた。
しかし、SBASEは5ステッパー駆動のためDiamondホットエンドを使えないことが買ってからわかったので、勿体無いからCNC-2020のgrblと入れ替えることにした。
FirmwaregithubよりSmoothieプロジェクトのバイナリ(firmware-cnc.bin)をマイクロSDに焼き込み、設定はトライ&エラーで繰り返し行って、config.txtを修正した。SmoothieBoardは3Dプリンタだけでなく、CNCやレーザーカッターの設定も可能である。
CNC特有の設定は下記がある。

grbl_mode                                  true
drillingcycles.enable                      true
drillingcycles.dwell_units                 S
# Switch module for spindle control
switch.spindle.enable                            true
switch.spindle.output_pin                        2.5
switch.spindle.output_type                       pwm
switch.spindle.max_pwm                           255

試しにボードだけ入れ替えたところ、もともと付いてたステッピングモータが1/8マイクロステップ以上では回らないようなので、オリジナルマインドさんよりミネベア製の中古ステッピングモータを取り寄せて、XYZの各モーターも入れ替えた。
SBASEのマイクロステップは1/16か1/32の2択であるため、1/16に設定した。これで分解能が0.4um/STEPと従来より1/2に細かくなり、動作音も小さくなった。
スピンドルのコントロールは、従来秋月のDCモータPWM制御キットを使い手動で操作していたが、今回よりボードから出力されるPWM信号でスピンドルのオン・オフ・回転数の制御を行えるようにした。そのため、フォトカプラとNch-Power-MOSFETを使ってリレーボードを製作し、追加している。
PC側の制御はCentOS6.8上のbCNCを使用し、現在AutoLevelingでProbe動作の確認をしている。さっきはSeekスピードでZ軸の捨てエンドミルが勢い良くテーブルに刺さって折れたwどうも、G38.2が正しく動作しないようである。G38.3は問題ない。