A/D変換


アナログ量をディジタル量に変換することをA/D変換という。

センサの出力はほとんどがアナログ量となっている。(ポテンショメータ、加速度センサ、etc...)
アナログ量はディジタル回路で取り扱うことはできないため、何らかの方法でディジタル量に変換する必要がある。

変換方法にはいくつかあるが、使用方法について紹介していこう。

最近はマイコン内にA/D変換器が内蔵されているため、プログラムで簡単に設定、使用することができる。

まず、A/D変換する対象は一般的に電圧である。
そして、A/D変換には次のような仕様がある。

  • 分解能(bit)
  • 変換速度(s)
  • チャネル数

分解能とは、結果の細かさを表している。
PIC内臓には10bitのものが多いが、10bitとはディジタルにおいて1024を表す。
最高の電圧を5V、最低の電圧を0Vとすれば、その間の1/1024は約0.005Vを示している。

つまり、0.005Vあがるごとに、A/D変換の結果の値は1あがることを表している。

これをふまえると・・・

0=0V
1=0.005V
2=0.01V



512=2.5V



1023=5V

というような結果が得られる。

もし分解能が大きければ、それだけ精度の高い変換が可能となる。
また、最低位ビットを無視するだけで分解能を1bit下げることができる。
マイコンの処理に高い精度がいらない場合はそうするとよい。


変換速度はA/D変換が終了するまでの時間を表している。
正確にはA/D変換の速度は蓄電時間と変換時間がある。
A/D変換器のピンにはコンデンサが接続されていて、この電圧を変換するものであるが、コンデンサの特性上、すぐに充電は終わらない。
またA/D変換にも時間がかかる。ただし、この変換速度は変換方法によって異なる。


もし変換速度以上でデータを受け取ると、正しいデータではないものを扱うことになる。


チャネル数は、A/D変換器の個数とA/D変換器に接続できる端子数を表している。
PICには基本的にはA/D変換器は1つしかついていない。
しかし、端子を選択して変換ができるため、同時でなければ複数の対象をA/D変換することは可能である。
一方で高性能なマイコンになるとA/D変換器を複数搭載しているものがある。


もし高速な処理を行わせたいならば、変換速度の速い複数のA/D変換器を搭載したものを使うべきである。