Forum: Analoge Elektronik und Schaltungstechnik 0-10V-Ausgang mit Möglichkeit zur Fehlerkompensation


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von S. A. (corono)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich stehe vor einer eigentlich relativ simplen Aufgabe, die dann aber in 
den Details doch noch ein paar Knackpunkte hat. Ich habe ein 
Eingangssignal von 0V-3.3V von einem Microcontroller und soll daraus ein 
0-10V Ausgangssignal generieren, welches bis zu 10mA liefern kann. Tönt 
soweit nach einer einfachen Verstärkerschaltung.

Die Genauigkeit soll jetzt aber relativ hoch sein, gewünscht ist 0.01V. 
Damit das erreicht wird, wird die Schaltung vorher abgeglichen. An den 
Ausgang muss ein Tiefpassfilter (zum Beispiel LC-PI-Filter).

Ich habe mir nun überlegt, dass ich nicht die ganzen 3.3V Eingangssignal 
nutze, sondern den Verstärker so auslege, dass z.B. 3V den 10V am 
Ausgang entsprechen, dann kann ich beim Abgleich noch etwas übersteuern, 
sollte es notwendig sein, damit ich die 10V sauber erreiche.

Mein Problem ist jetzt aber: Was mache ich, wenn ich am Eingang 0V habe, 
aber z.B. irgendwo in der Schaltung ein Offset aufgeschlagen wird und am 
Ausgang z.B. 0.05V erscheint. Ich habe gegen unten keine Möglicheit, 
noch zu kompensieren. Schön wäre, wenn z.B. 0.1V am Eingang 0V am 
Ausgang ergeben. Dann könnte ich notfalls auch noch etwas nach unten 
korrigieren. Wisst ihr eine einfache Möglichkeit, dies zu realisieren?

Eine Idee habe ich angehängt. Meine Überlegung war, dass ich am Ausgang 
einen Operationsverstärker als Sink einsetze, mit einer Ausgangsspannung 
von 0.6V. Diese 0.6V kopple ich ausserdem als Referenz über den Op Amp 
an den Ausgang, so dass bei 0V Eingangssignal am Ausgang 0.5V anliegen. 
So ergibt sich relativ gesehen ein Ausgangssignal von -0.1V und ich kann 
somit auch gegen unten etwas kompensieren.

Das Problem das ich nun habe: Einigermassen billige Opamps können bei 
0.6V nicht 10mA "sinken". Wenn ich sicher gehen will, dass das klappt, 
müsste ich auf über 1V erhöhen, dann wird es mir aber gegen oben mit den 
12V knapp. Deshalb wollte ich mal fragen, ob ihr evtl. noch andere Ideen 
habt.

Btw: Ganz schön wäre es, wenn der Spannungsabfall über das Filter noch 
automatisch kompensiert werden würde. Dies kann ich nicht über den 
Abgleich kompensieren, da die Last unbekannt ist, ich kenne nur das 
Maximum von 10mA.

MFG Corono

von Dieter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Genaugkeit von besser als 0.1% bei einer Verstaerkung von 3 bis 4 fach 
ist fuer OPs kein Problem. Genaue Widerstaende wirst du brauchen und 
drei Potis zum FeinEinstellen.
1 Verstaerkung
2 Offset
3 nicht unbedingt notwendig fuer Offset.

von Dieter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit einem NE555 erzeugst Du Dir eine negative Betriebsspannung um bis 0 
V den Ausgang zu steuern.

von Dieter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mit Kompensation des Filters wuerde es schoen schwingen.  Spulen mit 
weniger als 1 ohm ohmacher Widerstand waehlen.

von qwerty (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dieter schrieb:
> Genaugkeit von besser als 0.1% bei einer Verstaerkung von 3 bis 4 fach
> ist fuer OPs kein Problem.

Das denke ich auch. Allerdings würde ich das nicht unterschreiben, wenn 
es am Ausgang in Richtung Betriebsspannung gehen soll. RailToRail-Typen 
haben in der Nähe des Rails trotzdem Schwierigkeiten. Daher solltest du 
bei den Anforderungen auf jeden Fall nicht mit einer einzelnen 
Betriebsspannung für den OPV arbeiten, sondern dir irgendwoher einen 
negative Spannung zusätzlich besorgen.

von Possetitjel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:

> Ich habe gegen unten keine Möglicheit, noch zu
> kompensieren. Schön wäre, wenn z.B. 0.1V am Eingang
> 0V am Ausgang ergeben. Dann könnte ich notfalls auch
> noch etwas nach unten korrigieren. Wisst ihr eine
> einfache Möglichkeit, dies zu realisieren?

Selbstverständlich: Den OPV klassisch mit zwei
Betriebsspannungen betreiben.

Diese müssen nicht symmetrisch sein; +12V/-5V tut's
auch.

Alternative: Eine einzige Betriebsspannung nehmen
(z.B. +15V) und eine künstliche Masse bei +3V als
Bezugspotenzial (GND) erzeugen.

von Limi (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der Ausgangs-OP ist als Spannungsfolger höchstwahrscheinlich empfindlich 
auf kapazitive Last. Siehe Datenblatt. Entschärfen kann man dies zum 
Beispiel mit einem Widerstand an dessen Ausgang. (siehe Schema) 
Vermindert allerdings den maximalen Ausgangspegel (zB: 100R*(-+)10mA 
=+-1V). Mit einer negativen Spannungsquelle kann diesem Problem 
entgegengewirkt werden. Aus den 3.3V mit einer Ladungspumpe ca. -3.3V 
machen.

Für kleine Stückzahlen mag ein Abgleich ok sein. Für grössere lohnt sich 
eine Investition in die Genauigkeit der Schaltung, damit man ohne 
Abgleich durchkommt.

Falls ein Abgleich gewünscht, einen kleinen Offset mit dem 
Spannungsteiler R4, R5 erzeugen. Für die Berechnung die Ersatzschaltung 
und Superposition benutzen. Nicht den vollen Ausschlag vom AD-Wandler 
nutzen. AD-Wandler wird 12bit benötigen. (10V/1023=ca. 0.01V restl. Bits 
für Abgleich)

Was soll das LC-Tiefpassfilter filtern?

von S. A. (corono)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen
Danke für die Antworten. Muss die mal aufarbeiten:

Dieter schrieb:
> Genaugkeit von besser als 0.1% bei einer Verstaerkung von 3 bis 4
> fach
> ist fuer OPs kein Problem. Genaue Widerstaende wirst du brauchen und
> drei Potis zum FeinEinstellen.
> 1 Verstaerkung
> 2 Offset
> 3 nicht unbedingt notwendig fuer Offset.

Was ich noch hätte schreiben sollen: Der Abgleich soll nur in Software 
(automatisiert) erfolgen, nicht über Potis. Heisst, dass in der Software 
eine Ausgangskennlinie mit Korrekturfaktoren hingerlegt ist.

Dieter schrieb:
> Mit einem NE555 erzeugst Du Dir eine negative Betriebsspannung um
> bis 0
> V den Ausgang zu steuern.

Den Ansatz habe ich auch schon überlegt, nur sehe ich da die Lösung noch 
nicht. Ich bin einverstanden, dass mir das am Eingang tiefe Spannungen 
ermöglicht. Mein Eingangssignal ist aber trotzdem nur 0V - 3.3V. Sollten 
die 0V einen Offset am Ausgang haben, kann ich nicht korrigieren. Meine 
erste Schaltung (Schema angehängt) war so, dass ich negative 
Bezugspotential habe und sogar noch den Spannungsabfall über der 
Induktivität rauskompensiert habe. Aber genau diese Schaltung gibt mir 
ja das Problem, dass in der Simulation bei 0V Eingang 0.05V am Ausgang 
stehen und ich keine Möglichkeit habe, das noch per Software zu 
kompensieren. Ich kann das Eingangssignal nicht mehr tiefer setzen.

Dieter schrieb:
> Mit Kompensation des Filters wuerde es schoen schwingen.  Spulen
> mit
> weniger als 1 ohm ohmacher Widerstand waehlen.

Kannst du mir das bitte näher erklären? Wieso würde es schwingen? Die 
Kompensation ist nicht zwingend notwendig, ich würde es nur gerne 
verstehen und was daraus lernen.

Possetitjel schrieb:
> Alternative: Eine einzige Betriebsspannung nehmen
> (z.B. +15V) und eine künstliche Masse bei +3V als
> Bezugspotenzial (GND) erzeugen.

Das kann ich mal versuchen, ja. Das war eigentlich meine Überlegung mit 
den 0.6V am Ausgang.

Limi schrieb:
> Für kleine Stückzahlen mag ein Abgleich ok sein. Für grössere lohnt sich
> eine Investition in die Genauigkeit der Schaltung, damit man ohne
> Abgleich durchkommt.

Danke für die Antwort, werde die Schaltung studieren. Das mit dem 
Abgleich soll, wie schon beschrieben, in der Software erfolgen. Aber die 
Schaltung sollte schon genau sein, so dass nur noch kleine Fehler 
kompensiert werden müssen. Die Möglichkeit soll aber gegeben sein.

von Yalu X. (yalu) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:
> Dieter schrieb:
>> Mit einem NE555 erzeugst Du Dir eine negative Betriebsspannung um
>> bis 0
>> V den Ausgang zu steuern.
>
> Den Ansatz habe ich auch schon überlegt, nur sehe ich da die Lösung noch
> nicht.

Ich verstehe das Problem nicht ganz:

Wenn du die Opamp-Schaltung und die Spannungsversorgung so auslegst,
dass 0,0V am Eingang in -1V am Ausgang und 3,3V am Eingang in 11V am
Ausgang umgesetzt werden, dann kannst du doch mit dem Mikrocontroller
garantiert jede Spannung von 0V bis 10V per Software sauber einstellen,
solange der durch die Schaltung erzeugte Offset weniger als 1V beträgt.

von S. A. (corono)


Bewertung
0 lesenswert
nicht lesenswert
Widerstand kann ich einbauen, wenn du meinst, dass das sinnvoll ist.

Yalu X. schrieb:
> Wenn du die Opamp-Schaltung und die Spannungsversorgung so auslegst,
> dass 0,0V am Eingang in -1V am Ausgang und 3,3V am Eingang in 11V am
> Ausgang umgesetzt werden, dann kannst du doch mit dem Mikrocontroller
> garantiert jede Spannung von 0V bis 10V per Software sauber einstellen,
> solange der durch die Schaltung erzeugte Offset weniger als 1V beträgt.

Ok, einverstanden, wenn ich den Ausgang auch gegenüber dem negativen 
Potential nehme, dann klappt es, ja. Denke mir das mal durch.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:
> Ich habe ein
> Eingangssignal von 0V-3.3V von einem Microcontroller und soll daraus ein
> 0-10V Ausgangssignal generieren, welches bis zu 10mA liefern kann. Tönt
> soweit nach einer einfachen Verstärkerschaltung.
>
> Die Genauigkeit soll jetzt aber relativ hoch sein, gewünscht ist 0.01V.

Das nächste Problem wird sein, dass die Ausgangsspannung des 
Microcontroller  dazu auf 0.003V genau sein muss.

von Limi (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Beim nochmaligen Betrachten der Schaltung ist mir aufgefallen, dass es 
auch mit einem OP geht. Siehe erstes Bild. Das Bezugspotential ist GND.

Zum Verständnis habe ich zwei Ersatzschaltungen gemacht:

Offsetspannung:
Für die Ersatzschaltung wird der Ausgang des AD-Wandlers 
kurzgeschlossen. Aus Sicht der Offsetspannung arbeitet der OP als 
invertierender Verstärker. Somit liegt am Ausgang eine negative 
Offsetspannung.

AD_Wandler:
In der Ersatzschaltung wird die Offsetspannung kurzgeschlossen. Es 
entsteht ein nicht invertierender Verstärker.

Die beiden Ausgangspannungen Ua aus den beiden Ersatzschaltungen kann 
man gemäss Superposition addieren und erhält die resultierende Spannung.

Wie oben erwähnt muss die Referenzspannung mindestens genauer als 1/1000 
sein.

Welcher uC wird eingesetzt?

von Der Andere (Gast)


Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:
> Die Genauigkeit soll jetzt aber relativ hoch sein, gewünscht ist 0.01V.
> Damit das erreicht wird, wird die Schaltung vorher abgeglichen. An den
> Ausgang muss ein Tiefpassfilter (zum Beispiel LC-PI-Filter).

Da fallen mir noch folgende Fragen ein die glaube ich noch niemand 
gestellt hat:
Wenn du Filtern musst dann ist das Signal vom µC wohl veränderlicher 
Natur.
1. Welche Bandbreite hat das Signal?
2. Warum filterst du NACH der Verstärkung und nicht vorher?

von S. A. (corono)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> S. A. schrieb:
>> Ich habe ein
>> Eingangssignal von 0V-3.3V von einem Microcontroller und soll daraus ein
>> 0-10V Ausgangssignal generieren, welches bis zu 10mA liefern kann. Tönt
>> soweit nach einer einfachen Verstärkerschaltung.
>>
>> Die Genauigkeit soll jetzt aber relativ hoch sein, gewünscht ist 0.01V.
>
> Das nächste Problem wird sein, dass die Ausgangsspannung des
> Microcontroller  dazu auf 0.003V genau sein muss.

Ist ein 12bit DAC. Natürlich fehlerbehaftet, aber immerhin hat er die 
Auflösung, so dass ich gegenenenfalls per Software justieren kann.

Limi schrieb:
> Beim nochmaligen Betrachten der Schaltung ist mir aufgefallen, dass es
> auch mit einem OP geht. Siehe erstes Bild. Das Bezugspotential ist GND.

Schaue ich mir gerne an, danke.

Der Andere schrieb:
> Da fallen mir noch folgende Fragen ein die glaube ich noch niemand
> gestellt hat:
> Wenn du Filtern musst dann ist das Signal vom µC wohl veränderlicher
> Natur.
> 1. Welche Bandbreite hat das Signal?
> 2. Warum filterst du NACH der Verstärkung und nicht vorher?

Das Signal ist relativ langsam, alle 100ms soll ein neuer Wert 
ausgegeben werden.
Das Filter ist im Moment nur als Induktivität eingezeichnet, weil ich 
den ohmschen Anteil in der Simulation wollte, ist aber nicht das fertige 
Filter. Das Filter soll meinen Eingang gegen Störungen von aussen 
Filtern, vor allem Common Mode. Es ist eigentlich ein Eingangsfilter. 
Intern werde ich wohl noch ein einfaches RC-Tiefpass einsetzen, das dann 
aber vor der Verstärkung.

von S. A. (corono)


Bewertung
0 lesenswert
nicht lesenswert
Limi schrieb:
> Der Ausgangs-OP ist als Spannungsfolger höchstwahrscheinlich empfindlich
> auf kapazitive Last. Siehe Datenblatt. Entschärfen kann man dies zum
> Beispiel mit einem Widerstand an dessen Ausgang. (siehe Schema)
> Vermindert allerdings den maximalen Ausgangspegel (zB: 100R*(-+)10mA
> =+-1V). Mit einer negativen Spannungsquelle kann diesem Problem
> entgegengewirkt werden. Aus den 3.3V mit einer Ladungspumpe ca. -3.3V
> machen.
>
> Für kleine Stückzahlen mag ein Abgleich ok sein. Für grössere lohnt sich
> eine Investition in die Genauigkeit der Schaltung, damit man ohne
> Abgleich durchkommt.
>
> Falls ein Abgleich gewünscht, einen kleinen Offset mit dem
> Spannungsteiler R4, R5 erzeugen. Für die Berechnung die Ersatzschaltung
> und Superposition benutzen. Nicht den vollen Ausschlag vom AD-Wandler
> nutzen. AD-Wandler wird 12bit benötigen. (10V/1023=ca. 0.01V restl. Bits
> für Abgleich)
>
> Was soll das LC-Tiefpassfilter filtern?

So, ich habe mir jetzt noch deine Schaltung angesehen und hätte noch ein 
paaar Fragen dazu.

Den Widerstand kann ich einsetzen. Mir ist nur bei der 
Literaturrecherche aufgefallen, dass normalerweise ein Widerstand und 
eine Kapazität eingefüggt werden, die dann quasi den Pol der kapazitiven 
Last eliminieren soll. Da ich aber die Kapazität der Last nicht kenne, 
wird das etwas schwer. Bring der Widerstand auch etwas ohne Kapazität?
(Quelle 
http://www.analog.com/en/analog-dialogue/articles/ask-the-applications-engineer-25.html)

Und wieso brauchst du den zweiten Opamp in der Schaltung? Ich hatte ihn 
bei mir als Spannungsfolger drin, weil ich die Schaltung entkopplen 
wollte, das ist bei dir ja nicht der Fall. Könnte ich nicht einfach den 
Widerstand noch beim ersten Op Amp einfügen?

Edit: hast du ja dann bei der zweiten Schaltung gemacht, habe ich zu 
spät gesehen. Muss diese Schaltung auch noch studieren.

: Bearbeitet durch User
von Limi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:
> Den Widerstand kann ich einsetzen. Mir ist nur bei der
> Literaturrecherche aufgefallen, dass normalerweise ein Widerstand und
> eine Kapazität eingefüggt werden, die dann quasi den Pol der kapazitiven
> Last eliminieren soll. Da ich aber die Kapazität der Last nicht kenne,
> wird das etwas schwer. Bring der Widerstand auch etwas ohne Kapazität?
> (Quelle
> 
http://www.analog.com/en/analog-dialogue/articles/ask-the-applications-engineer-25.html)

Solange die Schleifenverstärkung grösser gleich 1 ist, darf die Phase 
nicht 180° (Phasenreserve 45°) werden, sonst wird die Gegenkopplung zur 
Mitkopplung. (Bodediagramm) Ist der OP als Tiefpass beschalten, dann ist 
die Schleifenverstärkung bei geringeren Frequenzen schon kleiner als 1. 
Phasendrehungen und Pole spielen dann keine Rolle mehr. Also ich hätte 
am als Ausgangs-op besser einen invertierenden OP vorgeschlagen, weil 
sich dieser einfacher als Tiefpass beschalten lässt.

Möglicherweise ist es besser mit zwei OP's zu arbeiten. Mit dem ersten 
addieren und invertieren und mit dem zweiten OP invertierend zu 
verstärken. Dann kann dieser als Tiefpass beschalten werden.

von S. A. (corono)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Danke für die Antworten. Bin jetzt mal wieder dazu gekommen, das Thema 
weiter zu verfolgen. Nachdem ich mich etwas mit der Stabilität von Op 
Amps befasst habe, hätte ich eine Frage:

Limi schrieb:
> Möglicherweise ist es besser mit zwei OP's zu arbeiten. Mit dem ersten
> addieren und invertieren und mit dem zweiten OP invertierend zu
> verstärken. Dann kann dieser als Tiefpass beschalten werden.

Muss es zwingend der intertierende Verstärker sein? Also muss ich 
doppelt invertieren? Kann ich nicht einfach den nichtinvertierenden 
Addierer und dann den nichtinvertierenden Verstärker verwenden? So weit 
ich das bis jetzt gesehen habe, ist die Schleifenverstärkung (Loop Gain) 
bei beiden Verstärkern gleich.

Ausserdem würde mich interessieren, wie du das mit Tiefpass-Beschaltung 
meinst? Die Schaltungen, die ich gefunden habe, die fügen immer einen 
Pol und eine Nullstelle hinzu, so dass ich die Stabilität nur über einen 
gewissen Bereich verbessern kann (Bilder im Anhang).

von Limi (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
S. A. schrieb:
> Ausserdem würde mich interessieren, wie du das mit Tiefpass-Beschaltung
> meinst?

Die Formel für den "invertierenden Verstärker" ist:
===================================================
              R2
Ua = - Ue * ------
              R1

Schliesst man R2 mit einem C für hohe Frequenzen kurz, kann die 
Verstärkung kleiner 1 werden.



und für den "nicht invertierenden Verstärker" gilt:
===================================================
              R2
Ua = Ue * ( ------ + 1)
              R1

Schliesst man R2 mit einem C für hohe Frequenzen kurz, bleibt die 
Verstärkung bis zur OP-Transitfrequenz >=1, wegen dem ... + 1


Fazit:
======
Aus diesem Grunde tendiere ich zu einem "invertierender Verstärker" am 
Ausgang. Den Phasengang der beiden Schaltungen habe ich nicht überprüft. 
Kann sein, dass der "invertierende Verstärker" trotzdem keinen Vorteil 
bringt.


Damit Lastsprünge ausgeregelt werden können, darf die Grenzfrequenz des 
Verstärkers nicht beliebig tief gewählt werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.