プロが教えるわが家の防犯対策術!

こちらのサイトを参考に、サーボを可変抵抗で動かす回路を作りました。
http://www5b.biglobe.ne.jp/~YASUSI/gallery/elect …
PICの16F675を使用したもので、動作は良好です。
ただ、これだと可変抵抗を手で動かさなければなりません。
今回製作を予定している工作物では5段階程度の角度に動かせれば問題ないので可変抵抗を取り外して普通の抵抗を5種類切り替えるようにしてPICマイコンの16F84Aを使ってその5つの抵抗を切り替えるようにしようかと思っています。
まず、可変抵抗での抵抗値を測定しているピンは7番ピン(GPIO0)なのでここに5種類の抵抗を切り替える回路をつないでやれば良いですよね?
1つのアイデアとして、16F84Aの5本の出力ピンでそれぞれ小型のリレーを動かし、5種類の抵抗を切り替える方法です。
リレーとマイコンで物理的なスイッチとして抵抗の回路を切り替えて抵抗値を変えるという安易な考えです。
5V動作の小型リレーが複数個あるのでこれならすぐにでも製作可能なのですが、欲を言えば、リレーの様にカチカチ音がせずになおかつ比較的簡単な回路構成で5種類の抵抗の切り替えを行える方法があればと思っています。
また、添付画像の様な方法ではダメでしょうか?
左は16F84A、右が12F675です。
両マイコンの電源は共通とします。
16F84Aの5つのピンにそれぞれ5つの抵抗をつなぎ、それを全て12F675のGPIO0ピンに入力し、16F84Aの出力するピンをプログラムで切り替えるというものです。
16F84Aの出力ピンからの電圧は電源電圧と同じなので、単純に16F84Aをただのスイッチとして利用できないか?と考えたのですが、こんなやり方ではやはり抵抗値は測れないのでしょうか?

他に何か良い方法はありますでしょうか?
ちなみにデジタルポテンションメーターについても調べたり、ここで質問させて頂いたのですが、私には理解不能でした・・・。

「PICマイコンで抵抗値を変化させる方法」の質問画像

A 回答 (2件)

16F675じゃなくて12F675ですね。

データーシートを確認しました。
7番ピンに抵抗を接続して使う・・・とのことですが、このピンは AN0(アナログ電圧入力)として使っているはずです。つまり外部に接続した抵抗値を測っている、というより電圧を測っているはずです。
ということはいきなり電圧として加えれば良いのです。
回路例を添付しておきます。
VRで電圧を作ったのちアナログスイッチ(CMOSの4066)で切り替えています。
4066は1パッケージにスイッチ素子が4つ入っています。データシートはnetにたくさんあるので検索してください。74HC4066というのもありますがこの方が好ましいです。
16F84Aの出力ポートをSEL1~4に接続し、High(ロジックで"1")にした所の電圧が12F675に入ります。
4種類の電圧が選択できるようになっていますが5種類なら同じ回路を5つ並べてください。


16F84AにはD/A変換機能はありませんね。もしD/A機能があるCPUを使用するのであればその出力を12F675のAN0入力に接続することでVRもアナログスイッチも不要になります。
「PICマイコンで抵抗値を変化させる方法」の回答画像2
    • good
    • 1

入力電流が小さいのでR-2Rラダー型が簡単です


http://mitt.la.coocan.jp/pic/pic7_16.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!