Forum: Analoge Elektronik und Schaltungstechnik Spannungsquelle über .txt Datei ansteuern


von Maximilian G. (max1994)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

des hier ist mein erster Beitrag in diesen Forum deshalb hoffe ich das 
meine Frage hier im richtigen Forenbereich gestellt habe :)

Und zwar habe ich folgendes Problem.

Ich möchte in LTSpice eine B6-Brücke mit Motor simulieren. Die 
Ansteuerung der MOSFETs ist per Raumzeigermodulation.

Die Werte dafür berechne ich mir in MATLAB und schreibe diese in .txt 
Dateien , die zur Ansteuerung für meine Pulsquellen genutzt werden.

Soweit so gut, in MATLAB lasse ich mir das Pulsmuster plotten und sieht 
auch wie gewünscht aus. Die Werte die ich in die .txt Dateien schreibe 
sind auch ok.

Sobald ich aber die Simulation in LTSpice starte kommt es an gewissen 
stellen zu "Knicken" in der Spannung von meinen Pulsquellen.

Und hierzu meine Frage:

-wie kann ich dieses Problem beheben und woran liegt es?

Anbei ein Screen von einem Puls in Matlab und in LTSpice, ich hoffe man 
kann darauf mein Problem erkennen. Die Werte in der .txt Datei sind auch 
bei gefügt.

Danke schonmal für die Hilfe

Mit freundliche Grüßen

Max

von was (Gast)


Lesenswert?

Keine Ahnung ob das die Ursache ist, aber warum hast du immer 2 Samples 
zum selben Zeitpunkt?

von Michael B. (laberkopp)


Lesenswert?

Maximilian G. schrieb:
> -wie kann ich dieses Problem beheben und woran liegt es

Mach realistische fall und rise Zeiten rein.

von Maximilian G. (max1994)


Lesenswert?

was schrieb:
> Keine Ahnung ob das die Ursache ist, aber warum hast du immer 2
> Samples
> zum selben Zeitpunkt?

die einzelnen Zeiten berechne ich mir in MATLAB und schreibe diese mit 
dem zugehörigen Spannungswert in eine Matrix, da habe ich aber jeden 2 
Eintrage frei gelassen für die Anstiegs/Abstiegszeit. Sollte eine 
Flankenänderung eintreten, schreibe ich meine neue Zeit und Spannung in 
diese Spalte.

Sollte allerdings keine Flankenänderung stattfinden nehme ich den Wert 
davor und schreib ihn unverändert nochmal in die Matrix, d.h kommen die 
2 Samples an einem Punkt.

von Maximilian G. (max1994)


Lesenswert?

Michael B. schrieb:
> Maximilian G. schrieb:
>> -wie kann ich dieses Problem beheben und woran liegt es
>
> Mach realistische fall und rise Zeiten rein.

hab ich gerade ausprobiert und es scheint das Problem gewesen zu sein.
Hatte für fall und rise Zeit jeweils 10ns eingestellt.
Hab den Wert jetzt erhöht und es funktioniert wie gewünscht.

Vielen Dank für die schnelle Hilfe Michael :)

Lg Max

von wer (Gast)


Lesenswert?

Maximilian G. schrieb:
> Anstiegs/Abstiegszeit.

Die bei dir... 0 ist? Sowas gibt's nicht.

Dein Signal ist nicht eindeutig, zur Interpretation muss man annehmen, 
dass die Reihenfolge der Samples in der Textdatei eine Rolle spielt.

Der Matlabplot tut das wohl, aber das ist reines Glück.

Das ist nicht sinnvoll, denn die Zeitpunkte der einzelnen Samples sind 
angegeben. Jeder kleine Rundungsfehler bei den floats würde dich da 
endgültig in Teufels Küche bringen.

-> Minimale Zeit zwischen Samples implementieren, im einfachsten Fall 
heißt das: Konstante Samplerate.

von Gerald K. (geku)


Lesenswert?

Es liegt vermutlich am 15. und  16. Wert die nicht gleich sind.
Eine Textdatei *.txt wäre besser als die *.txt.png gewesen.

von Maximilian G. (max1994)


Lesenswert?

wer schrieb:
> Maximilian G. schrieb:
>> Anstiegs/Abstiegszeit.
>
> Die bei dir... 0 ist? Sowas gibt's nicht.
>
> Dein Signal ist nicht eindeutig, zur Interpretation muss man annehmen,
> dass die Reihenfolge der Samples in der Textdatei eine Rolle spielt.
>
> Der Matlabplot tut das wohl, aber das ist reines Glück.
>
> Das ist nicht sinnvoll, denn die Zeitpunkte der einzelnen Samples sind
> angegeben. Jeder kleine Rundungsfehler bei den floats würde dich da
> endgültig in Teufels Küche bringen.
>
> -> Minimale Zeit zwischen Samples implementieren, im einfachsten Fall
> heißt das: Konstante Samplerate.

Meine Anstiegs/Abfall Zeit ist nicht 0, sondern ist 10n im aktuellen 
Fall.


Aber mit den Samples hast du recht, hatte bis jetzt wahrscheinlich nur 
Glück das der Fall noch nicht aufgetreten ist.

von wer (Gast)


Lesenswert?

Maximilian G. schrieb:
> Meine Anstiegs/Abfall Zeit ist nicht 0, sondern ist 10n im aktuellen
> Fall.

Ah, tatsächlich, da hab ich nicht aufmerksam genug gelesen.

von Bastler (Gast)


Lesenswert?

LTSpice (und andere Solver) müssen ja irgendwie "schätzen", wie lange 
die optimale Samplefrequenz für eine Simulation sein soll. Ist sie zu 
klein, dauert die Simulation eine Ewigkeit. Ist sie zu groß, wird die 
Simulation ungenau. Die Zeitschritte in so einer Simulation sind auch 
nicht alle gleich groß, wie Du ja selber siehst.

Nun denn: Unterschiedliche Algorithmen, unterschiedliche Ergebnisse 
(Nuancen).

Aber es gibt in LTspice (und anderen...) eine Parameter, "maximal 
Timestep" oder so. Stell den auf einen kleinen Wert, warte ewig, und die 
"Knicke" werden kleiner bzw. verschwinden.

von Bastler (Gast)


Lesenswert?

Es gibt auch noch andere Parameter an denen man schrauben kann. Maximale 
Signaländerung etc. Musst halt mal bisschen suchen und Doku lesen.

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.