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 3Dプリンターの記事 prev >
>>このカテゴリーの記事一覧

Open Brushless Gimbal

手振れを防げない高齢者にもってこいの撮影補助具!
コンピュータとFirmwareは別だが、いつか作ってみたいモデル。

【3D printed GoPro Gimbal】



Open Brushless Gimbal


「Amazon」などでも様々なタイプが販売されているが、パーツも少なくDIY向き。


コード体系の共有

自作レーザー彫刻機で今でも困るのがアプリの選定。
同じ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」に変換する手順はまた後日?
添付ファイル 添付ファイル


「Pxmalion CoreI3 3Dプリンター」 その後

久しぶりに「Amazon」を覗いたら「Pxmalion CoreI3」 3Dプリンターが表示されたので、なにげにレビューを読んでみた。

色々あったけど、レビューを読むと・・なんだ!、ベッドの歪やアイドラーの回転不良は異常ではなかったんだ。(・・って違うか)








なんだか少し安心した。(これも違うか!)


訳あり 「Coffee Break」

「Inkscape」の新バーションで、気になっていた不具合が解消され、喜んだのも束の間、大半の拡張機能に支障を及ぼす事も判りハマってしまう自体に。

どうにも先に進めないときは「Coffee Break」で逃げるしかない。

偶然、暇つぶしには持ってこいの"S字フック"が必要になり、SketchUpで数分程度の短時間モデルリングでストレス解消。

必要なサイズのフックを作図


実際のプリント時の形状(延長R)


大小5本をプリントして完成!


またも5分以下の手抜きモデリング。(もやはモデリングでは無い!)
※参考にはならないので念のため!


改めて見返すと、この"モタモタ感"に完全な老化現象が・・。
添付ファイル 添付ファイル


スタンド・プリント終了

指掛けの効果は想像以上だった。
今ままでの苦労が嘘のように吹き飛んた。


滑らない、落ちない、片手でポン!
持ち上げた状態。 写真からは少し分かり難い。


俗に言う、"BKの後知恵"。・・なるほど。僕のことネ!


昨日の ドキッ!

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

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

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

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


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

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


妄想の続き3 RAMPS1.4への接続例

※最初に
ここで紹介したレーザーモジュールはすべてTTLレベルでの入力です。
キット、自作を問わず、LM7805(5V。 このシリーズの末尾数字はVレベルを表している)などで必ずTTLレベルに変換してからモジュールに接続してください。
恐らく3DプリンターのFAN出力(12V)をそのままレーザーの信号入力に接続し、最大パワーで出力した際、短時間でレーザーを破壊する可能性があります。

販売されている「レーザーモジュール」を見ると、どれも配線むき出し状態で撮られているものが多く"視覚的"にややこしそうに見えるが、実際はたったの2箇所。(電源を除けばTTL信号入力の1箇所)

3Dプリンターから「レーザー」や「CNC」を制御するための信号出力はPWM(パワー制御の範囲は0〜255になるが十分!)を使用するのが一般的なので「RAMPS1.4」の場合ノズル冷却用の「FAN」端子を使った方が手っ取り早い。

公開されているレーザーモジュールの写真に線を加えて接続すると下のような感じになる。(写真のモジュールは白+と青-がTTL信号の入力線だったのでこうなる)

あまりの雑さに、「FB」のIN様や、SU様、SI様に怒られそうだけど!
時間の節約と言う事で。(ごめんなさい!)

接続例に使った、自作機のコントローラボード(RAMPS)



写真のレーザーモジュールへ配線するとこんな感じになる。
GND線だけ「RAMPS」の端子に2本つながる。


※キットなどの「中華製プリンター」に接続する場合、ベンチュリーの冷却用ではなく、ノズル先端を冷却するファン端子に接続する。
パワーの制御はソフト側で行う



3Dプリンターで、レーザー加工機の妄想2

プリンターのヘッドにどのレーザーを搭載するか検討中!
価格はどれも似たようなものだが、不必要な出力はプラットホームを傷つける恐れがある。

"妄想"などと大袈裟な前振りをしてしまったが、使用するアプリを決定した時点で"レーザーモジュール"さえ購入して搭載すれば、自作、市販品(中華製)を問わず即完成となる。

以下、すべて「Amazon」
2Wタイプ(候補1)




2Wタイプ(候補2)




4Wタイプ(候補3)


実用的な出力なら4W程度のものが必要だろうが、価格差が無いので選択に迷う。

・・あ! その前に「LED」をレーザーに見立てた加工の"シミュレーション"が残っていた。


3Dプリンターで、レーザー加工機の妄想

専用のレーザー加工機を製作してもせいぜい個人的な趣味レベルでの運用。
焦がすか、紙を切って遊ぶ程度の使い方なら3Dプリンターとの兼用で十分。 
プラットホームのサイズも200x200あれば何とか間に合う。

すでに3Dプリンター複合機が多数市販されており、自作機でも同様の考えが通ずる。
早速レーザー加工への妄想の始まりだが、間も無く完成!。妄想である事の所以。



以下、ざっくりした手順と構成

(1) デザインや作図は使い慣れた"Inkscape"。
実装するプラグインは下記リンクから
https://jtechphotonics.com/?page_id=2012

(2) 加工マシンは使い慣れた自作3Dプリンター。(せっかくの"Merlin"を活かす)
(3) Lazerへの信号は"ファン"出力(0〜255までのPWM出力)を「LM7805」で、TTLレベルに変換してレーザー・モジュールに接続。
Amazonだとこれで十分。(1ロットの数がねぇ。・・1個でいいのだが)


(4) プリンターの駆動ソフトは「Cura」か、「Repetier-Host」か、「pronterface」。
「Cura15.x.x」の場合、造形コマンド実行時の図形表示とトレースラインの表示が無いので分かり辛い。
直接GCODEのコマンドを入力できる「Repetier-Host」が個人的にはベスト。

(5) 作成したレーザー加工データを「Repetier-Host」に読み込み、レーザーの焦点を合わせたのち、実行する。

これがすべての手順。

レーザーヘッドが無いのでノズル冷却用の"ファン端子"を「PWM」で出力し、LEDをTTL変換無しでレーザーに見立てて接続。
その後"コード"を「Repetier-Host」で出力して実験予定。
(妄想とは言え、失敗する要素が無いのですぐに成功するハズ!・・と、強気の姿勢)

うまく行けば「シミュレーション動画」のUPがあるかも。(失敗した時の言い訳と反省と自嘲も)


< next prev >