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」としてコンフィグレーションしたよ。
リミットスイッチもつけちゃった。・・・
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...
その下の 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を見ちゃったからね...
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
先にインストールしておいた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で新規の項目ですね~
GRBL 1.1のConfigrationの説明がありました。
$30 - Max spindle speed, RPM
$31 - Min spindle speed, RPM
$32 - Laser mode, boolean
CNC2418は、スピンドル回転数を指定できるわけではないので
曲がり角でレーザーパワーを自動で微調整してくれたりする機能ではないかと?
詳しくは、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がでたので
$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挿し直して再確認します。
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)
⇒ 2000に変更(2017.8.7)
$111=5000.000
⇒ 2000に変更(2017.8.7)
⇒ 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]
とでました。
”$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の音が変わっているのがわかると思います。
こちらもCandle画面から
ステッピングモーターの音が変わっているのがわかると思います。
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がメインになりそうです。
いや~久々の感動でした。




















































