目次>5章 第2ステップ(色々な実験)> (20)簡易A/D変換(積分回路の応用)
簡易A/D変換
− 積分回路の応用 −
当HPで扱っているPICの内、PIC16F84AだけはA/D変換機能を持っていません。
(A/D変換:電圧などのアナログ値をPICなどで扱えるデジタルデータに変換する事)
そこで、積分回路を使った簡易的なA/D変換の実験を行います。
ここでの目的は、電圧を正確に測定するのでは無く、可変抵抗のつまみの回し加減をPICで判定できるようにする事です。
これができれば、84Aでもジョイスティックでサーボモータをコントロールするような事が可能になります。
微分回路と積分回路 | ||||||||||
・ | ||||||||||
A/D変換に入る前に、微分回路と積分回路の動きを見てみます。
| ||||||||||
微分回路 | ||||||||||
回路図の点線で囲んだ部分が微分回路です。
それでは、この微分回路に矩形波を与えて見ましょう。
| ||||||||||
積分回路 | ||||||||||
次は積分回路です。微分回路の抵抗とコンデンサを入れ替えた回路になっています。
この積分回路に矩形波を与えて見ます。
積分回路の抵抗を5KΩに変更すると下のようになります。
積分回路の出力の遅れは、コンデンサの容量×抵抗値により変わります。
| ||||||||||
回路図 | ||||||||||
前書きが長くなりましたが、いよいよ簡易A/D変換の実験に入ります。
今回の実験回路です。
RA3から矩形波を出力し、左の積分回路を通し、結果をRB0/INT割込みで検出します。
| ||||||||||
プログラムの考え方 | ||||||||||
積分回路の波形をイメージ的に現したものが以下の図です。特に立ち上がりに注目しています。 図の中に、閾値4Vとありますが、RB0をINT割込みで使う場合、シュミットトリガ入力となり4Vで割込みが発生します。(立ち上がりで割り込む設定の場合)
| ||||||||||
プログラム | ||||||||||
INT割込みを有効にし、RA3に1をセットした直後から「AD_counter」をカウントアップし続けます。 可変抵抗のつまみを回すと、LCDに表示される値が変わると思いますがどうでしたか。
| ||||||||||
感想など | ||||||||||
正確に電圧を測定すると言った目的でなければ、A/D変換機能を持たないPIC16F84Aでも簡単にA/D変換ができます。 ある程度正確に電圧を測定(0.02V程度)するのであれば、基準電圧IC,D/A変換,コンパレータを組み合わせれば可能です。 ですが、わざわざ難しい回路を組むよりも、PIC16F84A以外のPICを使った方がより簡単にできます。 それはさておき、この実験回路とプログラムは後で応用する可能性が大ですので、実際に動きを確認しておいて下さい。 どこで使うかは内緒です。(想像つくかも知れませんが)
|