FC2ブログ
鉄道模型 自動運転への道
鉄道模型ビギナー・電子回路アマチュア・ソフトウェアそこそこの管理人が、鉄道模型の自動運転・自動運行を最終目標にあれこれ試しています。
誤作動の少ない光学式車両センサーの回路
s6809sensor2.jpg

車両の検知に使っている光学式のセンサー、当たり前のように使っているが説明していなかった。

光学式のセンサーと言えば、赤外線LEDと受光部が一体になった数十円で手に入るフォトリフレクタがある。
しかし何もせずにこれを使うと誤作動が多いだろうと思う。
試しに入手してみたことがあるのだけど、受光部にペンライトなどの光を当てると確実に誤作動した。
そういう原理なのだから当たり前で、ちゃんと使おうとすれば外部に追加回路が必要。

そこで、浜松ホトニクスのS6809というICを使うことにした。
秋月電子で取扱いがある。こちら
S6809は光変調型フォトICという名の通り、LEDを変調して発光させるドライバーと、その変調光を受信する受光部が一体になったもの。
電源のほかに赤外線LEDと抵抗を外付けするだけで動作する。
試している限りでは誤作動したことはなく、非常に信頼性が高そう。

Sensor_S6809.png

フォトインタラプタとして使用するのでこのように組み立てた。
s6809sensor.jpg


S6809と赤外線LEDの位置関係によってフォトインタラプタ(光が遮られたら検出)としてもフォトリフレクタ(反射光で検出)としても使える。
かなり感度が良いので、フォトリフレクタとして使い、S6809もLEDも線路の下に設置して車両の底面による反射で検出することもできると思う。
逆にフォトインタラプタとして使う場合はこの感度の良さから、少し構造は考える必要がある。
感度が良いがために、どこかで反射したLEDの光でも検知してしまうのだ。
私はLEDの電流制限抵抗を大きなものにして光量を減らし、光も四方八方に放射されないようチューブを被せるかLEDの外周を黒い塗料でペイントしたりしている。
車両によって十分に遮られる高さに設置するならそのままでも使えるけれど。

今やっている自動運転の実験では、このセンサーを 車両検知の予備実験(2) と同じく秋月の「FT2232D USB-シリアル2ch変換モジュール」に接続しただけだ。

BDL168を手に入れたのでこんなセンサーはもう出番がないかと思いきや…
検出される位置の精度の低さと方式上の制約で、私の用途ではBDL168そのままでは使い物にならない。
光学式だって車両が検出される位置は曖昧だが、一度設置してしまえば繰り返しの精度はBDL168より遥かに高い。
結局、BDL168本来の線路からの電力消費ではなく、このような光学センサーの出力でBDL168を動作させるハメになりそう。
関連記事

テーマ:模型・プラモデル - ジャンル:趣味・実用

コメント
コメント
FT2232DとS6809の接続について
はじめまして、私もDCC鉄道模型レイアウトの製作を計画しております。DCC制御の腕木式信号機を光変調型フォトICで車両検知した上でLocoNetではなくZ21に対しUDPで信号を送出して自動制御しようと計画しており、いろいろとその方法を調べていたところでAkioRailway様のブログにたどり着きました。ICについては初めてなもので、S6809とFT2232D接続の具体的な接続方法について、いろいろ調べてもどうしても分かりませんでした。どの端子とどの端子を接続されたのかについてご教授いただけますでしょうか。
2016/11/28 (月) 00:00:53 | URL | ふうたん #4NYngCOA[ 編集 ]
Re: FT2232DとS6809の接続について
ふうたんさん、はじめまして。
S6809の出力(Vout)とFT2232Dの接続ですが、もう本当に、S6809のVoutをFT2232D等の入力端子に直結するだけですよ。※1
S6809のVccは、要約してしまえばFT2232DのVCCIOA(VCCIOB)に直結してしまえば大丈夫です。※2
GNDはS6809,FT2232D(,USB)で共通にします。

※1
S6809とFT2232DのI/Oの接続ですが、もっともらしくわかったようなことを言うと、S6809のVoutはプルアップされていませんがFT2232Dの入力端子は内部でプルアップされているので直結で問題ないのです。(実は今調べました…)
※2
秋月のFT2232Dモジュールを使っていてモジュール上のJP2A(JP2B)がジャンパーピンでショートしてある場合、FT2232DのVCCIOA(VCCIOB)はUSBの+5Vから供給されているはずです。これをS6809にも供給します。

こんな感じなのですがどうでしょうか。
うまく行ったら教えてくださいね!
うまく行かなかったらv-8…また相談してください。
2016/11/28 (月) 10:40:39 | URL | AkioRailway #-[ 編集 ]
ありがとうございます
迅速なお返事ありがとうございました。秋月電子でパーツもろもろを購入して試してみたいと思います。この方式ですとUSB 1ポートにつきVCCIOA, VCCIOB2つのセンサーまでになりそうですね。
2016/11/29 (火) 00:18:22 | URL | ふうたん #4NYngCOA[ 編集 ]
Re: ありがとうございます
ふうたんさん

>この方式ですとUSB 1ポートにつきVCCIOA, VCCIOB2つのセンサーまでになりそうですね。

いえ、A,B両チャンネルをパラレルI/Oに設定して各チャンネルのD0~D7それぞれにS6809を接続することでセンサー16個まで対応できるはずですよ。
(私の場合は片側をシリアル(Loconet)として使っているのでセンサー8個までです)

VCCIOA/VCCIOBはただの電源ですので、ここから全てのS6809とLEDの電源を取るというだけです。
ジャンパーを変更しなければVCCIOA/VCCIOBどちらもUSBの+5Vに直結されています。
本当はUSBの+5Vからは500mAしか取ってはいけないはずなので対策しなければなりませんが、LEDの電流を小さ目にしていることもあってかセンサー8個では不具合は生じていません。
そうでない場合は、バスパワー駆動のUSB外付けHDDで使われるようなPC側二股のケーブルを使うといった方法もあると思います。
2016/11/29 (火) 09:52:32 | URL | AkioRailway #-[ 編集 ]
できました
いろいろと試行錯誤した末、何とかRaspberry pi 3でセンサーの状態を検出できるようになりました。いろいろとご教授いただきありがとうございました。
2016/12/04 (日) 20:14:14 | URL | ふうたん #4NYngCOA[ 編集 ]
Re: できました
おめでとうございます。
FT2232DではなくRaspberry PiのI/Oにセンサーを接続したということでしょうか。
私の本業は計測関係のソフトで、DCCなどデジタル制御がやっと一般化してきたことでスキルを趣味に生かせるようになってきて楽しい所です。
もっとも、UNIX系は知識が乏しいのですが…。
大昔、卒論でX window system上で動くCGのソフトを作ったり、お遊びでインストールしたLINUXのカーネルをビルドしたことはあるのですが根本の知識がないのが弱い所です。
そのため興味がありつつもRaspberry Piには手を出していません。面白そうなんですけれど。
2016/12/05 (月) 16:40:39 | URL | AkioRailway #-[ 編集 ]
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
トラックバック
copyright © 2019 鉄道模型 自動運転への道 all rights reserved.
Powered by FC2ブログ.