Forum: Analoge Elektronik und Schaltungstechnik LTspice Schmitt-Trigger LM741, Fragen zu Diagrammen


von Josef E. (seyd)



Lesenswert?

Hallo zusammen,

ich befasse mich erst seit Kurzem mit LTspice. Die Schaltung soll als 
Vorbereitung für einen Dämmerungsschalter dienen. Den LDR habe ich 
mittels einer step-Direktive dargestellt. Das LTspice-Modell für den 
LM741 habe ich im Internet gefunden.

Bei der Simulation habe ich Diagramme erzeugen lassen: U = f(R(LDR)). 
Dabei frage ich mich, warum beim LM741 sehr "unsaubere" Schaltschwellen 
auftreten. Ich habe den LM741 durch einen UniversalOpAmp2 ersetzt. Dann 
sind die Schaltschwellen "sauberer", aber immer noch nicht so, wie ich 
es vermuten würde.

Vielleicht kann jemand meine Versuchsergebnisse einordnen und 
kommentieren.

VG seyd

von Michael B. (laberkopp)


Lesenswert?

Merkwürdig, hast du irgendwie am timestep rumgespielt ?

von Josef E. (seyd)


Lesenswert?

Michael B. schrieb:
> Merkwürdig, hast du irgendwie am timestep rumgespielt ?

Das sagt mir nichts. Bewusst habe ich da nichts verändert.

von Michael B. (laberkopp)


Lesenswert?

Josef E. schrieb:
> Michael B. schrieb:
>> Merkwürdig, hast du irgendwie am timestep rumgespielt ?
>
> Das sagt mir nichts. Bewusst habe ich da nichts verändert.

Achso, wir sehen nicht den timestep sondern den Parameterstep

Aber deine Schaltung ist bistabil, hat keinen eindeutigen Arbeitspunkt.

Lass eine .TRAN laufen, in der eine weitere Spannungsquelle den 
Widerstandswert des LDR über die Zeit ändert

https://electronics.stackexchange.com/questions/3623/ltspice-vary-a-resistors-value-over-time

und protokollieere des Ergebnis der Ausgangsspannung über die Zeit.

von Bernhard (bernhard_123)


Lesenswert?

Timestep gibt es nur in der .tran-Analyse, hier nicht.

Abgesehen vom parameter-Stepping und der .op-Analyse, die ich hier nicht 
für sinnvoll halte:

Im Rückkoppel-Zweig gehen 11 kOhm an Ua. Das ist niederohmiger als R4 
oder der LDR. Die Schaltung wird irgendwo hängen bleiben.
R1 und R2 müssen viel größer als {LDR} sein, sonst hat {LDR} kaum 
Einfluss auf die Spannung an Ue.

Z. B. R1 = 100k und R2=1Meg

Ich würde R5 als steuerbare Quelle (Bi oder Bv) modellieren, dann kann 
man den Widerstandswert stufenlos ändern, und dazu eine eine .DC-Analyse 
machen.

Noch schöner, aber etwas aufwändiger ist eine .tran-Analyse (Analyse 
über der Zeit).
Dabei kann man für die steuerbare Quelle (LDR) beliebige Kurven 
generieren, z. B. in einem Simulationslauf beide Richtungen (5k -> 120k 
-> 5k) durchfahren und gleich die Hysterese sehen.

von Josef E. (seyd)



Lesenswert?

Bernhard schrieb:
> Im Rückkoppel-Zweig gehen 11 kOhm an Ua. Das ist niederohmiger als R4
> oder der LDR. Die Schaltung wird irgendwo hängen bleiben.
> R1 und R2 müssen viel größer als {LDR} sein, sonst hat {LDR} kaum
> Einfluss auf die Spannung an Ue.
>
> Z. B. R1 = 100k und R2=1Meg

Ich habe geändert: R1 = 10Meg und R2=100Meg

Trotzdem bleibt Im Bereich der Umschaltung ein Bereich, den ich nicht 
verstehe und nicht erklären kann.

von Josef E. (seyd)


Lesenswert?

Josef E. schrieb:
> Ich habe geändert: R1 = 10Meg und R2=100Meg

Sorry 1Meg und 10 Meg

von H. H. (Gast)


Lesenswert?

Die Schaltung hat ja immer noch ZWEI Arbeitspunkte.

von Andreas S. (igel1)



Lesenswert?

Anbei 2 Umsetzungsalternativen in LTspiceXVII

R_ldr variiere ich hier jeweils von 5k ... 105k.

Die 2. Alternative hat den Vorteil, dass Du quasi beliebige 
Widerstandsverläufe simulieren kannst (hier: 5k -> 105k -> 5k)
und somit schön die Hysterese beobachten kannst.

Viele Grüße

Igel1

von Bernhard (bernhard_123)



Lesenswert?

Stimmt, LTspice rechnet Widerstände intern als B-Elemente, deshalb kann 
man dort als Wert direkt die Gleichung R=... eingeben. (Sieht schöner 
aus als meine Version)

Ich hab das gestern mit einer Bi-Quelle gemacht, konnte das aber nicht 
mehr posten, siehe Anlage.

Im Diagramm habe ich dann Ua über dem Widerstand des LDR (bei meiner 
Schaltung die Steuerspannung) anzeigen lassen, damit man die 
Hysteresekurve mit den Kipp-Punkten sieht.

Bernhard

von Josef E. (seyd)


Lesenswert?

Andreas S. schrieb:
> Anbei 2 Umsetzungsalternativen in LTspiceXVII

Vielen Dank für die zwei wirklich schönen Lösungen. Mir gefällt auch der 
"saubere" Schaltungsaufbau. Da kann ich als LTspice-Anfänger viel 
lernen.

Zwei Sachen stören mich:

1. Ich weiß immer noch nicht, warum meine Lösung so merkwürdige 
Ergebnisse liefert.
2. Vom perfektionistischen Standpunkt aus müsste auf der Abszisse die 
Lichtstärke abgetragen werden, da der variable Teil in der Schaltung der 
LDR ist. Dieser "richtigen" Lösung am nächsten kommt meine Lösung, da 
dort auf der x-Achse der sich ändernder Widerstand des LDR abgetragen 
ist.

VG seyd

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Bernhard schrieb:
> Im Diagramm habe ich dann Ua über dem Widerstand des LDR (bei meiner
> Schaltung die Steuerspannung) anzeigen lassen, damit man die
> Hysteresekurve mit den Kipp-Punkten sieht.

Wenn man sich Ue anzeigen lässt, sieht man, dass die Belastung des 
Spannungsteilers am Umschaltpunkt immer noch als Spannungssprung von 
über 0.5V rückwirkt.

von Josef E. (seyd)


Lesenswert?

Michael B. schrieb:
> Aber deine Schaltung ist bistabil, hat keinen eindeutigen Arbeitspunkt.

H. H. schrieb:
> Die Schaltung hat ja immer noch ZWEI Arbeitspunkte.

Ich muss gestehen, dass ich beide Einwände nicht verstehe. Daher wäre 
ich für eine genauere Erklärung dankbar. Es würde mich auch 
interessieren, wie Abhilfe zu schaffen ist.

von Josef E. (seyd)


Lesenswert?

Bernhard schrieb:
> Ich hab das gestern mit einer Bi-Quelle gemacht, konnte das aber nicht
> mehr posten, siehe Anlage.

Das ist eine interessante Lösung.

Was mich stört, habe ich schon in der Antwort auf Andreas.S geschrieben.

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Josef E. schrieb:
> 1. Ich weiß immer noch nicht, warum meine Lösung so merkwürdige
> Ergebnisse liefert.

Neben der Rückwirkung des Schmitt-Triggers auf den Spannungsteiler, 
spuckt dir der Eingangsstrom des 741 ganz kräftig in die Suppe. Ändere 
mal R6 und guck dir den Eingangsstrom am '+'-Input an.

: Bearbeitet durch User
von Josef E. (seyd)



Lesenswert?

Rainer W. schrieb:
> Ändere
> mal R6 und guck dir den Eingangsstrom am '+'-Input an.

Das habe ich gemacht und erhalte beiliegendes Ergebnis. Nach dem 
Umschalten bleibt der Strom am +-Eingang konstant bei Null. Kann das an 
dem LTspice-Modell liegen, das ich für den LM741 verwendet habe?

von Bernhard (bernhard_123)


Lesenswert?

Die Schaltung hat eine Hysterese. Die Spannung am nichtinvertierenden 
Eingang hängt ab von der Spannung am Ausgang.

Im Bereich zwischen den beiden Schaltpunkten (R5 = 40...63 kΩ) gibt es 
zwei stabile Zustände (Arbeitspunkte). Je nach Vorzustand ist der 
Ausgang an der oberen oder an der unteren Stellgrenze.

Wenn R5 über eine .step-Anweisung geändert wird, wird die Simulation für 
jeden Schritt neu gestartet. Dabei ist der Vorzustand nicht bekannt.
Die Anweisung .op führt dann zu einem der beiden stabilen Arbeitspunkte. 
Welcher das ist, kann ich nicht vorhersagen.

Dass die Ausgangsspannung auf die Spannung am LDR zurück wirkt, kann man 
rausrechnen. Entweder durch Simulation oder Stern-Dreieck-Umwandlung. 
Das stört also nicht.

Der Eingangsstrom des LM741 würde mich auch nicht stören. Wichtig ist, 
dass der Strom im Schaltpunkt, d. h. wenn beide Eingangsspannungen 
gleich sind, klein ist und den Schaltpunkt deshalb nicht wesentlich 
beeinflusst. Nach dem Kippen darf der Eingangsstrom groß werden, dann 
hat er auf das Ausgangssignal keinen Einfluss mehr.

Bernhard

von Bernhard (bernhard_123)


Lesenswert?

Josef E. schrieb:
> Nach dem
> Umschalten bleibt der Strom am +-Eingang konstant bei Null. Kann das an
> dem LTspice-Modell liegen, das ich für den LM741 verwendet habe?

Deine Bilddateien kann ich nicht ausreichend lesen.

Wenn die Spannung an einem der beiden Eingänge größer wird als am 
anderen, übernimmt der mit er höheren Spannung den gesamten 
Eingangsstrom. Dessen Strom steigt also und der Eingangsstrom des 
anderen Eingangs sinkt auf Null.

Das ist hier sogar korrekt modelliert.

Bernhard

von Andreas S. (igel1)


Lesenswert?

@bernhard_123:

Ich habe eine Frage zu Deiner LTspice Lösung in 
Beitrag "Re: LTspice Schmitt-Trigger LM741, Fragen zu Diagrammen" :

Dort verwendest Du mit dem Bauteil B_LDR eine "Arbitrary behavioral 
current source" - also eine Stromquelle, die Du beliebig über Funktionen 
steuern kannst.

So weit, so gut. Was ich nun absolut nicht verstehe ist die Funktion, 
die Du darin verwendest, nämlich:

[source]
V=I(B_LDR)*V(R_LDR)
[/source]

"V=" bedeutet doch eigentlich, dass Du eine "Arbitrary behavioral 
voltage source" aus der "Arbitrary behavioral current source" machst, 
oder?

Du hast also in Wirklichkeit eine funktionsgesteuerte Spannungsquelle 
dort eingebaut, oder? (vgl. z.B. hier: 
https://ltwiki.org/?title=B_sources_%28complete_reference%29)

Warum hast Du dann nicht das entsprechende Symbol für die Arbitrary 
behavioral voltage source ausgewählt?

Und weiterhin (das ist meine eigentliche Frage): wie kannst Du im 
Funktionsteil dieser Spannungsquelle den Strom I(B_LDR) nutzen, wenn der 
doch eigentlich gar nicht bekannt ist.

Und der Innenwiderstand dieser Quelle, der ja den Strom bestimmen würde, 
der wird ja auch nirgendwo festgelegt - oder habe ich da irgendwo etwas 
übersehen?

Es funktioniert ja alles offensichtlich - ich kapier nur nicht so ganz 
warum ...

Oder schreibst Du einfach diese Gleichung mit 2 Unbekannten hin und 
überlässt LTspice den Job, I(B_LDR) und V so zu berechnen, dass alles im 
Verbund mit dem Rest der Schaltung passt?  Das wäre ja super raffiniert! 
Wo hast Du diesen Trick her?

Viele Grüße

Igel1

von Bernhard (bernhard_123)


Lesenswert?

Andreas S. schrieb:
> Dort verwendest Du mit dem Bauteil B_LDR eine "Arbitrary behavioral
> current source" - also eine Stromquelle, die Du beliebig über Funktionen
> steuern kannst.
>
> So weit, so gut. Was ich nun absolut nicht verstehe ist die Funktion,
> die Du darin verwendest, nämlich:
>
> [source]
> V=I(B_LDR)*V(R_LDR)
> [/source]
>
> "V=" bedeutet doch eigentlich, dass Du eine "Arbitrary behavioral
> voltage source" aus der "Arbitrary behavioral current source" machst,
> oder?

Ja.

> Du hast also in Wirklichkeit eine funktionsgesteuerte Spannungsquelle
> dort eingebaut, oder? (vgl. z.B. hier:
> https://ltwiki.org/?title=B_sources_%28complete_reference%29)
>
> Warum hast Du dann nicht das entsprechende Symbol für die Arbitrary
> behavioral voltage source ausgewählt?

Hoppla, das sehe ich eben erst: Ich hatte zuerst eine Bi-Quelle und als 
Formel I=U/R eingegeben. Aber dazu muss man für U die Spannungen an den 
zwei Knoten (Anschlüssen) an der Quelle angeben, das ist mehr Aufwand 
als den einen Strom durch die B-Quelle. Außerdem führt I=U/R zu 
Problemen, wenn R=0 vorkommt.
Dann habe ich die Formel geändert auf U=I*R, aber vergessen, das Symbol 
zu ändern von Bi auf Bv. Für die Funktion ist das Symbol egal.

> Und weiterhin (das ist meine eigentliche Frage): wie kannst Du im
> Funktionsteil dieser Spannungsquelle den Strom I(B_LDR) nutzen, wenn der
> doch eigentlich gar nicht bekannt ist.

Doch, die B-Quelle kennt den Strom, der durch sie fließt.
Du nutzt eigentlich die gleiche Eigenschaft, nämlich eine Br-Quelle und 
ein Widerstandssymbol.

> Und der Innenwiderstand dieser Quelle, der ja den Strom bestimmen würde,
> der wird ja auch nirgendwo festgelegt - oder habe ich da irgendwo etwas
> übersehen?

Das habe ich versucht im Schaltbild zu beschreiben:

Spannung am Widerstand: U = I * R

I <- I(B_LDR)

R <- V(R_LDR)

-> Der Widerstand von B_LDR entspricht genau der Spannung am Knoten 
R_LDR.

Statt dem Widerstand "R" gebe ich an dessen Stelle eine Spannung 
"V(R_LDR)" ein. LTspice ist die physikalische Einheit egal, es rechnet 
nur mit den Zahlenwerten. 1 kV entspricht 1 kOhm.

> ...
> Oder schreibst Du einfach diese Gleichung mit 2 Unbekannten hin und
> überlässt LTspice den Job, I(B_LDR) und V so zu berechnen, dass alles im
> Verbund mit dem Rest der Schaltung passt?  Das wäre ja super raffiniert!
> Wo hast Du diesen Trick her?

Das ist eigentlich der Kern der konvergierenden Matrixlösung bei SPICE. 
In mehreren Schritten wird I(B_LDR) variiert, bis die Gleichung erfüllt 
ist, d. h. bis die Abweichung kleiner ist, als in den Parametern Reltol 
usw. vorgegeben ist.

von Andreas S. (igel1)


Lesenswert?

Bernhard schrieb:

> Statt dem Widerstand "R" gebe ich an dessen Stelle eine Spannung
> "V(R_LDR)" ein. LTspice ist die physikalische Einheit egal, es rechnet
> nur mit den Zahlenwerten. 1 kV entspricht 1 kOhm.

Das habe ich verstanden und hatte diesen "Trick" ja auch bereits in 
meiner 2. Schaltungsalternative verwendet.

>> ...
>> Oder schreibst Du einfach diese Gleichung mit 2 Unbekannten hin und
>> überlässt LTspice den Job, I(B_LDR) und V so zu berechnen, dass alles im
>> Verbund mit dem Rest der Schaltung passt?  Das wäre ja super raffiniert!
>> Wo hast Du diesen Trick her?
>
> Das ist eigentlich der Kern der konvergierenden Matrixlösung bei SPICE.
> In mehreren Schritten wird I(B_LDR) variiert, bis die Gleichung erfüllt
> ist, d. h. bis die Abweichung kleiner ist, als in den Parametern Reltol
> usw. vorgegeben ist.

Ah - interessant.
Ich war bislang immer nur "dummer" User von LTspice, ohne mir wirklich 
viel Gedanken über die hinterliegende Funktionsweise des Programms 
gemacht zu haben. Deine Erläuterung hat mir jetzt gerade sehr geholfen, 
Dein (äußerst raffinierte) Konstrukt zu verstehen - danke dafür!

Viele Grüße

Igel1

von John B. (craftsman)


Lesenswert?

Josef E. schrieb:
> Vom perfektionistischen Standpunkt aus müsste auf der Abszisse die
> Lichtstärke abgetragen werden, da der variable Teil in der Schaltung der
> LDR ist. Dieser "richtigen" Lösung am nächsten kommt meine Lösung, da
> dort auf der x-Achse der sich ändernder Widerstand des LDR abgetragen
> ist.

Wenn ich nichts übersehen habe, wurde dieser Punkt noch nicht 
beantwortet. In der Transienten Analyse kannst du den default Inhalt der 
Abszisse: time, durch einen anderen Ausdruck ersetzen, der die 
Lichtstärke repräsentiert. Rechtsklick auf die Abszisse.

von John B. (craftsman)


Lesenswert?

Bernhard schrieb:
> Statt dem Widerstand "R" gebe ich an dessen Stelle eine Spannung
> "V(R_LDR)" ein. LTspice ist die physikalische Einheit egal, es rechnet
> nur mit den Zahlenwerten. 1 kV entspricht 1 kOhm.

Es ist zwar verständlich, was mit KV dort gemeint war, aber es geht auch 
etwas hübscher:

V(R_LDR)/1A  an dieser Stelle führt zur Anzeige von Widerstandswerten in 
Ohm.

OK mein voriger Post war überflüssig, denn gerade dieses Teilthema 
behandelt die Alternativen zu time auf der Abszisse, das hatte ich 
übersehen.

: Bearbeitet durch User
von Bernhard (bernhard_123)


Lesenswert?

John B. schrieb:
> In der Transienten Analyse kannst du den default Inhalt der
> Abszisse: time, durch einen anderen Ausdruck ersetzen, der die
> Lichtstärke repräsentiert. Rechtsklick auf die Abszisse.

Man kann auch ein Modell für den LDR erstellen. Eingang: 
Beleuchtungsstärke, Ausgang: Widerstandswert.

Dann kann man auch nicht-proportionale Zusammenhänge darstellen oder das 
verzögerte Ansteigen des Widerstandswerts.

> V(R_LDR)/1A  an dieser Stelle führt zur Anzeige von Widerstandswerten in Ohm.

Stimmt. Das geht so schnell, hätte ich gleich machen können.

Bernhard

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.