Hallo, kann mir jemand verraten wie ich in LTSpice einen variablen DutyCyle simulieren kann ? Ich habe mir ne kleine Schaltung gebastelt die aus einem PWM-Signal ein analoges Signal erzeugt. Ich hätte gerne ein schönes Bild das von 0% bis 100% Dutycycle den Verlauf von Spannung A zu Spannung B zeigt.
Du könntest eine Dreieckspannung mit einer Variablen Gleichspannung Vergleichen dreieck bekommst du mit einer PULSE quelle
Genauso hätte ich es auch gemacht: Zwei Spannungsquellen 1. eine Dreieck- oder Sägezahnspannung 2. die Sweepspannung, im Prinzip ein langsamer Sägezahn. diese beiden Spannungen schickst Du in einen Komparator und da kommt das gewünschte Signal heraus.
Wenn ich mich recht erinnere (ich habe gerade keinen Zugriff auf ein SPICeE oder LTSpice), dann geht das in etwa wie folgt: Eine Spannungsquelle definieren. Im Dialog für die Spannungsquelle ein Rechteck einstellen (PULSE), dabei die Puls-Zeit als Parameter (Parametername in {}-Klammern) angeben. Im Dialog zum Start der Simulation (oder war das separat? Musst du ausprobieren), ein .STEP-Kommand für den Wert definieren. Alles ohne Garantie. Details: Siehe Handbuch.
Bei LTSpice: PULSE(0 5 0 1n 1n {pulse} 101u 0) .step param pulse 1u 100u 10u gibt aber n Simulationen mit n Pulslängen, also keine fortlaufenden Pulse mit wechselnder Dauer. Oder alternativ mit PWL eine vorher berechnete Liste in einem File erstellen, der als Quelle für die Pulse dient. Aufwendig, weil die Rise- und Falltimes jedesmal mit angegeben werden müssen - sonst gibt's Dreiecke. Beispiel: PWL(0 0 1n 5 1u 5 1.001u 0 6u 0 6.001u 5 15u 5 15.001u 0) für 5V-Pulse mit 1µs ein, 5µs aus, 9µs ein.
Hab gerade ein ähnliches Problem. Die Pulsdauer wie hier beschrieben gelingt mir. Jedoch würde ich gerne einen richtigen dutycycle sweep machen. Dh, das duty-cycle auf der x-Achse auftragen (Wie bei AC oder DC sweep). Ist das möglich, wenn ja wie? MFG
Wie erzeugst du dir denn das PWM Signal? Wenn du es so machst wie von eProfi beschrieben kannst du die Sweep Spannnug als x-Achse nutzten. Diese ist direkt proportional zum Duty Cycle.
Ist sehr einfach wenn man weiß wie ;) Im Attachment mal der LTSpice Schaltplan. V1 erzeugt eine Dreieckspannung mit 1Vpp. Der Trick dabei ist es di TRise/TFall Zeiten so zuwählen das die exakt 0.5*Frequenz der PULSE Spannung darstellt. Über den Parameter .param freq=100k stellen wir also die PWM Frequenz auf 100Khz ein. V2 ist nun die Steuerspannung von 0V bis 1V die den Dutycycle bestimmt. Mit den Schmitttrigger der als Komparator arbeitet erzeugen wir aus beiden Spannungen dann die digitale PWM. Deren Frequenz wird mit .param Freg=100k eingestellt und deren Ausgangsspannung mit .param VOut=1V auf 1V eingestellt. Gruß Hagen
und hier der erzeugte Output. Grün die PWM-Dutycycle-Steuer-Spannung V2, und Blau das was an Out als PWM rauskommt. Gruß Hagen
in diesem Bild sieht man die Dreiecksspannung, rot, die V1 erzeugt. Ist also eine Frequenz und Phasen korrekte PWM. Gruß Hagen
"Versteht die Frage niemand?" Verstehst Du meine Antwort vom 21.05.2008 20:55 nicht? Du brauchst zwei Spannungsquellen: einen Sägezahn mit der PWM-Frequenz und einen Sägezahn mit der Sweep-Frequenz. Diese beiden schickst Du in einen Komparator. An dessen Ausgang erhältst Du ein Signal, von dem ich vermute, dass es das gesuchte ist. Ansonsten musst Du nochmal genauer erläutern, was Du meinst (x-Achse?).
Oh, Entschuldigung, hatte nicht gesehen, dass inzwischen weitere Beiträge eintrudelten. Ich würde V2 nicht als Sinus, sondern als Dreieck oder Sägezahn wählen. Hagen Re, wenn Du noch die SwitcherCad-Datei postest, hat unser "Patient" keine Mühe/Arbeit mehr. ;-)
>Ich würde V2 nicht als Sinus, sondern als Dreieck oder Sägezahn wählen
V2, als Steuerspannung, kann man wählen wie man möchte. Für einen Sweep
ist natürlich eine lineare Rampe/Sägezahn besser. Kann man dann genauso
wie V1 erzeugen. Wichtig ist dabei nur das V1 und V2 die gleichen
Spannungsbereiche abfahren, in Attachment wird 1Vpp dafür benutzt.
Gruß Hagen
Der einfachste Weg: DC-Spannungsquelle einfügen. Value: V=((time/{period})-(int(time/{period}))<(time/{sweep})-(int(time/{sweep} )))*5 dann noch folgende Spice-Direktiven direkt angeben: .param period=0.001 .param sweep=0.1 Das Sweept Dir in 0,1s ein Signal mit 1khz von 0-100% Tastgrad einmal durch. Die "5" ganz hinten ist die Spannung der Quelle. Gut, ne? :-)
Danke kommutator, genau so eine Möglichkeit habe ich gesucht. Einen kleinen Fehler hat deine Anleitung jedoch, man muss statt der Gleichspannungsquelle die "Arbitrary behavioral voltage or current source" benutzen. Dafür öffnet man die Eigenschaften der Spannungsquelle mit Strg+Rechtsklick und ändert das Prefix von V auf B. Außerdem sollte man die maximale Zeitschrittgröße reduzieren, damit man eine ordentliche Simulation bekommt. Das schöne ist, dass sich mit dieser Quelle beliebige Funktionen realisieren lassen, die Hilfeseite ist sehr zu empfehlen.
Hallo, elegante Art von kommutator den Sweep zu produzieren! Ich möchte noch zusätzlich eine Erweiterung einbauen: Jeder step des sweeps soll n mal ausgeführt werden. Also z.B. n=10 -> 10 mal 1% duty cycle, 10 mal 2% duty cycle, ... Weiss jemand wie mal solch eine Art Schleife mit in die Formel
einbauen könnte?
:
Bearbeitet durch User
so etwas ?! https://antwortenhier.me/q/so-erstellen-sie-spice-ltspice-wiederholbare-geda-mpfte-sinuskurven-61939768388
Ich dachte nicht den ganzen sweep zu wiederholen sondern einzelne Perioden. Ich habe mir den link angesehen... ich sehe dort nirgends eine quasi "loop" welchen ich in meine Spannungsformel V=... einbauen könnte.
Carlo schrieb: > so etwas ?! > https://antwortenhier.me/q/so-erstellen-sie-spice-ltspice-wiederholbare-geda-mpfte-sinuskurven-61939768388 Das 1. Signal ist bekannt und läuf permanenet. z.B. gedämpfter Sin Mit einem 2. Signal Rechteck, kann über der Zeitachse mit des selbst def Parameter {t} und mit der Pulsdauer {tau} die gewünschte Peride ausgeschnitten werden. Anzahl kann über das 2.Rechtecksignal Ncycles oder parameter {Ncyl} gesteuert werden. ebenso wäre mit if zu steuern .. Beitrag "LTspice - if else Anweisung"
Direkt an der Quelle http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice_tutorial_5.htm https://www.analog.com/en/technical-articles/ltspice-generating-triangular-sawtooth-waveforms.html http://ltwiki.org/?title=Undocumented_LTspice oder Multiplizieren mit selbst erstellter Txt Datei Beitrag "Re: LTspice - Parameter innerhalb PWL-Datei" oder Beitrag "LT-Spice PWL File"
:
Bearbeitet durch User
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.