Howto Wie man zu einem beliebigen Widerstand 2 Widerstände (Normwerte!) von LTspice berechnen lässt, die parallel geschaltet eben diesen Widerstand ergeben

RudiS

Absoluter Profi
Member
Landesflagge
Nachdem ich vor einigen Tagen ein eher mathematisches Problem mit den (begrenzten) Boardmitteln von LTspice angegangen bin,
hatte ich heute abend (jap.Ortszeit) Lust, noch einen Schritt weiterzugehen.

Man hat z.B. bei einer Schaltung eine Berechnung, die einen krummen Widerstand ergibt.
Mitunter genügt es dann, einen Normwert zu nehmen, der in der Nähe liegt.
Was aber, wenn der besagte Normwert doch ziemlich von dem gewünschten, berechneten Wert abweicht?
Man kann dann zwei Widerstände in Serie oder parallel schalten. In Serie lässt sich zwar relativ einfach berechnen,
bringt einen aber auch nicht immer in die Nähe des gewünschten Wertes.
Die Parallelschaltung ist noch einmal einen Ticken schwieriger.

Ich habe nun versucht, diese Parallelschaltung mit den Boardmitteln, die LTspice zur Verfügung stellt, zu berechnen.
Das, was ich hier und heute vorstelle, ist noch nicht ganz ausgefeilt, es liesse sich mit mehr Durchläufen noch verfeinern,
da es aber unter LTspice äusserst schwierig ist (wenn nicht gar unmöglich), Loops zu gestalten, habe ich mich mit einem nicht optimalen
einmaligem Durchlauf begnügt. [Die step-Anweisung gestattet ja keine Variablen.]
Ausserdem ging es mir mehr ums Prinzip, d.h um den Versuch zu sehen, ob sich solch eine Berechnung mit in LTspice vorhandenen Mitteln
verwirklichen lässt, ohne auf eine Programmiersprache wie Python oder C zurückzugreifen
.
Mir ist bewusst, dass es im Internet Rechner für diesen Zweck gibt, und auch, dass man das Problem mit einer Programmiersprache
viel umfangreicher und wahrscheinlich auch eleganter lösen kann.

Die Abweichung der berechneten Parallelschaltung von dem gewünschten Widerstand liegt allem Anschein nach meistens unter 1%,
das habe ich jedoch nicht ausführlich überprüft.
Am Ende der log-Datei findet man unter R_check den genauen Wert, den die Parallelschaltung der beiden Widerstände ergibt
(vergleiche mit dem Wert von Rd weiter oben).

Für die Demo habe ich einige beliebige Werte gesteppt, wer zu Hause selbst damit experimentieren will, sollte die step-Anweisung am besten abschalten
und den Widerstand Rd in der param-Anweisung verändern. Dann ist die log-Datei besser lesbar. Aber jedem nach seinem Gusto.

Die Rechenanweisungen befinden sich alle in der Include-Datei "2R-para.inc". Kommentiert habe ich die nicht, wer sie verstehen möchte und allein nicht klar kommt,
kann ja fragen, wenn nicht im Forum, dann ist auch eine PM ok.

Alle notwendigen Dateien befinden sich im beigefügten Archiv. Unten zwei Screenshots, die das "Schaltbild" zeigen und das Ergebnis in der log-Datei.

Ein schönes Wochenende wünscht

RudiS
 

Anhänge

  • 01__2R-para_schema.png
    01__2R-para_schema.png
    36,9 KB · Aufrufe: 4
  • 02__2R-para_output log.png
    02__2R-para_output log.png
    21,8 KB · Aufrufe: 4
  • 2R-para.zip
    58 KB · Aufrufe: 0
Zuletzt bearbeitet:
Ich habe das Progrämmchen noch einmal überarbeitet. Jetzt wird nicht nur der aus der Parallelschaltung resultierende
Gesamtwiderstand berechnet, sondern auch seine Abweichung vom Sollwert in Prozent.
Zusätzlich habe ich drei Include-Dateien erstellt:
- 2R-para.inc für nur einen einzigen Durchlauf,
- 2R-para2.inc für 2 Durchläufe und
- 2R-para3.inc für 3 Durchläufe.

Meistenteils bietet der erste Durchlauf das beste Ergebnis.

Zur Anwendung:
- der Widerstand, zu dem man parallel zu schaltende Ersatzwiderstände sucht, wird in der Variablen Rd übergeben: .param Rd = mein-gesuchter-Widerstand
- je nach Anzahl der gewünschten Durchläufe wird eine von den drei Include-Dateien mit der include-Anweisung eingebunden: .include 2R-para3.inc
- diese include-Datei bindet die E12_functions.txt ein, diese muss sich im gleichen Verzeichnis wie die include-Datei befinden
- die Ergebnisse finden sich in der log-Datei in den Variablen Rz und Rx (sowie Rz2 und Rx2 bzw. Rz3 und Rx3)

Beispiel eines Probelaufs:

03__2R-para_output log neu.png

Der gewünschte Widerstand ist 795 Ohm.
Berechneter Ersatz:
820R parallel zu 27k ergibt 795.83 Ohm (Abweichung 0.1%)
910R parallel zu 6k8 ergibt 802.6 Ohm (Abweichung 0.96%)
1k parallel zu 3k9 ergibt 795.918 Ohm (Abweichung 0.12%)

So kann man sich je nach Abweichung und/oder [bei einem selbst] vorhandenen Widerständen etwas aussuchen.

Die neue Version der Include-Datei findet sich im Archiv. Wenn man die beigefügte asc-Datei zum Testen benutzt,
muss man die include-Anweisung wie oben beschrieben ändern!

RudiS
 

Anhänge

  • 2R-para_neu.zip
    73,2 KB · Aufrufe: 1
Zuletzt bearbeitet:
Kann man sicher so gut machen, keine Frage.

Alternativ lohnt es sich für die eine oder den anderen, sich die App "Electrodoc" anzuschauen. Diese Thematik wird dort komfortabel behandelt.

Also früher habe ich mir einfach aus dem E96 Sortiment was passendes ausgesucht...
 

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Zurück
Oben