CNC制御基板(CNCxPRO,SmoothieBoard,Duet,Arduino(RepRap系・RAMPS))の比較
目的:いろいろと制御基板があるので,どんな基板がCNCに良いか&日本語におけるCNC制御基板及び制御ソフトウェアに関するまとめ
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
CNC制御基板(CNCxPRO,SmoothieBoard,Duet,Arduino(RepRap系・RAMPS))の比較
目的:いろいろと制御基板があるので,どんな基板がCNCに良いか&日本語におけるCNC制御基板及び制御ソフトウェアに関するまとめ
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
比較対象とするCNC制御基板
・CNCxPRO(grbl)
・Smoothie board(smoothieware)
・Duet(RepRap firmware)
・RAMPSなどRepRap系(Marlinなど)
その他にも多数のCNC制御基板があります.本トピックでは上記の制御基板を対象に比較を行います.
参考資料:
https://reprap.org/wiki/Comparison_of_Electronics
制御基板と制御ソフトウェア
制御基板 | 制御ソフトウェア | 制御基板ライセンス | 制御ソフトウェアライセンス |
---|---|---|---|
CNCxPRO | grbl | CC BY-NC-SA 4.0 | GPLv3 |
SmoothieBoard | Smoothieware | CERN OHL v1.2 or later and GPLv3 | GPLv3 |
Duet | RepRap firmware | CERN OHL 1.2 | GPLv3 |
RAMPS (with Arduino Mega) | Marlin,Sprinter等 | GPLv3 | GPLv3 |
制御基板の各種リンク
CNCxPRO
ドキュメント
基板データ
外観
https://raw.githubusercontent.com/Spark-Concepts/xPro-V4/master/Drawings/xPROV4_dimensions.jpg
回路
基板データ
回路(5軸版)
Duet
ドキュメント
Duet3
基板データ
回路図等(Duet2)
RAMPS
ドキュメント
RAMPS1.4
基板データ
回路
https://reprap.org/wiki/File:Arduinomega1-4connectors.png
各制御基板の目的(Webでの表記・使用例)
・CNCxPRO
3軸CNC,3軸レーザーカッター,プラズマカッター,表面実装部品のピックアップ・配置用(基板実装マシン?),ワイヤレスロボット
・Smoothieboard
(3~5軸)CNC,レーザーカッター,3Dプリンタ
・Duet
3Dプリンタ,(最大6軸?)CNC,レーザーカッター
https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview
・RAMPS(RepRap系)
3Dプリンタ,レーザーカッター,CNC
基板の性能・特徴
・CNCxPRO v4
マイコン:ATmega328P(Arduino Unoと同じ 20MHz RAM:2KB ROM:32KB)
モータードライバ:4個(DRV8825)
電源;(入力)12-24V or ATX電源 orラップトップ電源(ACアダプタ)
(スピンドル出力)0-5V,0-10V
(周辺機器用出力)12V,5V
Mosfet(デジタル制御スイッチ):
PCからデータ送信:USB,ワイヤレス(XBee, WiFly, or Bluelink)
制御ソフトウェア:grbl
制御ソフトウェアの特徴
・grbl
Arduino(マイコンAtmega 328)サポート.最もシンプルでCNCの制御ソフトウェアとして十分な機能を備えている.
・Smoothieware
LPC17xx micro-controller ( ARM Cortex M3 architecture )用に作られている.このため,mBed, LPCXpresso, SmoothieBoardで動作する.
・ReprapFirmware
SAM3X8E, SAM4E8E, SAM4S8C and SAME70Q20で動作する.
https://reprap.org/wiki/RepRap_Firmware
GcodeをUSBから流し操作もできるがネット経由で操作することが多い.
Gコード対応状況https://duet3d.dozuki.com/Wiki/Gcode#main
M669でKinematicsのタイプを変えることができる.SCARA型など.
・Marlin
Arduinoを中心としたAVRマイコン,及び32bitボードをサポートしている.RepRap系なので対応しているボードが多い.機能は3Dプリンタに特化している.
MarlinはSprinterとgrblから派生.
Marlinを使ったCNCの事例Youtube
(【自作CNC】 Marlin化 RAMPS1.4)
・Sprinter
Marlinのベースとなった制御ソフトウェア.G2,G3の指令が含まれない.ヒートベッド制御等の機能からも3Dプリンタ用と思われる.
Gcode送信ソフトの対応事例
2020/6/2現在
・CNCjs
Grbl,Smoothieware,TinyG
参考:https://cnc.js.org/
・Universal Gcode Sender
Grbl,Smoothieware,TinyG/g2core
参考:https://winder.github.io/ugs_website/#features
・bCNC
Grbl,Smoothieware
参考:https://github.com/vlachoudis/bCNC
http://smoothieware.org/software
参考:
いくつかの視点での比較
私の独断によりいくつかの視点で制御基板を比較します.
1.多軸化
Duet3 > SmoothieBoard > RAMPS1.4 = CNCxPRO
多軸化とは4軸,5軸に拡張可能かという視点である.
モータドライバの最大個数はDuetのモータドライバが6個に対して,Smoothiewareが5個,RAMPSが5個,CNCxPROのモータドライバが4個であることからDuetの方が多軸化に有利であることがわかる.また,Smoothieboard v1のモータドライバ A5984は最大電流2A,CNCxPRO,RAMPSのモータドライバはDRV8825であり,最大2.5Aであるが,Duet3はステッピングモーターに対して最大電流6.6Aであることから,より高トルクなステッピングモーターをつかうことができる.これは大きく重くなってしまう多軸化において有利である.
(Duet3で使われているモータドライバTMC5160はMOSFETありで最大20Aまで流せるとデータシートに書いてあるが,Duet側の制約で流せる電流量が最大6.6Aになっていると考えられる.)
制御ソフトウェアにおいても,grblやMarlinよりもSmoothieware,Reprapfirmwareの方が拡張性が高く,多軸における制御がしやすいと考えられる.
参考:https://www.tij.co.jp/product/jp/DRV8825
https://www.trinamic.com/products/integrated-circuits/details/tmc5160/
https://www.allegromicro.com/ja-jp/products/motor-drivers/brush-dc-motor-drivers/a5984
2.産業用ロボット化
Duet3 > SmoothieBoard >> RAMPS1.4 = CNCxPRO
多軸化と同様に出力の大きいモータを複数使えるDuetが有利である.また,DuetはIOポートが複数あるため,産業用ロボットとして使う際にセンサーの取り付けが容易となる.
またDuetの制御ソフトウェアRepRapFirmwareではMコードにてKinematics(モータと座標の関係:順運動学)のタイプを変更できる.さらにv2.03以降にて座標軸が各モータの線形結合で表現できる場合,関係性を行列で記述すれば位置を出力できるようになる.またG1 S2 or G1 H2によってステッピングモーターを直接操作できる.(デフォルトではスカラ型に対応 https://forum.duet3d.com/topic/12147/duet-for-robotics?_=1592791068601)
SmoothieBoardでは
Designed to support non-Cartesian machines ( rotational axes : wall drawer, SCARA robot, Delta/Parallel robot, Robotic arm, Spherical/Cylindrical robot, etc … ).
との表記があるため,ロボット化も可能であると考える.しかし,現在サポートしている動作モードにロボット系は含まれておらず,自分で開発する必要がある.
Grblではロボットに対応させる場合ライブラリを書き換える必要がある.もしくはパラメータを弄って,かつ送信するGコードをロボット用に変換したものを用意しなければならない.
3.かんたんさ
CNCxPRO > SmoothieBoard > RAMPS > Duet3
Duetにおいては初期のセットアップが非常に難しくなっている.
Duet3においてはRaspberry piを用意しDuetと接続するか,設定ファイルを入れたSDカードを挿入しWeb上でセットアップを行う必要がある.そしてRepRapFirmwareの更新,出力ピンの定義を行う必要がある.
RepRapFirmwareはピンの出力が柔軟であるために,セットアップが難しくなっているように見える.
またRAMPSもArduinoとセットで使う基板であるため,ファームウェアの書き込み等セットアップのハードルを上げている.
SmoothieBoardでは設定ファイルを編集しSDを差し込む形でセットアップを行う.
これらに対して,CNCxPROは各部品と接続し電源を入れるだけなので簡単である.
参考:https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3
4.基板性能
Duet3 > SmootheBoard > CNCxPRO = (RAMPS)
5.Firmwareの汎用性
Duet3(RepRapFirmware) > SmoothieBoard(Smoothieware) > RAMPS(Marlin) = CNCxPRO(grbl)
Grblは非常に簡単で3xCNC,3Dプリンタ,レーザーカッターにはそこそこ満足できる機能を有している.さらにコンパクトにまとまっており,非常に利用しやすい.
grbl1.1のG&Mコードは約50個.対してRepRapFirmwareではG&Mコード約190個である.Grblは他のコマンドもいくつかあるが,それでもRepRapFirmwareのコマンドの量は多い(RepRapFirmwareは設定をMコードで行う特徴があるため).
個人的な総評
・Duetは変態向け制御基板である.簡単ではないが使いこなせればいろいろなことができる.
・CNCxPROは非常に簡単にまとまっており,初めて使うにはとても良い基板であると思う.
・SmoothieBoardはバランスの取れた良い基板であると思う.程々に変態でやさしい.
・RAMPSはReprapの代表的な基板でもあり,コミュニティの持つ力が非常に強いと思う.3Dプリンタで用いられていることが多いことから,入手性は良いのではないか.