MCUのADC入力インピーダンス


12

一般的なMCU ADCの入力インピーダンスは何ですか?この場合、PIC24FJ64GA004を使用しています。高速サンプリングは必要ありません-1秒あたり最大100サンプルです。

抵抗分割器を100k抵抗と10k抵抗で接続したいので、インピーダンスは1Mより高くする必要があります。そうしないと、インピーダンスが測定値のスキューを開始します。


入力インピーダンスは、サブメガオームのソースを使用して100 Hzのサンプルレートで心配する必要のあるものではなく、エイリアシングやトランジェントのキャプチャなどです(それが問題になる場合もあります)。
ニックT

回答:


10

入力漏れ電流

ゲートからの抵抗の電圧降下を決定するには、データシートの漏れ電流を使用する必要があります。Microchipは、データシートで「入力リーク電流」を指定しています。私が見上げていることをデータシートには 1μA以下の入力リーク電流を指定します。これにより.1Vまたは100mVが発生する可能性がありますが、これはロバートが計算した値の2倍に過ぎず、おそらく信号には問題ありません。

30V信号を30/11(2.7v)ボルトのフルリードに分割する場合、これに100mVが加算され、30V信号で最大3%のエラーが発生することに注意してください。

1Vの分解能が必要な場合は、それを11で割ってから100mVを追加します。この100mVは1V信号よりも大きくなる可能性があります。

入力容量

ロバートは正しい、静電容量がありますが、これは実際にADC測定を行うのに必要な時間を指定します。これは、選択した入力抵抗と組み合わせて、ローパスフィルターを作成します。より高い周波数の信号を測定したい場合、それらをキャプチャすることはできません。

エラーを減らす

最も簡単な方法は、分周器の抵抗を減らすか、信号をバッファリングすることです。信号をバッファリングするとき、PICのリーク電流をオペアンプのリーク電流に置き換えます。これは非常に低くすることができます。

この1uAは最悪のケースです。ただし、設計に軽微な変更を加え、設計を製造し、それがどれほど悪いかをテストするのに多額の費用がかかる場合を除きます。

これを読みやすくするために私ができることがあれば教えてください。


さて、3%はかなり高いです...これを減らす方法はありますか?私はデバイダ抵抗を減らすことができると思います...
トーマス・O

最小読み取り値が30Vの場合、3%です。
Kortuk

追加情報が追加されました。
Kortuk

12

MCU ADC入力では、サンプルホールドキャップがピンに接続されているかどうかに応じて、可変入力インピーダンスが発生する可能性があります。信号をバッファリングするためにオペアンプを使用するのは面倒です。オペアンプには、ナイキストより上の周波数をフィルターで除去できるという追加の利点がありますが、これも良い方法です。


残念ながら、オペアンプ用のスペースを確保することはできません。
トーマスO

2
SC70-6コンポーネント用のスペースを確保できず、自分をnoobと呼びますか?
akohlsmith

同意したのは、nyqusitレート以下のフィルタリングとゲインの設定用のオペアンプと、入力のバッファリング用のオプションのオペアンプです。
破滅的な

6

まだ言及されていない点の1つは、入力のスイッチドキャパシタンスです。多くのADCは、測定中にコンデンサを入力に接続し、しばらくしてから切断します。このキャップの初期状態は、最後に測定された電圧、VSS、または矛盾したものである可能性があります。正確な測定を行うには、静電容量が接続されたときに入力がバギングしないか、またはコンデンサが切断される前にバウンスして回復することが必要です。実際には、これは、入力の容量が特定の値を超えているか、入力容量とソースインピーダンスによって形成されるRC時間が特定の値を下回っていなければならないことを意味します。

たとえば、切り替えられた入力容量が10pFで、取得時間が10uSであるとします。入力インピーダンスが100Kで、ADCの容量以外の入力容量がなく、開始キャップ電圧と測定される電圧の差がRの場合、RC時定数は1uS(10pF * 100K)になります、取得時間は10 RC時定数になり、エラーはR / exp(10)(約R / 22,000)になります。Rがフルスケール電圧である場合、16ビット測定ではエラーが問題になりますが、12ビット測定では問題になりません。

10pFのスイッチドキャパシタンスに加えて、10pFのキャパシタンスがボード上にあったとします。その場合、初期誤差は半分になりますが、RC時定数は2倍になります。したがって、エラーはR / 2 / exp(5)(約R / 300)になります。8ビット測定にはほとんど問題ありません。

静電容量をもう少し増やすと、事態はさらに悪化します。キャパシタンスを90pFにすると、エラーはR / 10 / exp(1)(約R / 27)になります。一方、上限がそれよりも大きくなると、エラーは減少します。1000pFの静電容量では、誤差は約R / 110になります。10,000pF(0.01uF)では、約R / 1000になります。0.1uFでは約R / 10,000になり、1uFでは約R / 100,000になります。


5

データシートの 198ページをご覧ください。ピンには6〜11pF、ホールディングキャップには4.4pFがあります。


はい、しかしこれは私にとって何を意味しますか?申し訳ありませんが、私はまだ初心者です。
トーマスO

入力には約500nA(電流源)が流れます。コンデンサはサンプルレートを制限します。Choldは、入力ピンに切り替わるときに充電する時間が必要です。
ロバート

500nAは50mVをドロップしますが、これは非常に高いですが、0〜30Vのフルスケール範囲の大部分ではなく、約5mVで十分です。ありがとう!
トーマスO

3

supercatが彼の投稿で挙げた良い点に加えて、外付けコンデンサでバッファなしの分圧器を使用している場合、注意すべき点があります。

ADC読み取り値のシーケンスを実行するたびに発生する電荷転送は、シーケンスの繰り返しレートで乗算すると電流になります。この電流のDC平均値はCsamp * deltaV * fです。ここで、Csampはサンプリング容量(外部容量ではありません!)、deltaVは連続する入力チャネル間の電圧、fはシーケンスの繰り返し周波数(サイクルの頻度)です。サンプルの1つの完全なシーケンス)。

電荷移動の影響を減らしてサンプリング時間を長くしないようにする外部コンデンサがある場合、サンプリングコンデンサを充電するために必要なこの入力電流をローパスフィルタリングするというマイナスの影響があり、入力電圧として表示されますソースインピーダンス全体にオフセット電圧を発生させるリーク電流。

一部のサンプル番号のみ:分圧器(100K || 10K)は約9Kであり、チャンネル間のdeltaV = 3V、Csamp = 10pF、およびf = 10kHzの場合、これにより2.7mVの電圧誤差が発生します。 deltaVの0.1%。それほど多くはありませんが、十分に注意してください。1Mを使用しないでください|| 10kHzシーケンスリピートレートの100K分圧器-もちろん、これはかなり高速であり、リピートレートが遅い場合は、それほど心配する必要はありません。

私のブログの投稿で、これと他のADC駆動の問題について書きました


連続的な電流として現れる容量性スイッチングの繰り返しについてのあなたのポイントは良いものです。容量性スイッチング動作で最も問題が発生したシナリオでは、サンプリングレートが1Hz未満であったため、スイッチ入力によってソースまたはシンクされる電流は問題ではありませんでしたが、連続的なデータ収集を伴う状況では問題になりませんどんなに大きくても入力フィルターキャップで解決する必要があります。
-supercat

ところで、あなたのブログに関して、他のエンジニアが抱えていた問題のタイプを解決する別のカップルのアプローチは、ポーリングシーケンスを(サンプルサーミスター#1)、(サンプル固定ゼロボルト信号)、(サンプルサーミスター#2 )、(固定ゼロボルト信号をサンプリングする)、またはキャップの開始点が常に読み取られた以前の電圧である場合、各サンプルグループに対して各サーミスターを2回サンプリングするか、2番目の値を使用するか、おそらく他のセンサーの2番目の読み取り値と最初の読み取り値に基づく2番目の値。
-supercat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.