Pc-Trace

<< 2024年11月 >>
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 30






Pc-Trace
PC-Trace

< next 2018年3月の記事
>>2018年3月の記事一覧

昨日の ドキッ!

昨日は車の修理(お隣に依頼)などもあり、何も出来ない一日で終わった。

空いた時間でレーザー加工について色々調べてまわるうちに"ドキッ!"とする記事をいくつかみかけたので、注意を促す意味でメモ。

規格のハッキリした"レーザーモジュール"について、さほど難しい問題は発生しないと思っていたが、ネットの記事中、"電源投入と同時にいきなりレーザーが照射された"などの記述があり、気安く馴れ合わない方が良い事が分かった。
すべての配線が終わってからだと問題は発生しないのだろうが、"レーザーモジュール"を接続前に動作確認する意味に於いて、単独電源投入する事など十分にあり得る行為だ。

レーザー照射が、「ACTIVE HIGH(5Vでオン)」タイプなのか、「ACTIVE LOW(5Vでオフ)」タイプなのか事前に確認しておく必要がある。

もう一つ。
実は、3Dプリンターで使用している「Ramps1.4」の汎用コントローラについて。
「Ramps1.4」の名が付いていればすべて同じ規格、同じ商品だと思っていた。
ノーマルでは12Vの仕様だが、ダイオード1個(黄色長丸で囲ったD1)を取り外す事によって24V仕様にも変更出来る。・・ハズ! じゃなかったのか?
どうやら思い込みによる勘違い!

現在、予備で所有している2枚の「Ramps1.4」。怖くなる写真を見比べてほしい。


一見同じように見えるが、端子の不足や、コンデンサーの耐圧が倍以上異なっている。
当然16V耐圧を24V仕様に変更すると炎上、爆発する事間違い無し!
ハードウェア以外に、ファームウェアの変更も必要になる。(ボードタイプ、PIDチューニングなど)

「ABS樹脂」などのフィラメントに対応出来るよう"ヒートベッド"の温度を上げる計画の人は、24V仕様に変更する際は用心を!


加工前のポジション設定についての問題

レーザー購入前のシミュレーションで色々な問題が見えてきた。

3Dプリンターだと印刷前に原点(ホームポジション)を3軸合わすのが当たり前だが、レーザーだと少し状況が異なってくる。

Z軸の設定位置が材料の厚みに依存するため、うかつに"G28"コードを実行するとエライ事になる。
厚みの薄い紙だと問題にはならないが、木材など厚みのある材料を加工する場合、Z軸の降下でヘッドが衝突してしまう。

最初でホームポジションのコードを書き込まないように設定しておけば済む話だが、スタート地点のX位置とY位置をホームポジションに戻す機能が無いと、ヘッドの現在値をホームポジションとしてスタートするため、ど忘れによるオーバーランを引き起こす可能性があり、これも非常に危険!(すでにオーバーランの経験を幾度も積んだ!)
よってスタート時に、X軸とY軸だけはホームに戻す機能が必須となる。
サッサとソースを書き換え、修正版のソースとして添付する事にした。

解凍したファイルをこれまでと同じく
C:\Program Files\Inkscape\share\extensions
またはインストールしたフォルダの、"extensions"ディレクトリに投げ込んで利用してほしい。
"raster2laser_gcode.py"のエンジンは大きく変更されているので、同時に。

「Raster2」のエンジンに追加した項目は2番目の、
"G28 (X,Y  ホームポジション)"
一つのみ。


ミミの切り落とし代が必要なときなど、任意の場所から加工を始めたい場合は"ホーミング無し"にセットすれば良い。
添付ファイル 添付ファイル


レーザー加工時の「View」の問題

レーザー加工時のアプリとして「Repetier-Host」を案として取り上げたが、単に個人的な馴れによるもの。
このアプリを利用した場合、バッファリング設定分ほどの遅延は発生するものの、加工前のGコードやMコードの実行や、加工中でもレーザー強度や速度の調整が出来るなどの利点がある。
加工前のコード実行は、レーザーの焦点を合わせたり、原点を任意に設定するなど、前準備に不可欠な機能。
(「pronterface」もコード入力ボックスがあり、同様の処理が出来る)

ここで問題が一つ。
下のプラットホームに配置された図形(Beeクラフト)の表示例を見れば一目瞭然だが、ベクトル加工の場合、輪郭線がそのまま加工線となるため形状を把握し易いのだが、ラスター加工の場合まったくと言ってよいほど形状の把握が出来ない。


ベクター系の場合、ノズルの軌跡表示をそのまま加工形状として認識するのに利用出来る。



画像をB/Wラスターとして画像処理する前。



ラスター処理して3Dプリンターのプラットホームに配置したビュー。
走査線とレーザー照射線との色分けが出来ないため、形状認識が出来ない。 
これは致命的な問題となる!



解決策としてレーザーを照射線と、走査線の色を区別出来れば良いが、3Dプリンターの軌跡表示に色分けする必要が無いので、Viewerだけ他を探すしかなさそうだ。

そこで見つけたのが、ブラウザベースの「X NC Viewer」。
表示の切り替えだけでなく、コード編集や編集後のデータ保存まで出来る優れもの。 処理も早い! 暫定的なViewerとして利用出来る。

上と同じラスターデータ。 加工線と走査線が色分けされて認識し易い。


下のアドレスをブックマークして、いつでも誰でも即利用出来る。
高速処理で、トレース状態を動画で確認出来るが、速度をユーザーが調整する事は出来ない。
加工前のラスターデータ確認用のViewerとして利用出来る
https://ncviewer.com/


ベクトル系のレーザー・プラグインにハッチングを利用

前のレーザー加工用の二つのプラグインはそれぞれの役割が違う。
画像を処理する場合はラスター系の「Raster2」、線画や切り抜きを行う際はベクター系の「LazerTool」と言う使わけになる。
当然、レーザー照射をテレビのラスター走査同様、順次走査処理するラスター系の方が圧倒的な時間を消費するため、効率の良い効果を生み出す様々な画像処理方法を試す必要が出てくる。(Raster2プラグインに予めセットされているフォーマットは6種類)
「Raster2」プラグインでのマテリアル切り抜きは処理として向かない。(と言うより事実上出来ない!・・かも?)

プラグインサイトで公開されていた「Raster2」プラグインでの処理画像サンプル


時間節約の一つの方法として、白黒2値で間に合う場合は輪郭になるベクトル線の内側をハッチング処理で塗り潰すという方法もある。

早速ハッチングのプラグインを準備し、シミュレーション。
処理も早く、十分使えそうな結果が出た。("Eggbot"のハッチングエンジンを、"Axidraw"のハッチダイアログで利用する)
下に、ハッチングのプラグインを日本語仕様として添付したので、解凍後「extensions」に投げ込んで利用すると良い。 処理はかなり高速の部類に入ると思う。
ハッチングのプラグインはレーザーに限った事ではない。
セットするフォルダー例:
C:\Program Files\Inkscape\share\extensions


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


妄想から覚醒

妄想から覚めたのでプラグイン公開。
zipファイルを解凍したら、インストール先の「extensions」フォルダに7つのファイルをすべて投げ込んでください。
例:
通常のインストール先は下のような感じ。(↓コピペが早い)
C:\Program Files\Inkscape\share\extensions

結論として、3Dプリンターをレーザー加工と兼用させるには下のプラグインソフトだけで十分。(TTL変換用のLM7805も必要なし!)
他に、何も必要無いと言う事。(コントロールソフトは3Dプリンター専用のものを使うので、これまで通り)

3Dプリンターのヘッドにマウント(これは簡単)さえできれば、自作、中華を問わず明日からでもレーザー加工機に。

レーザーを壊さないために、ここで絶対に守ってほしい事!
下の、ダイアログの赤枠で囲った"数値"、"Mコード"はTTLレベルで出力するための固定値です。 変更しないでください。
PWMの最大値は12Vなので、下の略式を見ると理解できると思います。
255(PWM)÷12(V)✕5(V)=約106 ←24Vボードの場合54前後の数値
0を含めるか否か、ほとんど意味を成さないので突っ込み無しで!

※24Vのボードを利用している場合、FAN出力が5Vになる実測値を設定してください。

所有する24Vのボードを搭載した3Dプリンター(Pxmalion Core I3)のFAN出力実測値は"54"で5Vを指しました。←アナログテスターでの計測

※アナログテスターで実測すれば、ほぼ5Vになります。
デジタルテスターでPWMのパルス電圧を計測する場合、覚悟が必要です。
僕のテスターは気が表示が狂ったように乱数を発生し電池を抜くまで止まることはありませんでした。

現在は回復しています。  





「Inkscape」を起動すると、すべて「エクステンション」メニューに表示されるようになります。


多少のGコードを覚える必要がありますが、10分もかからないでしょう。

3Dプリンターでのプラグインの利用方法は重要になってくるので後日。

「FB」の杉本様が指摘なさってますが、NCの切削加工で利用する場合、8φのリニアバーや、タイミングベルトを使用した機構では強度的に弱く、危険ですのでお勧めしません。 (切れるミルを使い、超低速切削を行えば可能かもしれません)
NC制御に於いてもプラグインはそのまま利用できるので、問題はありません。

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


妄想の続き5 LEDでの検証

検証結果
レーザーに見立てたLEDへの信号はPWMをTTLの5Vレベルで出力。
このままレーザーモジュールを搭載してLEDの線を繋げば完成する!
※TTL変換用の、LM7805も必要無くなりそう!




上の動画に用いた配線状況と、文字画像
プリンター1号機を柱に、予定していたのFAN端子にLEDを接続。


「Inkscape」内で、ドキュメントのサイズをベッドサイズ(200x200)設定し、テスト文字をレーザー図形用にラスター化。
下の画像はプラットホームに対して照射されるレーザーの画像割合。
今回、出力に使ったのは「Raster2」のプラグイン。


色々な状況でプラグインの検証中だが、変数の受け渡しも現時点で問題なし。

あと少し・・。
添付ファイル 添付ファイル


妄想の続き4 一本化作業順調。 中間報告

専用機を所有している人にとって「Inkscape」での制御データ作成は不必要な内容になるので、最初に。

レーザー加工を始めるに前に、「Inkscape」にプラグインするよう、促されたのは下の二つのソースだったが、日本語化する事によって用途分けがハッキリする。

CNC制御や、レーザー加工を別次元から見ている人にとって、目からウロコ的な存在になる可能性が大きい!
レーザー加工に限って言えば、その日のうちに作品が出来上がるかもしれない。
(レーザーモジュールの購入前から大口たたいたが、自信有り!)


「LazerTool」プラグインは、NC切削や、レーザー切断などの加工制御から、XYプロッターによる作図など、幅広い用途で使える。(まだ使えそう・・のほうかな)



「Raster2」プラグインは、"ラスター"のネーミングから想像はつくと思うので説明は省略。(文書による説明がヘタなのでご容赦を! いつか動画の方で)
上のレーザーツールと根本的に機能が異なる。


と、言う事で、レーザー加工に於いてはどちらも必要!
説明できるほどの検証結果が得られたら公開予定!(もう間もなく)

出来てはいるが、正しく使うための説明が重要になるので、ちょっと面倒くさい。


< next