ADC入力用に0〜10Vのアナログ信号を0〜2.5Vに変換する方法


25

0Vから10Vの範囲のアナログ信号があります。ADCで線形に0〜2.5Vにスケールダウンしたい。

抵抗分圧器を使用すると信号品質に影響するのではないかと心配しています。これは本当ですか?そうでない場合、分圧器にはどの値の抵抗を使用する必要がありますか?



1
@Kellenjb- MCUの分圧器とADCおよびADC入力インピーダンスの両方は、この質問と非常によく似ています。3つとも抵抗分割器とADCに関するものです。ただし、Thomasはリンクされた質問の両方で、現在の回答の重要な要素であるソースの読み込みについて心配していないと指定しています。また、他の質問で抵抗値を計算する方法についてはまだ説明していません。
ケビンフェルメール

@lionheart-ソース信号はどれくらい強いですか?
ケビンフェルメール

@KevinVermeerでは、この質問についてはどうでしょうか。PIC 電圧測定。その後、分圧器の一部のため、この質問:分圧器
Kellenjb

@Kellenjb-両方とも良いですが、どちらもシステムの入力インピーダンスを考慮しません(または考慮する必要がありません)。
ケビンフェルメール

回答:


31

はい、分圧器は理論上は問題ありません。信号品質にどの程度影響するかは、大部分が品質信号と考えるものに依存します。これはHiFiオーディオ、デジタルデータストリーム、音声オーディオ、RFなどですか?

抵抗分圧器にはいくつかの問題があることに注意してください。

  1. 分圧器はソース信号をロードします。入力信号の1/4を出す分周器が必要です。上部の抵抗が下部の3倍になっている分圧器は、これを行います。

    この場合、R1 = 3 * R2。ソースからディバイダーを見るインピーダンスはR1 + R2になります。これは、ソース信号をロードして特性を重要なポイントに変更しないように、十分に高いことを確認する必要があります。たとえば、R1 =30kΩおよびR2 =10kΩの場合、分周器はソースに40kΩをロードします。

  2. 出力インピーダンスを考慮してください。これは、スティーブンが話していたことのほとんどです。分圧器を駆動する完全な電圧源(インピーダンス0)の場合、出力インピーダンスはR1 // R2です。上記の値の例では、30kΩ//10kΩ=7.5kΩになります。Stevenが述べたように、これはマイクロコントローラーA / Dに接続するときに考慮する必要があります。A / Dが内部ホールドキャップを有限時間で充電するためにある程度のインピーダンスを必要とするので、分周器の出力をロードすることの問題ではありません。高インピーダンスでは、A / Dピンのわずかな漏れ電流とインピーダンスの積が、A / Dの読み取り値を破壊するのに十分なオフセット電圧を生成します。これらの問題により、マイクロコントローラーのメーカーは、A / D入力を駆動するための最大インピーダンスを指定しています。8ビットまたは10ビットのA / Dを備えた古いPICでは、これは通常10kΩでした。これは、一部の新しい高速A / Dや、12ビットなどの高解像度ではより少なくなります。dsPICファミリのいくつかは、わずか100Ω以下しか必要としません。

  3. 周波数応答。常にいくらかの浮遊容量があります。さまざまな浮遊容量により、ローパスおよびハイパスフィルターが発生します。浮遊容量は予測できないため、最終結果は予測できません。再び30kΩと10kΩの例を使用すると、出力インピーダンスは7.5kΩです。たとえば、これに20pFがロードされている場合、約1 MHzロールオフのローパスフィルターがあります。信号が音声であれば、問題ありません。それが高速デジタル信号である場合、それは深刻な問題になる可能性があります。

    これに対処する1つの方法は、総容量が予測可能になるように、意図的な静電容量をできるだけ小さく、予想される浮遊静電容量の数倍追加することです。各抵抗の容量は、その抵抗に反比例する必要があります。たとえば、ここにうまくバランスの取れた分圧器があります:

    低周波数では、抵抗が信号を支配して4で分割します。高周波数では、コンデンサが信号を支配して4で分割します。この例では、抵抗作用と容量作用がほぼ等しいクロスオーバーは53 kHzです。

    ところで、これは分割スコーププローブの動作方法です。「10x」プローブは、信号を10で除算します。スコープの全周波数範囲にわたって信号を分割する必要があるため、各抵抗に小さな容量が追加されます。浮遊容量を正確に知ることはできず、とにかくある程度の部品公差があるため、コンデンサの1つを可変にします。これが「プローブ補正」調整です。この調整により、数pFの小さなトリムキャップが回転します。方形波を入力すると、容量性分圧器と抵抗性分圧器が一致するポイントを簡単に確認できます。

    この容量性および抵抗性のアプローチの1つの欠点は、高周波で分周器のインピーダンスが低下することです。このアプローチは、より高い周波数を適切に分割するのに役立ちますが、2つの抵抗よりもはるかに多くの周波数を負荷します。無料のランチはありません。

うまくいけば、問題とトレードオフのいくつかを今すぐ見ることができます。インピーダンスがうまくいかない場合は、既に説明したStevenのような何らかのアクティブバッファリングを検討する必要があります。これには、オフセット電圧、周波数応答、ゲインが1だけではなくゲインエラーなどの独自の一連の問題がありますが、それらは別のスレッドに対するものです。


これをすべて(たとえば)LM358で解決できませんか?
イアンブランド

8

基本的に、あなたがやろうとしていることは「信号調節」と呼ばれます。通常、次のようになります。

まず、信号をバッファリングします。0〜10 Vのソースの出力インピーダンスがすでに低い場合を除き、非反転オペアンプでバッファします(stevenvhの回答を参照)。オペアンプの帯域幅が十分であることを確認してください。通常、これは「ゲイン帯域幅積」として記述されます。これは、仕様が回路のゲインと帯域幅の積だからです。これは常にそうではありません。一部のアンプは電流モードで、ゲイン対帯域幅を示すグラフがあります。あなたのケースは簡単です:ゲインは1なので、ゲイン帯域幅積が指定されている場合、ゲイン1の帯域幅でもあります。

次に、抵抗分割器を使用して出力を4で分割します。ADCを使用しているため、信号のエイリアシングに注意する必要があります(ノイズもエイリアシングです。そのため、信号がADCナイキスト周波数より十分に低い場合でも、アンチエイリアシングフィルターが必要です)。最も簡単なアンチエイリアシングフィルターは、分圧器の出力からグランドにコンデンサを配置し、RCフィルターとして扱うことです。ここで、Rは、分圧器の2つの抵抗値に等しくなります。コーナーはADCに渡す最高周波数を超えている必要があり、フィルターはエイリアシング周波数(サンプルレートからフィルターコーナー周波数を引いた値)に達するまでにビットあたり6 dB減衰する必要があります。

ここでADCタイプが重要になります。通常の逐次比較型ADC(SAR)では、サンプルレートがシグマデルタADCよりもはるかに低いため、RCフィルターで得られる20 dB /ディケードでは不十分な場合があります。その場合は、より複雑な複数極フィルターをそこに入れる必要があります。それ自体は非常に大きな議論なので、今のところはスキップします。複雑なポールフィルターを検索し、興味がある場合はTIのFilterProのコピーをダウンロードしてください。

信号がフィルター処理された後、フィルターの出力インピーダンスがADC入力インピーダンスよりも低くない場合、再度バッファーする必要があります。最後に、ADC入力に入力とは異なるDCオフセットがある場合、DCブロッキング(つまり直列)コンデンサが必要になります。これは、ADCの入力インピーダンスがRCハイパスフィルターの抵抗であるかのように選択する必要があります。フィルターコーナーが最小入力周波数より下にあることを確認してください。


5

ΩΩΩΩΩ
ΩΩ

または、Mattが提案するように、電圧フォロワーでディバイダーをバッファーできます。

ここに画像の説明を入力してください


1
または、オペアンプでバッファリングする
Majenko
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.