こんにちは。
いつもは木工加工をAatCNC(CNC cPRO V5 + マキタRT0700C)で行っており、
Fusion360(モデリング→CAM)>CNC.js
で行っております。
今回はちょっと別ジャンルでPCB(基板)の話になります。
今まで試作基板を作る際は、回路設計後、フィルムに印刷して感光基板を使用してエッチングをしておりました。
基板の試作にせっかくArtCNCあるので使ってみようと現在試みております。
1:KICADで回路設計をしgerberデータを書き出す。
2:FlatCAMでgerberでーたを読み込み、切削パスを作成しG-Code(.nc)で書き出し。
3:Candleでncデータを読み込み、ArtCNCで加工
という流れで試しております。
3の加工までこぎつけたのですが、Candleでエラー(Alert)がでて止まってしまっております。
止まってしまうのは最初の部分なのですが、G-Codeを読み書きする知識がなく、ネットでG-コードを調べながら格闘しております。
ncデータの頭の部分ですが以下のようになっております。()内は私が調べて、こういう動作かな?という解釈です。
//////////////////////////
G21(単位をミリに)
G90(アブソリュート指令?? よくわからない)
G94(毎分当たり送り?設定できてる?)
G01 F120.00(直線補間?)
M5(主軸停止? Mコード?)
G00 Z15.0000(位置決めZ15へ移動)
G00 X0.0000 Y0.0000(位置決めX0Y0へ移動)
T1(??)
M6 (工具交換)
(MSG, Change to Tool Dia = 0.2000)
M0(プログラムストップ)
G00 Z15.0000(位置決めZ15へ移動)
★この位置でアラートが出ます。
M03(主軸正転)
G01 F120.00
G00 X16.2875 Y8.0625
G01 F60.00
G01 Z-0.0000
G01 F120.00
G01 X17.1600 Y8.0625
G01 X17.2619 Y8.0676
G01 X17.3604 Y8.0821
G01 X17.3677 Y8.0835
G01 X17.4667 Y8.1084
・
・
//////////////////////////
上記コード内の★の位置でCandle内のAlertランプがついて停止してしまい、リセットするしかなくなります。
他のCandleの設定の問題かもしれませんが、CNC cPRO V5 + マキタRT0700Cではスピンドルの回転、停止や、回転数の制御はできないと思いますので、AatCNC(CNC cPRO V5 + マキタRT0700C)ではこのコードはエラーになるよ、などありましたらアドバイスをお願いいたします。
nyaru
2
こんにちは
Candleは使ったことがなかったため、導入して少し試してみました。(使ったバージョン:Candle1.2.12b)
こちらの環境では載せてあるNCコードの最初の部分ではエラーが出ませんでした。
コンソールに表示されているアラーム番号等を教えていただけると問題の原因がわかりやすいです。
M3、M4、M5は工具回転に関するMコード、M6は工具交換に関するMコード、T1は工具番号に関するコードです。
CNCxPROとマキタRT0700Cの組み合わせでは関係ないので無視して大丈夫です、制御対象がいないからといってエラーも起きないはずです。このため該当するMコードの部分を削除してもいいです。
nyaruさま
いつもお返事ありがとうございます。
また、わざわざCandleをインストールまでして検証していただいたようでありがとうございます。
心強いです。
まずG-Codeですがnyaruさまの環境では問題なかったという事ですか。。。。
スピンドルの制御のMコードは無視で切るということで、放置でよさそうですね。
今再現してエラーの際のコンソールを確認しようとしているのですが、
一度作業を中断していたため、PC、ArtCNCを立ち上げてみたところ、なぜかZプローブもエラーになってしまいました(汗)
この際のStatusは赤でAlarmになり、Consoleには特にエラーらしきものは吐き出されておりません。
ちなみに、他者さんのサイトで申し訳ないのですが、
こちらと
https://www.qsl.net/jr3bot/Toy/Toy_Column/PCB4_CNCcutting.htm
こちら
このあたりのサイトを参考にここまで来たのですが、上記サイトにあるようなプローブボタンがControlエリアのホーミングアイコン横になくて、Service>Setting メニューの一番下に自力でZプローブコマンドを作っていました。
そのプローブのG-codeはこんな感じになってます。
G91G21G38.2 Z-10F20; G0Z1; G38.2 Z-2 F10
nyaruさまの環境ではZプローブのアイコンは常時されておりますか?
私の環境では、ホーミングアイコン(虫眼鏡に家)の右側は一時停止マークのHoldというボタンになっております。
ひとつ前のコメントのエラーまでまだたどりつけておりませんが、今回のプローブのアラームはなんとなく、ソフトリミット、ハードリミット関連かなと考えております。
私もCandleのバージョンは1.2.12bです。
たびたびの連続投稿ですみません。
nyaruさまは制御基板に CNC xPRO V5をお使いでしょうか?
私の使用している CNC xPRO V5ですがファームウェアのバージョンはGrbl_ESP32 Ver1.3aです。
GitのCandleのDownloadのところを見ていると、Experimental versions:として
Version 1.2b release
For GRBL v1.1 firmwareとして
ver1.1.7があります。
もしかしたら私のGrbl ver1.3系では正常に動作しないのかな?と思いまして。
CandleのマルチポイントでのZプローブはPCBの切削にはほしい機能なので悩ましいところです。
nyaru
5
私の環境もCNC xPRO v5です。
Alarmの際に適当にコンソールに入力して送信するとエラーが表示されたので、もしかしたらこれで確認できるかもしれません。
以下は意図的にプローブ(G38.2)を失敗した後にG0 Z0
を入力したらerror:9が表示されています。
ここは私も同じです。
Candle1.2ではプローブボタンがないみたいなのでUserCommandを追加する必要があるのだと思います。
参考URLではCandle1.1.7を使っているようなのでそちらを使うのもいいかもしれません。(grbl1.1対応版なのでCNC xPRO v5でも動くはずです)
ちなみにこのプロービングコマンドは以下の意味です。
G91;インクリメント指令(座標の増分値指令)
G21;単位mm指定
G38.2 Z-10 F20;F20で現在地からZ-10mmプロービング(失敗したらエラー)
G0 Z1;プロービング成功したら接触点から1mm上げ
G38.2 Z-2 F10;再度送り落としてF10でZ-2mmプロービング(失敗したらエラー)
私もリミット関係のエラーの可能性が高いと思います。
ただエラーコード見ないと実際はわからないですね・・・
grbl ver1.3(grbl_esp32)はgrbl1.1と同じ環境で動くので大丈夫です。
nyaruさま
ご丁寧なお返事ありがとうございます。
Alarmの際に適当にコンソールに入力して送信するとエラーが表示されたので、もしかしたらこれで確認できるかもしれません。
なるほど、午後から時間が取れますのでチェックしてみます。
ちなみにこのプロービングコマンドは以下の意味です。
G91;インクリメント指令(座標の増分値指令)
G21;単位mm指定
G38.2 Z-10 F20;F20で現在地からZ-10mmプロービング(失敗したらエラー)
G0 Z1;プロービング成功したら接触点から1mm上げ
G38.2 Z-2 F10;再度送り落としてF10でZ-2mmプロービング(失敗したらエラー)
最初のコメント投稿時には、このコマンドでプローブはできていたのですが、その際にもアラームなしのエラーが出ていた可能性があります。
というのも、プローブを実行してZ軸が下降していき、刃と基板が接触してストップして、そこで終わっておりました。「ですのでG0 Z1;プロービング成功したら接触点から1mm上げ」は実行されてなかったようです。
接触して止まった段階で、Zを0に手動でボタンをクリックしてセットし、ジョグでZを上げておりました。
grbl ver1.3(grbl_esp32)はgrbl1.1と同じ環境で動くので大丈夫です。
そうでしたか!、これで希望が持てます。
午後からちょっと格闘してみますね。
nyaruさま
いろいろ検証してみた結果。
まだまだ掘り込み量など調整しないと実用には至りませんが、何とか切削開始までこぎつけることができました。
まず、プローブがコード通りの挙動をしていなかったのは私の知識不足で、
カスタムコマンド内にG91G21G38.2 Z-10F20; G0Z1; G38.2 Z-2 F10を1行で書いていたため、
G91G21G38.2 Z-10F20; 以降がコメントアウト扱い?になっていたためでした。
改行を入れてで3行で記述したら思うように動作しました。
ただCNC.jsのプローブのように自動でZ座標を0にはならないので、手動でコマンド終了時に0に設定しております。
このように、Gコードで、ワーク座標のZを0原点に設定するGコードはあるのでしょうか?
この流れで、マルチポイントのZプローブも試したところうまくいきました。
次に問題の切削開始ですが、まず開始するとツールを交換してPauseボタンを押してください的なものが出るので、ウィンドウ下のPauseボタンで継続。
今度は、
Following commands will be sent before continue:
M3 S3300
G21 G90 G0 X0 Y0
G1 Z15 F120
G21 G90 G0 F120
とダイアログが表示され、OK/SKIP/Cancelの選択。
よくわからないので、OKをおしました。
最初に質問投稿した際もここまでは同じ挙動です。
この後Statusが黄色でHold(0)となって止まっている状態で画面下のPauseを押すこともできず、エラー?と判断しておりました。
Statusは赤Alermだと思っていたのですが、この黄色Hold(0)も見覚えがあるので、おそらく前回もHoldだと思います。
今回このHold状態で止まるのは何度も再現できましたので、いろいろ試してたら、ホーミングボタンの横の一時停止ボタンを押したら、コードが続行して切削が始まりました(汗)
インストールまでしていただき、いろいろ試していただいたのに、エラーというか工具チェンジコマンド後に再開できてなかっただけっぽいです、、、
プローブで止まってしまったり、意味不明なアラームもエラーコードを確認して何となく原因は突き止めました。
普段木工切削時には6mm径で長さもあるエンドミルを使用しておりましたが、今回の基板切削用の精密なVカットのエンドミルは工具長も短いものです。
捨て板を貫通して、ArtCNCに直接固定してあるMDFボードまで貫通することが無いようにソフトリミットを設定しているのですが、これが働いていつもより短い刃物を使ったためプローブで加工基板面まで降りることができなかったためでした。
おかげさまで、何とか試行錯誤が始められる段階までこぎつけることができましたので、FlarCAM、Candleとしばらく格闘してます。
本当にありがとうございました。
もしGコードで、ワーク座標のZを0原点に設定するGコードがありましたら教えてくださいm(_ _)m
「いいね!」 1
nyaru
8
解決したようで幸いです。
これは以下のM0の部分で発生しています。
M0になるとHold状態になります。
CandleではPauseボタンを押してやると再開(Hold解除)するようですね。(わかりづらいですね・・・ )
これは以下のGコードを前述のカスタムコマンドに続けていれてやると良いと思います
G10 L20 P0 Z0;現在のワーク座標系(P0)を現在地Z=0としてセット
G0 Z10;工具Z10mm逃し(一応)
たぶんこれでいけると思います。
なるほど
今回の件で、少しGコードを読み書きできる必要を感じたので、なんとなく何が書いてあるのかを分かる程度までは勉強します(^^)
これは以下のGコードを前述のカスタムコマンドに続けていれてやると良いと思います
G10 L20 P0 Z0;現在のワーク座標系(P0)を現在地Z=0としてセット
G0 Z10;工具Z10mm逃し(一応)
たぶんこれでいけると思います。
ありがとうございます!
頑張ってみます!
「いいね!」 1
プローブのZ原点セットのコードばっちりでした。
ありがとうございます。
切削テストもうまくいきました。
何の意図もない、ただのテスト回路です。
パターンもどれくらい細くできるかもチェックしたかったので、
左側のB1~D1は0.25mm
右のD1~R1は0.75mmでパターン設計してみました。
15x15mmの基板パターンです。
生基板はガラスエポキシ基板。
結果なかなかいい精度で切削できました。
パターン切削はVカット30°エンドミル
ホールは0.6mmドリルです。
導通もOKでしたが、0.25mmのパターンは実測では0.23mm、0.75mmは0.73mmでかなりの精度が出ている感じでした。
ドリルは、ほんの少しセンターズレしている感じがありますが、許容範囲かなと思います。
バリもほとんど出ず、切削後特にペーパーなど当てておりません。
FlatCAMは両面基板のモードもありますので、実践の試作基板では、そちらも試してみたいお思います。
あきらめておりましたが、nyaruさんのサポートで何とかなりましたm(_ _)m
「いいね!」 1