全方位赤外線センサを作ってみた
目的
対戦型の光線銃は、全方位から赤外線信号を受信(被弾)する必要があります。センサーを増やさず、光学的に実現してみました。
参考資料
サイバーショットおよびX-TAGの写真から、センサ部分に円錐状の反射鏡が搭載されている様子が確認できます。(X-TAGは残念ながらクラウドファンディングに失敗し、販売中止となっています…) game.watch.impress.co.jp
3Dプリンタ出力型とヒートプレス手法により、塩化ビニルのミラーシートから反射鏡を作る方法を参考にしました。 yunit.techblog.jp
反射鏡を微小ミラーに離散化して光エネルギー密度を求める手法を参考にしました。 www.fintech.co.jp
座標データをFusion360にインポートする方法を参考にしました。 knowledge.autodesk.com
準備
3Dプリンタ(Adventurer3) flashforge.co.jp
塩化ビニルのミラーシート
塩化ビニルの透明シート
赤外線受光モジュール(OSRB38C9AA) akizukidenshi.com
反射鏡の計算手法
受光モジュールの指向性特性を確認します。
センサの正面の感度が高く、真横ではほとんど検出されないことが分かります。
円錐型の反射鏡をセンサの正面に設置することで、受信範囲を全方位(上下を除く)にすること目標とします。
以下は反射鏡がある場合の指向性特性の計算方法です。
反射鏡に微小ミラーを想定します。光源の立体角θn+1からθnを半径方向の分割数Nで割ったものが微小ミラーが占める立体角となります。
光源径(実際はセンサ径)をdとし、微小ミラーに到達する光の立体角αnを求めます。無限遠スクリーンに照射される範囲は、ピンホールカメラと同じ原理で同様にαnとなります。
微小ミラーが受け取る光エネルギーは、全立体角に対する微小ミラーの立体角の割合で求めらます。
無限遠スクリーンを微小角度毎に分割し、仮想的な光センサーを配置します。
光源の立体角毎に、光センサーに照射している場合は、その光センサーにエネルギーを加算していきます。このとき、光源の立体角毎に、受光モジュールの指向性特性を掛け合わせておきます。
以上より、無限遠のスクリーンにおける光エネルギーの強度分布が求められます。光源を受光モジュールに、無限遠のスクリーンを赤外線LEDに戻して考えると、得られた光エネルギーの強度分布が、反射鏡を考慮した受光モジュールの指向性特性となります。
反射鏡形状をうまく設計すると(2次関数の組み合わせで曲線を作ったり、Excelのソルバーで最適化したり)、用途に応じた特性を得ることができます。 これはハンドガンに搭載するセンサ用で、ハンドガンが大きく傾いても感度が落ちないような特性を狙っています。 一方、頭部に載せるセンサ用は、対戦中はそれほど傾かないことから、長距離の通信ができることを狙っています。
バキュームフォームによる反射鏡の作成
- 計算で得られた反射鏡の座標をFusion360で読み込みます。スプラインのインポート機能を使用します。
- Fusion360上でバキュームフォーム用の型をモデリングし、3Dプリンタで出力します。材質はABSフィラメントを使用しました。PLAよりは耐熱性が高いです。
- バキュームフォームにより、型の形状を素材(ミラー塩ビ板)に写し取ります。バキュームフォームの作業はこんな感じです。(別部品です)
バキュームフォームは何とか成功。 pic.twitter.com/nvcVFtwhBn
— Nii (@neet2121) 2019年10月7日
4. 反射鏡を収める透明なケースもバキュームフォームで成形し、切り出した反射鏡をボンド(スーパーXクリア)で接着します。
結果
センサ真横からの通信に成功しました。正確な指向性特性の計測はできていません。
全方位赤外線センサできた!反射鏡の計算は間違ってなかった!#M5Stick pic.twitter.com/3ZpJav42yX
— Nii (@neet2121) 2019年12月5日