Pc-Trace

<< 2024年2月 >>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29






Pc-Trace
PC-Trace

Lazer関係の記事 prev >
>>このカテゴリーの記事一覧

オープンソースのビデオマッピングソフトウェア

https://mapmapteam.github.io/



サポートされているソースは次のとおり。

メディア ファイル:
・ビデオ (以下の推奨ビデオ形式を参照)
;静止画(PNG、JPEGなど)
・アニメーションGIF
・カラーペイント/マスク
・ウェブカメラ (現在は Linux バージョンのみ)

推奨されるビデオ形式:
コンテナ: .mov、.avi、.mp4、.ogg、.ogv
ビデオコーデック形式:Motion-JPEG / Photo-JPEG、MPEG4、Apple Pro Res 422



PWMデータをCandleで出力する場合のメモ

とにかくCandleを使って、PWM出力で板を焼きたい場合の個人的戦略。
赤文字の追記有り。

前出の般若心経をPWMで出力し、Candleでそのまま読み込んだ場合、ほぼ黒塗り状態に表示されて読めない!
白黒2階調とグレースケール256階調の表現の違い。
(Candleでは明暗を階調ではなく、1か、0に振り分けられる)




サービスメニューを開き、グレースケールに設定変更
グレースケールのチェックチェック項目を入れる事で、Z軸の高さ表示がゼロになり、ミルと、レーザーモードとの区別をつけやすくなる。
ベクトルか、ラスターのチェック項目は表示状態に合わせて適宜切り替える(つまり、見やすい状態、または見える状態の切り替えとして利用できる)




読める表示になった! ・・が、ラスター表示の設定だと階調がつぶつぶの間隔データとして表示(表現)される。 データの性質上、これは当たり前の現象だが、文字としての認識率は上がる。



PWMデータ・その2
写真のNCデータをそれらしく表示するには、少し工夫が必要
僅かな明暗の差を、白い(明るい)部分でブロックノイズのように大げさに表現されるが、そこは我慢!



フォトの場合の設定画面



実際にグレースケール用に用意した写真は、かなりコントラストが弱め



ヒノキ材へのレーザー彫刻結果。 やはり薄い!



3018Pro:レーザー出力をCandleで使用する場合のメモ

Candle1.1.7を使って、3018Proでレーザー彫刻をする場合のメモ。
個人的なメモなので、間違っていた場合は予告なく訂正。

【作業前の注意点】
1.. ミルもレーザーも同じM3コードを使用するため、作業前にモーター端子を取り外す。

2..赤色のPWM端子にレーザーを接続

3..レーザー用の、いくつかのソフトでG21が抜けるため、Candle1.1.7にデータを取り込んだ際、表示されない場合がある
(データが25.4倍に拡大され、表示領域外に飛び出している)

※先頭行にG21のコードが付いてないない場合はインチモードになっている可能性が高いので、G21を追加し、ミリモードに設定する
(データが正しい場合、上記を設定を施した時点でデータが表示される)

レーザーデータを取り込んだ直後の表示
今回のデータ作成はInkscapeを使用。
走査線とデータが被ってしまい、モアレ模様となりとても見難い。
何を焼きたいのか不明!



データが見難い場合は、「サービスメニュー」を開いて、画像のヶ所を設定する。
ラスターモードに切り替えると、データ表示は薄くなるが、目への負担は軽くなる。




Inkscapeで作成したレーザーデータの振る舞い。
同じレーザーデータでも、グレースケール(PWM)と白黒(B/W)データではまるで振る舞いが異なる。 下はB/Wデータ。
PWM端子の無いボードの場合、モーターの出力をTTL処理して利用するのもありかもしれない。(電力に十分なパワーがあるので、いずれやってみたい)
スピンドルの回転がレーザー照射に対応



レーザー般若心経

だいぶ前に購入した1.5Wレーザー彫刻機のヘッドだけを流用し、両面テープで貼り付けて使用。

公称値5W程度(実質のレーザーパワーは1.5W程度)は最低でもほしい。

老眼ではルーペを通さないと、ほぼゴミにしか見えない。
彫刻時間、F300で1.5時間程度。


拡大


GCODEの出力は、Inkscapeに拡張したフリーのプラグイン。



レーザープラグインの設定画面
※注意:ダイアログの画像の数値は、前に残っていた値。

3018の場合、
M106→M3
M107→M5 に、変更。



「Coffee Break」 幾何学文様_01

「Inkscape」に没頭する日々が続いている。
拡張プラグインで変幻自在な便利機能を包含できるアプリとあっては当然の事か。(用が済んだらすぐに飽きる)

実は、0.91以上では動作しないと言われているプラグインを最新のInkscapeに移植中。(グヌーなので自在に改変、配布できる)
面倒な説明は省くが、作成した文様はその一環でのテスト結果。
粘れば素人でも出来る事の証明。




添付ファイル 添付ファイル


「JTP_Laser_Tool_V2_2」日本語化によるDXF検証中

J Tech Photonics、Incプラグインの、日本語化に伴う「AutoCADR13」以降のDXFデータ取り込み部分の検証中

かなり古い図面だが読み込みは順調


別にInkscapeで製図するわけでは無い。
Axidraw、レーザー加工機絡みのテスト

この後は「Grbl」によるVer0.92版のレーザー加工部分のテスト予定。


「LaserGRB」で保存したコードを3Dプリンター用に変換する

※以下、既存の3Dプリンターにレーザーヘッドを取り付け、「Firmware」を書き換えること無くレーザー加工を実行してみたい人だけに有効。
非常停止が使いやすい、「Repetier-Host」を対象としたが、「Cura」などでも動作確認。


「LaserGRBL」で書きだしたコードを3Dプリンター用に変換するには正規表現による検索、置き換えが可能なエディッターが必要になる。

有償の「秀丸エディッター」がブームの中、見栄えがシンプルで、瞬時に起動するFreeの「Peggy Pad」を長年愛用してきたが、他に移譲される事なく開発が終了し、会社も無くなってしまった。(高機能だっただけに残念)

Free、高機能、高速処理の三拍子が揃った「Peggy Pad」。
画面もこれ以上ないほどシンプル。


終了予告があったため、最終バージョンをダウンロードして保管しているものの、現在利用しているバーションはインストール時そのままの一つ前のバーション。

「Peggy Pad」が廃止されても"Free"で同等の機能を有するエディッターは他にも存在するので、参考までに。
http://sakura-editor.sourceforge.net/download.html

※正規表現が外部プラグインになっているようで、同時にダウンロードするか、プラグインを含んだインストール版を入手する必要がありそうだ。



ここから本題。
※正規表現についての参考例は、20年以上もブランクがあり、使い方を大いに間違っている可能性があるので自己責任で

「LaserGRBL」で保存するデータは、モードにより様々なパターンに変化するので、注意が必要。
画面に表示された領域だけで置き換えを判断し、一括処理するのは危険! 解像度の設定値を変えるだけでもコードパターンが変化する場合がある。

PWMが有効な場合に生成されるGコード


PWMが無効な場合のGコード



他にも山盛りの注意点があるが、以上を踏まえコード置き換え時のポイントを大まかにまとめると、

M3(Servo"ON")は、
(1)..M106 でレーザー"ON" S値 0〜255 の間でレーザー強度レベル
に。

M5(Servo"OFF")は、
(2)..M107 でレーザー"OFF"
に。

Fxx は、
(3)..G1 Fxx
に。

(4)..G21(ミリ設定)コードの追加
無いと25.4倍に拡大される事がある。

その他、座標末尾に単独で存在する"Sxx(xxは"0〜255"の間)" などのコードは、行挿入後の上段に配置し、M106 Sxx に置き換え。

"S0"だけの場合は"M107"に置き換える。
次のコードがG0で始まる場合、置き換え機能によりM107コードが重複するので必要無い。(あっても問題にならない)

いずれのGコードも、座標末尾に、F値(送り速度)を追加する
コード最終行には忘れずM18コード(すべてのステッピングモーターを無効)を入れる。


(PWMが有効な場合のコード置き換え)
正規表現での検索・置き換え例の画像は、あくまで個人的な方法によるもので、自分の考えとエディッターの機能に合わせて適宜変更する必要がある。・・かも?

例1:G0コードの場合

S0
G0 X0.933 Y1.4 S0


の場合、

M107
G0 X0.933 Y1.4 F800


に置き換える。
※ G0コード F値、"Fxx" はレーザー出力無しの時の任意の移動速度に

正規表現での置き換え例(2つにグループ化)




例2:G1コードの場合

G1 X1 Y1.333 S59

の場合、

M106 S59
G1 X1 Y1.333 F200


に置き換える。
※ G1 コードでのF値、"Fxx" はレーザー出力時に見合った任意の速度に

正規表現での置き換え例(2つにグループ化)


こんな感じで、他のモードについてもマニュアルに従って検索・置き換えをすると3Dプリンターでのレーザー彫刻が可能となる。

慣れると5分もあれば変換が終わるようになる。

添付ファイル 添付ファイル


LaserGRBL v2.3.0 speed optimization

YouTubeより






これ等の動画を見ていると"そもそも論"に立ち返ってしまう。

個人の空間事情を無理やり3Dプリンターに押し付け、わざわざコード変換までしてやる理由が、僕以外の"余裕"ある人にとってはそもそも不必要な話。
レーザー彫刻機も、時間を費やす以上に低下価格化が進んでいる。
3Dプリンターで兼用した場合、ワークエリアも200x200と中途半端だし、個人的な事情を備忘録として残すのであればPC内に整理しておけば良いだけの話。

まぁ、唯一の利点は外部から情報として検索出来る事くらいか。
良く考えたらあまり意味の無いことを必死でやってた。
その間、皆先へ先へと進んで行ってる。


「LaserGRBL」 備忘録1

3Dプリンター(「Merlin」)用にレーザー彫刻データを変換する前準備

前準備の設定ダイアログ
「grbl」→「Settings」で開いたダイアログ


彫刻する画像の取り込み


PWMモードの有効化で追加されるツール


PWMモードチェック無しの場合のダイアログ


データ書き出しダイアログ



次の備忘録に続く・・。


「LaserGRBL」 画像ごとのコード形態を調査中

328Pを搭載した「UNO」や、その互換機で使用されている「GRBL」で動作するレーザー専用機では必要無い作業だが、あくまで一般の3Dプリンターで、「GRBL」のデータをコンバートして動かしたい場合の個人的な備忘録。

データ抽出用の対象アプリは画質と機能を優先して「LaserGRBL」一本に絞った。
市販のレーザー彫刻機に付属している数種類のアプリ(Benbox、NEJE LaserCarver・・等々)を試してみたが、画像のGCODEデータを保存出来ないなど機能不足なものが多い。
その点「LaserGRBL」は処理体系が完成されているだけでなく、レーザーの強弱をコントロールしながら照射できる「PWM」機能を有するなど、難しい条件を満たしている。
(最新のバーションでは「BACKLASH」対策と思われる機能も追加されている)

結論からの提示。 

レーザーヘッドに「PWM」コントロールが無い場合の一般的なラスターデータ。 他のレーザーアプリと比較すると精細で綺麗。



レーザーヘッドの「PWM」コントロールを有効にした場合のデータ。 非常に綺麗!
(この機能を使うには、オプションの「PWM」機能にチェックを入れる必要がある)



上の二つのコード(PWMの有無)を出力して比較。
まるで異なる別コードが生成される。
どちらも3Dプリンターのファームウェア「Merlin」では処理する事が出来ない。


下の実行画像は、自作の3Dプリンター(ファームウェア「Merlin」)で出力したもの。
左側の画像はPWM機能無しの一般的なラスター処理画像。
右側の画像がPWM機能を有効にした場合の処理画像。
どちらの方が綺麗な画像で出力されるか一目瞭然。 人魚の高さは3センチ程度。



上の画像は事務用の茶封筒でテストしたもの。


一見、不可能に思えた「Merlin」でのレーザー出力PWMコントロール。
FANのコントロールバーが、レーザーの強弱に合わせて気ぜわしく動く。


これ等のデータを3Dプリンター用に出力するための作業手順は次回。


「Coffee Break」 レーザーについて、ちょっと振り返る。

3Dプリンターと、レーザーを"ドッキング"する事により遊び(あくまで遊び!)の幅は2倍に膨らんだが、スペースは1/2に節約できた。

かかった費用はと言うと、"御託"を並べて時間を費やした割には5,000円でお釣りがくる程度。(1W〜1.5W想定)
大切なのは"アプリ"の方だったと言うお粗末な結果となった。

これまでの動静(レーザーだけ)にフィルターをかけると、残ったものは3,500円程度のレーザーヘッドを購入し、1,000円程度の降圧コンバーターと僅かなケーブルを購入してFAN端子に接続しただけ。

「Coffee Break」だけで、"どうにかならんかったのか?"とつくづく思う。
知人や友人に"すごいね!"と言われるたび胸が"チクチク"する。



コードと画質の調整中!

「GRBL」の3Dプリンターへのコード変換も慣れると30万行もあるコードが数分で出来るようになる。

慣れは大事!

あとはコードと画質の"最良"を探すための旅に出るだけ。
意匠の関係でプリントした封筒を使う事は出来ないので、あくまでテスト用。

※使用した画像は公式サイトからフリー素材として公開されていた「壁紙」をダウンロードしたもの。

まだ暫く"探す"旅が続きそうだ。


コード体系の共有

自作レーザー彫刻機で今でも困るのがアプリの選定。
同じGcode体系でも「GRBL」と3Dプリンターなどで用いる「Gcode」ではほぼ互換性が無く、うまく共有出来ない。

唯一「Inkscape」でエクスポートするデータだけは、書き出すMコードと、S値を設定できるため、双方を動かす事ができる。
ただし、ラスターデータの出力解像度だけが非常に低く、とても印鑑などを彫刻できるほどの解像度を持たない。

「GRBL」のコードをテキストエディッターの正規表現での"置き換え"機能を利用し3Dプリンター用のGCODEに変換。 スライサーにうまく読めたが、データ用のビュワーでは無いため、サイズと輪郭しか把握出来ない。



フリーの「LaserGRBL」で書きだし、そのまま「GrblController」で読み込んでみた。
レーザー出力用にMコードを編集し、「Repetier-Host」でプリントすると、レーザーの「ON」「OFF」とが反転してしまう。 画像もどこか見難い。



こちらは3Dプリンター用に完全に変換できたデータ(ヘッダー除く)。画像をハッキリ認識できる!



「LaserGRBL」のデータを3Dプリンター用のコードにうまく変換できた場合、下の画像のように綺麗に出力できる。 印鑑でも楽に彫刻できるほどの解像度がある。
※サンプルで使用した画像は過去にDisneyがフリー素材(固定サイズ)として掲載していたもの。


現在は廃止されてしまったが、コード変換に利用したテキストエディッターは「Peggy Pad 4.62」

「GRBL」を正規表現の置き換え機能を用いて3Dプリンターで処理できる「GCODE」に変換する手順はまた後日?
添付ファイル 添付ファイル


「ベクトル」と「ラスター」の混在データを試す

「FB」のS様から、「ベクトル」と「ラスター」のデータを混在して処理した際、弊害となる干渉があるかについての?コメントが寄せられた。
これまで、常にどちらか一方の処理と、それに該当するソフトの選定しか頭になかったので、これには目から鱗!
老化した脳はハイブリッド対応で無かった事を改めて自覚!

いずれのデータ形式であろうと、書き出すデータはテキスト形式なので合成はいとも簡単。

コード接続部分の一部コードを修正するだけで実現できるため時間短縮のための荒いデータを準備し早速テストしてみた。

Inkscapeで処理する際、"ベクトル"で書き出すデータと"ラスター"で書き出すデータを、予めレイヤー分けしておく。 (合成時の位置とサイズをきちんと合わすのが目的)

※レイヤー名を指す矢印の「yuki」と「waku」が逆になっているので訂正!


それぞれ異なるプラグインでラスターデータとベクトルデータを書き出し、後で合成する。

合成した「GCODE」データの生成状態を「GrblController」を利用して確認。 ラスター画像とベクトル枠がうまく合成されている


混在データのレーザー彫刻結果。
レーザーのテスト用で使える余白がまだ十分にあるため、外枠は切り抜かずマークするだけに留めた。


当たり前だが、あっさり成功!
たったこれだけでも、レーザー彫刻の応用の幅が"グ〜ン!"と広がる。


問題山積

今更な話では無いが、順調に行かない方が当たり前なのか?

作業対象:Jwwで設計した仏具(小型の六角灯籠)図面


「Inkscape」でレーザー用の"gcode"として生成し、「Repetier-Host」で読み込む。


図面尺度と円弧サイズに合わせて分割数(解像度)が自動調整されてしまう?
個人的には大いに不満が残る"ガクガク"の分割数。


"ガクガク"の分割数が、排出したデータに原因が無い事の証明。
「GRBL」では円弧大小のサイズ関係なしに滑らか。


初めての白紙描画・・のつもりが切れまくり! で、緊急停止!
描くより切る方が好きらしい。



また振り出しに戻った!


prev >