Hallo zusammen, ich wollte die Mittenfrequenz eines "verstimmten" Doppel-T-Filters im Gegenkopplungszweig eines Opamps messen mit LTspice, messen deswegen, weil die einzelnen Bauteile nicht den Vorgaben eines "normalen" Doppel-T-Filters entsprechen (normal: R1=R2, C1=C2; R3=R1/2; C3=2xC1). Ein normales Doppel-T-Filter wüßte ich mathematisch zu berechnen, dazu gibt es eine einfache Formel; aber bei einem, wo quasi alle Bauteile abweichende Werte haben, da fehlen mir die Kennnisse. In LTspice habe ich die Schaltung simuliert und für die Messung der Mittenfrequenz .meas benutzt: 1. die maximale Ausgangsspannung finden (die hat nämlich bei der Mittenfrequenz ihr Maximum) mit .meas vmax MAX mag(v(out)), 2. dann die Stelle finden, wo die Differenz der momentanen Ausgangsspannung und vmax Null ist: .meas freq TRIG mag(v(out))=vmax CROSS=1 TARG mag(v(out))=vmax CROSS=1 Als Ergebnis finden sich in der "SPICE error log" folgende Einträge: vmax: MAX(mag(v(out)))=(23.9954dB,0°) FROM 20 TO 20000 freq=0 FROM 1410.44 TO 1410.44 Hier sehe ich zwar, dass die Mittenfrequenz 1410Hz beträgt, aber eigentlich wollte ich, dass LTspice diesen Wert der Variablen freq zuweist. Geht sowas? Oder auch anders gefragt: Gibt es eine elegantere Lösung, mit LTspice die Mittenfrequenz eines Filters zu messen oder berechnen zu lassen? Und ja, mir ist bekannt, dass man mittels Cursor im AC-Plot die Mittenfrequenz zwar ungefähr, aber schnell und einfach ablesen kann. Für alle eure Antworten viele Dank im Voraus! Viele Grüße, Rüdiger P.S.: Die Erläuterungen zur .measure-Anweisung in der LTspice Hilfedatei sind mir insgesamt ohne Bezug zu einer konkreten Schaltung sehr kryptisch. Wenn jemand einen guten Link weiß, der mehr Licht in die Sache bringt, wäre ich jedenfalls sehr dankbar!
Pobier mal das Folgende. .meas fmax find freq when V(out)=vmax Damit man reine Zahlen statt dB bekommt nehme ich oft zusätzlich diese Option. .options meascplxfmt=polar
:
Bearbeitet durch User
Hallo Helmut, danke für die schnelle Antwort, nur... leider funktioniert es bei mir nicht. Ich benutze LTspice XVII und habe erst vor wenigen Tagen ein Sync Release gemacht. Ich denke nicht, dass ich mich vertippt habe, Screenshot beigefügt. In der SPICE error log steht: .ac oct 100 20hz 20khz .options meascplxfmt=polar .end Direct Newton iteration for .op point succeeded. vmax: MAX(mag(v(out)))=(20.8139,0°) FROM 20 TO 20000 Measurement "fmax" FAIL'ed Date: Sun Sep 08 21:01:15 2019 Total elapsed time: 0.133 seconds. Außerdem ein Screenshot von dem .measure-Editor. Es scheint mir z.B. komisch, dass der Ausdruck vmax nicht in der Rubrik "Right hand side" gelistet wird. Oder ist das normalerweise so? Gruß, Rüdiger
Häng mal deine Dateien an (.asc, .asy). Dann versuche ich es mal. Außerdem nicht freq für deine Variablennamen verwenden! freq ist in der AC-Analyse schon von LTspice belegt.
:
Bearbeitet durch User
ok, danke für deine Hilfe. Im Anhang sind die Dateien, das Filter hat zwei Potis, eins für die Güte des Filters (beeinflusst auch ein bisschen die Frequenz) und eins für die Stärke der Anhebung. Außerdem die Transistor-mod-Dateien für den Opamp. [Obwohl davon abgeraten wird - ich habe die Bauteile, die ich besitze und in der Simulation benutze, in die LTspice-Libraries integriert.] Die müsstest du noch einbinden. Vielen Dank schon mal im Voraus. Heiße Grüße aus dem ferne Japan, 22:30 Uhr und noch immer 33°C!! Rüdiger
Hallo Rüdiger, Ich hatte mag() vergessen. .meas fmax FIND freq WHEN mag(v(out))=vmax vmax: MAX(mag(v(out)))=(20.814,0°) FROM 20 TO 20000 fmax: freq=(765.649,0°) at 765.649 In der Vergangenheit hatte ich schon mal das Problem, dass ich vmax*0.99999 abfragen musste. Nur so als Hinweis falls es mal mit = nicht klappt. Vielleicht ist das ja inzwischen behoben und gar kein Problem mehr. In der .lib habe ich den 2N4401 und den BC557B auskommentiert, weil es die standardmäßig schon gibt. Im Schaltplan habe die Modelldatei hinzugefügt. .lib R_3Tr_opamp.lib Jetzt läuft die Simulation auf jedem Rechner direkt mit dem ausgepackten zip-File. Bei mir kommt nichts Eigenes in die LTspice-Verzeichnisse. Gruß Helmut Herrenberg, 14°C, Nieselregen Nachtrag: Ich habe deinen Schaltplan etwas verschönert. Man kann dann die Schaltung leichter verstehen und man muss nicht nach den Simulationsbefehlen suchen.
:
Bearbeitet durch User
@circuit checker ganz recht, natürlich stimmt das nicht so, der Fehler ist wahrscheinlich beim Aufräumen entstanden. Der Widerstand geht vom Emitter direkt zum Gate des FET. Danke für den Hinweis. Viele Grüße, Rüdiger
Rüdiger S. schrieb: > @circuit checker > > ganz recht, natürlich stimmt das nicht so, der Fehler ist wahrscheinlich > beim Aufräumen entstanden. > Der Widerstand geht vom Emitter direkt zum Gate des FET. > > Danke für den Hinweis. > > Viele Grüße, Rüdiger In deinen angehängten Dateien war der Fehler aber nicht drin.
Helmut S. schrieb: > In deinen angehängten Dateien war der Fehler aber nicht drin. Doch, isser. Gerade nochmal heruntergeladen.
Hallo Helmut, wirklich vielen Dank für die Mühe, die du dir gemacht hast. Ja, natürlich: wenn vmax nur den Realteil enthält, darf(muss) der Vergleich bei v(out) auch nur den Realteil enthalten. Danke auch für das Verschönern der Schaltung. Man selbst achtet nicht immer so sorgfältig darauf, gerade bei umfangreichen Schaltplänen fehlt mir Platz, die Beschriftung zu klein, um sie mühelos lesen zu können etc. Und ich freue mich, etwas Neues gelernt zu haben, die von dir vorgestellte Methode ist elegant und nicht so umständlich wie meine. Leider habe ich noch keinen genauen Überblick über die tieferen Innereien von LTspice. Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen. Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein so fantastisches Werkzeug ist. Mitternacht und immer noch 32.5°C. An erholsamen Schlaf ist nicht zu denken. Ich beneide euch um die 14°. Viele Grüße, Rüdiger
Circuit Checker schrieb: > Helmut S. schrieb: >> In deinen angehängten Dateien war der Fehler aber nicht drin. > > Doch, isser. > > Gerade nochmal heruntergeladen. Das ist die erste Schaltung die LTspiceIV nicht kann obwohl kein Unicode (UTF) drin ist. Ich schau mir das mal genauer an.
Ich habe zumindest die Ursache gefunden. LTspiceIV verträgt es nicht, wenn ein Plotlabel direkt auf einem Kreuzungspunkt zweier Leitungen liegt. Es verbindet dann die kreuzenden Leitungen. Plotlabels sind dort wo die ??? stehen. Mein Rat: 1. Nehmt das aktuelle LTspiceXVII. 2. Vermeidet es Plotlabels direkt auf kreuzende Punkt zu legen damit Schaltungen kompatibel zu LTspiceIV bleiben.
:
Bearbeitet durch User
Helmut S. schrieb: > Ich schau mir das mal genauer an. Helmut S. schrieb: > Mein Rat: > 1. Nehmt das aktuelle LTspiceXVII. Falls es von der Version abhängen sollte: Hier meine Konstellation.
Circuit Checker schrieb: > Helmut S. schrieb: >> Ich schau mir das mal genauer an. > > Helmut S. schrieb: >> Mein Rat: >> 1. Nehmt das aktuelle LTspiceXVII. > > Falls es von der Version abhängen sollte: > > Hier meine Konstellation. Ich habe die neueste Version vom 23. August 2019. Auf einem anderen Rechner die vom 30. Juli. Beide machen keinen Kurzschluss. Ich rate dringend das Plotlabel von dem Kreuzungspunkt wegzuschieben. Ich werde das gleich auf meinem heruntergeladenen Schaltplan machen.
:
Bearbeitet durch User
@circuit checker Es tut mir schrecklich leid, dieses Chaos verursacht zu haben. Es sind die Ströme, deren Bezugspunkt manchmal sehr nahe an diversen Kreuzungen liegt. Bei mir selbst gab es deswegen keine Probleme, wie das bei älteren Versionen ist, kann ich nicht beurteilen. Jedenfalls ist es sicherlich hilfreich, immer die neueste Version zu verwenden. Außer dem automatischen Update kann man zumindest bei LTspice XVII über den Menüpunkt Sync Release auch zwischenzeitlich sicherstellen, über die neueste Version zu verfügen. Viele Grüße, Rüdiger
Rüdiger S. schrieb: > Es tut mir schrecklich leid, dieses Chaos verursacht zu haben. Kein Problem, zermatere dich nicht. Ich wollte nur auf die Macke hinweisen.
> Es sind
die Ströme, deren Bezugspunkt manchmal sehr nahe an diversen Kreuzungen
liegt.
Der Bezugspunkt liegt bei diesem Punkt nicht in der Nähe sondern auf dem
Kreuzungspunkt. Wenn er nur in der Nähe ist macht es nichts aus!
Rüdiger S. schrieb: > Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten > zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den > Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem > Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen. > Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein > so fantastisches Werkzeug ist. Ein paar brauchbare Beispiele, ja, das wäre mal was! (träum)
Mark S. schrieb: > Rüdiger S. schrieb: >> Und die .measure-Anweisung, obwohl sehr mächtig, scheinen die wenigsten >> zu benutzen. Das finde ich schade. Es wäre schön, wenn man zu den >> Erläuterungen in der Hilfe-Datei ein paar Beispiele mehr in dem >> Education-Ordner finden könnte, vielleicht kannst du das ja mal anregen. >> Sicherlich würden sich auch andere darüber freuen. Wo LTspice doch ein >> so fantastisches Werkzeug ist. > > Ein paar brauchbare Beispiele, ja, das wäre mal was! (träum) In der LTspice Yahoo group gibt es Beispiele. https://groups.yahoo.com/neo/groups/LTspice/files/%20Tut/MEASURE/ Manche würde ich inzwischen etwas anders machen aber zum nachschauen sind sie trotzdem hilfreich.
:
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.