Pull-up-Widerstände sind mir bislang mit drei verschiedenen Werten begegnet: 1k, 4k7 und 10k.
Da ich bislang nicht erkennen konnte, dass die Werte einer Formel folgend gewählt wurden, frage ich mich, ob es eine Regel gibt, nach der man sich für einen dieser Werte entscheidet – oder ist das eine willkürliche Entscheidung?
Ich denke das ist eher eine willkürliche Entscheidung was man gerade zur Hand hat. Prinzipel würde ich ihn eher recht hochohmig nehmen und unötige Ströme gering zu halten. Als Standart nehm ich meist so um die 10k.
Pullups sollen einem Eingang einen definierten Pegel geben und gleichzeitig nicht zuveil Strom fließen wenn der Taster betätigt wird. Diese Grenzwerte liegen bei einigen MOhm und bei einigen Kohm.
Alle Werte zwischen diesen 2 Extremen gehen gut. Je höher der Strom ist desto störresistenter ist die Schaltung.
Normalerweise nimmt man Werte zwischen 10kOhm und 100 kOhm
Pull-up-Widerstände sind mir bislang mit drei verschiedenen Werten begegnet: 1k, 4k7 und 10k.
Da ich bislang nicht erkennen konnte, dass die Werte einer Formel folgend gewählt wurden, frage ich mich, ob es eine Regel gibt, nach der man sich für einen dieser Werte entscheidet – oder ist das eine willkürliche Entscheidung?
Vielen Dank vorweg!
Gregor
Hallo Gregor,
willkürlich sind diese keinesfalls. Für AVRs sind 10k typisch, bei anderen Controllern auch durchaus 20k. Hier können fast beliebige Werte zwischen wenigen k bis hin zu 100k gewählt werden. Jedoch ist gerade bei 10k - 20k das Verhältnis zwischen Stabilität und stromsparen sehr gut.
1k kenne ich eher als Angstwiderstände in Reihe zu irgendwelchen Pegeln. Bei I2C ist das ganze defeniert. Je nach Anzahl der Geräte und Leitungslängen variert das Ganze.
Da ich kein Elektroniker bin, sondern Elektronik „nur“ als Teil meines Mechatronik-Bastelhobbys betreibe, trug ich diese Frage ziemlich lange mit mir herum. Jüngstes Beispiel ist das Datenblatt des DS1307 (RTC mit I²C): Dort ist zwar erwähnt, dass ein Anschluss mit Pull-up-Widerstand ausgestattet werden soll, aber welchen Wert dieser haben soll, ist dort nirgendwo erwähnt. Der bislang höchste Wert, der mir begegnet ist, ist ein 220k-Widerstand, der als Pull-down-Widerstand an der Basis eines NPN-Transistors hängt.
Einerseits Pullup-Pulldownwiderstände für Eingänge von Tastern und andererseite Pullupwiderstände für den I2C Bus.
Das was ich gesagt hatte gilt für Pullups/pulldownwiderstände an Tastern, Schaltern und ähnlichem.
Bezüglich I2C:
Der Pullupwiderstand an SDa bzw SCL diehnt dazu daß die Signalleitung auf + Versorgngdspannung gezogen wird. Alle Ausgänge der I2C Bausteine können die Leitung nur auf Masse = LOW = 0 ziehen. Für HIGH = 1 = Versorgungsspannung braucht es einen Pullupwiderstand. Der genaue Wert hängt von der Kapazität der Leitungen und der Eingangslast (Strom) der Bausteine. Der pullupwiderstand muß den Eingngsstrom des I2C Bausteine aufbringen und gleichzeitig innerhalb der Zykluszeit ddie Leitungen auf HIGH bringen.
Der genaue Wert hängt vom Kabel/Verbindung bzw Länge zwischen den einzelnen Busteilnehmern und der Anzahl der I2C Bausteine ab. Den Effekt eines zu kleienn Pullupwiderstandes hat Serenifly mit DssCircuits.com is for sale | HugeDomains erklährt.
Ganz gut ist da außerdem zu erkennen, wie hilfreich ein Oszi sein kann. Ich habe vieles erst kapiert, als ich mir vor ungefähr drei Jahren ein gebrauchtes Analog-Oszi zugelegt habe. Es ist zwar ganz schön, wenn man mit einem Multimeter eine Spannung messen kann, aber wenn sehen kann, wie sich eine Spannung über eine Zeit ändert, ist das eine echte Offenbarung.
Da das Oszi durch Nichtgebrauch irgendwann nicht mehr zu gebrauchen war (Potis mögen es wohl gar nicht, wenn sie nur selten benutzt werden), habe ich mir ein kleines digitales Taschending zugelegt. Das ist zwar ein bisschen fummlig und die Bandbreite ist vergleichsweise lächerlich, aber für meine Zwecke genügt es vollkommen.