パスワードを忘れた? アカウント作成
566796 journal

espyの日記: 自作派向け 家庭内コントロールバス案 8

日記 by espy

先日の鍵が開いていた件 以来、鍵を補強するグッズやら、
こんな監視カメラを買って置いたりもしているが、
やはり何というか、複数の場所にセンサ類や警報の発音体を設置して、
それらを結んでトータルにモニタしてみたいという欲求が湧き始めている。
ドアや天井に開閉センサや人体センサを置き、電灯にはSSRをつけて
自動で点灯/消灯させるとか、複数の場所にアラームの発音体を置くとか
して、それを何らかのCPUでまとめて制御したい。となると、ホストが
1個でスレーブデバイスが複数、信号線の引き回しは数~十数メートルの
バスが必要だなぁ、と考えるようになった。
ここで、LANとかBluetoothを使えば?なんて言うなかれ。そういう
高級なものはサンデープログラマには荷が重すぎる。それに、パソコンの
世話にならないと動けない仕様のものは使いたくない。スレーブ側は
どうせPICマイコンとか使うだろうし。ホスト側はOpenBlocksとか
L-CardとかT-Engineとかになるかも。(停電時も電池で動けるものがいい)
I2Cは一見良さそうだが、Highをプルアップ抵抗に頼っており、
何メートルも引き回すのには向いていない。

そうなると、シリアルポートを利用するのが簡単そうだけれど、シリアルは
1対1通信なので、これを少しいじって1対多にできないかと考える。
ホストの送信データ(TxD)は複数のスレーブで受ければよいとして、
複数のスレーブからのTxDを、"ぶつからないように" ホストで受ける
手だてを考える。
昨年6月のROBO-ONEテクニカルカンファレンスで、ANDゲートを使った、似た構成が紹介されたが、私が思いついたのは以下のようなもの。
    ・バスは4線。TxD, RxD, +5V, GND。
    ・I2C同様、二つの信号線 TxD, RxDに、スレーブのRxD, TxDがぶら下がる。
    ・スレーブデバイスはPICなどのマイコンで、バスの+5Vで動作。
    ・N-chの小信号スイッチング用FETを使う。スレーブのTxDは
        抵抗分圧で約3Vに落として、FETのドレインに接続。
    ・4線バスのRxDには、そのFETのソースを接続する。複数の
        スレーブのFETのソースが、1本の共通の線につながることになる。
    ・FETのゲートはマイコンのI/O出力ポートで制御する。
N-chの小信号FETは Vgs(th)が2V(max)くらいのを使う。このFETは
ゲート・ソース間の電位差が1.5V程度あればドレイン・ソース間が
導通する。マイコンの電源が+5Vで、TxDは3Vに落として使うのがミソ。
スレーブから出力するTxDは0V~3Vの範囲だから、ゲートにI/Oピンで
High(約5Vになるだろう)を与えれば、Vgsは確保され,ちゃんと導通する。
ホストはスレーブの誰か1つを指名すると、発言権を得たスレーブは
FETをオンしてホストに向かってデータを出せる状態にし、通信が終われば
FETのゲートをLowにしてHi-Z状態になる、という仕組み。

言葉で書くのはもどかしいな...週末に図を書きますので。はい。
Vgsが低い電圧でオンするFET、アキバだと手に入りにくいかも。
その場合はスレーブマイコンのI/Oを2本使い、H/Lを互い違いに出して
交流のような状態にして倍電圧回路でゲート電圧を作る案もアリ。

土日に実験してみるかな...また秋月に行かないと。(^-^;)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...