Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 25

Deprecated: Assigning the return value of new by reference is deprecated in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php:25) in /home/users/2/floppy.jp-999953/web/kagakusukimono/class/View.php on line 81
科学好き者の日々::抵抗による電圧分圧

抵抗による電圧分圧

2つのスイッチのどちらかが押されているかを知るのにアナログ電圧の変化で知る必要がありました。通常は各スイッチをマイコンのデジタルポートにつないで、入力値が0か1かで判断するのですが、これではポートを2つ使います。ポートの余裕がなく、マイコンはPICの12F675でADコンバータは使えるので、アナログ的に判断することにしました。

スイッチが両方とも押されていないときは2V、片方が押されているときは1V、他方が押されているときは3Vの電圧が出てほしいのです。

「簡単だよね」
図のように、10kオームの抵抗3つと6kオームの抵抗を直列につないで、分圧するだけです。電源電圧は3.6Vです。

固定抵抗.jpg
「ありゃー? だめだね」

よく考えたら、スイッチが解放のとき流れる電流は3.6V/(6+10+10+10)kオームなのにスイッチが押されると3.6V/(6+10+10)kオームとなってしまうのですね。
ということは、下の図のように未知の抵抗X,Y,Zとして計算しなければいけないのですね。(一番下の抵抗は10kオームとしておく)

不明抵抗.jpg

3.6/(X+Y+Z+10)*(Z+10)=2
3.6/(X+Z+10)*(Z+10)=3
3.6/(X+Y+10)*(10)=1

ということで、X=6.5k、Y=19.5k、Z=22.5kとなりました。

やれやれ。。。。。



Calendar
<< May 2024 >>
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
262728293031
search this site.
tags
archives
recent comment
recent trackback
others
admin