Darkside(https対応しました)

2020年11月20日(金) 21:26

ファームウェア更新

 例によって市販品の制御を乗っ取り、自前の制御ソフトで支配する手法はある。
 しかし、今回はパソコンとの接続が必要だ。マイコン基板を搭載して乗っ取るのは、制御ソフトをパソコンではなくそのマイコン上で作成せねばならない。レーザーカッターでは、できれば回避したい。
 パソコンとの接続が前提であれば、通信は既存のUSB接続のままが使い易い。取り合えず、プロッター側の改造には当面手を付けない。ただし、制御基板に元から搭載されているマイコンは別だ。

 メジャーな Arduino nano が搭載されていてUSB接続なので、Arduino IDE を使用することで制御マイコンのプログラムを書き買え可能なのだ。この点において、ラジコン用のブラシレスESCなどとは決定的に違う。
 レーザー対応モートが新設された新しいファームウェアが存在するようなので、書き換える。だが、書き込みでエラーが出た。

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x0d
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x47
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x72
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x62
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x2e
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x38

 これは実際に書き込みできていないようで、マイコンが壊れていたという実例もあった。基板上の Arduino Nano を新品に交換したら、書き込めたとか。
 だが自分の場合は、プロセッサーの選択で(古いブートローダー)にすることでエラーなく書き込みできた。マイコンが壊れていたという実例も、実は単にブートローダーが古いマイコンだっただけでは?
 新しいマイコンを購入したら、それには新しいブートローダーが載っていたというオチな予感がする。

 レーザーでしか使用しないので、新ファームウェアの設定はレーザーモードにしたうえで、放置。
 これによりパソコン側のソフトも、grbl ではなく Candle に変更となる。レーザー対応ソフトも CNCC Laser Control Software というのが付属しているのだが、加工用ファイルを読み込むメニューが存在せず、事実上役に立たない。
 通信プロトコルを調べて自前で制御ソフトを書くという最終手段があるものの、相当な工数が必要だ。まずは、既存ソフトで何とかならないか調べるのが先決である。そして加工用ファイルを読み込む場合、CNCC2417 に対応しているソフトは G-code しか扱えない。DXFとかAIを、扱えないのだ。

 かくして今度は、DXFを G-code に変換するソフトを探す羽目になる。
 Sタンクの件で外注用AIを出力する前段階として、DXFファイルを生成している。それを変換できるかどうか?が動作試験内容。

 これが案外手ごわく、無料ソフトで可能なのが inkscape ぐらいしか発見できない。その inkscape にしても、正常な形状で読み込めないDXFファイルがある。Sタンクの内側側面装甲板なんかだと、ドーザーブレード回転軸あたりの形状が狂う。当然それを G-code に変換しても、マトモな結果にならない。
 更に、データーとしては正しい G-code が出力されても、座標が1メートルぐらいズレている。開始早々ヘッドを1メートルぐらい移動させて、カット開始。カット自体の形状は正常だが、終了するとまた1メートルぐらいヘッドを移動させて原点へ・・・そんなファイルを食わせられるわけがない。実際に食わせたらはい、プロッターが一気に範囲外に移動しようとしましたよ。

 G-code はテキストファイルなので、座標変換プログラム作るか・・・と思ったが問題はまだ存在する。外側から先に切り始めたら、内部の切り抜きを行おうとしたときにはパーツが脱落していて固定できていないだろ。当然に、内側の切り抜きを先に済ませて、その後で外側をカットせねばならない。
 3Dプリンターでも、本当に自由な形状は設定できない。形状次第では、支えとなる部分を一緒にプリントせねばならない。そういう隠れた制限が、レーザーカッターにも存在する。

 要するに、DXFから G-code への機械的な変換は困難だと言うことだ。変換ツールがあっても、それが実用になる G-code を出力してくれる保証がない。DXFではなく、最初から G-code を出力する必要がある。どうやら Fusion 360 は、G-code 出力も可能らしい。

written by higashino [レーザーカッター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4