Forum: Analoge Elektronik und Schaltungstechnik LTspice Problem / wie Spannungswert in Variable schreiben


von Daniel (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

vielleicht kann ja jemand helfen. Ich benötige eine Variable in LTspice, 
die den Wert einer beliebigen Ausgangsspannung speichert. Mit .param 
funktioniert das leider nicht, jedoch gehts z.B. mit der BV-Quelle.

Also .param x=V(noo1) geht nicht. Ich brauche aber den Spannungswert in 
einer Variable, da ich diesen umrechnen muss und wieder als feste Zeit 
bzw. Variable in einen Pulsgenerator speisen will.
Der Hintergrund ist, dass ich je nach Spannung unterschiedliche 
Pulzeiten oder Pausen generieren will, also kein einfaches PWM-Signal. 
Deswegen hier der Hintergrund mit der Umrechnung und der Variablen.

siehe Bild


Danke mfG
Daniel

von Helmut S. (helmuts)


Lesenswert?

Für die Frequenz könntest du den VCO von LTspice nehmen ("Modulate"), 
aber für die Pulsweite musst du dir eine Schaltung ausdenken. Diverse 
gesteuerte PWM-Quellen gibt es schon fertig in der LTspice group. Was 
brauchst du genau?

von Daniel R. (dani)


Lesenswert?

Hallo Helmut,

ich brauche einen Pulsgenerator, der mir je nach Spannungswert hinter 
einem OPV, eine variable Einzeit und eine feste Auszeit generiert. Die 
festen Zeiten müssen mind. 2,5 us betragen, die variablen Zeiten von 2,5 
bis 50 us.Ich verändere somit die Frequenz des Rechtecksignals.

Meine Realisierung ist momentan mit einem NE555 gelöst, wobei ich hier 
Spannungsgesteuert die Widerstämde verändere. Ist Ok, jedoch nicht sehr 
genau und mit 2us schon grenzwertig bei dem NE555.

Ich versteh immer noch nicht warum ich nicht laufende Werte einer 
Simulation in den Pulsgenerator packen kann, bzw. mit einer Variablen.

Aber danke erstmal für dein Feedback.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Daniel,
so hatte ich deine "Specs" verstanden.

von Daniel R. (dani)


Lesenswert?

Hallo,

ja super das klappt auch sehr gut.

Dann habe ich noch eine Frage, wenn ich jetzt, wie in dem Beispiel von 0 
- 5V (VC)die Einschaltzeit konstant (2,5u) und die Ausschaltzeit 
variabel (2,5u-50u)- und von 5-10 V die Auschaltzeit konstant(2,5u) und 
Einschaltzeit variabel(2,5-50u) haben möchte. Kann man das denn in der 
If-Abfrage noch doppelt mit verbauen?

Vielen Dank für die neue Idee, darauf bin ich noch garnicht gekommen, 
schön wenn man mal wieder dazu lernt.

Danke

von Helmut S. (helmuts)


Lesenswert?

Kannst du das mal korrigieren. Da wäre ja ein Sprung im Verhältnis Ton 
zu Toff bei 5V. Kann das sein?

0.000V Ton=2.5u Toff=2.5u
4.999V Ton=2.5u Toff=50u

5.001V Ton=2.5u Toff=2.5u
10.00V Ton=50u  Toff=2.5u

von Daniel R. (dani)


Lesenswert?

Hey,


ja ich meinte so:

1 V Ton=2.5u Toff=50u
<=5 V Ton=2.5u Toff=2.5u

>5V Ton = >2.5u Toff=2.5u
10.00V Ton = 50u  Toff=2.5u


Also bis von 5 bis 0 Volt die Ausschaltzeit vergrößern und von 5 bis 10 
die Einschaltzeit vergrößern. Ich denke, das geht einfach mit einer 
zusätzlichen IF-Abfrage in der Stromquelle oder? Ich denke das kriege 
ich hin..;:-)

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

So gehts. Wenn du eine andere Steuerkennlinie (siehe V(test)) willst, 
dann einfach eine Vovevrzerrung für V(vc) mit einer vorgeschalteten 
B-Quelle mittels Tabelle machen.

von Daniel R. (dani)


Lesenswert?

Alles klar...super, danke....:-)

von Gästchen (Gast)


Lesenswert?

Daniel schrieb:
> in einen Pulsgenerator speisen will.

Helmut S. schrieb:
> Controlled_On_Time_Generator.asc

Hallo,
versteht einer die Schaltung "Controlled_On_Time_Generator.asc"?
Ich habe ein Verständnisproblem: einerseits wird die Spannung für B1 als 
V=time*100 definiert, andererseits steht ein Tabellen-Userparameter für 
V(vc):
I=IF(V(_sr)>0.5,table(V(vc),0,0.2m,5,4m,10,4m), 
-table(V(vc),0,4m,5,4m,10,0.2m))

Kann bitte jeamand diesen Zusammenhang erklären? Ich wäre dankbar.

Gruß.

von Helmut S. (helmuts)



Lesenswert?

Hallo Gästchen,

Die Anfoderung

 0V Ton=2.5u Toff=50u
<=5N V Ton=2.5u Toff=2.5u

 >5V Ton = >2.5u Toff=2.5u
10V Ton = 50u  Toff=2.5u

Im Prinzip soll für Vc< 5V die On-Zeit konstant sein und für V(Vc)>5V 
soll die Off-Zeit konstant sein.

Diese Abhängigkeit von V(Vc) steckt in den zwei Kurven der Tabelle. Ich 
habe in dem angehängten Bild die beiden Teilströme dargestellt. In der 
Mitte (Vc=5V) wechselt der Verlauf der Ströme. Konstanter Strom (flacher 
Verlauf in Abhängigleit von Vc(x-Achse) bedeutet konstante Zeitspanne 
für das Laden bzw. Entladen.


Damit du exakt meinen Plot bekommst, musst du am Ende der Simulation bei 
aktivem Plotfenster das Plo-Setting laden.

Plot Settings -> Reload Plot Settings

Gruß
Helmut

von Gästchen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Helmut,

vielen Dank für die Antwort, das mit zwei Kurven habe ich verstanden, 
mir war nur nicht klar warum in der Tabelle V(vc) angegeben ist weil 
V(vc) schon durch "V=time*100" definiert ist. Oder wird V(vc) durch 
Tabellenparameter quasi "überschrieben"?

Ich finde deine Lösung sehr elegant, viel besser als mit elendlangen 
PWL-Files zu arbeiten. Ich versuche gerade 4 PWM-Signale zu generieren 
die in unterschiedliche Richtungen laufen, ich habe ein Bild angehängt 
was ich zu realisieren habe.

Gruß.

von Gästchen (Gast)


Lesenswert?

Sorry, Signale B und D sind natürlich invertiert: sie sind im Bild 
falsch gezeichnet.

von Gästchen (Gast)


Angehängte Dateien:

Lesenswert?

So, jetzt richtig rum. ;)

von Gästchen (Gast)


Lesenswert?

Gästchen schrieb:
> mir war nur nicht klar warum in der Tabelle V(vc) angegeben ist weil
> V(vc) schon durch "V=time*100" definiert ist. Oder wird V(vc) durch
> Tabellenparameter quasi "überschrieben"?

Sorry, habe den Bezug zu V(vc) dann erkannt: V(vc)-Kurve ist hier wie 
eine Tabelle drin mit Spannungswerten zum bestimmten Zeitpunkt.

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.