数日前にDRV8825もAliExpressから届いており、CNCマシンが完成したらAitendoで購入したA4988と交換する予定です。ついでに、CNCシールドの新しいバージョン3.5も注文しました。いまなら、AliExpressでも$20以下で買えるようです。CNCシールドv3.5(V3.1から)ではgrbl0.9のピン配列に対応しているため、そのままPWM端子を使ってスピンドルやレーザーモジュールの可変出力制御できます。V3.0の場合grbl0.9のピン配列に対応していないため、Z+とZ-がPWMピン、SpnEn端子がZ+(あるいはZ-)。Ebayから購入すれば、最新版V3.5.1みたいですね。
*CNCシールドV3.0とV3.1以上(最新版V3.51)の違いについてはこちらへ。
主に制御用の電気系統については以下が必要:
・grbl0.9jファームウェアをアップロードしたArduino Uno(方法はこちらへ)
・CNCシールド(CNCシールドV3.0とV3.1以上の違いに注意)
・ステッピングモータードライバ(A4988/DRV8825など)
・ステッピングモーター(各XYZ軸)
・XYZ軸用リミットスイッチ(マイクロスイッチなど)
・スピンドル用TTL端子付きドライバ(あるいはレーザー用ドライバ)
・電源(ステッピングモーター用):DC24V/5A以上
・非常停止ボタンや各種スイッチ類(要配線)
という感じでしょうか。
ステッピングモーターのトルクや許容アンペア数、それに応じたステッピングモータードライバについてはデータシートなど見ながら適切なものを選んだほうがいいと思います。また電源もDC12VよりはDC24Vで充分なアンペア数のあるものを選んだほうがいいと思います。
各項目の詳細は以下に書いてあります。
追記:AliExpressでもV3.51ありました。以下。
AliExpress.com Product - New Development Board CNC Shield V3.51 for Arduino 3D Printer Micro Controllers GRBL v0.9 Compatible Uses Pololu Drivers1958円(送料込み)
どうやらこのCNCシールドV3.5は、クローンがたくさん出回っているV3.0と違って、AliExpressだとここでしか扱ってないようです。PROTONEER純正品らしく値段も格安というわけではないです。もともとそんなに高いものではないですが。
実は、まだCNCシールドV3.0を使ってステッピングモーターの試運転をしてなくて、というのもジャンパーブロックを購入していなくて、マイクロステップやA端子へのクローン設定を確かめることができないでいます。
AliExpressだとジャンパーブロックが格安だけれども、こんなに要らない。100個で105円(送料無料)。ピッチは2.54mmのものを使います。
CNCシールド:A端子設定:
CNCシールドにはXYZ軸用ドライバ端子と予備のAドライバ端子(4番目のドライバ用端子)があり、基板上のピン(電源12-36V端子の上に並んでいるX,Y,Z,D12)にジャンパーブロックを差し込むことで、AをXYZのどれかのクローンに設定することができます。またXYZのクローンではなく、独立した4番目のモーターとして駆動することもできます(Arduino Uno/ATMega328にアップロードするgrbl0.9や1.1は3軸まで、Arduino Mega 2560用であれば専用の4軸ファームウェアや6軸ファームウェアがあります)。今回製作しているCNCマシンのようにY軸に2個のステッピングモーターを使っている場合は、Y軸設定をA端子にクローンすれば、二つのモーターが同じ動きになります。設定方法はこちらに書いてあります。
AをY軸のクローンにするなら、上記画像のように、ジャンパーブロック2個をYの欄に横一列に差し込むことになります。AをX軸のクローンにするなら、X欄に横一列に差し込む。独立した4番目のモーターとして制御するなら D12へ。説明は見当たらないですが、Aの回転を反転するには、A.DIRに差し込んだジャンパーブロックを外せばいいのかもしれません。ステッピングモーターの配線を反転させるといいようです。
AliExpress.com Product - Free shipping! New cnc shield v3 engraving machine / 3D Printer / + 4pcs A4988 driver expansion board CNCシールドV3.0(V3.51より古いタイプ)とA4988のセットならかなり安い。456円(送料込み)。V3.0でも配線に注意すれば使えるので、低価格重視ならこれでも充分。
*CNCシールドV3.0とV3.1以上(最新版V3.51)の違いについてはこちらへ。
主に制御用の電気系統については以下が必要:
・grbl0.9jファームウェアをアップロードしたArduino Uno(方法はこちらへ)
・CNCシールド(CNCシールドV3.0とV3.1以上の違いに注意)
・ステッピングモータードライバ(A4988/DRV8825など)
・ステッピングモーター(各XYZ軸)
・XYZ軸用リミットスイッチ(マイクロスイッチなど)
・スピンドル用TTL端子付きドライバ(あるいはレーザー用ドライバ)
・電源(ステッピングモーター用):DC24V/5A以上
・非常停止ボタンや各種スイッチ類(要配線)
という感じでしょうか。
ステッピングモーターのトルクや許容アンペア数、それに応じたステッピングモータードライバについてはデータシートなど見ながら適切なものを選んだほうがいいと思います。また電源もDC12VよりはDC24Vで充分なアンペア数のあるものを選んだほうがいいと思います。
各項目の詳細は以下に書いてあります。
追記:AliExpressでもV3.51ありました。以下。
AliExpress.com Product - New Development Board CNC Shield V3.51 for Arduino 3D Printer Micro Controllers GRBL v0.9 Compatible Uses Pololu Drivers1958円(送料込み)
どうやらこのCNCシールドV3.5は、クローンがたくさん出回っているV3.0と違って、AliExpressだとここでしか扱ってないようです。PROTONEER純正品らしく値段も格安というわけではないです。もともとそんなに高いものではないですが。
実は、まだCNCシールドV3.0を使ってステッピングモーターの試運転をしてなくて、というのもジャンパーブロックを購入していなくて、マイクロステップやA端子へのクローン設定を確かめることができないでいます。
AliExpressだとジャンパーブロックが格安だけれども、こんなに要らない。100個で105円(送料無料)。ピッチは2.54mmのものを使います。
CNCシールド:A端子設定:
CNCシールドにはXYZ軸用ドライバ端子と予備のAドライバ端子(4番目のドライバ用端子)があり、基板上のピン(電源12-36V端子の上に並んでいるX,Y,Z,D12)にジャンパーブロックを差し込むことで、AをXYZのどれかのクローンに設定することができます。またXYZのクローンではなく、独立した4番目のモーターとして駆動することもできます(Arduino Uno/ATMega328にアップロードするgrbl0.9や1.1は3軸まで、Arduino Mega 2560用であれば専用の4軸ファームウェアや6軸ファームウェアがあります)。今回製作しているCNCマシンのようにY軸に2個のステッピングモーターを使っている場合は、Y軸設定をA端子にクローンすれば、二つのモーターが同じ動きになります。設定方法はこちらに書いてあります。
AをY軸のクローンにするなら、上記画像のように、ジャンパーブロック2個をYの欄に横一列に差し込むことになります。AをX軸のクローンにするなら、X欄に横一列に差し込む。独立した4番目のモーターとして制御するなら D12へ。説明は見当たらないですが、Aの回転を反転するには、
AliExpress.com Product - Free shipping! New cnc shield v3 engraving machine / 3D Printer / + 4pcs A4988 driver expansion board CNCシールドV3.0(V3.51より古いタイプ)とA4988のセットならかなり安い。456円(送料込み)。V3.0でも配線に注意すれば使えるので、低価格重視ならこれでも充分。
リミットスイッチ:
XYZ軸の両端にリミットスイッチをつけるときは、CNCシールド基板右側にあるEND STOPS:X+,X-,Y+,Y-,Z+,Z-にマイクロスイッチなどを接続(±の記号は通常、X+:右方向のリミット、X-:左方向のリミット、Y+:奥、 Y-:手前、Z+:上、Z-:下)。接続方法はこのページ下部にあります。
リミットスイッチは原則的には通常オープンのほうの端子を使います。
追記:
リミットスイッチ端子はかなりノイズに弱いようなので、コンデンサーをつけるといいみたいです(その内容はこちら)。
CNCシールドV3.0(grbl0.8ではなくgrbl0.9や1.1に使う場合)のリミットスイッチについて:
grbl0.9からは、Z軸用リミットスイッチのピンとSpindle PWMのピンの位置が入れ替わったので、それに対応していないCNCシールドV3.0(grbl0.8用)を使うときは注意が必要です。CNCシールドV3.0の場合、まだSpindle PWM端子(可変制御)ではなく、Spindle Enable端子(ON/OFF制御)になっているはずです。つまり、CNCシールドV3.0でgrbl0.9や1.1を使う場合は、Z軸用リミットスイッチ(+と-の両方)をSpindle Enable端子に接続。そのかわりSpindle Enable(PWM端子として)は、Z+かZ-のどちらかへ接続。CNCシールドV3.0上のZ+とZ-は内部でパラレルにつながれているので、どちらにつないでもいいはずです。
*CNCシールドV3.0とV3.1以上(最新版V3.51)の違いについてはこちらへ。
CNCシールド3.10以降であればgrbl0.9や1.1に対応しているので、ピンの配置はそのままのはずです。
CNCシールド上の各リミットスイッチ端子(2本ずつ)は、普段オープンな状態になっており、内部のプルアップ抵抗により一方の端子(内側の端子)がHIGH(5V)の状態になっています。リミットスイッチが押されるともう一本の外側のGND端子と接続されるためにLOW(0V)になり反応したということになるようです。
CNCシールドV3.0.2からは、リミットスイッチが押されたときにLOWになるかHIGHになるかを選択できる端子(END STOP HIGH/LOWの横にならんだ3本ピン)があります。デフォルトでは、3本ピンの左と真ん中にジャンパブロックを差し込む。逆の設定にしたい場合は、真ん中と右に差し込む。
ドライバ(A4988/DRV8825)の設定:
ドライバは、CNCシールドにただ差し込んで終わりというわけではなく、
・ヒートシンクをつける
・マイクロステッピング設定をする
・電流制限設定をする
ということが必要です(以下に説明)。
まずCNCシールドにドライバを差し込むときは、向きに注意しないといけません。
A4988なら、CNCシールド対してこの向き(上画像)。A4988上の可変抵抗器が下にくる感じです(この可変抵抗器もあとで使用するモーターに合わせて設定しなければいけません)。上画像のようにヒートシンクを各ドライバにつけたほうがいいでしょう。ヒートシンクなしだと1Aまで、ヒートシンクやクーリングファンできちんと冷却すれば2Aまで大丈夫らしいです。
また、DRV8825なら以下のような向き。A4988と違って可変抵抗器が上にくるように差し込みます。DRV8825はヒートシンクなしで1.5A、ヒートシンクありで2.5A。
マイクロステッピング設定方法:
ドライバを差し込むと見えなくなってしまいますが、ドライバのちょうど真下にジャンパーブロック(ジャンパーピン)を縦に3個差し込む端子MS1、MS2、MS3があります。以下の赤枠で囲んだ部分。
上画像の場合は、Z軸用ドライバの位置に白いジャンパーブロック(ジャンパーピン)が縦に2個差し込まれています。マイクロステップは以下の表を参考にすると1/8になります。X、Y、Aに関しても同様に所定の箇所へ必要数取り付けてください。
ジャンパーブロックの差し込む組み合わせによってマイクロステッピングをFull Step(1/1)、 Half Step(1/2)、1/4、1/8、1/16から選ぶことができます。Low:差し込まない、High:差し込む。
最高1/16までできるのがA4988(以下)。Pololuのサイトの書いてあります。
MS1 | MS2 | MS3 | Microstep Resolution |
---|---|---|---|
Low | Low | Low | Full step |
High | Low | Low | Half step |
Low | High | Low | Quarter step |
High | High | Low | Eighth step |
High | High | High | Sixteenth step |
つまりマイクロステッピングされないまま、1回転200ステップのモーターなら200ステップのまま。
また、DRV8825なら1/32まで設定できます(とは言っても、1/32は使わないと思うけど)。
現状では、DRV8825でマイクロステッピング1/8に設定しています。
3つさせば、200x16=3200で1回転で3200ステップのきめ細かさになります。細かくすればするほど動きは滑らかになって振動が減りますが、トルクが下がってしまうようです。
また、DRV8825なら1/32まで設定できます(とは言っても、1/32は使わないと思うけど)。
現状では、DRV8825でマイクロステッピング1/8に設定しています。
DRV8825についてのPololuサイト。
電流制限設定:
これを見ながらA4988の場合なら、以下の配線になります。
モーターは右側の端子、2B、2A、1A、1Bの4本に接続されています。ということは、先ほどのモーターの図面を参照すると、
2B-BLK(黒)
2A-GRN(緑)
1A-RED(赤)
1B-BLU(青)
という対応になります。CNCシールドの各ドライバの右側に4つのピンが縦についており、そのまま上から、黒、緑、赤、青という配線でこのモーターの場合つなぎます。
モーターのYEL(黄)とWHT(白)は未接続で構いません。
DRV8825の場合は以下。
B2-BLK(黒)
B1-GRN(緑)
A1-RED(赤)
A2-BLU(青)
となります。
A4988とピンの番号が微妙に違うので、間違わないようにしてください(上からの順番は同じ)。
それと、モーターの線の色については、そのモーターのデータシートを探し出して確認したほうがいいと思います。ドライバA4988/DRV8825のピンに関しては、裏返すとシルクで書いてあるので、ドライバの差し込む向きを確認する場合やモーターと接続する場合、どの端子なのか実際に見て確認できます。
CNCシールドのモーター接続のピンは、ドライバのピンをそのまま右へ平行移動した4つのピンになっているはずです。
という感じで準備は整っているのですが、肝心のジャンパーブロックがまだない。CNCマシンの配線作業する段階になったときに、秋葉原に行ってケーブル、コネクター類といっしょに手に入れようと思ってます。
基本的な配線の仕方(CNCシールドV3.5の場合):
*CNCシールドV3.0の場合は、SpnEn端子とZ軸リミットスイッチ端子を入れ替えて接続(詳細はこちらへ)
左下の青い端子にステッピングモーター用の電源、そして各軸ステッピングモーター、各軸リミットスイッチ、可変出力可能なTTL端子つきのスピンドル用モータードライバ(あるいはレーザー用ドライバ)を接続。下画像には、ステッピングモータードライバは搭載されていないので、A4988やDRV8825をマウントして下さい。
この画像の場合、Y軸に2個のモーターを使う設定なので、4つのステッピングモータードライバを搭載します。右下のステッピングモータードライバ用の端子(A端子)がY軸用のクローンです。その設定のため、左側に緑色の枠で示したジャンパブロックを2個(Y軸用)を差し込みます(写真上のX軸用の黒いジャンパーブロック2個は差し込まない)。3個しかモーターを使わないのであれば、A端子そして左側のクローン用のジャンパブロックも不要です。
*ステッピングモーターの各線の色はモーターによって違う場合があるので注意して下さい。
各軸ドライバ用端子の間(電解コンデンサの下)には、写真上ではマイクロステップ設定用のジャンパブロックが縦に3個ずつ差し込んでありますが、マイクロステップをいくつに設定するかは、前述してある内容を確認して必要数差し込んで下さい。
リミットスイッチは、XYZ軸に2個ずつあるため12本の線が必要ですが、各軸+と-は回路内で並列つなぎになっているため、配線をまとめてしまえば4本で済みます(黒い端子はGNDなので、6本ある線を1本にまとめ、各軸ごとの赤い線は1本ずつ合計3本にまとめることができます)。もし長い距離を配線しなければいけないときは、途中でまとめてしまったほうがいいかもしれません。
スピンドル用のドライバ(TTL端子)をSpnEn(pwm)に接続することで、Gコードでスピンドルの出力調整が可能になりますが、スピンドルを手動制御するなら接続する必要はありません。
このほか、プローブ機能、非常停止(デジタルブレーカー)など、いくつか端子は余っていますが、最低限これだけをつなげば動かすことはできます。動作確認後、あとからそのような機能を追加配線していってもいいと思います。ステッピングモーターの回転方向やスピード(フィード)は、ソフトで設定可能です。
このCNCシールドの真下にくるArduinoボード自体は、通常パソコンとUSB接続されるために、USB経由でDC5Vが供給されます。もし、ワイヤレスなどスタンドアロンで動かす場合は、Arduinoボードに電力を供給する電源が別途必要になります。
電源について:
ステッピングモーターは前述してあるNEMA23(3.6V/2.0A)を4個使用しており、現在DC24V/7Aのスイッチング電源(AC100V用)に接続しています。
ShapeOko Wikiには電源について書いてあり、NEMA17クラス4個であれば100から120W程度、NEMA23クラス4個であれば150〜200W。
参考までに、ShapeOko3ではNEMA23クラス4個使用に対して、24V/5Aの電源を用いているようです。最近のX-CARVEでは、NEMA23クラス(140oz-in)4個に対して24V/17A。
MODE0 | MODE1 | MODE2 | Microstep Resolution |
---|---|---|---|
Low | Low | Low | Full step |
High | Low | Low | Half step |
Low | High | Low | 1/4 step |
High | High | Low | 1/8 step |
Low | Low | High | 1/16 step |
High | Low | High | 1/32 step |
Low | High | High | 1/32 step |
High | High | High | 1/32 step |
電流制限設定:
ステップ数をあげるとより多くの電流が流れるため、モーターにとって過電流になりダメージを与えることがあります。そうならないように電流制限する機能がドライバについています。ドライバ基板上の可変抵抗器で調節可能です(電流というか電圧を調整するのですが)。以下、Pololuのセッティング動画。
まずマイクロステップ設定をフルステップの状態(ジャンパーブロックをなにも差し込まない)で、
モーターの許容電流値が1Aなら、
A4988の場合、
Current Limit=VREF x 2.5
モーターの許容電流が1A=VREF x 2.5なので、 VREF=0.4Vとなります。可変抵抗器を回して、0.4V以下になるように設定すればいいことになります。
その際テスターで電圧を計測します。ドライバ基板の右下のGND端子(以下のステッピングモーターとの配線画像を見るとGNDの位置が分かります)にテスターのマイナスプローブ、そしてテスターのプラスプローブを可変抵抗器の回す部分(もしくは可変抵抗器の3つ脚の真ん中の端子)に接続。ゆっくり可変抵抗器を回しながら、1Aのモーターなら0.4Vくらいになるようにします (下の画像のような2Aのモーターなら0.8V)。A4988の場合は、CNCシールドに差し込みパソコンにUSB接続で電源供給し調整できました。
追記(2017年以降):
PololuのA4988のサイトを見ると、従来の電流制限設定の計算式は
Current Limit=VREF x 2.5
でしたが、2017年以降のPololu製A4988ボードでは、センスレジスタが0.050Ωから0.068Ωへ改良されたために、計算式は
となったようです。
Rcsの部分が、センスレジスタの値(従来の0.050か2017年製の0.068か)であり、
従来の計算式にRcsを代入すれば、
Vref=8×Imax×0.050=Imax×0.4
となるので、結果的には、
Current Limit=VREF x 2.5(従来の計算式)
と同じ値になるというわけです。
新しい計算式は、Pololu製の2017年製のA4988ボードを使った場合適用されるので、中国製のA4988の場合は、おそらく従来の計算式のままで大丈夫だと思います。
DRV8825の場合、
追記(2017年以降):
PololuのA4988のサイトを見ると、従来の電流制限設定の計算式は
Current Limit=VREF x 2.5
でしたが、2017年以降のPololu製A4988ボードでは、センスレジスタが0.050Ωから0.068Ωへ改良されたために、計算式は
となったようです。
Rcsの部分が、センスレジスタの値(従来の0.050か2017年製の0.068か)であり、
従来の計算式にRcsを代入すれば、
Vref=8×Imax×0.050=Imax×0.4
となるので、結果的には、
Current Limit=VREF x 2.5(従来の計算式)
と同じ値になるというわけです。
新しい計算式は、Pololu製の2017年製のA4988ボードを使った場合適用されるので、中国製のA4988の場合は、おそらく従来の計算式のままで大丈夫だと思います。
DRV8825の場合、
Current Limit=VREF x 2.0
なので、1Aのモーターなら0.5V、2Aのモーターなら1.0Vになるように可変抵抗器を回します。
DRV8825の場合、パソコンとのUSB接続だけではダメで、CNCシールドの12-36Vに電源供給しないとできませんでした。
追記:
RepRapの電流制限のページを見ると、A4988やDRV8825ドライバーのチョッピング機能により上記のように電流制限すれば、例えばInventablesで売っている2.8AのNEMA23モーターも駆動可能。2.8Aの場合、A4988ならVREF=2.5/2.8=0.89V以下に可変抵抗器を設定すれば、最大トルクは得られないけれども大丈夫らしいです。Inventables NEMA23 2.8Aのページの質問(2013/DEC/10)で、GrblShield2.0Aでこのモーターは使えるのか?というのがあり、最大トルクは得られないけれども一応使えると書いてある。
関連:Shapeoko Wikiのドライバのページ
DRV8825の場合、パソコンとのUSB接続だけではダメで、CNCシールドの12-36Vに電源供給しないとできませんでした。
追記:
RepRapの電流制限のページを見ると、A4988やDRV8825ドライバーのチョッピング機能により上記のように電流制限すれば、例えばInventablesで売っている2.8AのNEMA23モーターも駆動可能。2.8Aの場合、A4988ならVREF=2.5/2.8=0.89V以下に可変抵抗器を設定すれば、最大トルクは得られないけれども大丈夫らしいです。Inventables NEMA23 2.8Aのページの質問(2013/DEC/10)で、GrblShield2.0Aでこのモーターは使えるのか?というのがあり、最大トルクは得られないけれども一応使えると書いてある。
関連:Shapeoko Wikiのドライバのページ
ステッピングモーターとの配線:
モーターによっては線の色が違う場合があるので、データシートなどでチェックして、どの色がどの線なのか確認したほうがいいと思います。また、ステッピングモーターには4線、6線、8線などあります。PololuのFaqにそれぞれの接続の仕方が書いてあります。
以下は、今使っているモーター(2相ユニポーラ6線)です。
定格3.6V/2.0A、3.6V与えると2.0A電流が流れるということなので、ドライバDRV8825で2Aの電流制限をしたということは3.6Vで駆動することになります。
上の図面で、右下に見える配線図にどの線が何色かが書いてあります。以下は、今使っているモーター(2相ユニポーラ6線)です。
定格3.6V/2.0A、3.6V与えると2.0A電流が流れるということなので、ドライバDRV8825で2Aの電流制限をしたということは3.6Vで駆動することになります。
これを見ながらA4988の場合なら、以下の配線になります。
モーターは右側の端子、2B、2A、1A、1Bの4本に接続されています。ということは、先ほどのモーターの図面を参照すると、
2B-BLK(黒)
2A-GRN(緑)
1A-RED(赤)
1B-BLU(青)
という対応になります。CNCシールドの各ドライバの右側に4つのピンが縦についており、そのまま上から、黒、緑、赤、青という配線でこのモーターの場合つなぎます。
モーターのYEL(黄)とWHT(白)は未接続で構いません。
DRV8825の場合は以下。
B2-BLK(黒)
B1-GRN(緑)
A1-RED(赤)
A2-BLU(青)
となります。
A4988とピンの番号が微妙に違うので、間違わないようにしてください(上からの順番は同じ)。
それと、モーターの線の色については、そのモーターのデータシートを探し出して確認したほうがいいと思います。ドライバA4988/DRV8825のピンに関しては、裏返すとシルクで書いてあるので、ドライバの差し込む向きを確認する場合やモーターと接続する場合、どの端子なのか実際に見て確認できます。
CNCシールドのモーター接続のピンは、ドライバのピンをそのまま右へ平行移動した4つのピンになっているはずです。
という感じで準備は整っているのですが、肝心のジャンパーブロックがまだない。CNCマシンの配線作業する段階になったときに、秋葉原に行ってケーブル、コネクター類といっしょに手に入れようと思ってます。
基本的な配線の仕方(CNCシールドV3.5の場合):
*CNCシールドV3.0の場合は、SpnEn端子とZ軸リミットスイッチ端子を入れ替えて接続(詳細はこちらへ)
この画像の場合、Y軸に2個のモーターを使う設定なので、4つのステッピングモータードライバを搭載します。右下のステッピングモータードライバ用の端子(A端子)がY軸用のクローンです。その設定のため、左側に緑色の枠で示したジャンパブロックを2個(Y軸用)を差し込みます(写真上のX軸用の黒いジャンパーブロック2個は差し込まない)。3個しかモーターを使わないのであれば、A端子そして左側のクローン用のジャンパブロックも不要です。
*ステッピングモーターの各線の色はモーターによって違う場合があるので注意して下さい。
各軸ドライバ用端子の間(電解コンデンサの下)には、写真上ではマイクロステップ設定用のジャンパブロックが縦に3個ずつ差し込んでありますが、マイクロステップをいくつに設定するかは、前述してある内容を確認して必要数差し込んで下さい。
リミットスイッチは、XYZ軸に2個ずつあるため12本の線が必要ですが、各軸+と-は回路内で並列つなぎになっているため、配線をまとめてしまえば4本で済みます(黒い端子はGNDなので、6本ある線を1本にまとめ、各軸ごとの赤い線は1本ずつ合計3本にまとめることができます)。もし長い距離を配線しなければいけないときは、途中でまとめてしまったほうがいいかもしれません。
スピンドル用のドライバ(TTL端子)をSpnEn(pwm)に接続することで、Gコードでスピンドルの出力調整が可能になりますが、スピンドルを手動制御するなら接続する必要はありません。
このほか、プローブ機能、非常停止(デジタルブレーカー)など、いくつか端子は余っていますが、最低限これだけをつなげば動かすことはできます。動作確認後、あとからそのような機能を追加配線していってもいいと思います。ステッピングモーターの回転方向やスピード(フィード)は、ソフトで設定可能です。
このCNCシールドの真下にくるArduinoボード自体は、通常パソコンとUSB接続されるために、USB経由でDC5Vが供給されます。もし、ワイヤレスなどスタンドアロンで動かす場合は、Arduinoボードに電力を供給する電源が別途必要になります。
電源について:
ステッピングモーターは前述してあるNEMA23(3.6V/2.0A)を4個使用しており、現在DC24V/7Aのスイッチング電源(AC100V用)に接続しています。
ShapeOko Wikiには電源について書いてあり、NEMA17クラス4個であれば100から120W程度、NEMA23クラス4個であれば150〜200W。
参考までに、ShapeOko3ではNEMA23クラス4個使用に対して、24V/5Aの電源を用いているようです。最近のX-CARVEでは、NEMA23クラス(140oz-in)4個に対して24V/17A。
はじめまして!
返信削除こちらの記事のおかけで、勢いで買い込んだものの使い方が分からずしばらく放置してあったCNC SHIELDが日の目を見そうです。ありがとうございます!
実は私もLD利用のレーザーカッターの自作を考えておりまして、こちらの記事は非常に有り難い存在です。
まあ、私の場合は、完全オリジナル機はムリなので中華機を少し弄る程度のものを考えておりますが...
それでは、今後の展開を楽しみにしております!
はじめまして!CNCを作りたくて調べていたらこのブログにたどり着きました。かなり詳しく書かれており、このブログがなければ諦めていました・・・。ありがとうございます。
返信削除もし可能ならご助言をいただきたいのですが・・・。
CNCシールドV3.0+GRBLで、Y軸に2つのステッピングモーターを使っています。(1つはクローンで、このブログを参考にさせていただきました!)クローンの回転を反転させたいのですが、何か良い方法はありますでしょうか?もしご存じであれば、ご教授願えませんでしょうか?
はじめまして、
削除CNCシールド左側にクローン用のジャンパーを2個横に並べて差し込むところがありますが、A.DIRのほう(右側)を外すとクローンだけ反転しそうなのですが、動作確認していないため分かりません。これでだめなら、ステッピングモーターの配線を反転するのがいいかもしれません。
ご回答いただきありがとうございます!
削除A.DIRのジャンパピンを外してやってみましたができなかったので、ステッピングモーターの配線を反転させたら無事成功しました!ありがとうございます。本当に助かりました。
それは、よかったです!
削除こちらとしても、情報交換できたので助かります。
また何かあればお願いします。それではCNC制作頑張って下さい。
はじめまして!
返信削除こちらの記事を参考にしCNCシールドV3.5.1とDRV8825を使用しCNCをMacOS Xからもコントロールできるようにしようと電流制限設定も設定し試みたのですが、動作してくれませんでした。ステッピングモーターとの配線も正常だと思っています。
A4988は、正常に動いてくれます。
もし、ご存知でしたら教えていただきたいのですが、CNCシールドV3.5.1とDRV8825組み合わせでは動作しないのでしょうか?
はじめまして。
削除CNCシールドV3.5.1とDRV8825組み合わせでも動くはずです。
Gコードを入力した際に、コンソールにどんなエラーがでているでしょうか?
ドライバ内の電流制限か保護回路がはたらいてロックがかかっているのかもしれませんね。
マイクロステップ設定を1/4や1/8くらいに下げてみるとどうでしょうか?
(動きを最大限なめらかにしようとして、DRV8825のマイクロステップ数を1/32まで上げると電流が多く流れるようなので)
それに合わせて、Gコードの$110〜$112の最大速度設定を下げてみるとかでしょうか。
あと初歩的な間違いだと、上下さかさまにDRV8826を差し込んでしまっているということもあります。DRV8825の右下の端子はGNDになっているでしょうか?裏面に書いてあると思います。
返信ありがとうございます。
返信削除> CNCシールドV3.5.1とDRV8825組み合わせでも動くはずです。
ありがとうございます、了解しました。
> Gコードを入力した際に、コンソールにどんなエラーがでているでしょうか?
G Code Sender/ControllerはbCNCを使用しております、Gコードは直接入力しておらずbCNCの「Control」で左下の「Control」矢印で動かしていました。
エラーは確認で来ていません、矢印をクリックしてもピクリともしませんでした。
>ドライバ内の電流制限か保護回路がはたらいてロックがかかっているのかもしれませんね。
1/8 stepに下げてやってみましたが同じでした、1/4とか他も試してみます。
> それに合わせて、Gコードの$110〜$112の最大速度設定を下げてみるとかでしょうか。
Gコードを調べてみます。
> あと初歩的な間違いだと、上下さかさまにDRV8826を差し込んでしまっているということもあります。DRV8825の右下の端子はGNDになっているでしょうか?裏面に書いてあると思います。
はい最初は間違えていたのですが、現在は正常な位置にセットしています。
「CNCシールドV3.5.1とDRV8825組み合わせでも動くはずです。」で安心しました。
ありがとうございます。
動いた際は、こちらへ情報を共有致します。
ちなみに以下のステッピングモータを使用しています。
返信削除http://qqtrading.com.my/stepper-motor-17hs-hybrid-series-2-phase-4-wire
計算によると、以下のような計算結果となりました。
DRV8825
1.33A = VREF x 2.0
VREF = 0.665V
可変抵抗器 : 0.665V以下
電流制限は、おそらくそれで大丈夫だと思います。暑い時期なので、一応ヒートシンクもつけたほうがいいと思います。
削除bCNCで矢印のジョグボタンをクリックしたあとに、Terminalタブに切り替えればコンソール画面があるのでGコードのログが見れます。
そこに何かしらのエラーコードがでているかもしれません。チェックしてみて下さい。
コンソール画面でログを確認しました。
削除以下がログ内容です
-------------------------------------------
G91G0Y10
[GC:G0 G54 G17 G21 G91 G94 M5 M9 T0 F0 S0]
ok
$G
ok
G90
ok
G91G0Y-10
ok
-------------------------------------------
エラーは、無いようです
そうですね、特にエラーはでていませんね。
削除ステッピングモーターの定格電流がそれほど高くなさそうなので、A4988を使っても大丈夫だとは思いますが、あと考えられるのは、ステッピングモーター駆動用の電源が低すぎるというくらいでしょうか。
もしくは、DRV8825が故障しているか不良品であるとか。
$110、$111、$112の設定値はどのくらいでしょうか?
削除この3つがXYZ軸のジョグ操作での移動スピードになります。あまりにも速すぎると保護回路で一時的にシャットダウンすることがあると思います。マシンのスペックにもよりますが、例えば$110=600、$111=600、$112=600などと手入力して、速度を下げて試してみるといいかもしれません。逆にスピード値を上げていけば、どのくらいでステッピングモーターが脱調するかもわかると思います。
ステッピングモーター駆動用の電源は、24V 10Aで繋いでいます。
返信削除DRV8825は5つあります、3つ試したのですが動きませんでした。
電源をつなぐとステッピングモーターから"ジッジッジッ"と音がなっており動きません。
今回は諦めてA4988を使用しようと思います。
ありがとうございました。
DRV8825の基盤からシャント抵抗を外して計測してみては?
返信削除A4988は2種類あるみたいだし
◆ドライバー
・TMC2100(5V)
・TMC2100(3-5V)
・TMC2130(3-5V)
・TMC2208(3-5V)
・LV8729
・stepstick s109(4a)
情報提供ありがとうございます。
削除レーザーのPWM制御の時はお世話になりました。
返信削除今は樹脂切削がメインのCNCフライスの製作をしており、ステッピングモータについて調べておりまたお邪魔させていただきました。
使用しようとしているモーターはST-42BYG020です。Aruduino UNO + CNCシールド + A4988で制御します。ユニポーラのモーターをバイポーラで使用するのですが、フルコイルとハーフコイルという使用方法を知りどちらが良いのか悩んでいます。
フルコイルで使用する場合は電流値は半分にしないといけないそうですが、ハーフコイルとフルコイルではどちらがトルクが強いのでしょうか?またモータの発熱も変わりますか?
6線あるユニポーラをバイポーラとして使う場合、フルコイルにするなら半分の電流値にしたほうがいいです。
削除違いについては、こちらを参考にしてみるといいと思います。
http://www.asahi-engineering.co.jp/manual/m-cdma.pdf
2)ハーフコイル接続とフルコイル接続の特性の違いについて
① ハーフコイル接続とフルコイル接続ではモータのトルク特性が異なります。
・ハーフコイル接続はフルコイル接続に比べ、高速回転域でトルクが下がりにくい傾向があります。
・フルコイル接続はハーフコイル接続に比べ、コイルの巻き数が2倍になるので、半分の電流でも
ハーフコイル接続と同等のトルクを出すことができます。ただし高速領域ではトルクが落ちる
傾向があります。また、電流が半分で済むのでハーフコイル接続に比べて小型のドライバで駆動
することできます。
返信いただきありがとうございます。
削除高速回転域で動かすことはなさそうですが、どの辺りからトルクの差が出始めるのか分からないのでハーフコイルで使用しようと思います。
CNCシールド(V3.0)とDRV8825、2.8Aのステッピングモーターの組み合わせでギターの作成(エボニーなどの非常に硬い木や樹脂も含む)をしたいと思っており、なんとか動くところまでこぎつけ、正常に使用できるよう調整しているところでございます。
返信削除そこでお伺いしたいのですが、投稿主様も同様の組み合わせとのことですが、VREFはど最大動作スピードは具体的にいくつにしておりますでしょうか?
私は微調整を繰り返しているのですが、概ね9,5以上ですと待機しているだけで次第にガクガクと変な脱調のような挙動をしてしまうため、現在1/8STEP、VREFは8.0で最大スピードは2000mm/minに設定しております。
ただ、これではかなりトルクが弱く、限界に近い速度や硬い素材の場合に脱調をしてしまい安心して使用できません。
比較的大きな物を削り出しますので、できれば最低でも2000mm/minで作動させたいのですが、調整ではどうにもならないものなのでしょうか?
よろしければご回答いただけますと嬉しいです。
よろしくお願いいたします。
コメントありがとうございます。各種設定は、https://cnc-selfbuild.blogspot.com/2016/04/cnc_29.html、ここにかいてあります。DRV8825で2.8Aのステッピングモーターだと、DRV8825の最大アンペア数が2.5AなのでVREF=1.25Vか、ステッピングモーターがフルコイルであればその半分のVREF0.625Aになると思います。要は2.8Aのステッピングモーターを2.5Aまでの出力で使うことになります。2000mm/minで動かすには、スピンドルのパワーアップ、刃の切れ味向上、数回に分けての切削などが必要なのかもしれません。あるいはステッピングモーターとドライバをもっと強力なものに変えるかでしょうか。また何かあればコメントください。
削除