PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OPV-Schaltung für 3V-Sensor



Minifriese
06.09.2007, 21:14
Moin moin!

Ich habe einen Sensor (3V-Versorgung), der ein Analogsignal 1,5V +/- 1,08V ausgibt. Also 0,42..2,58V. Dieses Signal will ich mit einem AVR einlesen, brauche also 0..5V. Dazu habe ich die Schaltung im Anhang gefunden (nichtinvertierender Verstärker mit positiver Referenzspannung). Die Gleichung zur Schaltung ist im Anhang mit erwähnt. Ich vermute, daß Rf und Rg die Verstärkung bestimmen und R1 und R2 die nötige Offset-Verschiebung.
Mein Ansatz war also jetzt folgendes Gleichungssystem (Vref als 2,5V angenommen, weil das der Mittelpunkt des verstärkten Signals sein soll):

0=(0,42*R2*(Rf+Rg))/((R1+R2)*Rg)+(2,5*R1*(Rf+Rg))/((R1+R2)*Rg)
und
5=(2,58*R2*(Rf+Rg))/((R1+R2)*Rg)+(2,5*R1*(Rf+Rg))/((R1+R2)*Rg)

Ich habe zwei Gleichungen und vier unbekannte, also kann ich zwei unbekannte beliebig festlegen. Mathematisch jedenfalls, technisch gesehen hätte ich gedacht, daß ich einen Widerstand aus dem "Verstärkungs-Pärchen" Rf bzw Rg und einen Widerstand aus dem "Offset-Pärchen" R1 bzw R2 festlegen kann? Der Text in dem Buch sagt, ich kann R1 und R2 unabhängig von Rg und Rf festlegen. Wenn ich aber Rf und Rg irgendwie festlege, bekomme ich für die anderen beiden überhaupt keine Lösung mehr (Lösungsmenge leer bei Derive6...).

Ich lege also R2 und Rf als 47k fest. Dann kommt raus Rg=50,76k und R1=-7,896k. Den negativen R1 finde ich bereits sehr verstörend. Wenn ich das Minus einfach ignoriere und die Schaltung mit LT-Spice simuliere, kommen für meine Spannungswerte die folgenden Ausgangsspannungen raus:

Vi=0,42V --> Vo=1,385V
Vi=2,58V --> Vo=4,947V

Es kommt also nicht hin, ich weiß aber nicht, an welcher Stelle mein Fehler liegt. Habe ich schon die falsche Schaltung für das Problem ausgewählt, habe ich die falschen Variablen festgelegt oder bloß falsch simuliert?
Wenn ich die allgemeine Geradengleichung y=mx+b für meine beiden Punkte löse, kommt als Slope m=2,315 und als DC-Intercept b=-0,972 raus. Letzterer Wert ist negativ, in dem Buch steht, daß bei dieser Schaltung der DC-Intercept positiv ist. Kann ich die Schaltung damit für meinen Zweck vergessen?

Es wäre sehr nett, wenn mir jemand mit Ahnung von OPV-Schaltungen da Tips geben könnte...

Danke,
Nils

Manf
07.09.2007, 08:03
Die Spannung an E+ ist
(E+) = Vin * R2 / ( R1 + R2 ) + Vref * R1 / ( R1 + R2 )
Vout = (E+) * (Rf + Rg) / Rg
die Gleichung stimmt damit.

Die Verstärkung v für Vin ist gerade die Steigung der Kennlinie und steht als Faktor bei Vin.
v = (R2 / ( R1 + R2 )) * ((Rf + Rg) / Rg)

Der Offset ist Vref mal dem Faktor bei Vref.


hätte ich gedacht, daß ich einen Widerstand aus dem "Verstärkungs-Pärchen" Rf bzw Rg und einen Widerstand aus dem "Offset-Pärchen" R1 bzw R2 festlegen kann

Vin wird bei beim "gewichteten Mitteln" mit Vref geteilt und der wirksame Teil von Vref wird mit verstärkt.

Manfred

Hessibaby
07.09.2007, 10:13
Die einfachste Methode ist ein Groundshift um 1V, allerdings geht Dir dann Auflösung verloren. Enn Du aber einen 16bit ADC hast sollte das kein Thema sein.
Beim Maxim gibt es Signalconditioning Amplifier bei denen Du den unteren und oberen Wert adjusten kannst, d.h. die 0,42V kommen als 0V raus und die 2,58V als 5V.
Lies Dir mal die App-Notes durch.
p.s. habe gerade keine Zeit den Link zu suchen.
Gruß

Minifriese
07.09.2007, 11:57
Moin moin,

Danke für die Tips!

@Hessibaby: Das ist natürlich sehr praktisch, wenn man wenige Sensoren hat. Aber soweit ich sehen konnte, brauchen die Teile von Maxim noch einiges an externer Beschaltung. Ich benutze alle acht ADCs (10bit) des AVR für derartige Messungen und möchte die Platine klein halten, deswegen will ich natürlich erstens wenige (also möglichst nur ein OPV pro Kanal und ich habe vier in einem Chip) und möglichst kleine externe Bauteile (nur Widerstände) benutzen. Ich würde daher gerne OPV-Schaltungen nehmen.

@Manfred: Ich glaube, ich verstehe, was du meinst. Wenn ich die Schaltungsgleichung als Geradengleichung verstehe, kommen für Steigung und Offset genau der Faktor bei Vin und der zweite Summand raus. Aber was heißt das nun für mich? Habe ich die falschen zwei Widerstände festgelegt, um die restlichen beiden bestimmen zu können? Wenn ja, welche wären die richtigen? Und woher weiß man das? Oder ist das egal, mein Ansatz richtig und ich hab mich bloß verrechnet oder versimuliert? Die Schaltung an sich müßte doch können, was ich brauche, oder?

Gruß aus Norwegen,
Nils

PICture
07.09.2007, 15:55
Hallo Minifriese!

Einfachste Schaltung für Dein Sensor. Nach der Festlegung des R1 kann man R2 und R3 berechnen.

MfG



R2 R1
___ ___
+5V -|___|-+-|___|-+
___ | |
+-|___|-+ +5V |
| | |\| |
=== R3 +-|-\ |
GND | >--+-----> zum ADC
vom Sensor >--------------|+/
|/|
===
GND

TLC274

Minifriese
07.09.2007, 16:10
Moin!

Besten Dank! Hast du für die Schaltung auch eine Formel oder hat die Schaltung einen Namen, daß ich mal danach googeln kann?

Ich sehe gerade, diese Schaltung habe ich sogar schon mal benutzt, allerdings bei einem Sensor, der als "Mittelpunkt" der Ausgangsspannung 2,5V hatte, genau wie der ADC am AVR. Mein 3V-Sensor hat ja 1,5V als Mittelpunkt. Meinst du, das geht trotzdem?

Gruß,
Nils

PICture
07.09.2007, 16:45
Der Mittelpunkt ist nicht wichtig.

Der R2 muss so berechnet werden, dass die Spannung am + Eingang (2,28 - 0,42 = 1,86 V) am Ausgang zum 0-5 V wird. Die Verstärkung ist Ku+ = 1 + R1 / R3 = 5 V / 1,86 V = ~ 2,68. Das ergibt R1 / R3 = Ku+ - 1 = ~ 1,68 bzw. R3 / R1 = ~ 0,59.

Die 0,42 V müssen am Ausgang substrahiert werden, also Verstärkung am - Eingang Ku- = R1 / R2 = 0,42 V / 5 V = 0,084 --> R2 / R1 = ~ 59,5.

MfG

Manf
07.09.2007, 17:34
Die Schaltung SigVerst.JPG verschiebt mit einer positiven Referenzspannung die Ausgangsspannung wie gewünscht nach oben.

Mit R1 =15k; R2 = 68k; Rf = 15k; Rg = 12k und Vref = 5 V kommt es wohl ganz gut hin
(mit den Randbedingungen E12 und >=10k).

-1,08V -> 0,042V
+1,50V -> 4,80V

Manfred


R1 =10k; R2 = 46,2963k; Rf = 13,5658k; Rg = 10k und Vref = 5 V
Bei Ua=0 ist auch Ue- = 0 an diesem Punkt läßt sich das Verhältnis von R1 und R2 bestimmen sodaß auch Ue+ = 0 ist.

Minifriese
07.09.2007, 22:37
Nabend,

Sooo, vielen Dank für die Hinweise. Ich habe mal ein wenig simuliert und folgende Ergebnisse bekommen:

Mit der Schaltung von PICture (die natürlich mit den wenigsten Bauteilen auskäme) bekomme ich für

0,42V --> 0,51V
2,58V --> 5,31V

Da scheint es Probleme mit dem Offset zu geben. Als Widerstände habe ich R1=39k, R3=34,36k und R2=464,29k genommen. Die erfüllen eigentlich der Rechnung nach die Bedingungen für Steigung und Offset. Die Verstärkung ist ja auch nicht weit weg, nur den Offset bekommt die Schaltung nicht so richtig raus. Oder hab ich jetzt doch Mist simuliert? Wenn ich R1 auf 47k festlege und die anderen entsprechend ausrechne, kommt ähnliches raus.

Mit der Schaltung SigVerst.jpg und den Werten von Manfred bekomme ich:

0.42V --> 2.81V
2.58V --> 6.79V

Und mit den Werten im "Kleingedruckten" in Manfreds letztem Post:

0.42V --> 2.91V
2.58V --> 7.09V

Allerdings habe ich wohl meinen Sensorausgang nicht eindeutig genug beschrieben, sorry: Der Ausgang des Sensors ist symmetrisch und nimmt Werte zwischen 0.42 und 2.58V an, die "Mittelspannung" (Entspricht physikalischem Wert Null) ist 1.5V. Einlesen will ich das mit dem AVR, also hätte ich gerne 0..5V. Mein Ziel ist demnach:

0.42V --> 0V
2.58V --> 5V

Manfred, könntest du mir noch "laientauglicher" erklären, mit welchem Ansatz du auf die Werte gekommen bist? Du hast ja vermutlich mit den "mißverstandenen" Spannungen gerechnet, dann könnte ich mal mit den richtigen probieren, ob es funktioniert...

Inzwischen habe ich mit einem "Differenzialverstärker mit Offset-Korrektur" genau das gewünschte Ergebnis hinbekommen, aber dort brauche ich außer vier Widerständen auch noch zwei Referenzspannungen. Nämlich einmal die 1,5V, mit denen ich den Sensorausgang vergleiche, und die 2,5V, die die "Mittelspannung" des AVR-Eingangs sein sollen und für die Offsetberechnung gebraucht werden. Deshalb wären mir natürlich die hier besprochenen Schaltungen lieber...

Besten Dank und Gruß,
Nils

Manf
07.09.2007, 22:50
Für den unteren Wert bleibt dann R1; R2 erhalten und für den oberen Wert ändert sich Rf; Rg:
R1 =10k; R2 = 46,2963k; Rf = 10k; Rg = 15,124k und Vref = 5 V


Bei Ua=0 ist auch Ue- = 0 an diesem Punkt läßt sich das Verhältnis von R1 und R2 bestimmen sodaß auch Ue+ = 0 ist.

Ich habe die Beziehung einfach in EXCEL eingesetzt und die Widerstände R2 und Rg nacheinander approximiert.
R2 für Uin min = -1,08V
und danach mit dem Wert für R2 den Wert für Rg angenähert für Uin max = 2,58V.
Manfred

Minifriese
07.09.2007, 23:21
Aha...
Wenn ich das ebenfalls mache, komme ich mit den von dir berechneten Widerständen auf:

0.42V --> 2.05V
2.58V --> 5.00V

Die Simulation mit LTSpice sagt übrigens genau das gleiche, was ich schon mal schön finde. Aber vor allem den unteren Wert bekomme ich nicht auf 0V Vout. Auch nicht, wenn ich als Vref=2.5V wähle. Hast du die 5V dort "einfach so" gewählt oder muß das so sein? Ich hätte eher 2.5V gewählt?

Gruß,
Nils

PICture
08.09.2007, 06:05
Hallo Minifriese!

Ich weiss nicht, woher Du die Werte für R2 und R3 hast. Laut meiner Rechnung für R1 = 47k ist R2 ~ 2,8M und R3 ~ 27k.

MfG

Manf
08.09.2007, 09:44
Nach Wahl der Schaltung bin ich davon ausgegangen, dass Du eine negative Eingangsspannung von –1,08V in 0V Ausgangsspannung umsetzen willst.

Wenn die Spannung für 0V am Ausgang positiv ist, also 0,42V, dann muss die positive Referenzspannung auf die minus Seite des Verstärkers.
Damit wären wir mit
0,42V -> 0V
2,58V -> 5V
bei der Schaltung von Picture mit beispielsweise R1 = 11,2k; R2 = 57,63k; R3=10k, Vref = 5V
Dabei geht der TLC274 nicht Rail to Rail am Ausgang.

PICture
08.09.2007, 10:03
Hallo!

Genau das wollte ich noch dazu sagen, dass wenn die Ausgangsspannung im Bereich 0-5V genau seien sollte, ist eine kleine negative (z.B. -1V) und ein bischen höhere als 5V (z.B. +6V) positive Versorgungsspannung für den OPV notwendig. Sonst ist die genaue 0 und 5 V nicht erreichbar.

MfG

Minifriese
08.09.2007, 12:00
Moin moin!

Wunderbar, mit diesen Widerständen kommt es genau hin!

Die Berechnung von R3 leuchtet mir auch ein, nach der Formel von PICture.
Aber wie kommt man auf R2? Weiter oben steht: Ku- = R1/R2 = 0.42/5 = 0.084. Danach wäre R2 = R1/0.084 = 11200/0.084 = 133333. Hast Du Deinen Wert für R2 berechnet oder wieder angenähert, Manfred?

Negative Versorgungsspannung scheidet aus, wegen Batteriebetrieb. Ich benutze den TS914, der ein Rail-to-Rail-Typ ist, mit 5V-Versorgung. Wenn an jedem Ende ein paar mV fehlen, ist das nicht so schlimm.

Besten Dank für die Hilfe!

Nils

PICture
08.09.2007, 22:09
Hallo Minifriese!

Ich glaube, das der Manfred die Werte angenähert hat, weil wegen wenig Bauteile jede Änderung z.B. des R2 verursacht die Änderung des R3 und umgekehrt.

Ich würde Dir Empfehlen, die werte für R2 und R3 in realer Schaltung mit Potis rauszufinden. Das ist die schnellste Methode, die alle underschiede (z.B. der Sensoren, Versorgungsspannung usw.) automatisch ausgleicht.

Du kanst aber auch zuerst die R1 und R3 festlegen und danach die R2 annehmen und eine varierte Spannung Uo anstatt 5V an R2 zuführen. Diese Spannung kann für alle Sensoren gleich sein. Das benötigt insgesamt nur 2 Resistoren oder ein Poti mehr, ermöglichst aber bequemes Einstellen von 0 Ausgangsspannung, da die Verstärkung für +Eingang sich nicht ändert.

Der Wert für P soll niedriger als ~ 0,1 * (R2/n), wo n die Anzahl der Sensoren ist, damit die Spannung Uo nicht belastet wird.

MfG


+5V
| R2 R1
.-. Uo ___ ___
P | |<-+-----+----|___|-+-|___|-+
| | | | | |
'-' --- | ___ | |
| --- µ1 | +-|___|-+ +5V |
| | | | | |\| |
=== === | === R3 +-|-\ |
GND GND | GND | >--+-----> zum ADC 1
vom Sensor 1 >------------------------|+/
| |/|
===
| GND

|
| R2 R1
| ___ ___
+----|___|-+-|___|-+
___ | |
+-|___|-+ +5V |
| | |\| |
=== R3 +-|-\ |
GND | >--+-----> zum ADC n
vom Sensor n >------------------------|+/
|/|
===
GND

Minifriese
10.09.2007, 12:59
Moin moin,

Hat eigentlich diese Schaltung einen Namen? Ich hätte gerne die Formel dazu, zum Beispiel in einer Form wie im Anhang des ersten Post dieses Threads, aber nach Schaltungen läßt sich im Internet schlecht suchen, wenn man deren Namen nicht weiß.
Ich habe mal ein bißchen nach opamps gegoogelt, und sogar die Schaltung gefunden, aber leider nur als Beispiel für "Non-Inverting Configuration for High Gains" und vor allem ohne Formel dazu. Außerdem wurde dort die Offsetkorrektur nicht über die Wahl von R2 eingestellt, sondern über die Wahl der Spannung, wie im letzten Post von PICture vorgeschlagen. Ich möchte aber 5V verwenden und dafür R2 entsprechend berechnen.

Kann jemand helfen?

Nils