Forum: PC Hard- und Software Schmitt Trigger funktioniert nicht mit Hysterese LTSpice


von Fabian R. (flo_rida)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein Problem mit dem nativen Schmitt Trigger in LTSpice. Ziel 
ist es später mal einen Wechselrichter mit Sinusmodulation in LTSpice zu 
simulieren. Dafür baue ich mir grade eine Ansteuerung á la 
Sinus-Dreieck-Vergleich. Angehängt dafür die .asc. Problem habe ich 
gerade bei der Generiegung einer Totzeit. Dafür läufte die PWM über 
einen RC-Tiefpass in einen Schmitt Trigger. über die Hysterese will ich 
so eine Totzeit "generieren" aber leiider klappt das nicht. Der Schmitti 
macht keine Hysterese, was habe ich falsch gemacht?

Grüße
Flo_Rida

: Bearbeitet durch User
von gambae (Gast)


Angehängte Dateien:

Lesenswert?

Versuch es mit dem Parameter tripdt für den Schmitt-Trigger. Mit 10ns 
passen die gemessenen Werte zu den eingestellten und man muß nicht für 
die komplette Simulation den max. timestep vorgeben.

Aus der Hilfe:
1
The gates and Schmitt trigger devices supply no timestep information
2
to the simulation engine by default. That is, they don't look when
3
they are about to change state and make sure there's a timestep close
4
to either side of the state change. The instance parameter tripdt can
5
be set to stipulate a maximum timestep size the simulator takes
6
across state changes.

von Helmut S. (helmuts)


Lesenswert?

Also ich sehe die Hysterese.
Füge noch den Parameter tripdt=1n hinzu.
Damit bekommt man steilere Flanken am Ausgang des Schmitt-Triggers.

Vt=2.5 Vh=1 Vlow=0 Vhigh=15 tripdt=1n


> .tran 1f 20m uic

Ein .TRAN mit maximalem Zeitschritt würde so aussehen.
.tran 0 20m 0 0.1u uic

von gambae (Gast)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> Also ich sehe die Hysterese.
Da hast du wieder einmal wahr ;)

Wenn man (Vhigh+Vlow)/2 als Umschaltkriterium des Ausgangs nimmt, 
unterscheiden sich die Schaltpunkte nicht sehr deutlich. Mich hat dabei 
tatsächlich die Flankensteilheit irritiert.
1
Measurement: tlh
2
  step  v(c)  at
3
     1  3.49732  0.00958504
4
     2  3.50429  0.00958504
5
     3  3.50004  0.00958505
6
7
Measurement: thl
8
  step  v(c)  at
9
     1  1.53858  0.00958558
10
     2  1.50247  0.00958561
11
     3  1.49974  0.00958557

Dabei fiel mir auf, dass auch V(C) bzw. V(B1.out) davon beeinflusst 
werden.

Auch wenn es eher ohne praktischen Nährwert ist - sollte man auch B1 zu 
kleineren Schritten zwingen, wobei sich die Unterschiede der 
Schaltschwellen vergrößern?
1
Measurement: tlh
2
  step  v(c)  at
3
     1  3.56572  0.00958503
4
     2  3.50302  0.00958505
5
     3  3.49911  0.00958505
6
7
Measurement: thl
8
  step  v(c)  at
9
     1  1.71125  0.00958557
10
     2  1.51478  0.00958558
11
     3  1.49981  0.00958558

von Helmut S. (helmuts)


Lesenswert?

Wobei dein tripdt von 1m etwas groß ist. Da würde ich hier schon eher 
tripdt=1u oder 0.1u nehmen.

von gambae (Gast)


Lesenswert?

Helmut S. schrieb:
> Wobei dein tripdt von 1m etwas groß ist.
Die Darstellung mit 1ms sollte dem Ergebnis entsprechen, wenn tripdt gar 
nicht gesetzt ist - also den Defaultwert nicht beeinflussen (analog zum 
max. timestep).

von Fabian R. (flo_rida)


Lesenswert?

Dankeschön für die Antworten, ich habe es jetzt allerdings mit einem 
Schalter gemacht, da habe ich am einfachsten steile Flanken realisiert 
bekommen. Obwohl wie ich eure Antworten jett lese ist es auch mit dem 
Schmitt Trigger nicht mehr so kompliziert.

Grüße
Flo_Rida

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.