こんにちは。
ここ最近の記事では、BaseStationから赤外線信号を読み取り、トラッキング対象の座標を算出する方法についての理論をメインに話してきました。でも、理論だけ勉強していたとしてもモノが完成するわけではないので、そろそろ実装編に移っていきたいと思います。
まず、座標を計算するためには、なんといっても赤外線信号を受信する必要があります!この赤外線信号はPhotoDiodeを用いることで受光できるようになります。今回は受光用の回路構築をし、実際にBaseStationから赤外線信号を受光できるか試してみた話です。
回路の実装
回路はこのサイトを参考に、日本で購入できる部品を用いて実装しました。
回路
回路図は下図のようになっています。D2のPhotoDiodeで赤外線信号を受光しています。受光できる赤外線信号は非常に弱いものであり、中央にあるオペアンプに2回通すことでマイコンで読み取りやすい波形に増幅しています。1回目と2回目の増幅の間で、C6とR3によるハイパスフィルタが咬まされています。R17とR20は3kΩを作り出すために並列にしているらしいですが、この値が重要なのかは私にはわかりません。
使用部品
- 抵抗:100kΩ、47kΩ、8.2kΩ、4.7kΩ
- セラミックコンデンサ:0.01uF、5pF
- オペアンプ:NJM2746M
- PhotoDiode:大面積Si PINフォトダイオード 900nm S6967
※オペアンプは表面実装のモノを使用しており、ブレボで実装したい人は別の型番を買うことをおススメします!
※4.7kと47kΩの抵抗を何度も買い間違い、47kΩの抵抗が300本手に入りました。皆さん気を付けてくださいね。
実装物
写真右側が今回構築した回路です。オペアンプが表面実装のものなので、DIP化してから使用しています。
実際のBaseStationで試す
蛍光灯のある環境
まず手始めに蛍光灯環境下で試してみました。
結果としては、環境光のノイズが強すぎるのか、まったく読み取れない結果となりました。使用したPhotoDiodeはピーク波長が900nmの赤外線ですが、400nm程度の波長光でも余裕で読み取れるので、このような結果となったのだと考えられます。
ちなみに、センサ部の頭の方を強く指で押さえると、少し読めるようになったりはしていました。
蛍光灯を消した環境
環境光が強いノイズとなっていたため、電気を消して受光テストしてみました。
環境光のノイズがなくなったため、うまく信号を受光できていることが分かります。安物の携帯オシロでも、同期のBlink信号や位置推定に用いるsweep信号を読み取れていることが見て取れますね。ただし、各パルスの前後に微弱なノイズが載っているのは気になるところです。
おわりに
始めて受光テストをしたとき、ここまでノイズに弱いと思っていませんでした。電気を消しても多少ノイズが残っており、ただ環境光を遮断するだけでは問題がありそうです(反射とかも原因してそう)。これを解決するためには、赤外線透過フィルタを用いる必要があると考えられます。
今回で赤外線信号が受光で来たので、それを基にパルスを読んでいけたらと思います。記事の投稿間隔は少し空いてしまうかもしれませんがご容赦ください。
それでは。