Forum: Analoge Elektronik und Schaltungstechnik Stromsenke Opamp virtuelle Masse Verwirrung


von Paul G. (paul_g210) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi Leute, ich stehe gerade mal wieder auf dem Schlauch und bräuchte 
einen Tip.

Ich plane gerade eine neue Version meiner elektronischen Last 
(Stromsenke) und mich verwirrt gerade mein eigener Aufbau und diverse 
Groundpunkte (virtueller und echter).
Der Grundgedanke dürfte hier bekannt sein. Der Strom der verbraten 
werden soll wird über einen N-Channel Mosfet gesteuert welcher wiederum 
an einem Opamp hängt über den man die gewünschte Last einstellen kann. 
Der zu fließende Strom ergibt sich aus dem Lastwiderstand (2,2 Ohm) und 
der Referenzspannung am (+) Eingang des Opamps (max 2,2V). Es soll also 
nicht mehr als 1A verbraten werden (können).

Hatte ich alles schon aufgebaut, hat wunderbar funktioniert....

Nun möchte ich aber das die Referenzspannung von einem STM32 DAC kommt.
Und es soll als Opamp nur ein MCP6002 verwendet werden.
Und ich möchte den Opamp nur von den vorandenen 3.3V Versorgen.

Ich dachte mir in die 3.3V der Opamp Versorgungsspannung passen die
2.2V Referenzspannung wunderbar rein und dann mache ich noch ein Offset
damit die 2.2V genau dazwischen liegen und ich auch wirklich auf Null 
Volt runterkomme.

Also habe ich mit der anderen Hälfte des Opamps eine virtuelle Masse 
gemacht so dass ich dann -0.55V  0V  2,75 habe. Da passen dann die 
2.2V sehr gut mittig rein.

Dann habe ich zum testen ohne Mosfet einfach ein Sinussignal 1kHz mit 
2,2Vpp und +1,1V Offset als Referenzspannung genommen und habe dafür 
dann den virtuellen Ground verwedenet. Das hat auch funktioniert und das 
2,2V Signal lag wunderbar in der Mitte.

Das Problem ist nun, wenn ich wirklich den DAC vom STM32 verwende hat 
der ja seine Massepunkt bei der echten Masse der 3.3V Versorgung. Ich 
kann die Masse vom STM32 ja nicht einfach an VGROUND legen, so wie ich 
dass mit meinem Funktionsgenerator gemacht habe...

Außerdem hat der Mosfet auch nicht den Groundbezug zu VGROUND sondern zu 
den 3.3V Ground...

Und hier weiß ich nicht weiter... Habe ich einen groben Denkfehler? Ich 
sehe gerade nicht mehr durch :D

von Jemand (Gast)


Lesenswert?

Ich würde aus dem rechten Opamp einen Addierer machen, der VGROUND und 
DAC addiert 
https://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen#Der_Addierer_.28Summierverst.C3.A4rker.29 
.

von Jemand (Gast)


Lesenswert?

P.S.: Und die 2k und die 10k tauschen, sodass die Virtuelle Masse dann 
bei 0.55V liegt.

von Dieter W. (dds5)


Lesenswert?

Bei 1A würde Source des FET theoretisch auf 2,2V liegen.
Die 3,3V Ansteuerung am Gate reicht für diesen Strom aber niemals aus.

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Dieter W. schrieb:
> Bei 1A würde Source des FET theoretisch auf 2,2V liegen.
> Die 3,3V Ansteuerung am Gate reicht für diesen Strom aber niemals aus.

Wie kann man das ermitteln welche Spannung am Gate benötigt wird?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

es bietet sich an, die logic-level-Variante des Mosfets zu verwenden mit 
L. Wie immer im Dabla gibt es eine Angabe theshold voltage unter der er 
sicher sperrt, sowie ein Diagramm mit Ugs und Id. Da kann man die 
ungefähr nötige Spannung für 1A ablesen. Ansonsten bietet es sich an, 
den Widerstand zu verkleinern oder eine Ladungspumpe/Spannungswandler 
vorzusehen. Man kann das natürlich auch auf dem Experimentiertisch mit 
Rücklichtlampe vom Auto und Stromkreis und Multimeter selbst ausmessen.


MfG

: Bearbeitet durch User
von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Christian S. schrieb:
> die logic-level-Variante des Mosfets

Ja, danke. Ich wusste irgendwie hatte ich nicht alles auf dem Radar...
Hatte schon ein paar Situationen wo mir Logic-Level Mosfets empfohlen 
wurden.
Der Zeitpunkt ist gekommen mal ein paar zu bestellen.

Ladungspumpe wollte ich eigentlich nicht in der nähe meines STM32 haben 
wegen ADC Störeintrag und weil ich nur 1 Layer Platinen ätze...

Übrigends habe ich den IRFZ44N mal getestet und für 1A brauche ich 
mindestens 4,6V :)

von MaWin (Gast)


Lesenswert?

Paul G. schrieb:
> Und hier weiß ich nicht weiter

Die Schaltung hat reihenweise Fehler.

Der MOSFET (mit maximal 2.2V an Souce) lässt sich mit den 3.3V aus einen 
mit 3.3V versorgten MCP6002 nicht aufsteuern, es bleiben nur 1.1V UGS.
Der MCP6002 ist nicht geeignet, die 1.9nF des IRFZ44 zu steuern, ab 
100pF wird er instabil, siehe Kapitel 4.3 in dessen Datenblatt.
Ein OpAmp braucht keine 47k nach Masse, denn sein Susgzang kann (im 
Gegensatz zu uC Pin) nicht beim Einschalten bis zur 
Portrichtungsinitialisierung offen sein, er ist immer ein Ausgang.
Du willst eine elektronische Last bauen. Du rrfindest das Rad neu. Warum 
glaubst du das machen zu müssen ? Warum guckst du nicht, wie andete 
Leute das machen ?
Deiner Schaltung fehlt vieles, um nicht zu sagen alles.
Keine Komprnsation für den OpAmp, kein Überstromschutz für den 
Transistor, und wenn man den Strom einstellen will, liefert man einfach 
von 0V bis 2.2V aus deinem DAC, es braucht den Kram mit dem 3.3V 
Spannungsteiler nicht, ein DAC ist ein hervorragender Spannungsteiler, 
auch wenn die oberen 2.2-3.3V unbenutzt bleiben.

Siehe "elektronische Last" in F.24.1 aus 
https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.24.1

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

MaWin schrieb:
> Ein OpAmp braucht keine 47k nach Masse, denn sein Susgzang kann (im
> Gegensatz zu uC Pin) nicht beim Einschalten bis zur
> Portrichtungsinitialisierung offen sein, er ist immer ein Ausgang.
> Du willst eine elektronische Last bauen.

Da hätte ich noch Fragebedarf :)
Aber angenommen am nichtinv. Opamp Eingang liegt keine definierte 
Spannung an, zum Bsp. der DAC wurde noch nicht initialisiert und dessen 
Pin ist noch floating... sollte man da nicht einen schwachen Pulldown 
zumindest zwischen Opamp Eingang und DAC drann machen?

von Paul G. (paul_g210) Benutzerseite


Angehängte Dateien:

Lesenswert?

Meine Stromsenke ist nun abgeändert und funktioniert so weit sehr gut. 
Bis auf einen Umstand.
Da ich den Pull Down am Mosfet Gate auf MaWin Rat nun weggelassen habe 
passiert genau das was ich vorher befürchtet hatte.
Während ich meinen STM32 programmiere (flashe) geht der DAC PIN in den 
Zustand "INPUT FLOATING" und schaltet den Mosfet jedes Mal voll durch, 
sprich die Stromsenke ist volle Pulle aktiv wenn ich neu flashe.


Kann mir noch mal jemand erläutern warum ich keinen Pull Down am Gate 
verwenden kann? Ich habe MaWin's Erklärung mit der 
"Portrichtungsinitialisierung"* nicht wirklich verstanden...

(* das Wort gibts bei Google Suche exakt EIN mal :D )

: Bearbeitet durch User
von argos (Gast)


Lesenswert?

Paul G. schrieb:
> Kann mir noch mal jemand erläutern warum ich keinen Pull Down am Gate
> verwenden kann?

Überlege mal in Ruhe ob ein Pulldown am Gate überhaupt einen Effekt hat, 
insbesondere wenn der DAC-Pin auf "floating input" steht. Wie wäre es 
mit einem Pulldown am nichtinvertierenden Eingang des OPV, Pin 3?

von Falk B. (falk)


Lesenswert?

Paul G. schrieb:
> Während ich meinen STM32 programmiere (flashe) geht der DAC PIN in den
> Zustand "INPUT FLOATING" und schaltet den Mosfet jedes Mal voll durch,
> sprich die Stromsenke ist volle Pulle aktiv wenn ich neu flashe.

Hehe ;-)

> Kann mir noch mal jemand erläutern warum ich keinen Pull Down am Gate
> verwenden kann?

Weil der Ausgang vpm OPV immer aktiv ist, da hat der Pull-Down keine 
Chance.
ABER! Der Pull-Down gehört an den DAC-Ausgang, denn der ist ja Floating 
beim Reset/Programmierung!

Solche Pull Up/Down Widerstände sind nur sinnvoll und notwendig, wenn 
Pins auf Tristate gehen können, typischerweise die IOs eines 
Miktrocontrollers.

: Bearbeitet durch User
von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Ahh, verstehe. Okay, in welcher Größenordnung sollte der Pull Down am 
DAC Ausgang sein? Reichen da 100k? Ich will die Ausgangsspannung am DAC 
so wenig wie möglich beeinflussen und trotzdem ein zuverlässigen Zustand 
wenn er auf INPUT/FLOATING schaltet...

von HildeK (Gast)


Lesenswert?

Paul G. schrieb:
> Okay, in welcher Größenordnung sollte der Pull Down am
> DAC Ausgang sein? Reichen da 100k?

Ich kenne die Daten des STM32 nicht und auch nicht, was der DAC-Ausgang 
an Last kann. Danach kann man sich richten.
Wenn alles schön klein beieinander ist, reichen die 100k, mir persönlich 
wäre ein kleinerer Wert lieber: 47k, 22k etc.

von Elliot (Gast)


Lesenswert?

Paul G. schrieb:
> Ahh, verstehe. Okay, in welcher Größenordnung sollte der Pull Down am
> DAC Ausgang sein? Reichen da 100k? Ich will die Ausgangsspannung am DAC
> so wenig wie möglich beeinflussen und trotzdem ein zuverlässigen Zustand
> wenn er auf INPUT/FLOATING schaltet...

Nein, 100k reichen nicht. Und möglicherweise geht es so gar nicht..

Die Ursache für das Einschalten des Mosfet ist nämlich der OPV selbst. 
Der hat pnp-Transistoren im Eingangs-Diff. Der Eingangsbiasstrom erzeugt 
daher positive Eingangsspannungen proportional zum DC-Widerstand am 
jeweiligen Eingang.

Am -Eingang liegen 10k, was mit 50nA Biasstrom etwa 500µV erzeugt. Wenn 
der +Eingang hochohmig ist, geht die Spannung dort durch den Biasstrom 
an den positiven Anschlag und der OPV-Ausgang auch. Du musst also den 
+Eingang immer sicher unterhalb des -Eingang halten.

Das ist aber wegen der Offsetspannung von bis zu 7mV mit den 
DC-Widerständen nicht sicher möglich. Denn selbst wenn der +Eingang mit 
0R am Masse liegt, hast du nur 500µV Differenz bei bis zu 7mV 
überlagerter Offsetspannung.

von Elliot (Gast)


Lesenswert?

HildeK schrieb:
> Wenn alles schön klein beieinander ist, reichen die 100k

Niemals. Siehe meine Erklärung oben. 100k würden 4,5mV zusätzliche 
positive Offsetspannung erzeugen, so würde man sicherstellen, daß der 
OPV-Ausgang immer an den postiven Anschlag geht.

von Achim S. (Gast)


Lesenswert?

Elliot schrieb:
> so würde man sicherstellen, daß der
> OPV-Ausgang immer an den postiven Anschlag geht.

Der OpAmp geht an den positiven Anschlag, wenn über die Klemme nicht der 
gewünschte Strom nachkommt. Wenn das ein Problem ist, muss es auf 
anderem Weg gelöst werden.

Aktuell geht es dem TO aber um das Problem, dass während der 
Programmierung des µC der DAC-Wert undefiniert ist und die Stromsenke 
deswegen voll aufsteuert.  Mit dem 100kOhm Pulldown wird sie aber nicht 
mehr voll austeuern. Die 4,5mV (bias-Strom * 100kOhm) zusätzliche 
Offsetspannung sorgen nur dafür, dass die Stromsenke 4,5mV/2,2Ohm = 2mA 
aufnimmt. Ds wäre ggf. noch akzeptabel für die Zeitdauer der 
Programmierung des µC.

von Falk B. (falk)


Lesenswert?

Elliot schrieb:
> Du musst also den
> +Eingang immer sicher unterhalb des -Eingang halten.
>
> Das ist aber wegen der Offsetspannung von bis zu 7mV mit den
> DC-Widerständen nicht sicher möglich.

Doch. Man ergänze einen Widerstand mit 4,7MOhm zwischen +10V und U3A-
Damit zieht man den IST-Wert um ca. 20mV nach oben und der OPV regelt 
sicher und sauber auf 0mA.

von Falk B. (falk)


Lesenswert?

Paul G. schrieb:
> Ahh, verstehe. Okay, in welcher Größenordnung sollte der Pull Down am
> DAC Ausgang sein? Reichen da 100k? Ich will die Ausgangsspannung am DAC
> so wenig wie möglich beeinflussen und trotzdem ein zuverlässigen Zustand
> wenn er auf INPUT/FLOATING schaltet...

Mein Gott, so ein DAC-Ausgang ist doch keine Mimose. Der liefert sicher 
locker 1mA bei Vollausschlag, also könnte man da 3,3kOhm dran hängen. 
Nimm 10k und alles ist gut.

von Achim S. (Gast)


Angehängte Dateien:

Lesenswert?

Falk B. schrieb:
> Mein Gott, so ein DAC-Ausgang ist doch keine Mimose. Der liefert sicher
> locker 1mA bei Vollausschlag, also könnte man da 3,3kOhm dran hängen.
> Nimm 10k und alles ist gut.

Na ja, bei manchen STM32 (evtl. bei allen: da habe ich keinen 
vollständigen Überblick) ist der DAC schon ein bisschen mimosenhaft 
(siehe Anhang). 3,3kOhm können ihn tatsächlich schon "zu stark 
belasten". 10kOhm sind ok, wenn man den Output Buffer nutzt (was sich 
natürlich empfiehlt).

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Achim S. schrieb:
> wenn man den Output Buffer nutzt (was sich
> natürlich empfiehlt).

Nein, mit Buffer kommt der DAC nur bis auf 0,2V runter. Das ist keine
Option für mich.

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Man ergänze einen Widerstand mit 4,7MOhm zwischen +10V und U3A-
> Damit zieht man den IST-Wert um ca. 20mV nach oben und der OPV regelt
> sicher und sauber auf 0mA.

Das würde ich mir mal in der Hinterhand halten.

Was wäre denn wenn ich den Bias Current wie in diesem Video von Dave 
Jones "auslösche" indem ich in den Feedbackloop einen Widerstand 
reinmache der ungefähr die große des PullDowns am DAC Ausgang hat? Würde 
das funktionieren?

https://youtu.be/TxBJb-Z0XFI?t=525

Das einfachste ist aber ein Dickes fettes Schild "LAST ABKLEMMEN BEVOR 
FIRMWARE FLASHEN" :D

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Paul G. schrieb:
> Was wäre denn wenn ich den Bias Current wie in diesem Video von Dave
> Jones "auslösche" indem ich in den Feedbackloop einen Widerstand
> reinmache der ungefähr die große des PullDowns am DAC Ausgang hat? Würde
> das funktionieren?

Wenn du den 100k als Pulldown nimmst, lässt die Stromsenke halt während 
der Programmierung ein paar mA fließen. Wenn das kein Problem für dich 
ist, dann ist es hierfür die einfachste Lösung.

Wenn du von diesen 2,xmA auf 0,xmA während des Programmierens 
runterkommen willst, dann kannst du die Widerstände in beiden 
Eingangszweigen gleich groß machen. Das passt dann aber nur für die paar 
Sekunden der Programmierung, nicht für den normlen Betrieb (weil dann ja 
der DAC-Ausgang mit seinen 15kOhm parallel zum Pulldown liegt).

Getrennt von der Frage, was während der Programmierung passiert, kannst 
du die Frage betrachten, wie sauber du an 0mA herankommst. Um sicher auf 
0mA zu kommen, muss der gesamte Offset des OPV-Eingangs ein definiertes 
Vorzeichen haben. Dazu hilft es, den Nullpunkt am OPV-Eingang etwas zu 
verschieben (wie von Falk vorgeschlagen).

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Okay, vielen Dank soweit.

Noch eine Frage zu

Falk B. schrieb:
> Man ergänze einen Widerstand mit 4,7MOhm zwischen +10V und U3A-
> Damit zieht man den IST-Wert um ca. 20mV nach oben und der OPV regelt
> sicher und sauber auf 0mA.

Soll der Widerstand in Serie zwischen +10V und der positiven 
Spannungsversorgung?

Was ist die Rechnung hinter 4,7M und 20mV, ich komme nicht dahinter :D

von Achim S. (Gast)


Lesenswert?

Paul G. schrieb:
> Was ist die Rechnung hinter 4,7M und 20mV, ich komme nicht dahinter :D

Spannungsteiler aus den 4,7M und R3+Shunt

Paul G. schrieb:
> Soll der Widerstand in Serie zwischen +10V und der positiven
> Spannungsversorgung?

Nein. Sondern genau wie geschrieben:

Paul G. schrieb:
> Falk B. schrieb:
>> Man ergänze einen Widerstand mit 4,7MOhm zwischen +10V und U3A-

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Achim S. schrieb:
> U3A-

Sorry, hab das "-" übersehen.
Danke, ich werde das baldigst umsetzten und berichten :)

von Falk B. (falk)


Lesenswert?

Paul G. schrieb:
> Falk B. schrieb:
>> Man ergänze einen Widerstand mit 4,7MOhm zwischen +10V und U3A-
>> Damit zieht man den IST-Wert um ca. 20mV nach oben und der OPV regelt
>> sicher und sauber auf 0mA.
>
> Soll der Widerstand in Serie zwischen +10V und der positiven
> Spannungsversorgung?

NEIN! Wo steht denn das? Zwischen +10V und den negativen  OPV-EINGANG, 
NICHT die Versorgung!

> Was ist die Rechnung hinter 4,7M und 20mV, ich komme nicht dahinter :D

Bei 0mA liegen 0mV über R-Shunt1 (doofer Name, ein R1 reicht hier 
vollkommen) Also liegen auch 0mV am -Eingang des OPVs. Wenn man nun 
einen 4,7M Ohm Widerstand gegen +10V dort anklemmt, fließen I = U / R = 
10V / 4,7MOhm = 2,1uA durch R3 (10k) und erzeugen 20mV Spannungsabfall. 
Der OPV sieht also 20mV und versucht bei 0mV am +Eingang, den Strom 
weiter runter zu regeln, sprich, die Stromquelle sperrt vollständig. Ca. 
10mV sind dafür reserviert, die Offestspannung am OPV zu kompensieren, 
denn auch wenn man 0mV Differenzsspannung anlegt, "denkt" der OPV es 
liegt eine Spannung an. Das ist halt der Fehler der Offsetspannung.

von Paul G. (paul_g210) Benutzerseite


Lesenswert?

Eine Frage noch zu dem Mosfet. Wie wirkt sich eigentlich Rds(on) auf die 
ganze Schaltung aus? Hat das Einfluss auf die Genauigkeit des 
einzustellenden Stroms? Eigentlich nicht oder? Der Opamp regelt doch den 
Spannungsabfall wieder raus. Also wenn ich 1A haben will müssen ja 2,2V 
über den 2,2R Shunt laufen und wenn Rds(on) 0,028R sind dann würden über 
den Mosfet 28mV abfallen und der Opamp würde unbeindruckt dessen den 
Mosfet immer so weit Aussteuern bis er am inv. Eingang 2.2V sieht?

Was passiert dann mit den 28mV? Die werden einfach nur am Mosfet als 
0,028V * 1^2A = 28mW verbrannt?

von Achim S. (Gast)


Lesenswert?

Paul G. schrieb:
> Eine Frage noch zu dem Mosfet. Wie wirkt sich eigentlich Rds(on) auf die
> ganze Schaltung aus?

Gar nicht.

Rds(on) liegt nur dann vor, wenn du den FET vollständig aufsteuerst (im 
Schaltbetrieb). In deiner Schaltung wird er natürlich nicht vollständig 
durchgeschaltet sondern nur so weit angesteuert, dass der richtig Strom 
fließt. Der Spannungsabfall am FET ist also deutlich größer als die von 
dir berechneten 28mV (grade so groß, dass sich der richtige Strom 
einstellt).

Und ja: der FET verbrät den eingestellten Strom mal dem Spannungsabfall.

von Falk B. (falk)


Lesenswert?

Paul G. schrieb:
> Eine Frage noch zu dem Mosfet. Wie wirkt sich eigentlich Rds(on) auf die
> ganze Schaltung aus? Hat das Einfluss auf die Genauigkeit des
> einzustellenden Stroms? Eigentlich nicht oder?

Nein.

> Der Opamp regelt doch den
> Spannungsabfall wieder raus.

Eben.

 Also wenn ich 1A haben will müssen ja 2,2V
> über den 2,2R Shunt laufen und wenn Rds(on) 0,028R sind dann würden über
> den Mosfet 28mV abfallen und der Opamp würde unbeindruckt dessen den
> Mosfet immer so weit Aussteuern bis er am inv. Eingang 2.2V sieht?

Ja.

Rechne einfach mal die niedrigste Spannung deiner Batterie mit dem 
höchsten Strom, daraus ergibt sich der niedrigste Widerstand.
1
Rmin = Umin / Imax
2
Rmin_MOSFET = Rmin-R_Shunt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.