Wie konvertiere ich ein analoges Signal von 0 auf 10 V in ein analoges Signal von 0 auf 2,5 V für den ADC-Eingang?


25

Ich habe ein analoges Signal, das zwischen 0V und 10V liegt. Ich möchte es für meinen ADC linear auf 0 bis 2,5 V verkleinern.

Ich bin besorgt, dass die Verwendung eines ohmschen Spannungsteilers die Signalqualität beeinträchtigt. Ist das wahr? Wenn es nicht stimmt, welchen Widerstandswert soll ich für den Spannungsteiler verwenden?


2
mögliches Duplikat von Spannungsteilern und
ADCs

1
@Kellenjb - Sowohl Spannungsteiler als auch ADCs und ADC-Eingangsimpedanz auf MCUs sind dieser Frage sehr ähnlich. Alle drei handeln von Widerstandsteilern und ADCs. In beiden verknüpften Fragen gibt Thomas jedoch an, dass er sich keine Sorgen um das Laden der Quelle macht, was eine Schlüsselkomponente der aktuellen Antworten darstellt. Außerdem hat noch niemand erklärt, wie der Widerstandswert bei den anderen Fragen berechnet wird.
Kevin Vermeer

@lionheart - Wie stark ist Ihr Quellensignal?
Kevin Vermeer

@ KevinVermeer wie wäre es dann mit dieser Frage: PIC Spannungsmessung ; und dann diese Frage für den Spannungsteilerteil: Spannungsteiler
Kellenjb

@Kellenjb - Beide sind gut, berücksichtigen aber weder die Eingangsimpedanz des Systems (noch müssen sie berücksichtigt werden).
Kevin Vermeer

Antworten:


31

Ja, ein Spannungsteiler ist theoretisch in Ordnung. Inwieweit sich dies auf die Signalqualität auswirkt, hängt zu einem großen Teil davon ab, was Sie als Qualitätssignal betrachten. Ist das HiFi-Audio, ein digitaler Datenstrom, Voice-Audio, RF, etwas anderes?

Es gibt verschiedene Probleme mit ohmschen Spannungsteilern, die Sie beachten sollten:

  1. Der Spannungsteiler lädt das Quellensignal. Sie benötigen einen Teiler, der 1/4 des Eingangssignals ausgibt. Jeder Teiler mit dem oberen Widerstand 3x nach unten macht das.

    In diesem Fall ist R1 = 3 * R2. Die Impedanz, die von der Quelle in den Teiler schaut, ist R1 + R2. Sie müssen sicherstellen, dass dies hoch genug ist, um das Quellensignal nicht zu laden und seine Eigenschaften auf den gewünschten Wert zu ändern. Wenn beispielsweise R1 = 30 kΩ und R2 = 10 kΩ ist, lädt der Teiler die Quelle mit 40 kΩ.

  2. Beachten Sie die Ausgangsimpedanz. Das ist das meiste, worüber Steven sprach. Bei einer perfekten Spannungsquelle (Impedanz 0), die den Teiler antreibt, beträgt die Ausgangsimpedanz R1 // R2. Bei den obigen Beispielwerten wäre das 30 kΩ // 10 kΩ = 7,5 kΩ. Wie Steven bereits erwähnt hat, muss dies beim Anschluss an einen Mikrocontroller A / D berücksichtigt werden. Es ist nicht so sehr ein Problem beim Laden des Teilerausgangs, als dass der A / D eine endliche Impedanz benötigt, um seine interne Haltekappe in endlicher Zeit aufzuladen. Bei hoher Impedanz erzeugt der kleine Leckstrom des A / D-Pins, der der Impedanz entspricht, auch eine ausreichende Offset-Spannung, um den A / D-Messwert zu verfälschen. Aufgrund dieser Probleme geben die Hersteller von Mikrocontrollern eine maximale Impedanz für die Ansteuerung eines A / D-Eingangs an. In alten PICs mit 8 oder 10 Bit A / Ds waren dies im Allgemeinen 10 kΩ. Dies ist bei einigen neueren, schnelleren A / Ds oder bei einer höheren Auflösung wie 12 Bit weniger. Einige der dsPIC-Familie benötigen nur wenige 100 Ω oder weniger.

  3. Frequenzgang. Es gibt immer etwas Streukapazität. Die verschiedenen Streukapazitäten verursachen Tief- und Hochpassfilter. Das Endergebnis ist nicht vorhersehbar, da die Streukapazität nicht vorhersehbar ist. Die Ausgangsimpedanz beträgt erneut 7,5 kΩ, wenn Sie das Beispiel mit 30 kΩ und 10 kΩ verwenden. Wenn diese beispielsweise mit 20pF geladen wäre, hätten Sie einen Tiefpassfilter mit einem Rolloff von etwa 1 MHz. Wenn das Signal Audio ist, kein Problem. Wenn es sich um ein schnelles digitales Signal handelt, kann dies ein ernstes Problem sein.

    Ein Weg, um damit umzugehen, besteht darin, eine absichtliche Kapazität hinzuzufügen, die so klein wie möglich ist, jedoch ein Vielfaches der erwarteten Streukapazität, so dass die Gesamtkapazität vorhersehbar wird. Die Kapazität über jedem Widerstand muss umgekehrt proportional zu diesem Widerstand sein. Zum Beispiel ist hier ein schön abgestimmter Spannungsteiler:

    Bei niedrigen Frequenzen dominieren die Widerstände und teilen das Signal durch 4. Bei hohen Frequenzen dominieren die Kondensatoren und teilen das Signal durch 4. Die Frequenzweiche, bei der die ohmschen und kapazitiven Wirkungen ungefähr gleich sind, beträgt in diesem Beispiel 53 kHz.

    Übrigens funktioniert die Teilung von Oszilloskop-Sonden so. Eine 10x-Sonde teilt das Signal durch 10. Da dies über den gesamten Frequenzbereich des Oszilloskops erforderlich ist, wird jedem Widerstand eine kleine Kapazität hinzugefügt. Die Streukapazität kann niemals genau bekannt sein und es wird sowieso eine gewisse Teiletoleranz geben, so dass einer der Kondensatoren variabel gemacht wird. Dies ist die Einstellung "Sondenkompensation". Diese Einstellung dreht eine kleine Trimmkappe von einigen pF. Mit einer Rechteckwelle können Sie leicht den Punkt erkennen, an dem die kapazitiven und ohmschen Teiler übereinstimmen.

    Ein Nachteil dieses kapazitiven und resistiven Ansatzes besteht darin, dass die Impedanz des Teilers bei hohen Frequenzen abnimmt. Dieser Ansatz ist zwar nützlich, um höhere Frequenzen richtig zu teilen, er lädt sie jedoch auch viel mehr als nur zwei Widerstände. Es gibt kein freies Mittagessen.

Hoffentlich können Sie jetzt einige der Probleme und Kompromisse sehen. Wenn die Impedanzen nicht ausreichen, müssen Sie eine Art aktive Pufferung in Betracht ziehen, wie sie Steven bereits beschrieben hat. Das hat seine eigenen Probleme, wie Offset-Spannung, Frequenzgang und Verstärkungsfehler, wenn die Verstärkung nicht nur 1 ist, sondern für einen anderen Thread.


Wäre das nicht alles mit einem LM358 zu lösen, bei dem ein Operationsverstärker den Eingang und der andere den Ausgang puffert, beide als nicht invertierende Puffer verbunden, mit dem Potentialteiler in der Mitte?
Ian Bland

8

Grundsätzlich wird das, was Sie versuchen, als "Signalkonditionierung" bezeichnet. Es geht im Allgemeinen so:

Puffern Sie zuerst das Signal. Wenn Ihre 0-10-V-Quelle noch keine niedrige Ausgangsimpedanz hat, puffern Sie sie mit einem nicht invertierenden Operationsverstärker (siehe Antwort von stevenvh). Stellen Sie sicher, dass der Operationsverstärker über genügend Bandbreite verfügt. Normalerweise wird dies als "Verstärkungsbandbreitenprodukt" bezeichnet, da die Spezifikation die Verstärkung der Schaltung multipliziert mit der Bandbreite ist. Dies ist nicht immer der Fall; Einige Verstärker sind im Strommodus und haben eine Grafik, die die Verstärkung gegenüber der Bandbreite anzeigt. Ihr Fall ist einfach: Die Verstärkung ist 1. Wenn also ein Produkt mit Verstärkungsbandbreite angegeben wird, ist es auch die Bandbreite mit einer Verstärkung von 1.

Teilen Sie als nächstes den Ausgang mit einem Widerstandsteiler durch 4. Da Sie einen ADC verwenden, müssen Sie beim Signal-Aliasing vorsichtig sein (Rauschen auch als Aliase). Selbst wenn Ihr Signal deutlich unter der ADC-Nyquist-Frequenz liegt, sollten Sie dennoch über ein Anti-Aliasing-Filter verfügen. Das einfachste Anti-Aliasing-Filter besteht darin, einen Kondensator vom Ausgang Ihres Teilers auf Masse zu legen und ihn als RC-Filter zu behandeln, wobei das R den beiden Widerstandswerten des Teilers parallel entspricht. Die Ecke sollte hinter der höchsten Frequenz liegen, die Sie an den ADC weiterleiten möchten, und der Filter sollte bis zum Erreichen der Aliasing-Frequenz (der Abtastrate abzüglich der Filter-Eckfrequenz) um 6 dB pro Bit gedämpft sein.

Hier kommt es auf Ihren ADC-Typ an. Bei einem normalen ADC mit sukzessiver Approximation (SAR) ist die Abtastrate sehr viel niedriger als bei einem Sigma-Delta-ADC, sodass die 20 dB / Dekade, die Sie mit einem RC-Filter erhalten, möglicherweise nicht ausreichen. In diesem Fall müssen Sie einen komplexeren mehrpoligen Filter einsetzen. Das ist eine große Diskussion für sich, deshalb werde ich sie vorerst überspringen. Suchen Sie nach Filtern mit komplexen Polen und laden Sie bei Interesse eine Kopie von FilterPro von TI herunter.

Sobald Ihr Signal gefiltert ist, müssen Sie es möglicherweise erneut puffern, wenn die Ausgangsimpedanz des Filters nicht viel niedriger als die ADC-Eingangsimpedanz ist. Wenn Ihr ADC-Eingang einen anderen DC-Offset als Ihr Eingang hat, benötigen Sie einen Kondensator mit DC-Blockierung (dh in Reihe). Dies sollte so gewählt werden, als ob die Eingangsimpedanz des ADC der Widerstand in einem RC-Hochpassfilter ist. Stellen Sie sicher, dass die Filterecke unter Ihrer minimalen Eingangsfrequenz liegt.


5

ΩΩΩΩΩ
ΩΩ.

Alternativ können Sie den Teiler mit einem Spannungsfolger puffern, wie Matt vorschlägt:

Bildbeschreibung hier eingeben


1
Oder puffern Sie es mit einem Operationsverstärker
Majenko
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.