Hallo, ich möchte ein PWM-Signal generieren, indem ich ein Sinussignal mit einem Dreiecksignal moduliere. Betrachte ich die Flanken des PWM-Signals und des invertierten PWM-Signal in meiner Schaltung anbei, weisen diese einen Knick auf statt einen sauberen geradlinigen Verlauf darzustellen. 1) Kann man diese wegbekommen, oder ist dies ein allgemeines Problem von LTspice? 2) Kennt jemand eine Möglichkeit möglichst saubere Flanken zu bekommen? Denn definiere ich mir hingegen ein Pulse: Vinitial[V] -5 Von[V] 5 Trise[s] 10n Tfall[s] 10n Ton[s] 0.2u Tperiod[s] 2.02u habe ich saubere steigende und fallende Flanken, jedoch nur einen bestimmten Duty Cycle.
schaut aus als ob das was mit der Step-Weite zu tun hat. Gibt doch mal eine Nanosekunde als Schrittweite an ;)
Das Rechenverfahren auf "Gear" zu ändern hat funktioniert, vielen Dank! Jetzt habe ich sauber steigende und fallende Flanken. Was passiert da eigentlich? Erhöht dies die Stabilität der Simulation oder so? > schaut aus als ob das was mit der Step-Weite zu tun hat. Gibt doch mal > eine Nanosekunde als Schrittweite an Welche step-Weite meinen Sie? tripdv? tripdt? Was mich desweiteren verwundert: ich dachte mit tripdt kann ich die trise/tfall-Time von 10 ns Sekunden einstellen. Messe ich jedoch verschiedene Flanken, komme ich immer auf einen anderen Wert, wie im beigefügten Bild zu sehen zum Beispiel 6.96 ns! Welche Bedeutung hat tripdv und tripdt und wie bekomme ich es hin an jeder Flanke einen trise/tfall-Time von 10 ns Sekunden zu bekommen?
Abdurrahman K. schrieb: >Was passiert da eigentlich? >Erhöht dies die Stabilität der Simulation oder so? Die Genauigkeit! Es geht um die Optimierung der Simulationszeit, das Generalproblem bei Simulationen. > Welche Bedeutung hat tripdv und tripdt und wie bekomme ich es hin an > jeder Flanke einen trise/tfall-Time von 10 ns Sekunden zu bekommen? Wahrscheinlich so richtig sicher nur, wenn die Simulationsabtastung deutlich unter den Flankenwechseln der Schaltung liegt, sonst gibt es Zwischenpunkte und Lösungen, die zwar für sich gesehen, richtig sind, aber grafisch interpoliert zu falschen Eindrücken führen. Spice rechnet ja letztlich nur einzelne Punkte aus für die die gesamte Schaltung stimmt und eingeschwungen ist. Eingeschwungen heisst "Simulation hat per Iteration die Realität getroffen". Und noch genauer: Das, was die ungenauen und vereinfachten Modelle hergeben, wurde im vorherigen Simulationsschritt mit der vorgegebenen Toleranz erreicht, also ab zum nächsten Punkt. Deshalb wird es ohne eine entsprechende Interpretation niemals gelingen, ein echtes Verhalten einer Kippschaltung nachzubilden, auch wenn die real eine endliche Anstiegszeit hat, die man theoretisch simulieren können müsste.
Abdurrahman K. schrieb: > Welche step-Weite meinen Sie? tripdv? tripdt? Mit LTSpice kenn ich mich nicht aus aber ich meinte mal die Zeile .tran ändern, also statt
1 | .tran 0 5m 4.9m |
mal schreiben
1 | .tran 1n 5m 4.9m |
:
Bearbeitet durch User
M. K. schrieb: > Mit LTSpice kenn ich mich nicht aus aber ich meinte mal die Zeile .tran > ändern, Ja, aber die Syntax ist leicht anders: Syntax: .TRAN <Tstep> <Tstop> [Tstart [dTmax]] [modifiers] .TRAN <Tstop> [modifiers] In dem Fall müsste es dann heißen .tran 0 5m 4.9m 1n also .tran Tstep Tstop Tstart dTmax Die Steps werden feiner und die Simulationszeit länger. Aber die Kurven passen dann besser.
Nochmal die Frage: Gibt es eine Möglichkeit in LTspice ein PWM-Signal mit unterschiedlichem Duty-Cycle (Tastverhältnis, Tastgrad) und mit festen Anstiegs- und Abfallzeiten generieren zu lassen?
Ja, mit der "PULSE"-Definition. Die gibt es auch in LT-Spice, meine Ich. Damit ist ein endlicher periodischer Signalverlauf zu definieren. Komplexere Sachen wie unendliche periodische Signale, die sich in der d.c. ändern, musst Du per Interferenz bauen, also mit einem Takt, der einen anderen steuert und maskiert. Mit einer Taktfaltung kann man sich auch eine komplizierte PWM bauen: Beitrag "Re: Zweiklang Ton erzeugen - direkte Ausgabe per PWM"
> Ja, mit der "PULSE"-Definition. Die gibt es auch in LT-Spice, meine Ich. Mit PULSE kann ich ein PWM-Signal mit einem festen Tastverhältnis definieren. Wie im Beispiel beigefügt habe ich eine PWM zwischen +5 V und -5 V, mit einer Anstiegs- und Abfallzeit von 10 ns bei einer Periodendauer von 2 us. Hieraus resultieren bei einem Duty-Cycle von 0.5 ein Ton = (2 us - 10 ns - 10 ns) * 0,5 = 990 ns. Allerdings würde ich gerne meine PWM wie in der Schaltung vom 23.10.2017 15:08 beigefügt variieren. Problem in dieser Schaltung jedoch, wie bereits erwähnt, die schwankenden Anstiegs- und Abfallzeiten! >... musst Du per Interferenz bauen, also mit einem Takt, der > einen anderen steuert und maskiert. Wie schaut sowas aus?
tripdt und tripdv heißt nur, dass LTSpice die Schrittweite zwischen zwei Simulationsschritten so lange reduziert, bis sich das Signal um weniger als "tripdv" ändert in "tripdt" Sekunden. Siehe auch http://ltwiki.org/index.php5?title=B_sources_(common_examples). Für dich wäre evtl. der Diffschmtbuf interessant. Denn der nimmt Trise und Tfall an. Du kannst (und solltest) ihm auch ein tripdt geben das kleiner ist als Trise/Tfall. Tripdv brauchts keines, dafür kannst du die Ausgangspegel nicht mehr variieren (festgelegt mit Vhigh und Vlow). Siehe Bilder.
Nachtrag: falls der Ausgang eine Last treiben soll, kann ein "Rout"-Statemeint im diffschmtbuf hilfreich sein.
Das hatte ich mir auch soeben überlegt. Diffschmtbuf wäre eine Option, allerdings hat dieser nicht so schöne Flanken und weist ein Überschwingen auf. Gibt es eine Möglichkeit in LTspice ein PWM-Signal mit unterschiedlichem Duty-Cycle (Tastverhältnis, Tastgrad) und mit festen und "sauberen" Anstiegs- und Abfallzeiten generieren zu lassen?
Nein, anscheinend ist Diffschmtbuf die beste Option, aber die Anstiegs- und Abfallzeiten sind sowieso vernachlässigbar gering.
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.