2005年の光ケ丘インラインフェスティバルに向けて作成した、光電管システムについて回路と動作についての説明を記録しておきます。
前提条件
目的はインラインスケートのスピード測定なので、その前提で考えます。30mを5秒程度で疾走する速度の足が通過するのを検出できないといけません。足を10cm程度として、余裕を見て10m/sで通過するとすると、通過時間は10msとなります。この時間の光束の遮断を検出できれば良いことになります。
次に検出の距離ですが、最低でも機材をパイロンの位置から左右に1.5m程度は開けておかないと、安全性(人にも機材にも)が確保できませんので、3m以上の間隔を開けても上記条件を確保できないといけません。
動作概要
以上を踏まえて概要設計です。まずは検出部。フォトダイオードを使うと微小電圧のアンプのSN等々のアナログ部分で苦労するのも嫌だし、そもそも再現性悪くなると頒布とかもしにくくなるので、お気軽に赤外線リモコンの受光ICを使っちゃいます。どこぞのページで見たアイデアですが、いただいちゃいます。確かに長距離の伝送にも耐えるし、日光やインバーターなどのノイズ耐性にも強く作られているので、好適です。さらにフォトDi,フォトTrを使ってDiscreteで組むのより、遥かに安い。秋葉原価格だとフォトDiとあんまり値段変わらないです。
ということで、リモコン用の受光ICを使うので、赤外LEDは38KHzで変調することになります。ここで、ただ38KHzで変調した信号をず〜っと流してしまうと、あっという間にAGCが順応してしまって出力が出なくなってしまいます。そこで、ちょっと出しては休み、ちょっと出しては休みということで発光させてやらないといけません。休みの間に通過されてしまっては検出できなくなってしまうので、余裕を見て593.75Hz(38kHzの64分周)で発光/停止を繰り返すようにします。これで1.7msに1回は発光することになります。1/8デューティーとしたので、1発光周期に38kHzのパルスが8個入ることになります。
これを受光すると、593.75Hzのパルス信号が得られることになります。これの歯抜けを検出するわけですが、メインクロックを用意するのも大げさなので、今回はリトリガラブルのワンショットを使いました。
ワンショットマルチバイブレータのリトリガラブルってところがミソで、これをうまいこと使ってあります。(自画自賛)ワンショットの定数を今回は3.7ms程度にしてあります。ここにパルス信号が入ってくると、Qが3.7msだけ出力されます。が、パルスは1.7ms毎にやってきますから、3.7msのパルスを出している間に再度トリガがかかって、そこからまた3.7msのパルスが出力されるわけです。となると、ずっとパルスは出っぱなしになって、QはHに張り付いてしまうわけです。
ここで、光束を遮ってパルスが抜けるとどうなるでしょう。最後のパルスから3.7ms以下で次のパルスが来ないと、いったんQはLに落ちてしまいます。ということは遮断の検出パルスが得られたことになります。このネガティブエッジをトリガにして、さらにワンショットで検出パルスを作っています。(モニタ用のLEDで目視しやすいように長めのパルスにしてあります)
受光部側では以上の回路を2組左右に実装してあります。各ブロックからの出力をまたまたワンショットをに突っ込んであって、互いにQバーを相手のCLRとBに接続してあります。これで、先にQが出たほうが優先で、相手をクリアかつトリガ禁止状態に固定することになります。QからLEDに出力すれば、先着判定ということになるわけです。
左右のレーンに配置した赤外線投光器のクロックは同期していませんので、片方の発光休止期間中に別のレーンの遮断が検出されることがあるので、厳密に言うと1.7ms以内の先着は誤判定をする場合がありえます。6m/sで走行してきているとして、1cm以内の差は誤判定する可能性があることになります。これを避けるためには、クロックを同期してやるしかないですね。富士電機の光電管のように反射型にして、全部を一ヶ所にまとめてやらないと難しいですね。(これはこれで赤外線の漏れや近接反射の影響があって難しかったので、投光器/受光器分離型の構成をとっているわけなんですが)まぁ、人間の判定よりもだいぶ精度が高いので勘弁してください。
細かい回路の説明に入りましょう。まずは回路図を掲載。
送信機
標準的なCMOS Logicの4060を使った発振&分周回路です。3V電源(単3 x 2本)を前提にしていますが、若干発振しづらいこともあるようです。もう少し定数を直すべきかも。4.5V以上なら楽に発振してくれます。38kHzの水晶は秋月にあります。4060は若干入手しずらくなっているようですが、鈴商にはまだ残っているようです。4069で発振して4040で分周するようにでもしたほうが良いかもしれません。フラットパッケージ品を使ってパターン設計をする際にはそっちかな。
38KHzの信号(P0)とQ4(16分周)、Q5(32分周)、Q6(64分周)の4つを4081でANDを取って、1/8デューティー(P0で64クロックの先頭の8個だけ出てくる)のLEDドライブ用の信号を得ます。(波形)所望の信号が出たら、あとは赤外線LEDをドライブしてやるだけです。赤外LEDには、三洋のSLR-932Av-7Kを使いました。千石電商で買えます。変な反射光が出て誤動作しないように、LEDには黒い熱収縮チューブを被せて、光軸以外に不要な輻射がでないようにします。
FETはIdssが1A程度あるPowerMOS FETなら何でも良いかなと思います。これも手持ちの表面実装品を使いました。電源電圧も低いので完全にスイッチしませんけど、電流が150mA程度なので大丈夫でしょう。10Ωの抵抗は150mA流すので、0.15x0.15x10 = 0.225Wの損失に堪えないといけないわけですが、パルス駆動でDutyが1/16になるので(1/8の出力期間のDutyも50%だから)14mW程度あれば良いので、チップ抵抗でも大丈夫なはずです。
受信機
リモコン受光ICは38KHz品ならなんでも良さげなんですが、秋月で買える物ではCRVP1738が対ノイズ性とかも良い感じがしています。回路図のPL-IRM0101はちょっとノイズ(日射なども含めて)に弱い気がします。動作は概要の方で既に述べてあるので、あまり説明は必要ないでしょう。青、緑、黄色のLEDはVfが高いので、赤のLEDと比べて電流制限抵抗も小さめです。すべて秋月の高輝度品(超は付かない程度)を使ってあります。別に見えれば何でも良いと思います。
電源はリモコン受光ICが5V品なので、5Vです。81350は低ドロップの3端子レギュレータです。もう生産中止なので、秋月でリニアテクノロジーの代替品に変わっています。手持ちのストックがあるので、これを使ったまでです。LEDのドライブには定番のロームのデジトラを使ってありますが、最近のロジックIC(AHCとかLVとか、なんかそんなの)でも入手できれば、20mAくらい引っ張れるのもあるらしいので、そのままでもLEDの点灯くらいできちゃうかもしれません。パスコンは回路図に入ってませんけど、適宜挿入してください。
今後の予定
これをさらに改良してストップウォッチと接続するインターフェースができています。この受信機の出力に定電流出力のドライブ回路をつけて、長〜い電線の向こうのフォトカプラをドライブするようになっています。まだ、ごくごく単純なものなので、これも改良して掲載したいところです。
さらに、30mのケーブルを取り扱うのも面倒なので、スタート/ゴール間のワイヤレス化に取り組んでいます。いまのところの有望株はストロボによる検出。いちおう20mくらいの距離なら検出できることが確認できていますので、これを完成させて公開したいところです。
後は、単純なストップウォッチでなくて、マイコンを使ってもっとインテリジェントなシステムとして計測システムを作り上げたいところです。いろいろ構想だけは盛り上がっているので、請うご期待ってところでしょうか。もちろん屋外使用が前提ですので、パソコンレスです。