Abweichung bei Widerstandsnetzwerk/Widerstandsarray

#7375973
Lesenswert?

Ich frage mich wie sich die Toleranzen bei Widerstandsnetzwerken verhalten. Mal angenommen ich nutze 4x Widerstandsnetzwerke mit einer Toleranz von 1%. Bedeutet das nun das die vier Widerstände die gleiche Abweichung aufgrund der Toleranz haben oder besitzt jeder Widerstand eine individuelle Abweichung?

Ich nutze in analogen Schaltungen gerne Spannungsteilern z.b. zur Halbierung. Mit Hilfe der Monte-Carlo Methode muss ich aber feststellen, dass gerade bei ähnlich großen Widerstandsverhältnissen von R1 und R2 die resultierende Ausgangsspannung besonders stark abweicht. Entweder würde ich nun noch genauere Widerstände nutzen müssen oder meine Idee, Widerstandsnetzwerke bei dem die R´s hoffentlich alle gleich sind und so dürfte sich doch eigentlich bei nem Spannungsteiler mit nem Netzwerkbaustein exakt die Hälfte der Spgn einstellen.

Moderator (Firma: Titel) Persönliche Seite #7376012
Lesenswert?

Eho C. schrieb:

dass gerade bei ähnlich großen Widerstandsverhältnissen von R1 und R2 die resultierende Ausgangsspannung besonders stark abweicht

Gibts da auch Bauteilnamen und -werte und evtl. sogar Messwerte dazu? Also Quantität statt nur Qualität? Oder soll die Antwort eher "nach Gefühl" erfolgen?

hoffentlich

"Das Prinzip Hoffnung" ist nur was für Philisophen. Für Techniker gilt: was nicht im Datenblatt steht, ist nicht garantiert.

https://de.wikipedia.org/wiki/Das_Prinzip_Hoffnung

#7376022
Lesenswert?

Hallo Eho C.,

Eho C. schrieb:

Ich nutze in analogen Schaltungen gerne Spannungsteilern z.b. zur Halbierung. Mit Hilfe der Monte-Carlo Methode muss ich aber feststellen, dass gerade bei ähnlich großen Widerstandsverhältnissen von R1 und R2 die resultierende Ausgangsspannung besonders stark abweicht.

dann ist Deine Simulation kaputt. Wenn Du einen Spannungsteiler aus einem Vierfachnetzwerk (4 nominal gleiche Widerstände) durch Reihen- oder Parallelschaltung von Paaren einen Spannungsteiler bildest, so sinkt im Durchschnitt die Abweichung vom Nennwert.

Entweder würde ich nun noch genauere Widerstände nutzen müssen oder meine Idee, Widerstandsnetzwerke bei dem die R´s hoffentlich alle gleich

"Gleich" gibt es nicht. Du solltest schon eine quantitative Größe in Prozent oder ppm vorgeben, die beschreibt, wie sehr die Widerstände voneinander abweichen dürfen.

sind und so dürfte sich doch eigentlich bei nem Spannungsteiler mit nem Netzwerkbaustein exakt die Hälfte der Spgn einstellen.

"Exakt" gibt es auch nicht, s.o..

Wie stark belastet Du den Spannungsteiler?

#7376075
Lesenswert?

Wie stark belastet Du den Spannungsteiler? Es handelt sich um einen unbelasteten Spannungsteiler.

dann ist Deine Simulation kaputt. Ich verwende Widerstände mit 1% Abweichung und rechne aber mit 2%. Beim ersten Versuch nutze ich nun einen 1:1 Spannungsteiler, beim zweiten 10:1

1
  Ue = 3.3;  R1 = 1000;  R2 = 1000;  tol_pos = 1.02; tol_min = 0.98; 
2
  
3
  Ua = Ue/( R1 / R2 + 1);
4
  
5
  Ua_wc_min = Ue/( R1*tol_min / R2*tol_pos + 1);
6
  Ua_delta_min = Ua - Ua_wc_min # = -0.00033007
7

8

9
  Ua_wc_pos = Ue/( R1*tol_pos / R2*tol_min + 1);
10
  Ua_delta_pos = Ua - Ua_wc_pos # = -0.00033007
11
  
12
  
13
  Ua_wc_pos = Ue/( R1*tol_pos / R2*tol_pos + 1);
14
  Ua_delta_pos = Ua - Ua_wc_pos # = 0.032670
15
  
16
  
17
  Ua_wc_pos = Ue/( R1*tol_min / R2*tol_min + 1);
18
  Ua_delta_pos = Ua - Ua_wc_pos # = -0.033330
1
  Ue = 3.3;  R1 = 10000;  R2 = 1000;  tol_pos = 1.02; tol_min = 0.98; 
2
  
3
  Ua = Ue/( R1 / R2 + 1);
4
  
5
  Ua_wc_min = Ue/( R1*tol_min / R2*tol_pos + 1);
6
  Ua_delta_min = Ua - Ua_wc_min # = -0.00010913
7
 
8
  Ua_wc_pos = Ue/( R1*tol_pos / R2*tol_min + 1);
9
  Ua_delta_pos = Ua - Ua_wc_pos # = -0.00010913
10
  
11
  
12
  Ua_wc_pos = Ue/( R1*tol_pos / R2*tol_pos + 1);
13
  Ua_delta_pos = Ua - Ua_wc_pos # =  0.010628
14
  
15
  
16
  Ua_wc_pos = Ue/( R1*tol_min / R2*tol_min + 1);
17
  Ua_delta_pos = Ua - Ua_wc_pos # = -0.011203

Ergebnis: Die Abweicherung beim 1:1 Teiler im worst-case der Aussgangsspannung Ua liegen bei -0.033330V .. 0.032670V

Die Abweicherung beim 10:1 Teiler im worst-case der Aussgangsspannung Ua liegen bei -0.011203V .. 0.010628V

Die Abeweichung werden maximal wenn die nominalen Werte im Spgteiler sich annähern. Daher die Überlegung ob man Widerstandsnetzwerke verwendet.

#7376079
Lesenswert?

Eho C. schrieb:

Bedeutet das nun das die vier Widerstände die gleiche Abweichung aufgrund der Toleranz haben

Neon

oder besitzt jeder Widerstand eine individuelle Abweichung?

Ja.

Aber es gibt spezielle Widerstandsarrays die präziser auf Abweichung spezifiziert sind, z.B.

https://www.vishay.com/docs/60001/mpm.pdf

Doppel so genaues Teilerverhältnis und 10 mal so geringe Temperaturabhängigkeit.

#7376156
Lesenswert?

Hallo Eho C.,

Eho C. schrieb:

Ich verwende Widerstände mit 1% Abweichung und rechne aber mit 2%. Beim ersten Versuch nutze ich nun einen 1:1 Spannungsteiler, beim zweiten 10:1 Ue = 3.3; R1 = 1000; R2 = 1000; tol_pos = 1.02; tol_min = 0.98;

Ua = Ue/( R1 / R2 + 1);

Ua_wc_min = Ue/( R1tol_min / R2tol_pos + 1); Ua_delta_min = Ua - Ua_wc_min # = -0.00033007

Der numerische Wert stimmt nicht.

Ua_wc_pos = Ue/( R1tol_pos / R2tol_min + 1); Ua_delta_pos = Ua - Ua_wc_pos # = -0.00033007

Vorzeichen und numerischer Wert stimmen nicht.

#7376167
Lesenswert?

Vorzeichen und numerischer Wert stimmen nicht. Mit octave komme ich offenbar zu falschen ergebnissen, nachfolgend nun mit python:

1
# Teiler 1:1
2
Ue = 3.3;  R1 = 1000;  R2 = 1000;  tol_pos = 1.02; tol_min = 0.98; 
3
Ua = Ue/( R1 / R2 + 1)
4
  
5
Ua_wc = Ue/( R1*tol_min / R2*tol_pos + 1)
6
Ua_delta = Ua - Ua_wc
7
print (Ua_delta)
8

9
Ua_wc = Ue/( R1*tol_pos / R2*tol_min + 1)
10
Ua_delta = Ua - Ua_wc
11
print (Ua_delta)
12
  
13
  
14
Ua_wc = Ue/( R1*tol_pos / R2*tol_pos + 1)
15
Ua_delta = Ua - Ua_wc
16
print (Ua_delta)
17
  
18
  
19
Ua_wc = Ue/( R1*tol_min / R2*tol_min + 1)
20
Ua_delta = Ua - Ua_wc
21
print (Ua_delta)
22

23
# Ergebnis 1:1
24
#  -0.0003300660132026234
25
#  -0.0003300660132026234
26
#  0.03267006469319744
27
#  -0.03332993266680284
1
# Teiler 10:1
2
Ue = 3.3;  R1 = 10000;  R2 = 1000;  tol_pos = 1.02; tol_min = 0.98; 
3
Ua = Ue/( R1 / R2 + 1)
4
  
5
Ua_wc = Ue/( R1*tol_min / R2*tol_pos + 1)
6
Ua_delta = Ua - Ua_wc
7
print (Ua_delta)
8

9
Ua_wc = Ue/( R1*tol_pos / R2*tol_min + 1)
10
Ua_delta = Ua - Ua_wc
11
print (Ua_delta)
12
  
13
  
14
Ua_wc = Ue/( R1*tol_pos / R2*tol_pos + 1)
15
Ua_delta = Ua - Ua_wc
16
print (Ua_delta)
17
  
18
  
19
Ua_wc = Ue/( R1*tol_min / R2*tol_min + 1)
20
Ua_delta = Ua - Ua_wc
21
print (Ua_delta)
22

23
# Ergebnis
24
# -0.0001091305929428743
25
# -0.00010913059294292982
26
# 0.010627849877236084
27
# -0.011203319502074649
#7377215
Lesenswert?

Keine Ahnung was Du da wie berechnet hast, aber sämtliche Berechnungen, bei denen beide Widerstände in dieselbe Richtung abweichen sind schlicht falsch:

Eho C. schrieb:

Ua_wc = Ue/( R1tol_pos / R2tol_pos + 1) Ua_delta = Ua - Ua_wc

Also R1=R2 und tol_pos=tol_pos folglich wird der (innere) Bruch gleich 1, dein Ua_wc=Ue/2 und damit Ua_delta=0.

Diese Überlegung gilt klarerweise ganz genauso für den Fall mit zwei Mal tol_min; ebenso natürlich analog für den 10:1 Teiler.

Okay, auf den zweiten Blick wird mir jetzt wohl doch klar, wo konkret Dein Fehler liegt: Python hat einen Divisions- und keinen Bruchstrich-Operator; oder anders gesagt, Du mußt die Berechnung des realen, toleranzbehafteten Wertes natürlich - zumindest für den Wert der unterm Bruchstrich stehen soll - Klammern. Damit ist wohl davon auszugehen, daß auch alle Deine anderen Ergebniswerte falsch sind.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren