Arduino Vorverstärker

Konzept

Ein Arduino (wie die meisten anderen Microprozessoren) kann an seinem Analogeingang Spannungen zwischen 0V und der Referenzspannung UrefU_{ref} messen. Wenn die zu messende Spannung kleiner ist und zudem positiv und negativ, muss sie in diesen Bereich umgesetzt werden, d. h., sie muss verstärkt und die halbe Referenzspannung addiert werden. Dies lässt sich mit einem Operationsverstärker erledigen. Um einen hohen Eingangswiderstand zu erhalten, wird eine nicht invertierende Beschaltung gewählt, wobei die halbe negative Referenzspannung subtrahiert werden muss. Diese lässt sich mithilfe eines weiteren Operationsverstärkers präzise aus der Referenzspannung generieren.


Zur Berechnung:

  • Für einen idealen Operationsverstärker gilt: Ue1=Ue2U_{e1}=U_{e2} (=Ue)\left(=U_{e}\right) und Ie=0I_{e}=0.
  • Laut Kirchhoff (Knotenregel) gilt: i1+i2+i3=0i_1+i_2+i_3=0.
  • Für die Schaltung heißt das:
    (UaUe)R+(Uref/2Ue)R+(0Ue)Rx=0\frac{\left(U_{a}-U_{e}\right)}{R}+\frac{\left(-U_{ref}/2-U_{e}\right)}{R}+\frac{\left(0-U_{e}\right)}{R_{x}}=0
    oder umgeformt:
    Ua=(2+RRx)Ue+Uref2U_{a}=\left(2+\frac{R}{R_{x}}\right)\cdot U_{e}+\frac{U_{ref}}{2}
  • Die Eingangsspannung wird also um den Faktor V=2+R/RxV=2+R/R_{x} verstärkt und es wird wie gewünscht die halbe Referenzspannung addiert.

Beispiele für die Verstärkung

Verstärkung Rx
2 entfält
4 R / 2
5 R / 3
10 R / 8

Wahl der Referenzspannung und der Spannungsversorgung

Da der Vorverstärker an den Arduino angeschlossen werden soll, ist die Spannungsversorgung bereits festgelegt. Die für die Schaltung notwendige negative Spannung lässt sich leicht aus der positiven Spannung gewinnen. Für eine Spannung von ±5 Volt bzw. ±3,3 Volt ist die Auswahl an Operationsverstärkern groß. Dieser muss dann bis zur Referenzspannung ausgesteuert werden können. Wählt man keine Typen mit Rail-to-Rail-Ausgang, so liegt die maximale Aussteuerungsgrenze und damit die mögliche Referenzspannung ca. 1,5 Volt unter der Versorgungsspannung. Die Verwendung der Versorgungsspannung als Referenzspannung ist aber auch bei Rail-to-Rail-Typen nicht möglich und auch nicht empfehlenswert.

Beim Anschluss an einen Arduino Uno mit 5 Volt Versorgungsspannung lässt sich ein einfacher Operationsverstärker wie der TL072 mit JFET-Eingängen verwenden. Als Referenzspannung bietet sich die interne Bandgap-Referenz von ca. 1,1 Volt an. Als externe Referenz kann die regulierte 3,3-Volt-Spannung des Arduino oder eine anders erzeugte Referenzspannung bis 3,5 Volt verwendet werden. Hier fiel die Wahl auf den genauen Shunt-Regler LM4040 mit einer Spannung von 2,048 Volt. Dieser ist Teil eines Breakout-Boards, das auch einen Regler für 4,096 Volt enthält. Diese Referenzspannung ist allerdings zu hoch für den verwendeten Operationsverstärker. Dafür wäre ein Rail-to-Rail-Typ notwendig (z. B. TLV272, nicht getestet).

Die Schaltung

Arduino Vorverstärker
Im oberen Teil ist der Verstärker aus dem Schaltungsentwurf zu erkennen. Der zweite Operationsverstärker erzeugt aus der Referenzspannung die negative Offsetspannung. Die Verstärkung lässt sich, wie hier am Beispiel zu sehen, über Jumper einstellen. Dem eigentlichen Verstärker sind noch zwei Spannungsteiler als Abschwächer vorgeschaltet, die ebenfalls über Jumper zugeschaltet werden können. Diese Spannungsteiler haben jeweils einen Gesamtwiderstand von 1 MΩ, sodass der Eingangswiderstand des Verstärkers 500 kΩ beträgt, wenn beide bestückt sind. Mit einem Arduino UNO sind durchaus Abtastraten von 50000 Samples/s zu erreichen. In der Regel wird man aber niedrigere Frequenzen messen wollen, so dass keine Frequenzkompensation vorgesehen ist. Die Diode am Ausgang verhindert eine negative Spannung am Analogeingang des Arduino. Die Schaltung benötigt eine zusätzliche negative Spannungsversorgung. Diese wird mithilfe des bekannten Spannungskonverters ICL7660 erzeugt. Die LC-Glieder in den Versorgungsleitungen sind keinesfalls Zierrat!

Die Referenzspannung kann aus dem Arduino entnommen werden (1,1 V). Alternativ kann auch, wie bereits erwähnt, eine präzise Referenzspannung (0,1 %) mit dem Shuntregler LM4040 (2,048 V) verwendet werden. Dazu muss der entsprechende Jumper gesetzt werden. Dabei ist es wichtig, dass der Arduino VOR dem Anschluss des Vorverstärkers (bzw. dem Setzen des Jumpers) auf externe Referenzspannung konfiguriert ist und kein Sketch mit einer anderen Konfiguration des ADC läuft! In der Tabelle ist die Eingangsempfindlichkeit des Vorverstärkers bei einer Referenzspannung von 2 V und verschiedenen Verstärkungsfaktoren aufgeführt.

Eingang x10 x5 x4 x2
1:1 0,1V 0,2V 0,25V 0,5V
1:10 1V 2V 2,5V 5V
1:100 10V 20V 25V 50V

Dies ist nur ein Vorschlag für die Realisierung. Die Jumper wurden z.B. nur gewählt, weil die Schaltung permanent auf einem Prototyping Shield aufgebaut werden soll. Auch Erweiterungen bieten sich an. Beispielsweise fehlt ein Schutz vor zu hohen Eingangsspannungen. Ebenso könnte ein Komparator nachgeschaltet werden, um einen Frequenzzähler anzusteuern.


#Arduino, #Analogeingang, #Vorverstärker