mikrocontroller.net

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


Autor: LTspicler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: LTspicler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen Re (hagen)
Datum:
Angehängte Dateien:
  • PWM.asc (781 Bytes, 107 Downloads)
  • preview image for 1.png
    1.png
    2,64 KB, 131 Downloads
  • preview image for 2.png
    2.png
    9,12 KB, 186 Downloads

Bewertung
0 lesenswert
nicht lesenswert
siehe Anhang, gruß Hagen

Autor: LTspicler (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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ß

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gibt es da eine Möglichkeit in LTspice?

ja, siehe mein Post

Autor: LTspicler (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

Gruß

Autor: Hagen Re (hagen)
Datum:
Angehängte Dateien:
  • PWM.asc (858 Bytes, 89 Downloads)
  • preview image for 1.png
    1.png
    4,79 KB, 153 Downloads
  • preview image for 2.png
    2.png
    9,29 KB, 132 Downloads

Bewertung
0 lesenswert
nicht 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

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen Re (hagen)
Datum:
Angehängte Dateien:
  • preview image for 3.png
    3.png
    9,95 KB, 136 Downloads

Bewertung
0 lesenswert
nicht lesenswert
nochmal ein Auschnitt der Signale

Autor: Hagen Re (hagen)
Datum:
Angehängte Dateien:
  • PWM.asc (858 Bytes, 69 Downloads)
  • preview image for 1.png
    1.png
    9,37 KB, 122 Downloads
  • preview image for 2.png
    2.png
    8,87 KB, 113 Downloads

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

Gruß Hagen

Autor: LTspicler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.;)

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.