アナリティクス

2020年5月13日水曜日

レーザーカッターが壊れたので (5) bCNCによるgcodeのArduinoへの送信

bCNCでのgcode取り込みからArduinoへの送信

gcodeの取り込み、Arduinoへの接続


[ファイル]タブで以下を行う

  1. Arduinoへの接続
  2. gcodeファイルへの接続

Arduino/CNC Shieldへの転送


[control]タブの再生ボタン[▶︎]でgcodeが送られる。CNC Shieldへの電源が来ていない(+24VがONになっていない)でも、画面上でgcodeが送られていくさまが見られるのが面白い。

実際に切りたい掘りたいなら+24の方の電源を投入して


おしまい

レーザーカッターが壊れたので (4) SVGからのgcode生成

bCNCに食わせるgcodeをSVGから作る流れ。

元データ


イラレで作成。Incscapeで作れるようになればアドビ税回避できるのに。

Incscapeでの取り込み


Incscapeは原点が左下にある。これをレーザーカッターの動作開始原点に合わせるやり方。
まずはファイルを新規作成して、インポートでSVGを取り込む

取り込んだオブジェクトを用紙左下の下側に配置する。

そんだけ

プラグインでのgcode出力


プラグインでgcodeを出力する前に、まずは全てをパスに変換しておく。
そのあとメニューから[エクステンション] →[Generate Laser Code]→[J Tech Photonics Laser Tool]
次のダイアログが現れる

トラベルスピードや、レーザーを出している間のスピード、レーザーの強さを設定して[Apply]でファイルに出力。

最初「レーザーの強さを調節できるのか、PWMさまさまだな」と思って10なんて設定してやっていた。で何にもレーザーが出なくてどハマり。255にしても出てこない。Z+に来ている電圧を測ったら1.25V。TLP785の順電圧考えればスイッチはONになるハズだけどな?と、首を傾げながらLaser Power=12000で試したところ、Z+は4.95V。このままいってしまえとやったら動作できた。時間ができたらどうにかPWMの動作を伝えてレーザーの出力を変えられるようにしたい。が、とりあえず12000。フォトカプラを高速なものに変えればできるのかなぁ?
2020-05-15追記 : GRBL の $30(Max spindle speed, RPM)が1000でレーザーの強さを255で出したとする。だいたい1/4と考えて 5.0V/4=1.25V... $30の設定で正しく動かなかった疑惑。
ここの [5. GRBL Laser Mode] を読んでて$30=255にせよって、8ビット階調で考えると...

出力が終わると、Incscape上のオブジェクトの表示がこんな感じに。
矢印の方向にヘッドが動いていく。

レーザーカッターが壊れたので (3) GRBLパラメータの調整

描画の通りにレーザーが出力できるよう、色々調整

GRBLの動作パラメータ


bCNCの右上にあるTerminalを使うと、GRBLへ色々コマンドをマニュアルで送れる。使うのは

  1. $$ : 設定値一覧の表示
  2. $XXX=NNN : 設定の書き込み。XXXとNNNの意味はここ

で、とりあえずの設定は以下の通り

とりあえずZ軸はつかわないけど、同じパラメータに。

とりあえず変えたのはこの辺り。Homingは END STOP 使っていないから意味ないのかも。

  1. $25 : Homing seek
  2. $32 : Laser mode
  3. $100, $101, $102 : steps/mm
  4. $110, $111, $112 : Max rate, mm/min
  5. $120, $121, $122 : Acceleration, mm/sec^2

steps/mmは出力した結果を使って調整。モーターのステップ数やギアの直径で計算しても、結局調整するハメになると思われ。

2020年5月12日火曜日

レーザーカッターが壊れたので (2) ハードの設定と接続

CNC Shield とレーザーカッターを接続するので、その配線と自分が行ったハード上の調整。


ステッピングモーターの分割設定


1ステップを16分割32分割にして細かく動くようにしたいので、下記のようにジャンパを接続する。(X軸Y軸ともに)
ここで見ると、真ん中のジャンパは繋いでも繋がなくても同じかも。


モーターへの電流設定


とりあえず、試して動いた設定

最初、何も動かしていない(反時計回りでとまるところ)で試していたら、モーターがピックっピックっとその場から動けなかった。時計方向に動かしきっても同じで、どっちもダメなら移動パラメータが早すぎるのか?と思ってしばらく試すが症状改善せず。頭が禿げそうなところで少し戻したら動いた。そのあとは結構移動パラメータを速くしても動いたのでやっぱり禿げそう。 ここ読んでて気がついたけど、最大にしてた時、モーターがめっちゃ熱かった。加熱するほど電流流して動かんってどういうことだろう?


モーター用の電源とレーザーのスイッチ


電源ユニットからうまいこと配線を利用する


もしかしたら+24V電源右側2本がレーザーの配線なのかも。試してないけど。

引っ張り出した配線とCNC Shieldをこんな感じで接続。というか中継基板を作る。

ダサいけど、下手だけど、意味ない配線あるけど参考に

このモーターよくわからん

レーザーカッターが壊れたので (1) メモ/整理中

以前購入した中華レーザーカッターからレーザーが出なくなった。と言ってもレーザーのON/OFFを制御している部分だけが逝った(テストボタンではレーザーが出る)ので、直すついでに環境の改善も含めて見直しをかけた。
故障した箇所への対処については制御をどこで行っているかを突き詰めるのがダルいので、テストボタンの背面から配線を引っ張り、フォトカプラでON/OFFを制御することにした。

Before


  • イラレからビットマップに出力(ベクター系ファイルが動作しない)
  • レーザーカッターへの出力操作にWindowsが必要(専用ソフト)
  • ビットマップピクセルのアウトラインで切る為か、ピクセルの内側外側で2重に切る動作が発生

After


  • イラレからSVGに出力、InkScapeでインポート
  • Inkscape + J Tech Photonics Laser Tool プラグインでgcodeに出力
  • bCNCでgcodeをArduino/CNC Shieldに転送

改善される内容


  • ファイル形式 : ビットマップからベクター系へ
  • 2重切りがなくなる
  • grbl v1.1のアクセラレーションのおかげで動きがスムーズ
  • 全部Macで扱える(VM不要)

失うもの


  • ビットマップを使った彫刻
    なんかやり方ないかな?

必要なもの(イラレ以外)


----- ハード (主要なもの) -----
----- ハード(細々したもの) -----
----- ソフト(イラレ以外、Inkscape使いの人はイラレもイラネ) -----

何したっけ? :


----- インストール(は参考にしたリンクと簡単な説明のみ) -----
  • GRBLのコンパイル(要Arduino IDE)
  • ArduinoへのGRBL書き込み
    要はここからダウンロードしたものをライブラリに置くと、スケッチ例にgrblUploadが現れ、これを「マイコンボードに書き込む」するだけでコンパイルとArduinoへの書き込みが行われる。いつものスケッチアップロード。
    HEX書き込みとかそういうのいらない。
  • Incscape v0.92.2のインストール
    dmgでインストールできる。J Techのプラグインが1.0には用意されていないので0.92。Mac0Sでは0.92.5が動かないので0.92.2。Catalina様なMacは御愁傷様。自分は今だにMojave。XCodeが使えなくなったら即死。
  • J Tech Photonics Laser Tool (Incscapeプラグイン)のインストール
    ここからダウンロードして、Macなら /Applications/Inkscape.app/Contents/Resources/share/inkscape/extensionsの下に、プラグインのZIPにある全てのファイル(laser.py, laser.inx, dxf_input.py, dxf_input.inx)を置くだけ。
  • bCNCのインストール
    ここのインストールを参考に色々ハマる。TclTkを使えるようにするところで超ハマる。Command Line Tool フザケンナってなる。何をどうやって入れきったか忘れた。エラーメッセージとGoogleだけが頼り。

----- ハードの設定と接続 -----
  • ステッピングモーターの分割設定
    16分割32分割にするので、X軸Y軸各々のジャンパースイッチは3つ全部接続
  • モーターへの電流設定
    DRV8825モータードライバの可変抵抗器を時計回りの最大から1/8回転ほど戻す
  • CNC shield ↔︎ モーターへの配線
    Shieldは左からB+, B-, A+, A-、モーター側はA+,A-, B+, B-なのでこれを合わせるケーブルを作る。grblの設定でモーター回転方向を逆にすることもできるので、ABは逆でも良いかも。というか、自分は逆。今気がついた。モーターが逆に回ってもジャンパでどうにかできるのがV3.0の良いところ。V4.0にないのはなんでなんだぜ?
  • レーザーのスイッチ
    grbl v1.1 で使えるレーザーモードだと Shield 上にある END STOPS の Z+ がレーザーON/OFFの信号を出してくれる。ここから配線を引き、フォトカプラの 1.アノード, 2. カソード に接続、レーザーのテストボタンから引っ張った配線を、フォトカプラの 3.エミッタ 4.コレクタ に接続する。リレーでも良いけど何回もカチカチやったら壊れそうなのでフォトカプラ。直結してるので壊れそうだけどフォトカプラ。
----- GRBLパラメータの調整 -----
----- SVGからのgcode生成 -----
----- bCNCによるgcodeのArduinoへの送信 -----