加工時シングルブロック状態になり、困っています。

はじめまして。

CNC初心者です。

中華製CNC2417とCNC.jsで加工をしようと思っています。

FUSION360でモデリングしたデータをアップロードし、:arrow_forward:ボタンを押すと加工開始され動作するのですが、シングルブロックを使用したような動きになります。

停止後:pause_button:ボタンと:arrow_forward:ボタンを交互に押すと加工を進める事ができますが、NCデータを最初から最後まで通しで流す事が出来ず困っています。

設定や対処法などあれば、教えていただけると幸いです。

よろしくお願い致します。

こんにちは
CNCjs自体にはシングルブロックの機能はないので動作としてはおかしいですね

また一時停止してから再開で動くということから、CNCjs側が制御基板からのレスポンスを何らかの理由で受信できてない可能性がありそうです。CNCjsではNCファイルのGコードを1行ずつ送信しており、送信したGコードが制御基板のバッファから溢れてしまわないように制御基板のレスポンスやステータスに応じて送信量を調節しています。
例えばgrblの場合は何らかのGコードやコマンドを送信し制御基板が受信できた場合okと返答が来ます。このokが返ってきたら次のGコードを送信するという処理をCNCjsはしているのですが、もしそのレスポンスがない場合、あるいは仕様と異なるレスポンスの場合は止まってしまいます。

状況整理のために以下の点を教えていただけますか?

  • 制御基板の種類(arduino、CNCxPRO等)
  • 制御基板のファームウェア及びバージョン(grbl、reprap firmwareなど)
  • CNCjsのバージョン
  • Fusion360のCAMでNCファイルを出力するときのポストの種類(grbl等)
  • もし可能であるならNCデータのファイル

もし何かエラーやアラームが出ている場合はcncjs左側のコンソールにErrorとかAlarmとか出力されているかと思うので一度確認してみてください。

こんばんは。

回答頂き、ありがとうございます。

•制御基板の種類
Arduino、ATmega328P

•制御基板のファームウェア
grbl

•CNCjsのバージョン
v1.9.22 ( v1.9.23も試しましたが変わらず)

•NCファイルポスト
grbl

errorなど出ていないようです。
画像添付しますので見て頂きたいです。

NCデータの送信ついて
:arrow_forward:ボタンを押すと12列目のG54まで送信され13列目からは:pause_button:ボタンと:arrow_forward:ボタンを繰り返すと進みます。

よろしくお願いします。


コンソールにエラーも表示されていないですし、実際に動くのであればCNCjsがgrblを認識しているようでそこに問題はなさそうです。
コンソールの表記をみると{2/1}okなどと表示されている点は私の環境とは異なるので気になりますがたぶんCNCjsが制御基板の受信のレスポンスを確認できていない時の挙動かと思います

NCプログラムを動かしているときにCNCjsの右側にあるGコードのウィジェットの受信済みの数字が増えていなければそうです。
image

grblのバッファサイズは128byteなので、13行目くらいがちょうどそのくらいのデータ量になっているのかと。

こうなっている原因としてファームウェア、基板側が怪しい気がするのですが、はっきりとはわかりません。
ちょっとCNC2417で調べてみると付属の操作用ソフトがあるとかファームウェアが古い・変更されている(ピン変更くらいだと思いますが)とか書いてあったので、もしかしたらCNCjsと相性が悪いのかもしれません。

解決のために試してみることとして以下が考えられます

  • CNCjsではなくGRBL CotrollerやUGS、Candleなど別のソフトを使ってNCプログラムを送信してみる

http://winder.github.io/ugs_website/

  • grblのファームウェアを更新もしくは再書き込み

こんにちは。

色々調べて頂き、ありがとうございます。

仰る通りNCプログラムを動かしているとき受信済みの数字が増えていませんでした。

まずはファームウェアをGrbl 0.8をGrbl 1.1に更新し、それでダメなら、ソフトの変更し試して行きたいと思います。

解決しましたら、報告させて頂きます。

こんにちは。

あれからファームウェアをGrbl 1.1に更新しました。
ありがとうございました。

CNC jsのNCプログラムを動かすと受信済みの数字が増えているのを確認し最後まで流す事が出来ました。
ここまでは良かったのですが実際にパワーオンし軸を動かすと正常に軸が動いてくれない事がわかりました。
現象は次の通りです。

•軸制御画面のY軸ボタンのみ反応するが実際動くのはX軸。
(X.Y.Z軸励磁はしている)

•Y軸の+ボタン-ボタン共にX軸の+方向に動く。

試しに別の制御ソフトgrblcontrolを使用してみましたが同じ現象が起きるので制御側の問題でわなさそうです。

度々申し訳ないですが、解決方法やヒントなど、あれば教えて頂ければ幸いです。
よろしくお願いします。

こんにちは。

軸の入れ替えはケーブルの差し替えで対応できそうですが、動く方向はどうにもならないですね。
おそらくgrblのプログラム修正が必要だと思います。

grblのピンアサインと実際の基板のピンアサインが全然違うのだと思います。
たぶんですが、基板のX step pulseのピンがマイコンのY step pulseの部分にきていて、Y軸を動かそうとするとX軸ドライバーにパルスが行き、X軸ドライバーのdirectionの値は変化なしで1方向移動になっているのかと。

Grbl_Pin_Diagram_v0.9%2B
(from: https://github.com/gnea/grbl/wiki/Connecting-Grbl)

ピンアサインの変更はgrbl1.1に更新した際のソースコード内にcpu_map.hというものがあるはずなので、その中身を変更することになると思います。(定義されている数字の変更)

実際にどう変更するかは基板内の配線次第なので、基板の配線を追うか、テスターで導通確認するか、インターネットで公開されている情報を探すになります。

ちなみにここを見ると各軸STEPを2、3、4→3、5、7、各軸DIRを5、6、7→2、4、6に変更しています。使えるかはわからないですが参考まで

参考:

こんにちは。

回答ありがとうございました。

数日格闘しましたがなんとか動かす事が出来ました。

cpu_map.hの各軸STEPを2、3、4→3、5、7、各軸DIRを5、6、7→2、4、6に変更し、X.Y.Z軸全て正常に動くようになりCNC jsで NCデータの送受信も問題無くできるようになりました。
本当にありがとうございました。

また質問等する事があると思いますのでその時はよろしくお願い致します。