Arduino Vorverstärker
Konzept
Ein Arduino (wie die meisten anderen Microprozessoren) kann an seinem Analogeingang Spannungen zwischen 0V und der Referenzspannung 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: und .
- Laut Kirchhoff (Knotenregel) gilt: .
- Für die Schaltung heißt das:
oder umgeformt:
- Die Eingangsspannung wird also um den Faktor 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

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