Auswertung von Bauteiltoleranzen

Simulation Header

In diesem Artikel möchte ich euch zeigen wie ihr mit Hilfe des Programmes LTSpice eine Toleranzanalyse durchführen könnt um z.B. Bauteiltoleranzen in einer Schaltung zu berücksichtigen und um zu prüfen wie sich diese Toleranzen auf die Schaltung auswirken.

-> Ein bisschen Theorie… :

Als Schaltung soll ein einfacher Spannungsteiler dienen, der wie folgt aufgebaut ist:

Auswertung von Bauteiltoleranzen(1)
Die Spannung, die am Widerstand R2 gemessen wird, beträgt exakt 5V. Diese Spannung lässt sich mit der bekannten Formel berechnen:

Latex formula

Wenn man diesen Spannungsteiler jetzt aufbaut würde man, bedingt durch die Widerstandstoleranzen, keine 5V messen, sondern eine Spannung die etwas höher oder etwas niedriger ist.
Die Spannungsschwankungen, die bedingt durch die Widerstandstoleranzen auftreten, lassen sich mit Hilfe von partiellen Ableitungen berechnen (Stichwort: Fehlerfortpflanzung).
Schauen wir uns das mal an, wenn der Widerstand R2 mit einer Toleranz von ±0,1% ausgelegt ist. Wie verhält sich dann die Spannung?
Die Fehlerfortpflanzung zur Bestimmung der Fehlergrenzen ist wie folgt definiert:

Latex formula

Um also die sich ändernde Spannung ΔU berechnen zu können, muss die Formel für die Spannung am Widerstand R2 nach R2 abgeleitet werden:

Latex formula

Fertig aufgelöst sieht die Fehlerfortpflanzung so aus:

Latex formula

Setzt man nun Zahlenwerte ein, erhält man für ΔU einen Wert von 25µV. Bei einer Toleranz am Widerstand R2 von ±0,1% schwankt die Spannung also um maximal ±25µV.
Würde man jetzt eine Kontrollrechnung durchführen und den Widerstandswert von R2 um 0,1% erhöhen würde man sehen, dass ein etwas kleinerer Wert raus kommt.
Dies liegt daran, dass die Fehlerfortpflanzung nur eine Näherung ist.

Natürlich kann mit der selben Methode nun auch noch eine Toleranz beim Widerstand R1 und / oder der Spannung V1 berücksichtigt werden. Dafür wird der Term einfach um die jeweiligen Ableitungen erweitert, sprich wenn der Widerstand R1 mit berücksichtigt werden soll, muss die Formel noch mal nach R1 abgeleitet werden und die Ableitung wird dann mit ΔR1 multipliziert.
Man wird feststellen, dass das bei vielen Toleranzen eine unheimliche Rechnerei wird und das diese Rechnerei bei komplizierten Schaltungen mit komplizierten Formeln langwierig wird.

-> Toleranzbetrachtung in LTSpice:

Jetzt wollen wir aber nicht die Toleranz von einem Widerstand berücksichtigen, sondern von allen Widerständen in der Schaltung. Bei dem oben gezeigten Spannungsteiler macht dies, rechentechnisch gesehen, keinen wirklich großen Unterschied, aber wenn man sich jetzt mal eine Schaltung mit mehreren Kondensatoren, Spulen und Widerständen vorstellt, die wild miteinander verschaltet sind, dann wirft man ganz schnell das Handtuch, wenn man dies händisch machen soll.
Daher schauen wir uns nun mal an wie man sowas mit LTSpice machen kann.
Dazu modifizieren wir erst einmal die Schaltung:

Auswertung von Bauteiltoleranzen(2)
Über den „Wert“ {mc(10k, 0.1)} wird LTSpice mitgeteilt, dass mit dem Bauteil eine Monte-Carlo Analyse durchgeführt wird.
Der erste Zahlenwert ist der Widerstandswert ohne Toleranz. Der zweite Wert ist dann die gegebene Toleranz des Bauteils.
Über die Spice Direktive

wird dem Programm mitgeteilt, dass es fünf Durchläufe machen soll. Bei jedem Durchlauf bekommen die Widerstände einen anderen Widerstandswert innerhalb der Toleranz.
Mit diesem Wert rechnet das Programm dann weiter. Wenn die Simulation jetzt gestartet wird erhält man die folgende Ausgabe:

Auswertung von Bauteiltoleranzen(3)
In dem Simulationsergebnis sind die einzelnen Spannungen am Widerstand R2 bei verschiedenen Widerstandswerten innerhalb der Toleranz zu erkennen.
Auf diese Weise können verschiedene Toleranzwerte in einer Schaltung mit simuliert werden und ihr könnt prüfen ob sich die Schaltung trotz Toleranzen der Bauteile richtig verhält.

 

Dokumentation:

 

-> Zurück zu den Simulationen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.