Forum: Analoge Elektronik und Schaltungstechnik Dynamische Änderung der Pulsweite während Simulation


von LTspicler (Gast)


Lesenswert?

Hallo zusammen!

Ich habe eine Frage zur dynamischen Simulation mittels LTspice.
Und zwar habe ich folgendes vor:

Auf den einen Eingang eines Operationsverstärker gebe ich mittels einer 
normalen Voltage-Quelle ein PWM-Signal. (Das Signal wird natürlich zuvor 
noch geglättet)

Auf den anderen Eingang gebe ich eine konstante Spannung.

Darauf stellt sich am Ausgang des OPVs natürlich entweder die maximale 
positive Versorgungsspannung oder eben die maximal negative ein, je nach 
der Pulsweite des PWM-Signals.

Mittels dieser Aussage am Ausgang des OPs möchte ich während der 
Simulation die Pulsweite anpassen. (Also Pulsweite vergrößern, wenn der 
wert zu klein ist, oder eben verkleinern, wenn er zu groß ist).

Ich hoffe ihr könnt mir bei diesen Problem weiterhelfen und freue mich 
schon auf eure konstruktiven Beiträge.

Gruß

LTspicler

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Sehe da kein Problem. Du kannst in LTspice mit Variablen arbeiten. 
Manchmal geht es nicht aus unergründlichen tiefschürfenden Dingen der 
Matrix, aber meistens gehts.
Du mißt also irgendwo den Strom oder so, und das speist du als variables 
Parameter in deine Spannungsquelle zurück.

Oder nimmst einen der Modulatoren, die in der Lib sind.

von LTspicler (Gast)


Lesenswert?

Hallo Abdul K.

Erst einmal vielen Dank für deine Antwort.
Könntest du mir eventuell ein Beispiel geben, wie du das mit den 
Variablen und den Modulatoren gemeint hast, und wie man diese einsetzt?

Bei Variablen habe ich bisher nur eine grobe Ahnung.
Kann man eigentlich Knoten, bzw. Labels in Spice Direktiven abfragen?

Am liebsten wäre mir eigentlich, wenn es möglich wäre, in einer Spice 
Direktiven abzufragen, wie hoch eine Spannung an einen Knoten ist, und 
je nachdem die Spannungsquelle, bzw. deren Pulsweite, einzustellen.

Leider arbeite ich noch nicht solange mit LTspice und bin daher für jede 
Erklärung dankbar.

Mit freundlichen Grüßen

LTspicler

von Hagen R. (hagen)


Angehängte Dateien:

Lesenswert?

siehe Anhang, gruß Hagen

von LTspicler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

also erst einmal wieder ein Dankeschön, dass sich in dem Forum immer 
wieder Leute Zeit für einen nehmen.

Um mein Problem/Vorhaben etwas genauer zu beschreiben, habe ich ein Bild 
angehängt.
Ich habe vor, die Pulsweite, bzw, die Zeit "Ton" dynamisch zu steuern.

D.h. je nachdem, was das Ergebnis am Ausgang des OPs ist, soll die 
Pulsweite um einen bestimmten Wert erhöht, bzw. erniedrigt werden.
Und das in einem einzigen Simualtionsdurchlauf.

Gibt es da eine Möglichkeit in LTspice?

Gruß

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Ich habe das noch nie probiert, aber warum nicht die Ausgangsspannung 
als Parameter in der Signalquelle definieren?
Hänge mal dein ASC-file an, damit man es umbauen kann. Ich bin halt 
faul.

von Hagen R. (hagen)


Lesenswert?

>Gibt es da eine Möglichkeit in LTspice?

ja, siehe mein Post

von LTspicler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

also ich habe mal die .asc rangehängt.
Viel Spaß und vielen Dank fürs rumbasteln;)

Gruß

von Hagen R. (hagen)


Angehängte Dateien:

Lesenswert?

Um dir das nochmal klarer zu machen.

V2 = Input, hier von 0V bis 1v linear ansteigend
output = PWM mit 100KHz, 1Vpp und Dutycycle proportional zu Spannung an 
Input

Gruß Hagen

von Hagen R. (hagen)


Lesenswert?

V1 erzeugt ein Sägezahn mit 100KHz, der Komparator A1 vergleicht nun 
Spannung an Input mit diesem Sägezahn und schwups hast du am Ausgang 
deine PWM. Simpelste Schaltungspraxis und sowas gibts vielfach als 
Schaltkreise oder in MCUs.

Entscheidend ist die Definition von V1 und V2 um Sägezahn usw. erzeugen 
zu können, das ist der Trick dabei.

Gruß hagen

von Hagen R. (hagen)


Angehängte Dateien:

Lesenswert?

nochmal ein Auschnitt der Signale

von Hagen R. (hagen)


Angehängte Dateien:

Lesenswert?

und jetzt schau dir nochmal diese Simulation an. Statt symmetrischer 
Dreieck erzeugt V1 nun einen asymmetrischen Dreieck.

Gruß Hagen

von LTspicler (Gast)


Lesenswert?

@Hagen
hey,
ich habe mir grade nochmal deine genauer angesehen, komme aber im Moment 
grade nicht dahinter, wie das mir bei meinen Problem helfen kann. (wenn 
du mir ne kurze Erklärung geben könntest wäre echt nett).

Mittels deiner Simulation erzeugst du ja ein PWM-Signal, die ihre 
Pulsweite ändert, jedoch sich nach einer bestimmten Zeit wieder 
wiederholt.(also direkt abhängig davon, welchen Parameter man am Anfang 
angibt...danach hat man keine Chance mehr, auf die Simulation Einfluss 
zunehmen).

Ich bräuchte jedoch etwas, wo die Pulsweite sich während der Simulation 
in Abhängigkeit von der Ausgangsspannung verändert.

Das habe ich vor: Konstante Spannung soll mit PWM-Signal mittels 
Operationsverstärker verglichen werden:

Beispiel:
Konstanter Wert (Konstwert) : 1,5V

PWM-Max-Wert: 3,3V
PWM-Min-Wert: 0V
PWM-Periodendauer: 4s
Pulsweite-Anfangswert: 0s => Durchschnittswert PWM = 0V

Ablauf:
Durchschnittswert PWM < KonstWert
=> Pulsweite vergrößern: 1s => Durchschnittswert PWM: 0,825V

Durchschnittswert PWM < KonstWert
=> Pulsweite vergrößern: 2s => Durchschnittswert PWM: 1,65V

Durchschnittswert PWM > Konstwert
=> Pulsweite verkleinern: 1s => Durchschnittswert PWM: 0,825V

etc.

Ich hoffe, das hilft etwas weiter oder ich habe noch mehr verwirrt.;)

von Hagen R. (hagen)


Lesenswert?

>Ich bräuchte jedoch etwas, wo die Pulsweite sich während der Simulation
>in Abhängigkeit von der Ausgangsspannung verändert.

das was ich dir gegeben habe erfüllt exakt deine Anforderungen.

Die PWM, genauer deren Dutycycle also Dauer der On-Zeit ist direkt 
proportional zu Spannung an Input. Die Periode der PWM ist 100kHz, 
stelle diese auf 1/5s = 0.2Hz ein so wie du es ja benötigst.

Du musst also deinen Ausgang des OpAmps an Input anlegen, womit du eine 
Feedback-Schleife konstruiert hast (was LTSpice eh Probleme bereiten 
wird da diue Schaltung anfängt zu schwingen-> unkompensierter 
Feedbackpath des OpAmps)

V2 löschst du aus der Schaltung, diese dient ja nur zu Demonstration.

Essentiell ist es also so:

1.) erzeuge über PULSE() eine Sägezahnspannung mit Periode = 4s und 5V 
On-Spannung
2.) vergleiche Outputspannung des OpAmps (hier 0 bis 5V) mit Sägezahn 
per Komparator
3.) Komparator erzeugt 0V Off und 5V On Spannung

fertig.

Gruß Hagen

von Hagen R. (hagen)


Lesenswert?

Du lässt deinen OpAmp als Komparator arbeiten.

Wenn die Spannung an + > 1.7V ist dann wird der OpAmp am Ausgang sowas 
um die 5V erzeugen.
Wenn die Spannung an + < 1.7V ist dann erzeugt der OpAmp 0V am Ausgang.

Wenn nun an + Eingang des OpAmps selber eine PWM anliegt mit 0V und 5V 
als einzige Spannungen dann hast du eine unkompensierte OpAmp Feedback 
Schleife konstruiert.

Diese Schaltung die du vorhast zu simulieren macht keinen Sinn. Am 
Ausgang des OpAmps wirst du ein Rechtecksignal sehen das mit einer 
Frequenz proportional zur Openloop Gain des OpAmps und nicht zu deiner 
Periode der PWM von 5s = 0.2Hz

Wenn die OpAmp-Regelfrequenz weit größer als die 0.2Hz der PWM ist dann 
wirst du am + Eingang des OpAmps über die Zeit integriert die gleiche 
Spannung wie die Sägezahnspannung der PWM sehen. Logisch, weil du im 
Grunde zwei Komparatoren in gegenkopplung betreibst.

Gruß Hagen

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Will er nicht einfach eine PWM-Regelschleife, wie in jedem Schaltregler? 
Das kann LTspice natürlich. Dafür wurde es erschaffen. Du mußt ein 
Loop-Filter einbauen.

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.