- ベストアンサー
抵抗分圧で挿入位置を判定する方法
- 複数の基板パッケージをバックボードに挿入し、バックボード側の抵抗分圧をパッケージ側のMPUの逐次比較型ADCで変換する方法について教えてください。
- バックボード側で約5VとGND間を10個の同じ値の抵抗で直列につなぎ、抵抗間から各パッケージのADへ入力する方法を考えましたが、活線で途中に挿入すると判定が間違うことがあります。
- 抵抗分圧が200μAの電流によって狂う可能性があるかどうかについても教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
おまけ。一つのADの入力電流だけでどの程度電圧に影響するか念のため計算します。10個の抵抗の中点に注目してここからADの入力電流200μAを引き出します。この中点の電圧をVとします。また抵抗器5個の合計の抵抗値をRとします。5V電源から供給される電流をI。 抵抗の上半分5個の電流は(5-V)/R=I ・・・(1) 抵抗の下半分5個の電流はV/R=I-0.0002 ・・・(2) (2)よりI=V/R+0.0002 (1)に代入して (5-V)/R=V/R+0.0002 V=(5-0.0002R)/2 ADの入力電流を取り出さないときのV点の電圧は5/2(V)なので、ひとつの入力電流によって0.0001R(V)の誤差が生じることになります。5Vを10分割する電圧は0.5Vですが、200μAを途中から取り出すことで0.5Vの誤差を生じる抵抗値はR=5000Ω、つまり抵抗器ひとつが1000Ω以上の場合は途中から200μAを取り出すことで隣の抵抗器の電圧になってしまう。プログラムの判断の境界はその中間の電圧でしょうから、抵抗器が500Ω以上の場合確実に誤認識が起きることになります。ADの入力電流を止めるためにポートの設定を変えようとはアイデアではありますが、判定するポートに入力電流が流れる以上危険領域であることは変わりません。分圧の電流を10倍流すとか、ADの入力にオペアンプを入れて入力電流をほとんどゼロにするとか、考えた方がいいと思いますよ。
その他の回答 (3)
- TIGANS
- ベストアンサー率35% (245/681)
状況は良く分からないけど バックボードへのMPUボード実装位置IDをアナログ電圧から判定して設定したいということですか? 自分がやるとしたら MPUのAD入力ピンは入力専用端子なのか? かな。 とりあえず各抵抗にコンデンサを並列にいれてみるとか。
お礼
ご教示ありがとうございました。 やりたいことはその通りです。AD入力は設定によりGPIOにもなります。 コンデンサはどういう原理で入れますか(ソフト屋で電子門外漢でして)
どうでしょうとは計算してくれと言うのでしょう。抵抗値は数百Ωと言うなぞなぞですから100~900Ωです。100Ωの時抵抗だけで5mA、900Ωの時0.555mAで、この電流で10分圧を検知するのですから途中から200μAが流れたり止まったりすると分圧の順番が入れ替わるのは有り得ることになります。いまさらADの入力にオペアンプでボルテージフォロアなんか入れたくないでしょうから分圧の抵抗値を10Ωにすることじゃないですか。電流が50mAになりADの入力電流の250倍になり10分割しても運がよければ判定できそうです。もっと低くしたいくらいです。回路を文学で表現する人は何を計算すればいいかもわからないでしょう。
お礼
ご教示ありがとうございました。ソフト屋なので回路図の説明がなくお手数をおかけしました。 すると10スロットのうち歯抜けで入れたら誤認識しますね。やってみます。 まだADポートはGPIO入力に再設定できるので判定後はそうしたらCMOSだから入力電流相当減りますね。原理を教えていただきありがとうございました。
- ohkawa3
- ベストアンサー率59% (1518/2552)
十分に状況を把握できていませんが、挿抜の過渡状態が収まるまで、待ち時間を設けて検出すればよいのではありませんか?
お礼
ご教示ありがとうございました。 時間待ちも検討しますが、そもそもこのシリーズ抵抗方式でもいいのか?と疑問が湧きましたので質問しました。
お礼
ありがとうございます。遅くまでお付き合いいただき、申し訳ありません。 具体的な数値入りで解説いただき本当によくわかりました。特に抵抗値500Ω以上の部分が非常に参考になりました。 ご指導いただいた対応策を検討してみます。 ありがとうございました