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
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 .
P.S.: Und die 2k und die 10k tauschen, sodass die Virtuelle Masse dann bei 0.55V liegt.
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.
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?
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
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 :)
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
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?
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
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?
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
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...
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.
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.
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.
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.
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.
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.
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).
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.
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
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).
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
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-
Achim S. schrieb: > U3A- Sorry, hab das "-" übersehen. Danke, ich werde das baldigst umsetzten und berichten :)
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.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.