本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC18F4550でAD変換)

PIC18F4550でAD変換の問題

2023/10/18 18:34

このQ&Aのポイント
  • PIC18F4550でAD変換を行う際に、低い電圧の変換値がずれる現象が発生しています。
  • リファレンス電圧を変えても低い電圧での変換は精度が出ないようです。
  • 仕様についての詳細な資料を探しています。
※ 以下は、質問の原文です

PIC18F4550でAD変換

2011/03/03 13:17

PIC18のAD変換を使用しているのですが
わからない部分があるので質問させていただきます。

・現象
 リファレンス電圧は電源電圧+5V(Vdd)を使用し10bit分解能で行っているのですが90mV位(低い電圧のAD変換)の時の変換値がずれます。

・測定方法
 測定はテスターでPICのVss端子にGND、アナログ信号入力端子に+側を当て直接PICの足をさわっています。

・結果
 1023=5Vですので1=約0.0049V
 0.097V=19を示して欲しいのですが17となります。

 5V時は1023を示し2.5V時は511が出ており電圧を上げると計算通りに示します。

 リファレンス(電源電圧)を意図的に変えてみたのですが低い電圧の時は変化がありませんでした。

上記点より低い電圧での変換では精度が出ないという事なのでしょうか。
またこのあたりの仕様が記載されている資料などありましたら宜しくお願い致します。

質問者が選んだベストアンサー

ベストアンサー
2011/03/03 13:56
回答No.1

毎度JOです。
投稿内容を観る限り希望の数値が得られそうな物ですが、
逐次比較型のADコンバータでは1LSBが保障されていますから、誤差1LSBになります

誤差1LSBを許すかどうかの問題の前に、今回の事例では常にこのレベルでの変換をするのでしょうか?
AD変換では、OPアンプ等で増幅し「なるべく大きな信号を変換する」事が肝要です
数値19で1LSBの誤差では誤差5%ですが、信号を数値511近辺まで増幅させれば1LSBの誤差は1.9%まで低下します

安定したサンプリングを得る為には複数回のサンプリングを平均化する手法も取られます
今回の場合に当てはめると、OPアンプ等で16倍に増幅し16回のサンプリングを1/256すれば安定します
サンプリングする信号にノイズ等が混入する恐れが有ればLPF等も必要になり、複数回サンプリングは有効な手法です

サンプリング間隔が、変換時間+アクイジションタイムでギリギリのサイクルタイムで無ければ
複数回のサンプリング+OPアンプによる増幅をお勧めします

毎度JOです。
>>16倍に増幅し16回のサンプリング
これは計測数値データーが256倍される事を示します

10BITデーターですから、保存すると2バイトのメモリを必要とします、
これを16回加算して行くとキャリが出ます、尚且つ元の数値が16倍されていますので
全体では3バイトのメモリを確保します、計算結果の上位2バイトは自動的に平均化された数値が格納されます

プログラムで平均化する場合、1/100とかにすると計算に時間が掛り、高速サンプリングでは間に合わない可能性もあります
そこで上記手法を取れば、加算のみで除算の必要が有りません
8BITCPUでは1/256は例外的に除算しなくて済みます
8BITの内上位と下位の4BITを入れ替える命令も有りますので1/16の除算も楽ですね

10BITから12BITへ変更すれば誤差は1/4になりますが、これはノイズ等無く安定したサンプリングが出来る事が前提です

お礼

2011/03/04 08:53

早々のご回答感謝いたします。
1LSBの許容差があるのは存じあげませんでした。
やはり大きな信号にすることが安定へとつながるわけですね。
今回機器側の出力が0-5Vの為にこのような状態になっておりました。
機器の中でも1-5V(4-20mA)出力の物もありそちらは安定して取れます。

無知で申し訳ないのですがサンプリングの「16」と言う数字はどのような意味を持つのでしょうか。これくらい取れば安定すると言う基本数値的なものでしょうか。

機器の方は変更が難しいので、考えた対策は上記条件と関係なくなってしまうのですが分解能を10bitから12bitへの変更で誤差を低減させるというやり方ですがこういう考え方は邪道ではないでしょうか。

勉強不足で申し訳ないですがご教授お願い致します。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (2件中 1~2件目)

2011/03/04 08:51
回答No.2

10bitの計測精度を検討したいのでしょうか?

であれば、もう少し正確な数値を記述しましょう。10bitは10進数で1023なので、有効数字として3~4ケタが必要です。



> リファレンス電圧は電源電圧+5V(Vdd)

5.000V でしょうか?

> 0.097V

9.700 mV でしょうか?

> 5V時は

5.000V でしょうか?

> 2.5V時は

2.500V でしょうか?




このあたりを明確にしないと(ちゃんと測定しないと)1bit精度が実現されてるかどうか? の検討ができないと思います。

いかが?


回答1) にもあるように、数10mVオーダの計測ではそれなりの工夫が必要です。

お礼

2011/03/04 09:23

ご回答ありがとうございます。
申し訳ありません。文章不足でした。
一応、AD変換に影響のない部分(1=約4mV)は0という値です。
5Vですと5.004V以下でしたのでこのように書いてしまいました。
今後気を付けます。

やはり低い電圧ではナイーブみたいですね。
このレベルのADは始めてでしたので確立しておきたいです。

参考になるご指摘ありがとうございました。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。