ちょっとTea Time!? PICのADCのバラつきは? 2021.9.4

はじめに
PICにはAD変換器が入っているので、可変抵抗による電子ボリュームや、電源ラインの電圧監視によく使います。
一般的なADCの分解能は10ビットですが、なかには12ビットのものがあるので用途にあわせてPICを選択しています。
ちなみに28PINのPICだとPIC18F25K80が12ビットADC内蔵です(秋月で売っています)。

ADC変換値は入力のアナログ信号のノイズで当然のことながらばらつきます。
そのバラつきを減らすために複数回計測して平均化処理などは行っていうます。
さらにビット境界にまたがるような場合にも安定するような処理を通常行っています。
しかし、その処理は経験的なものが多かったので、PICでAD変換をつかったときに
どのくらい測定値がばらつくのか一度観察することにしてみました。

観察方法
 観察は簡単に行うためにブレッドボードにPICをのっけ行いました。

ちょっとしたテストなのでブレッドボードを使用しています.

観察条件
 観察条件は下表の通りです。よくつかうPICで、いつものADCの設定条件です。

観察条件
 使用PIC :   PIC18F26K20(28ピンで最近もっともよく使うPIC)
 動作周波数  64MHz(16MHz、4倍PLL)
 ADC設定   setup_adc(ADC_CLOCK_DIV_64 | ADC_TAD_MUL_16)
 変換時間   27us(サブルーチン単位)


 入力電圧   50kΩVRを接続(VCC-GNDで約1/2電位を設定)


察結果
 観察結果は下表のようになりました。

VRの設置方法 AD変換値のヒストグラム(10000回測定) 結果
オンボードでの半固定抵抗
 PICに近い位置に設置しています。

ADCの変換値は安定しています。
10000回測定時もすべて同値となりました。
可変抵抗を45cm長の配線で接続
 ケーブルには触れません。

ADCの変換値はかなり安定しています。
10000回測定時で約1%が±1のバラつきがある程度です。

機器内だとこんなものでしょうか。

可変抵抗を45cm長の配線で接続
ケーブルを両手で触ってわざとノイズを与えます。


ADC変換値がおよそ±5の範囲でばらつきます。
人体を通しての誘導ノイズというのは結構大きいものです。

ただし、バラつきは平均値ゼロでばらつくようなので
平均化処理でバラつきは押さえられます。
可変抵抗を45cm長の配線で接続
ケーブルを両手で触ってわざとノイズを与えます。
PIC側にはフィルターのために0.1uFのコンデンサを入れています。

ADC変換値のバラつきはかなり小さくなりました。
±1程度で納まっています。

まとめ
 ケーブルを手で触るなどの極端な条件を除けば、かなり安定したAD変換結果が得られるようです。
 PICの入力に0.1uFのコンデンサを入れるのはかなり効果があります。
 以上のことから、ADCの処理は単純な平均値でも十分かもしれません。

 ただし、今回の観察条件はPIC単体なのでかなり理想的な状態です。
 実際の機器にいれた場合は同居するトランスや電源回路などで大きなノイズを受けるでしょう。
 やはり、それなりのノイズ対策ルーチンを入れておくほうが無難でしょう。

(おしまい)