簡易ILDAレーザープロジェクター製作記
皆さんはライブ会場などで飛び交うレーザー光線を目にしたことがあるでしょうか?
これは、レーザープロジェクターという装置が発しているものです。
小さな鏡がレーザー光線を制御するのです。
今回は、コンピュータ制御レーザープロジェクターの製作を目指します。
2007年9月1日
LasershowPartsにて20Kppsのレーザースキャナー(ガルバノメータ)注文。
これは、サーボモータのようなものに小さな鏡が付いたユニットです。
鏡を高速で動かすことにより目の残像でグラフィックを見ることが出来ます。
35000円ほど、オーストラリアに海外送金。
2007年9月19日
中国からやっと届いた!
簡単なコントローラーボードが含まれていたのでテスト。
うおお!、面白ぇ!!
コレはコレで楽しいのだが、やはり内蔵のパターンだけでは飽きがきます(笑。
ILDA規格というレーザー機器専用の規格がありまして。
このスキャナはそれに対応することができます。
つまりILDAインターフェースという装置を使えば、パソコンから制御できることになります。
しかし、一番安い物でも10万円以上とバカ高く、簡単に手を出せるものではありません。
そこで!
簡易ILDAインターフェースを自作します(笑。
2007年9月26日
今回考えたのは、USBインターフェースです。
実際の通信速度はどれほど出るのか分かりませんが、うまくいけば高速なUSB2.0から直接制御出来るはずです。
構造的にはUSB→DAC→スキャナーと簡単です。
パソコンからデータ送信後、USBインターフェースからデータが出力され、DACによりアナログ信号(X-Y)が出力されます。
マイコンからのブランキング信号(TTL 1ch)も同時にスキャナーに送れば制御可能かと思われます。
ストロベリーリナックスさんから発売されているEZ-USB FX2をインターフェースとして使用します。
DACは秋月電子にあった8ビットDACです。AD557JNとかいうやつです。
この部品がUSBインターフェースからのデジタル信号をアナログ信号に変換します。
8ビットというからには256段階にしかなりませんが。
※ちなみにILDAでは16bit(32768段階の表現力)が標準仕様みたいです。
256段階というのは0.00V~2.55Vのことで、0.01V間隔でアナログ出力ができます。
スキャナーの信号入力は10Vだか20V必要なので適当なオペアンプで増幅させれば大丈夫でしょう。
2007年10月1日
とりあえずEZUSB FX2製作です。
部品点数が少ないので非常に簡単ですね。
2007年10月10日
LEDモジュール製作。適当に100Ωぐらいの抵抗挟んでLED駆動させてます。
一応光ってくれています。
EZUSBのファームウェアの開発が必要で資料をあさっていたのですが、やっぱり難しすぎる・・・
ということで、オプティマイズさんのFX2FWを使わせてもらっています。(感謝
このFX2FWというのは汎用ファームウェアで、パソコンからのコマンド通りに動作します。
→http://optimize.ath.cx/FX2_USB/
VisualC++のサンプルアプリケーションを改造して、各種ポートの出力確認が出来たところで速度チェックとします。
8bitのカウントアップ(256回)を79回ループ。
20224回の出力速度チェックをしました。
ポートA,B,Dの同時出力で約5秒といったところです。
つまり、20224/5=4044。1秒間に4000回は出力できる計算になります。
単純なIOポート制御なので遅いかと思いますが、今回の用途では十分かと思われます。
2007年10月12日
DACユニット製作です。
8ビットDACを2個取り付け、ポートA,B(合計16bit)の出力を割り当てています。
残りのポートDの1bit分をレーザーのON/OFFに割り当てます。
ブレッドボードでテストしているのはオペアンプ回路です。非反転増幅回路にしています。
ゲインは1+R2/R1で10Vまでの増幅分を計算すればOKです。
2.55Vを間違って2.56Vで計算して買ってきてしまったので、テスト回路では93と32Ωを使っています。
まぁ最大出力が10Vではなく10.284Vになっている時点で誤差の範囲だと思いますがw
2007年10月13日
レーザーユニットの製作。
共立エレショップから購入したDPSSレーザーです。最初に電源の配線をします。
基板上のチップが結構発熱するので放熱用のシリコン?もおきます。
ジャンクPS2から取り出したものです。
このように放熱板で囲って完成。
外部から明るさを制御できるように電圧制御、変調ユニットを作っています。
本当は電流制限なんでしょうが、面倒なのでこのまま進めます。
負荷をかけて最大3V出力になるようにしています。
変調といってもOn/Offを制御するだけです。
今回は2SC2500だけでTTL信号入力→レーザー電源制御としています。
2007年10月14日
一応完成?
とりあえずは動きそうなので簡単なプログラムを組んでテストします。
ILDAの規格に沿って、D-sub25ピンコネクタで作りましたが、厳密に従ってるわけではありません(笑。
2007年10月15日
C言語でちょろっと制御プログラムを作ってみる。
ちゃんと描けてるー!!
文字はどうかなー?と思って1時間かけて座標に起こしてプログラム組んでみた。
ごめんなさいごめんなさいw
んー、なんか安定しないなぁ。
2007年10月23日
とりあえずタカチのケースに組み込んでみる。
高校の文化祭で出すことになったので。
意外にしっかりしてるのね。このケース。さすが8000円なだけはある。
パネルがアルミなのに硬すぎるorz
2007年10月26日
完成!!!
でもまだ、グラフィックが安定しないorz
これインターフェースだよな。問題は。
2007年10月28日
問題解決!!
なんだかオペアンプ通すと低電圧帯がふらつく模様。
適当な汎用オペアンプじゃダメですね。
→DAC直結w
そして、制御用DLL開発。
EZ-USB FX2 [FX2FW] IO Control DLL
2007年10月31日
オペアンプを通さないでチェック中。
安定動作すぎる(笑。
とりあえずインターフェース完成?
DACそのまま出力だから、レーザーの振れ幅が狭くなるな。
最大10Vのところ2.55Vだもんなー
状態表示LEDも配線。
2007年11月1日
文化祭やー!!
プログラムがぁ・・・間に合わない!!
いや、途中までは作ったんだけども。
やあ。(笑
2007年11月2日
とりあえず生徒だけに公開の日だったのでプログラム組む。
レーザークロック完成(笑。
適当ですが、レーザーデモもギリギリ間に合いましたー。
レーザーデモの様子は以下動画参照。
ちなみにフォグたいてます。
→Laser Projector Demo @ Homebuilt ILDA Interface
今後の課題はインターフェースの改良ですかね。
2007年、11月7日
現段階での回路図公開。
EZUSBの出力にDACつけているだけです。
使用している部品のリスト。
・EZUSB - FX2 (Strawberry Linux)
・AD557JN(秋月)→扱いが無くなったようです。別のDACを使う必要あり。
・2SC2500(千石)
・緑色レーザーモジュール(共立or秋月)
・スキャナーユニット(LasershowParts)
ちなみに。
EZUSBのドライバはサイプレスの開発セットをインストールすればOkです。
最初にファームを書き込んでしまうと、あとからドライバのインストールができません。
これについては調査中であります。
学んだこと
・USBでリアルタイムは難しい。
後で調べたところ、USBでは1ms単位でパケットスケジューリング転送しているため、
ターゲット側でバッファリングが必要。
リンク・資料等
・レーザープロジェクタの製作
作るきっかけを与えてくれたサイト様です。
・CyberBrainSystem -Laser Show System-
ウチのサイトを参考にしていただけたようです。
少しでも役にたてて何よりです。
出展
・Make: Tokyo Meeting
・Make: Tokyo Meeting 02
また、自分の高校の文化祭と某大学でちらちらっと。