2017年7月22日土曜日

小型工作機CNC2418 その23(GRBL v1.1f Upgrade)

いよいよ
GRBL v1.1 Upgradeへの挑戦です!

CNC2418のGRBLコントロールボードのWoodpeckerで
v1.1fへのUpgradeに成功した記述がちらっと載っていたので
少し前から気にはなっていたのです。
ボードが2つになったので、
A5端子が壊れたボードで心置きなく挑戦できます。
CNC2418についていたオリジナルのボードです。

ある時、Woodpeckerの端子の意味を調べていたら
GitHubのここにこんな書き込みが!

最後から3番目まで行くと7 May(2017)に
***
I received my Linkpsrite CNC1610 last month and was able upgrade it with limit switches and flash the new firmware from GRBL0.9 to GRBL1.1f. Homing function is working fine now (I'm using bCNC). The new firmware was flashed using Arduino IDE and configuring the board as arduino nano. Thanks guys for the references published here! ;-)
***
先月届いたLinkpsrite CNC1610のfirmwareをGRBL0.9からGRBL1.1fにして
リミットスイッチもつけちゃった。・・・
Arduino IDEで「Arduino nano」としてコンフィグレーションしたよ。
とある。
その下の 23 May に別の人が、
***
Did you ignore the alert about few memory for variables? I compiled the 1.1f but I didn't send the code to my card because I read that warning...
***
「few memory for variables」のアラートは無視しちゃたの?
1.1fのコンパイルはできたけど、ボードへの書込は止めたよ、
warningを見ちゃったからね...
ともあります。

そこで
「Linkpsrite CNC1610」を調べたら
「Linksprite CNC1610」が正しいスペルのようですが
ここに詳しく説明があります。
CNC2418と同じボードのようです。
同じボードとみて間違いないでしょう!
詳しい組立説明もあります。
最後の方に回路図までありました。ラッキー!
これでできる確信がわきました。

さて前置きが長くなりましたが
先にインストールしておいたArduino IDE 1.8.3を起動して
Woodpeckerを接続、[ボード情報を取得]してみると。
これが出てきました。
このVIDとPIDは、USB SerialのSH340のIDを認識しているということです。
どうもFirmwareの書き込み方法がわからないので
グーグル先生に紹介してもらいます。
mirror nerrorさんの
GRBLソフトウェアを試してみる」GRBL 0.8の手順と
最新版Grbl1.1をインストール」GRBL 1.1の手順
みら太な日々さんの「GRBLを動かす
を参考にさせていただきました。
ありがとうございます。

まず、ここからGRBLの最新版をダウンロードします。
左の[Branch master]から[Tags]を見ると
現在のmaterのバージョンがわかります。
拡大。
v1.1fですが
つい最近2017-07-17にUpdateされています。
右側の[Clone or Download]で「grbl-master.zip」をダウンロードします。
解凍すると[grbl-master]フォルダができます。
以前は、このフルダ名を変えないといけなかったようですが
最近のArduino IDEでは、そのままで大丈夫でした。
Arduino IDE 1.8.3を起動して
[スケッチ]-[ライブラリをインクルード]
-[.ZIP形式ライブラリをインストール...]に進み
先ほど解凍した「grbl-master」内の「grbl」フォルダを選択します。
”ライブラリが追加されました。
「ライブラリをインクルード」メニューを確認してください”
の表示が出ます。
Arduino IDEから[ファイル]-[スケッチの例]から
▼にカーソルを置いて一番下まで行って
[grbl]-[grblUpload]と選択すると
別のウインドウがでてきます。
最初の行に
"This sketch compiles and uploads Grbl to your 328p-based Arduino!"
とあります。
最初に見た、GitHubで7 Mayに成功した方が”Nano”でやったと書いてあるので
念の為、[ツール]-[ボード:]から[Arduino Nano]を選択しておきます。
書込装置はデフォルトの"AVRISP mkII"のままです。
このスケッチのウインドウのメニューから
[スケッチ]-[検証・コンパイル]をします。
コンパイルが始まります。
待つこと1~2分でしょうか
この様なコメントが下の欄にでます。
無事コンパイルできたようです。
GitHubの23 Mayの方は、3行目の赤文字でビビったのだろうか?
[スケッチ]-[マイコンボードに書き込む]をします。
緊張が走ります。
勇気を出して”クリック”っと!
またこの画面がでます。
”スケッチをコンパイルしています”とでたので
一瞬、間違えたかと思いましたが
緑のバーが右端まで行くと
”マイコンボードに書き込んでいます”とでて
数秒後に
”ボードへの書き込みが完了しました”とでました。
どうやらできたようです。
grblUploadのスケッチのウィンドウを閉じます。
Arduino IDEのシリアルモニタ機能でアップロードしたgrblの内容が確認できます。
[ツール]-[シリアルモニタ]を実行します。
このウィンドウがでます。
赤枠の所を「CRおよびLF」「115200bps」に変更すると
ちょっと間をおいて
”Grbl 1.1f ['$' for help]”と出ました!
成功です!!!
上のコマンドラインに「$$」を入力すると
設定値が出てきました。
GRBL 1.1fのデフォルトの設定値のようです。
CNC2418の設定とだいぶ違っています。
メモリ削減のため設定値の後ろの説明がなくなっているとのこと。
*****
Grbl 1.1f ['$' for help]
$0=10
$1=25
$2=0
$3=0
$4=0
$5=0
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=0
$24=25.000
$25=500.000
$26=250
$27=1.000
$30=1000
$31=0
$32=0
$100=250.000
$101=250.000
$102=250.000
$110=500.000
$111=500.000
$112=500.000
$120=10.000
$121=10.000
$122=10.000
$130=200.000
$131=200.000
$132=200.000
*****
その22のボード交換で確認しておいた
CNC2418のGRBL 0.9jの設定値は、これでした。
*****
$$ <
$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=5 (dir port invert mask:00000101)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=800.000 (x, step/mm)
$101=800.000 (y, step/mm)
$102=800.000 (z, step/mm)
$110=5000.000 (x max rate, mm/min)
$111=5000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)

******
$30~$32は、v1.1で新規の項目ですね~
GitHubのここ
GRBL 1.1のConfigrationの説明がありました。

$30 - Max spindle speed, RPM
$31 - Min spindle speed, RPM
$32 - Laser mode, boolean

CNC2418は、スピンドル回転数を指定できるわけではないので
$30と$31は、そのままにしておきます。
$32はよくわからんのですが
曲がり角でレーザーパワーを自動で微調整してくれたりする機能ではないかと?
詳しくは、GRBL laser documentation 見てくれーとあるので
また別の機会にしたいと思います。
取り敢えず、デフォルトのまま「=0:無効」にします。

で結局、CNC2418と同じにするには、これだけのはずです。
$3=5 (dir port invert mask:00000101)
$10=3 (status report mask:00000011)
$100=800.000 (x, step/mm)
$101=800.000 (y, step/mm)
$102=800.000 (z, step/mm)
$110=5000.000 (x max rate, mm/min)
$111=5000.000 (y max rate, mm/min)

コマンドを入力するとerrorがでたので
Arduino IDEを再起動してボードのUSBを挿し直すとerrorはでなくなりました。
で設定コマンドを入力しても"ok"しかでません。
ボードのリセットボタンだけでよかったのかも。
"$$"で確認します。
変更されています。
念の為、もう一度Arduino IDEを再起動して
USB挿し直して再確認します。
覚書として残しておきます。
*****
Grbl 1.1f ['$' for help]
$0=10
$1=25
$2=0
$3=5
$4=0
$5=0
$6=0
$10=3
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=0
$23=0
$24=25.000
$25=500.000
$26=250
$27=1.000
$30=1000
$31=0
$32=0
$100=800.000
$101=800.000
$102=800.000
$110=5000.000
         ⇒ 2000に変更(2017.8.7)
$111=5000.000
         ⇒ 2000に変更(2017.8.7)
$112=500.000
$120=10.000
$121=10.000
$122=10.000
$130=200.000
$131=200.000
$132=200.000
*****

”$I”コマンドでは
[VER:1.1f.20170717:]
[OPT:V,15,128]
とでました。

よく考えてみると
チップAtmel MEGA328Pに依存したソフトなので
UNOもNanoも関係ない気もしますが、わかりません。
当初は、328PをCNC専用チップだと思っていたので
周辺ハードも含めてv1.1に対応できるか調べないといけないと
思っていて、ここまで引き伸ばしていました。

いよいよ実機での確認です。
まずは、今まで使っていた Candle 1.0.11で
ありゃー、Statusに”Unknown”の文字が!
Z軸の数値も変になっている。
そう言えば、Candle 1.0.11は、GRBL v1.1未対応だったのを思い出しました。
それでは、最新版の Candle 1.1.07で行きます。
これは、CNC2418付属GRBLcontrolソフトの最新版で
以前、GRBL 0.9jで試したけど正常に動作しなかったのです。
GitHubのここからダウンロードできます。
これは、右の[Clone or download]からダウンロードできません。
下の方のDownloadsの所から
「Windows:candle_1.1.7.zip」をダウンロードします。
インストール不要です。
解凍したらCandle.exe を即実行できます。
Z軸を動かしてみるとじわ~っと下がりました。
また正常に動かんのかな~と思いきや

すぐ下を見ると
「Step」と「feed」があります。
初期はFeed:10になっています。
動きが遅いはずです。
ジョグの真中に「駐車禁止マーク」?
ボタンでした。
ジョグを途中でSTOPできます。
1.0.11にはありませんでした。
ジョグ時のFeedが可変できるようになっています。
Feed:500にすると
XYZ軸、全ていつものように軽快に動きます。
次に気になったのが
「Jog」 の 上に 「Overriding」 の文字!
展開するとこのようにバーがでてきます。
うぉー!これが噂のリアルタイム可変バー!
バーを最低の位置では、こうなります。
100%ポイントが薄く残っています。
最高の位置は、これです。
いい~!
これはすぐに試さなくては!
早速、Fusion360で直径100mm 高さ20mmの円柱を描き
[2D]-[輪郭]で0.2mmずつ掘るGcodeを作ります。
やっと、これくらいは、ちゃちゃーっとできるようになりました。
CAM設定はこれです。
部材なしで空間を削ってみます。
一応、エンドミルは2.0mmです。
スピンドルはうるさいので200rpm、つまりDuty 20%で回します。
この2つにチェック入れます。
まずは、Spindle speedのCandle画面の動画です。
応答速度は少し緩やかなのでバーを早く動かすと
ゆっくり追従してきます。
バーの可変でSpendleの音が変わっているのがわかると思います。
次は、Feed rateです。
こちらもCandle画面から
ステッピングモーターの音が変わっているのがわかると思います。
Feed rate可変している時のCNC2418の動きです。
Gcodeは100mmの円を一定速度で回しています。
円は1行の命令になっています。
     G2 Y51 J51 F300
15秒目位で10%まで落としているのでほぼ止まって見えます。
最後の方は、ステージが後方に移動していきますが
スピードが変わっているのがよくわかるかと思います。
リアルタイムに可変できる!これはいいです!

bCNCの最新は、v0.9.9です。
GRBL 0.9j、GRBL 1.1f どちらでも動作します。
リアルタイム可変できましたが、どうも追従が悪いのです。
特にスピンドルを一旦遅くすると
100%にしても回転が戻らず
200%近くまで上げてから下げないと戻りません。
Feedも追従していますが、Candleより遅い感じです。

たぶんPCがメモリ4Gしか積んでないからかな~と思われます。
この所、ジョグでカチカチ連打して移動していると
固まってしまうこともあったのです。
ハードリセットしないと復帰しません。
Fusion360を立ち上げていると起こりやすい感じがします。
Python上で動いているので元々重いのですね。
Gcode読み込んでツールパス画像を移動拡大している時も
動きがもっさりしたり、しなかったり。
Core i3-3217U 1.8GHz 4GBでは無理があるのでしょう。

ということで
Candle、最新版のv1.1.07がメインになりそうです。

いや~久々の感動でした。

34 件のコメント:

昔青年 さんのコメント...

GRBLバージョンアップ成功 おめでとうございます。
コントロールボードが0.9f対応なので、そのピン配置が同じ1.1fもOKとは想定していましたが、ファーストペンギンになる勇気はありませんでした。(笑) なんでも試してみたいミーハーな性格ゆえ、Arduinoの開発環境は、すでにありますのですぐに試して見ます。
キャンドル最新バージョンよさそうですね。
当地(大阪)は、連日の猛暑日で、なかなか製作意欲がわきません。
製作を計画しているもろもろのパーツを手配し、涼しくなれば製作開始のつもりです。(そのころは、興味がほかにいっているパターンかも)

マーティーの工房日誌 さんのコメント...

ありがとうございます。
ここも猛暑続きです。南の方は集中豪雨で大変なことになっています。
エアコンつけていてもちょっと動くと汗がでるので
切削作業はお休み状態です。
涼しいリビングでの活動中心になっています(笑)
”もろもろのパーツ”という事は、何か大物工作ですね!
私もそろそろCNC周辺ではない何か大物作りたい気もします。

Unknown さんのコメント...

$110=5000.000>>>800?
$111=5000.000>>>800?

マーティーの工房日誌 さんのコメント...

It's the Reverse.

GRBL 1.1f Defult setting
$110=800
$111=800
$112=500

CNC2418 0.9j setting
$110=5000
$111=5000
$112=500

So, I changed on may board at 1.1f
$110=800 >>> 5000
$111=800 >>> 5000
$112=500 >>> not change

Unknown さんのコメント...

My CNC2418 default value is 800, not 5000, there will be 5000 because the use of MINILASER set changes will become 5000, but this will allow home to high speed 4988 temperature, it is recommended to change to 800

マーティーの工房日誌 さんのコメント...

Thanks for your information.
It's difficult to reply in English.
I found out that it's different even for the same name "CNC 2418".
Currently I use Candle ver 1.1.07.
The Jog has a Feed setting, which is max 2000.
Certainly, I think that 5000 is also not good for A4988.
The stepping motor may be out of sync.
I calculated as following.
Acceleration setting:
10 mm/sec^2 in $120 & $121
v =√ (2 x d x a)
v: speed, d: distance, a: acceleration
√:square root
So, travel distance : speed :
0 to 50mm : 32mm/sec = 1897mm/min
0 to 100mm : 45mm/sec = 2683mm/min
0 to 200mm : 63mm/sec = 3794mm/min
0 to 348mm : 83mm/sec = 5005mm/min
What I think is...
At my normal usage situation,
max travel distance is less than 100mm.
Then the max speed is 2683mm/min.
Even if it's set to 5000, it means that it has no meaning.
Since there are no troubles in my current state,
I will set it to 2000.
Thank you for noticing me.

覚書として、一応、日本語も。
現在、Candle 1.1.07を使っています。
JOGには、Feed設定があり、max 2000です。
確かに5000は、A4988にも良くないことだと思います。
ステッピングモーターが脱調するかもしれません。
次の様に計算しました。
加速度の設定は、
$120と$121で10 mm/sec^2
v =√ (2 x d x a)
v: 速度、d: 距離、a: 加速度
√:平方根
そうすると、移動距離:速度は、
0 to 50mm : 32mm/sec = 1897mm/min
0 to 100mm : 45mm/sec = 2683mm/min
0 to 200mm : 63mm/sec = 3794mm/min
0 to 348mm : 83mm/sec = 5005mm/min
考えるに...
私の通常の状況では、
移動距離は、100mm以内。
なので、速度は2683mm/min。
ということは、5000に設定しても意味はないことになります。
私の今の状態で不具合が出ていないので、
2000に設定することにします。
気づかせてくれてありがとう。

追伸、
CNC2418の挙動を見ていると、いきなり加速せずに
少し一定速度で動いてから加速が始まっていますね~
この計算式よりも速度は遅くなるはずです。
しかし、英語のコメントが来るとは...
Google先生には大変お世話になりました。

Unknown さんのコメント...

Because my English is very poor, I also help google translation. Just read Japanese, but also google help. But I can understand your expression, very detailed.

I tested the speed = 800 and speed = 5000, the machine test is different. From the far right to the left, one input 200mm distance, running speed and stepper motor operation will be different sound. (CNC2418)

I am not going to calculate the physical mathematical formula, thanks for sharing this message. I am learning electronics, the control panel to understand.

匿名 さんのコメント...

tokiiと申します、

Woodpecker をGRBL v1.1fへ Upgrade したいと幾度とトライしましたが、答えは何時も同じで、コンパイルはできますが書き込みでアウト

Using Port : COM4
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x8c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x8e
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x0d
以下省略

で失敗します、何がシンクロしてないのでしょうか?この板スピンドルのPWMや12VのAVRやレーザーのTTLやら使えていいのですが。

マーティーの工房日誌 さんのコメント...

見て頂いてありがとうございます。
このブログの次の「小型工作機CNC2418 その24(もう1枚 v1.1f Upgrade失敗)」と同じエラーですね~。
もしチップ部品が全て表についているボードでしたら、ブートローダーが入っていないので、残念ではありますが、ここの方法でUpgradeはできません。
ここhttps://github.com/gnea/grbl/issues/123の最後の方の写真の様にチップのピン RESET(29pin)、MOSI/PB3(15pin)、MISO/PB4(16pin)、SCK/PB5(17pin)を浮かせて、リード線でArduinoISPを書き込んだArduino Unoと接続してブートローダーを書き込んまないといけないのです。
失敗するとチップが死ぬこともありますのでハードルは高いです。
私の場合は、ピンを浮かせずに横着したので
「小型工作機CNC2418 その25(もう1枚のv1.1f UpgradeはISCPでも失敗)」がその失敗の記録です。
ピンを浮かせてArduino Unoと直接接続すれば、同じ手順で成功するはずです。
簡単な方法としては、$30程かかりますが、AliExpressのDZT's storeのボードを購入すれば、ここ方法でUpgradeできます。

マーティーの工房日誌 さんのコメント...

すみません、一つ訂正です。
RESET(29pin)は、浮かせなくていいです。

匿名 さんのコメント...

応答有難うございます、Woodpeckerはすでに3枚目です(予備にもう1枚はありますが)。
教授の方法老眼が進み敷居が高いです、ピンを浮かすとかMEGA328の交換無理と思います。同様の基板で同じチップ何故書き込めのか疑問は残りますが、DZT'store 記憶ありますので探してみます。有難うございました。

マーティーの工房日誌 さんのコメント...

外見は似ていますが作り方が異なっているのです。
328Pは、AVRマイコンで、その中にArduinoのSoftwareが入っています。
DZT'storeのボードには、GRBL SoftwareとブートローダーSoftwareの2つが入っています。
そのブートローダーというSoftwareが入っていないとUSBからソフトを書き込むことができないのです。
言い換えると、ブートローダーはUSBからSoftware書き換えできるようにするSoftwareです。USB書き換えのできないボードは、ISCP端子から直接GRBL Softwareだけを書き込んで作られているのです。
ブートローダー自体は、ISCP端子からしか書き込みできません。
なのでピンを浮かせてやられている方は、まずブートローダーを書き込み、その後、USB接続でGRBL Softwareを書き込むはずです。
言葉だけでは分かり難いと思います。
ここは図で説明されているので分かり易いと思います。
https://synapse.kyoto/tips/bootloader/page001.html#index

tokii さんのコメント...

ブートローダーを書き込みはリスクが多きそうなので
早速DZT'storeにUpgrade可能か訪ねた上ボードをシゲり(ポチ)ました。ついでに775&ER11モーターも、コレットを使うなら焼きバメでなくてはと探していたものです。ISPSからのブートローダー書き込み挑戦してみます。

tokii さんのコメント...

追伸

今朝明方悪魔が私に囁きました、”WoodpeckerもUNOもチップはおなじだろ、UNOの複製品は安いぜ、ミニなんかAMAZONで¥265しかも送料込みだぜ10日もあればとどくぜ、ブートローダーが問題なんだろ”。たしかに、Woodpeckerは基板をUNOはチップを壊さぬようとりはずせば安上がりです。Woodpeckerの注文をしたのを見とどけてから悪魔はささやくのです、信用してもよいのでしょうか?

マーティーの工房日誌 さんのコメント...

Woodpeckerは、①Arduino Uno or Nano+②A4988 3個(ステッピングモーターシールド)+③レーザー用の12V電源+④スピンドル&レーザーを駆動するPWMドライブ回路
が一体になったボードです。
24V電源は、既にお持ちでしょうから、12Vの外部電源を追加して、④のPWMドライブ回路を作成、A4988を購入、後コネクタやら小物、で作成できます。
④はPower MOS-FETなど電子部品の調達が必要ですが、
完成品のボード(安くはない)も売っています。
日本で全て揃えると、高くつくかもです。
中華で調達すれば安いので
この構成で作られている方も多いようです。
時間があるのであれば、自作は楽しいし、確実に勉強になります。
悪魔さんはそのことを教えたかったのでは?
ちなみにWoodpeckerの回路図は、
ここの最後の方のschematic 1.pdfとschematic 2.pdfと同じです。
http://linksprite.com/wiki/index.php5?title=DIY_CNC_3_Axis_Engraver_Machine_PCB_Milling_Wood_Carving_Router_Kit_Arduino_Grbl
ご参考になれば幸いです。

tokii さんのコメント...

マーティー様 有難うございました、お礼申し上げます。Woodpecker-モドキ Grbl v1.1f Upgrade 成功しました。
氏と同じUNOを書き込み機とするやり方です。
念のため、10KΩと1960PFの時定数は約8KHzですが、駆動ZoとMOSIの信号周波数主成分が判らないのでIRF540へ接続されたD11はカッターでパターン切断、更に専用ピンコネクターを作りISPピンより結線、結果悪魔は退散し女神様が微笑んで下さいました。氏のやりかたに間違いはございませんでした、以上ご報告いたしお礼申し上げます。

それとCNC2418はアルミはまだしも銅が全然削れないので改造中です、でモータードライバーをDRV8825を使った物に交換しましたがこの挙動が変です、元に戻しました。10個中2個だけが滑らかに回りますが残り8個はマイクロステップを刻まず1.8°を刻んでいるのでは?と思うほどで要注意です。

マーティーの工房日誌 さんのコメント...

tokiiさん
遂にやりましたね~
Woodpecker-モドキ にISCPでUpgrade成功ですか!
おめでとうございます!
お役に立てて嬉しい限りです。
銅の切削ですか!すごい!
DRV8825は、強力そうな石ですね~
それにしても2/10しかマイクロステップがうまくいかないという事ですね。
ステッピングモーターには詳しくないのですが
失礼ながら、ピーク電流が飽和しているのではないでしょうか?
ステッピングモーターの電流波形をみないとわかりませんが
マーティーの師匠のブログの解説が
ご参考になれば幸いです。
http://mirata.blogspot.jp/2014/12/a4988.html

tokii さんのコメント...

はい、成功はしましたが config.hに悪戯したのを忘れ #define BAUD_RATE 250000のままコンパイルやってしまいました。
.hには// #define BAUD_RATE 230400の行もありますし問題は無く動いたのですが115200に戻そうとしても再び先の苦渋を味わう事となり、UNO-ISCP再びのお出ましを賜り願ったしだいです。ブートローダーて何なの?
DRV8825もA4988も安定化電源で調整、確実に回る値を探りV-12V、I-0.35A(アナログメーター)にしました。当たらずとも遠からずかと思いますが・・・・
速い回転速度では気づきにくいのですがFood値10あたりでよく判ります。指でシャフトに触るとか、耳を直接モーターに当て音で聞くと個体差が判ります。

マーティーの工房日誌 さんのコメント...

マーティーの場合、「小型工作機CNC2418 その24」でやりましたが
USB経由での書き込みは、config.hを変えてもBaudRateは変わりませんでした。
コマンドプロンプトから直接 avrdude.exeに引数付けて実行して、
やっとBaudRateの変更できました。
ブートローダーが入れているとUSB経由で書換できるので
GRBLのソースをいじって色々やるには便利です。
I-0.35Aですと、正弦波の平均値としてもPeak 0.49Aなので
駆動電流が少ないのかもです。
サンケンのA4988のDatasheetを見ていると
https://www.semicon.sanken-ele.co.jp/sk_content/a4988set_an_jp.pdf
8.7. LowCurrentMicrostepping に
”電流が低い領域で電流制御が正常に機能しない...”場合...とあります。
チップが違いますが、Decay Modeが怪しいような気もします。
A4988と同じシールドでDRV8825のものがあるんですね~
今頃知りました(^^ゞ
DVR8825シールドは、DECAY端子はオープンでMixDecayModeです。
チップ内に130KΩPullUpと80KΩPullDwonがあります。
ここが2V以上、0.8V以下では、他のModeになります。
ここにノイズが乗っている可能性もあるので
外付けで130KΩPullUpと80KΩPullDwon
又は、62KΩPullUpと39KΩPullDwon辺りを付けてみるか
PullUp先は、3.3Vです。
或いは、単純に電流不足でドライブ不足になっているかも?
すみません、この位しか気づかないです。
参考にならないかもですが、マーティーには勉強になりました。
ご検討を祈ります。

tokii さんのコメント...

私の今回の場合はconfig.h いじっただけでBAUD_RATE 250000でコンパイルされ書き込みされたのは事実で、IDE でも250000でGRBL初期表示され、ほかのRATEでは意味不明の文字が現れるだけでしたので、config.hの書き換えでOKでした。V0.8でも115200での動作確認しています、ホントなんだから・・・信じて。
ブートローダーがあってもUSB経由での書き換えができないうーん・・・、 検証は新たな元祖Woodpeckerが届いてからにします。
DRV8825のDECAY端子機能知りませんでした、もちろん電流は加減してみましたが英文のデーターシート苦手です。
外付け抵抗で追い込もかVDD加減してみよか・・・加工中Z軸最深部でサーマルプロテクトが働きX軸Y軸は健在だとしたら

マーティーの工房日誌 さんのコメント...

tokiiさん、すみません、疑っている訳ではないですよ~
私の場合は、何故かできなかったのです。
IDEのVersionの違いかもしれません。
Arduino駆け出しなもので、
誤解を与えて失礼しましたm(_ _)m
ブートローダー自体がうまく動かないのとなると
ちょっとお手上げです。
銅だとサーマルプロテクト働らいてしまうんですね。
こちらもZ軸のステッピングモーターが最も発熱大きいです。
A4988の放熱フィンも熱くなるので小さなファンで扇いていますが、効果少ないので大きなフィンをつけようかとも考えています。

マーティーの工房日誌 さんのコメント...

tokiiさん、また見て頂けるかわかりませんが、訂正です。
マーティーが大馬鹿勘違いをしておりました。
config.hのは、GRBL動作時のBaudRate。
avrdude.exeで指定するのは、GRBLを書込む時のBaudRate。
ですね。"その24"で既に頭が逝っちゃってました。
BaudRateの記述は忘れてくださいませ。
大変失礼しましたm(_ _)m

tokii さんのコメント...

マーティー様 有難うございます、あれやこれやヒントを頂解決の参考となります。
銅が特別硬く加工の際負荷がかかるわけでも無くそれだけでサーマルは働きません、臨界に近い動作は危険と臆病なだけです。
マイクロステップの件になります、ちかごろ特殊詐欺がはやり信用できないのですがすが、ネットで調べました。PWMとPFM 時間あたりのパルスの長さとパルスの数?どちでもいいか。
DECAY端子ちょっとどれがどれや?です、まあいいか?後回し、申し訳ございません。
モータードライバーマイクロステップの回転が変だと申し上げましたので私なりに調べるべく実験しました。
モータに直径15Cmほどの円盤を付け、回転速度を大幅に少なくして回転の様を目視で観察してみました。滑らかにまわるものとそうでない物の違いが確認できました。
いずれもマイクロステップで刻まれ回転してはいますが、両者には違いが在り、回転開始時の立ち上がり応答と停止時の制動応答が揃っていない事が滑らかか否かの差となっているみたいです。
その主な原因は正しく磁極がベクトル合成で滑らかに回転していないのかもしれません。そういえば、ドライバーの電流調整DRV8825は、臨界点を探るような感じですね。
先に信用できないと言葉を使いましたが、お世話になっています(やはり感謝しないと)。17HS3401系モーターは完全にバイポーラですね、300Wの775型モーター指先でつまめるほど軽いですね、うんメガワットのレーザーモジュール数万円で売られています、技術革新驚いたり笑わったりです。
だから面白いですね、いいんですね。

         いちごのえちご tokii

マーティーの工房日誌 さんのコメント...

tokiiさん、また見て頂きありがとうございます。
色々やられているんですね。
私は気まぐれでやっている上に勘違いが多々ありm(_ _)m
マイクロステップの回転が変な件、かなり奥が深そうですね。
tokiiさんのコメントが来てからA4988のDatasheetなどを見ていましたが、特にDecayの所は複雑ですね。
私はモーター学は苦手なのでなおさらです。
レーザーダイオードは5500mW付きを購入していましたのでこれから実力の程を調べていこうかという所です。紙が切れるだけで衝撃です。
昔では考えられない楽しい世界です。生きてて良かったを実感しています。
所で、今日、偶然にも例のWoodpeckerモドキがUSBでUploadできない症状にでくわしました。tokiiさんの言っている意味がやっとわかった訳です。原因と対策を"その31"に公開しました。これも私のWoodpeckerモドキにしか効かない対策かもしれませんが、ヒントになれば幸いです。
これからも宜しくお願いします。

tokii さんのコメント...

マーティー様 先ずはお詫びせねばなりません、御免なさい。
Woodpecker-モドキに UNOの書き込み装置でブートローダー書き込み後、USBから再書き込みは出来ないなどと申しましたが、私の誤りでした。
又今日最新版 Woodpecker 2.6 GRBL(以前は Woodpecker CNC GRBL0.9)が届き早速USBでのV1.1へUpgrade試みましたが失敗、途方にくれ氏の以前の成功例を読み直したところ、ボードはUNOではなくNANOとしてのアップロードだったんだと気付きました。
NANOの設定で両者とも難なくアップロードできます。以上ご報告いたしお礼申し上げます。
”その31”拝見いたしました、精力的な活動には脱帽です。
銅の切削(研削になるかな?)への改造部品もそろいました。
成功しましたならば、いの一番にご奉公いたします。無理をなさらぬ様願ってる次第です。

マーティーの工房日誌 さんのコメント...

tokiiさん、ご報告ありがとうございます。
試したことなかったので、Woodpeckerの場合、
設定はUNOでもNANOでも同じじゃないのかなあ~
と思っておりました。
違うということがわかって大きな収穫ですよ!
Upgrade成功して良かったです。
私の"モドキ"は最悪タイプだったのかなあ?
銅切削への改造楽しみですね~

tokii さんのコメント...

銅の切削結果報告(奉公じゃなく)いたします。

CNC24818改 超硬エンドミル1.5Φ 刃長約5mm 加工物 純銅(非焼き鈍し)

加工方法と評価

試行錯誤の結果加工は5Φの円を深さ0から1mmまで
1.5Φのエンドミルで溝をS1000(VMO=24V)で掘り下げる。左回りで周回させ
(方向の右左結果にさしたる変化無)1周に付き0.05mmづつ降下2周から0.05mm(1定)に入り
螺旋状に掘り進め1mmに達したところで、そのまま1周、加えて逆回り更に1周、都合22周。
更にバリ取りf100(固定)で4周。
刃先に手差しで給油。
送り速度fを(16~400)変え加工時の音と加工品位を目視で観察、結果の違いを確認。

要加工時間

f16 20;25秒
f40 8;13秒
f100 3;15秒
f300 2;05秒
f400 1;47秒

加工音

f16加工音らきし音なし、f40で加工音が微かに聞き取れるようになる。
f80で確かな音を確認。
f300までは加工音大きくなれどゴリゴリとかグツグツとかはしない。
f400になるとヤバイ感じ、そのまま加工完了。

おまけ
加工限界値は一周の掘り下げ量 0.2mm f100で 0.6mmまで掘り下げたところで、
エンドミル(意識的に確信犯ですので)折りました。

目視による加工品位。

いずれの設定でも特にバリ取りの必要はないよう。
f100までは底面はもちろん側面も特別凸凹にならず、まずまず平滑になっていた。
f400この辺が改マシンの限界かな?
fを大きくするに従いオーバーカットになり、外周は大きく中央の丸い島は小さくなる、
溝側面の凹凸が目立つ。

考察と結論(学生時代の実験レポート苦労したっけ、開放されて40と数年)

単位時間当りの加工量f×幅×深さ(今回ではf×1.5×0.05)が同じならば、
同等の加工が自由にできそうだが、さに非ず。

単位時間当たりが同じ加工量でも各条件により加工品位は変化、更に加工時間にも影響する。
挙げればキリが無いが、要は刃物の先端と中心軸が指定のパスを如何に正確に通せるかで、
フレームの剛性は勿論、スピンドルモーターの軸の太さベアリングの大きさ、さらには振動さえ
影響がありそうで見なおしが必要か?。

単位時間当りの加工量の設定は非力なマシン+刃物では特に重要な要素だ!今回学習できた。

加工深さ0.05mm(0.1mmは大きいかな?) 程が加工速度を幅広く選べ安全かな?
加工時間と品位の妥協点はf100(加工時間4;25)。

10円玉は約4.5gで、同等な量と形状を削るには、
加工深さ0.05mm 荒削り(f300)+仕上げ(f20)で1時間程と皮算用。

以上、CNC2418改 での考察と結論です。

マシン改造概要 CNC2418(改1)

Y軸改造無、
本体フレームは洞門型。
2本のX軸ガイドを水平に置く(オリジナルCNC2418スピンドルヘッドおじぎしています)。
フレームを少量ながら継ぎ接ぎで追加増量。ガイドレールの数量及びサイズは変更無し。
XZ軸は送りねじ各2本2モータで駆動。
リードナットのテンションスプリング最高反発力2kgに増強(オリジナルは800g弱)。
ボールブッシュ廃しドライメットオイルレスベアリングの採用割れ目を削り、
締め付を調整できるようにした。
ER11コレットの採用(焼き嵌め)。スピンドルモーターへは60Vまで供給可能、
(60Vでの連続運転さしたる温度上昇なしされど60Vの必要なし24Vで十分)。

蛇足

10Φ程のSK或はSCロット線2m定尺を水平に1端だけ固定したとき、それが熱処理の有無に関わらず
他方の端は確実に間違いなく物理の法則に従がっています、そんなものなんだ。

以上ご報告となります、銅の切削可不可の判断はいたしませんが、次は鉄(改2)です、(郭公鳴くぞー)。

マーティーの工房日誌 さんのコメント...

tokiiさん詳細なるご連絡ありがとうございます。
理解するのに手間取ってしまいました。(^^ゞ
金属の場合は、逆回しもするんですね。
「外周は大きく中央の丸い島は小さくなる、溝側面の凹凸が目立つ」辺りは
硬い木やアルミででていたので想像できました。
Feedの違いでここまで観察したことはありませんでした。
これが出る時は削れていてもFeedが速すぎていたんですね。
改造内容は、文章なので、私の頭で正しく理解できたのかわかりませんが
X軸ガイドは水平2本とか、スプリングテンション上げたとか、
ドライメットオイルレスベアリング(こんなのは知りませんでした)は大変参考になります。
CNC2418は、3DプリントのXZ軸ブロックが非弱そうで気になっているので
強い構造にしたいのと、Z軸の可動域を増やしたいな~などと思っていますが
なかなか行動に移せないところであります。
"鉄"頑張ってください。

tokii さんのコメント...

御応答ありがとうございます、2(馬力)のフライスが使えまして、銅なんかは1.5Φのエンドミルで深さ0.2mm を難無く削れるんですよ、我がCNC2418(改1)はまだまだ非力です。

ドライメットオイルレスベアリン、AliExpressではオイルレスベアリングブッシュとあるようですが10Φの物10個$2.15と非常に安いです、これに少し手を加えシャフトホルダーのSFH12等に嵌め込むと締め付け加減でしっくりぴったり、言うと無し。

おしゃる通りXZ軸ブロックが弱いです同感々。

改2妄想中でとりあえず各軸のガイドは4本に増加予定です、作り掛けた40年ほど前の卓上フライス用部品、自作のバイスと金型用ダイセット放置で錆だらけでしたが、まだ細々と息しをしていました、生かそうか思案中。

ダイセット(20Φのシャフトとブッシュの組み合わせ)Z軸用としては最強かと思います、そこまではこだわらなくとも、したいことが最小限でも出来なくては存在価値がありません。

色々と苦労ははありますが、マーティー様もご検討なされては。

マーティーの工房日誌 さんのコメント...

2馬力≒1.4KWですか!(正しい換算かわかりません)
BOSCHの500Wトリマを持ってますが(あまり使ってない)
私には、想像を逸する領域であります。
AliExpressのオイルレスベアリングブッシュ調べました。
私の目には普通の銅管に見えてしまいますが(^^ゞ
小さくて便利そうですね。勉強になります。
40年前からフライス盤ですか!
Tokiiさんは、機械屋さんでいらっしゃるのでしょうか?
私は、小電力の電気屋でして、CNC2418買って1年足らずで
もっかCNC操るのとFusion360の勉強段階です。
特別に作りたいものがまだないので
簡単な改造したりしていますがメカ系の知識が不足しており
大掛かりな改造は、まだまだ先になりそうです。
3DプリンタやCO2レーザーも欲しいですね~
工具を持つことに喜びを感じている面もあります。
今後とも宜しくお願いいたします。

handagain さんのコメント...

初めまして、いつも良い情報ありがとうございます。

私もCNC2418を購入して使っていますが、一つ質問があります。

inkscapeで作った図形をサイズを確認して出力していますが、

何故かとても小さく専用のソフト(購入時入っていた物)で出力されるんですが、寸法は問題なさそうですが、同じ事起きっていますか?

1㎝くらいに出力される事が多くて理由が分かりません。

突然の質問で申し訳ございませんが、宜しくお願いします。

マーティーの工房日誌 さんのコメント...

見て頂きありがとうございます。
購入時に付属しているソフトは、「grblControl」ですよね?
正式名称は、「Candle」というもので私も使っています。
Inkscapeで図形を作って、メニューのエクステンションのGcode ToolsでGcode変換されているのでしたら
小さくなる現象は私も起こっていました。
その解決策を12月16日に投稿していますので
「Inkscape v0.92.2のGcode寸法狂いの対策」
を見ていただけると助かります。
回答になっていなかったらまたご質問くださいませ。

handagain さんのコメント...

あけましておめでとうございます。

初めまして、いつも良い情報頂いています。

私も同じ、CNC2418持っています。

お陰様で私もgrbl1.1fにアップグレード成功しました。

助かりました!!

感謝の気持ちいっぱいです。

これからもよろしくお願いします。

マーティーの工房日誌 さんのコメント...

handagainさん、こんにちは
いや~こんなに感謝されて嬉しい限りであります。
GRBL1.1fは、OverridingとLaser Modeが便利です。
InkscapeのGcodeサイズ狂いも対策できたようですね。
これからも宜しくお願いします。