2014年6月7日土曜日

Impact / Laser Engraver plugin は何をやっているのか

 
なんとあのTOMTOMさんから連絡をいただきました。Impact / Laser Engraver plugin を改造していらっしゃるすごい方です。
私にも改造版を使わせていただけるようお願いしましたところ、ご快諾いただきました。
TOMTOMさんありがとうございました。

といいつつ、まだTOMTOMさんのプラグインには手がついておりません。その前に改良の元となったImpact / Laser Engraver plugin が何をやっているのかを調べようと思ったのです。Impact / Laser Engraver plugin についてはすでに数回にわたり投稿しております

で、調査です。
話を簡単にするために以下の画像を 640*400dot で準備しました。





グレースケールを記載の通りの濃度でべた塗りしたbitmapファイルです。これらを使ってパルスがどのように出ているかを調べました。
100%から濃度を落としながらパルスをモニタしたのがしたの画像です。DSO Quad のファームを換えてから画面のキャプチャがうまくいきませんので、デジカメで画面を撮影しています。見難いですがご容赦ください。


100%


75%


50%


25%....時間軸が倍になっております。


これからわかるのは「変化しているのはパルスの間隔であって、パルスの幅ではない」ということです。 パルス一発を拡大すると以下のようになります。


ほぼ40usecといったところ。ではこのパルスは何をトリガに出ているのでしょうか。
仮にパルスの幅が変わっているのであるとすれば、それはピクセル毎に出ている、つまりピクセルが隣に移る位置をトリガにして出ている可能性が高いでしょう。なぜならそれが最も簡単な濃度制御だと思われるからです。
ですが、この観察からパルス幅は変化しておりません、ということはパルスはステップ毎に出ている可能性が高いです。そこで、条件を整えてどちらが正しいかがわかる観察をやり直します。

現在のモータ駆動条件は 85steps/mm ですので、85pulse で1pix になるように描画サイズを横 640mm に設定します。画像サイズが 640*400dot なので、640*400mm に描画すれば 1dot が 1mm 角になります。
速度はとりあえず 10秒 かかって1回のスキャンをするスピード、つまり 64mm/sec = 3840mm/min とします。これすなわち 5440steps/sec ですので、1.84msec/pulse ということになります。また 64pix/sec でもありますので、15.6msec/pix とも言えます。

この条件でパルスを調べます。1.84msecをベースにパルスが出ていれば、パルスはstep基準で、また15.6msecベースで出ていればピクセル基準であると言ってよいと思います。

100%


75%


50%....横軸二倍


25%


この結果から、パルスはstepベースで出ていると結論できます。

と い う こ と は で す よ、
描画の階調はピクセルあたりのパルス数以上には出ないことになりますよね。
たとえば 1ピクセルあたり縦横 10step の条件を考えます。これは私のマシン(85step/mm)の場合、8.5ピクセル/mmとなりますので、640ピクセル角の画像を 75mm角 程度のサイズに描画する場合に相当します。このとき 1ピクセルあたり撃つ/撃たないを選択できるマスが100個しかありませんのでどんなにがんばっても100階調以上は出ないことになります。

ちなみに75% のときはどのような間隔で撃たれているかというと、4回のうち3回の繰り返しという感じです。ランダムではないので描画結果にモアレのようなパターンが見えそうな気もします。私のマシンにはそんな精度は無いと思いますが。


これらの結果からわかることがもうひとつあります。それは描画効率です。
パルス幅が40usecで固定ということは、速く描こうがゆっくり描こうが結果は同じということです。ゆっくり描くと40usecだけパルスを撃って、あとは次のステップに移るまで何もせずに待っているだけということになります。
反対に、速く描くと単位時間当たりのエネルギー投入量が増大していきますので描画効率は上がっていくことになります。パルス幅が40usecということは、私のマシンの場合、 17600mm/min 程度まで速度を上げると、真っ黒を描画したときにちょうど40usecのパルス同士が隣り合うようになります。これが私の条件での最大効率ということになります。

その様子がこちら。


ちなみにそのときの75%


50%


25%


Impact / Laser Engraver plugin が何をやっているのかがおおよそわかってきました。

と同時にマシン改良のためのヒントも出てきたように思われます。
といいますのも、私が使っているレーザ電源は40usecという短いパルスについていっているか不安があるからです。
ちょいと前に調べたときは、入力の矩形パルスに対するレーザの電流波形はこんな形でした。


なんかついていっている感じがしませんよね。電源からも変な音がするし。
まあ描画はそれなりに出来てはいるので気にしなければ良いだけかもしれませんが、出来れば描画の間はきちんと矩形のパルスに反応してほしいと思います。そのためにはパルス幅を広げる、つまり今40usec固定になっているパルス幅を広げて電源がついてこれるよう時定数を合わせる事が有効ではないかと考えています。パルス幅を広げると当然描画速度の上限は下がってきますが、たとえば上で計算した 17600mm/min が1/3くらいになったとしてもあまり問題はないと思っています。
今回の評価でプラグインの動作はほぼわかりましたので、描画させる絵とサイズ調整でよい落とし所を見つけられると思います。
パルスを伸ばす/可変するのはPICで簡単に出来ると思いますので、今度トライしてみたいと思います。


0 件のコメント:

コメントを投稿