Hallo zusammen, ich habe schon verstanden welchen Sinn und Zweck der Pull-Up Widerstand erfüllt. Leider will mein Gehirn aber die Physik dahinter nicht ganz verstehen, deshalb würde ich gerne ein paar Fragen dazu stellen. Nehmen wir als Grundlage folgende Schaltung mit Pull-Up Widerstand: https://www.mikrocontroller.net/wikifiles/8/8a/Taster.gif Wie man sieht, ist der Input-Pin über einen Widerstand mit VCC verbunden. 1. (Pull-Up, offener Schalter) Warum wird also die Spannung, die am Input-Pin "anliegt" als HIGH angesehen? Was bedeutet überhaupt "anliegt"? Fließt überhaupt Strom von VCC nach Input-Pin? Müsste durch den hohen Widerstand nicht viel Spannung "abgesaugt" werden, sodass am Input-Pin nur noch eig. LOW gemessen wird? 2. (Pull-Up, geschlossener Schalter) Warum "liegt" nun nur noch LOW beim Input-Pin an? Ich dachte Spannung teilt sich NICHT, nur der Strom (an einem Zweigpunkt). Warum teilt sich also die Spannung doch an der Verzweigung NACH dem Widerstand, sodass LOW am Input-Pin gemessen wird? 3. (Pull-Down, geschlossener Schalter) Warum liegt hier jetzt plötzlich nicht mehr LOW am Input-Pin an, obwohl Pull-Up und Pull-Down Schaltungen identisch sind, bis auf die Tatsache, dass Widerstand und Schalter vertauscht sind(edit)? Muss ich vielleicht mit Stromstärke statt Spannung argumentieren/denken? Danke im Voraus! VG John
:
Bearbeitet durch User
Schau mal nach was Potential bedeutet. Das sollte eben fest definiert sein, bevor es in der Luft hängt und im worst case beliebige Zustände annimmt.
John L. schrieb: > 2. (Pull-Up, geschlossener Schalter) Warum "liegt" nun nur noch LOW beim > Input-Pin an? Ich dachte Spannung teilt sich NICHT, nur der Strom (an > einem Zweigpunkt). Warum teilt sich also die Spannung doch an der > Verzweigung NACH dem Widerstand, sodass LOW am Input-Pin gemessen wird? Im Prinzip liegt nicht 0V an, der PullUp bildet mit der Leitung und dem Schalter einen Spannungsteiler. Die Leitung hat aber einen, im Vergleich, so niedrigen Widerstand dass es in der Realität keine Rolle spielt. Du kannst ja die Spannung ausrechnen mit einem Spannungsteiler 10k/0.01 Ohm. > (Pull-Up, offener Schalter) Warum wird also die Spannung, die am > Input-Pin "anliegt" als HIGH angesehen? Was bedeutet überhaupt > "anliegt"? Fließt überhaupt Strom von VCC nach Input-Pin? Du musst dir echt mal den Unterschied zwischen Spannung und Strom klarmachen. An deiner Steckdose liegen auch 230V an, trotzdem fließt kein Strom wenn du nichts eingesteckt hast. Es geht hier nur um die Spannungen. Ströme spielen da erstmal keine Rolle. Wenn du nicht weißt was "anliegt" bedeutet dann hast du wohl noch nie eine Spannung mit einem Multimeter gemessen. Baue doch mal deine Schaltung auf und Messe da rum. Dann wird dir einiges klarer. Ach ja, was irgendein Baustein als High oder Low ansieht steht im Datenblatt. Meist im Verhältnis zu VCC.
:
Bearbeitet durch User
Hallo, und nicht nur die Leitungen und der Schalter sind (auch) als (niederohmige) Widerstände zu betrachten, sondern der Eingang des Mikrocontrollers ebenfalls (als sehr hochohmiger Spannungsteiler sowohl nach Ground als auch nach VCC). Über die Maschenregeln kann man dann die Spannungspotentiale an den verschiedenen Knoten auf Grund der fließenden Ströme ausrechnen. Man wird dann sehen, dass der "Messknoten" nicht exakt 0V bzw. VCC "sieht", was aber bei Digitaleingängen egal ist, da diese "Low" bzw. "High" in einem relativ weiten Bereich erkennen (Low z.B. zwischen -0.5V und +0.7V, High zwischen 2.4V und VCC+0.5V). Übrigens: Manchmal wählt man den Pullup- bzw. Pulldown-Widerstand gar nicht so hochohmig um einen gewissen Schaltstrom im Schalter zu haben (normale 220V-Lichtschalter z.B. korrodieren und benötigen Ströme >10mA um sich "freizubrennen"). Schöne Grüße, Martin
John L. schrieb: > ich habe schon verstanden welchen Sinn und Zweck der Pull-Up Widerstand > erfüllt. Scheinbar nicht. > 1. (Pull-Up, offener Schalter) Warum wird also die Spannung, die am > Input-Pin "anliegt" als HIGH angesehen? Was bedeutet überhaupt > "anliegt"? Fließt überhaupt Strom von VCC nach Input-Pin? Wenn das ein CMOS-Eingang ist, dann fließt praktisch kein Strom. Nur ein Leckstrom von typischerweise max. 1µA. Wobei man beachten muß, daß Leckströme mit der Temperatur stark zunehmen und diese Angabe für die maximal erlaubte Chiptemperatur gilt. Bei Raumtemperatur kann man locker Faktor 100 niedriger liegen. > Müsste durch > den hohen Widerstand nicht viel Spannung "abgesaugt" werden, sodass am > Input-Pin nur noch eig. LOW gemessen wird? Seit wann "saugt" ein Widerstand Spannung ab? Betrachte es einfach als Spannungsteiler. Der CMOS-Eingang hat einen sehr hohen Widerstand. Sagen wir mal 5MΩ (das gibt bei 5V gerade 1µA, liegt also im realistischen Bereich). Dieser Widerstand bildet mit dem Pullup einen Spannungsteiler:
1 | Vcc |
2 | | |
3 | R1 (Pullup) |
4 | | |
5 | *-----> U_pin |
6 | | |
7 | 5MΩ (Eingangswiderstand) |
8 | | |
9 | === GND |
Am Teilerpunkt entsteht die Eingangsspannung. Rechne das für deine Betriebsspannung und deinen Wert des Pullups durch! Und, ist das ein gültiger H-Pegel? > 2. (Pull-Up, geschlossener Schalter) Warum "liegt" nun nur noch LOW beim > Input-Pin an? Ich dachte Spannung teilt sich NICHT, nur der Strom (an > einem Zweigpunkt). Nochmal der gleiche Spannungsteiler. Aber diesmal liegt R2 der Widerstand des Tasters, sagen wir mal 100mΩ (Milliohm!) parallel:
1 | Vcc |
2 | | |
3 | R1 (Pullup) |
4 | | |
5 | .-----*-----> U_pin |
6 | | | |
7 | 100mΩ 5MΩ (Eingangswiderstand) |
8 | | | |
9 | === === GND |
Rechne nochmal die Spannung am Teilungspunkt aus! Ist das ein gültiger L-Pegel? > 3. (Pull-Down, geschlossener Schalter) Warum liegt hier jetzt plötzlich > nicht mehr LOW am Input-Pin an, obwohl Pull-Up und Pull-Down Schaltungen > identisch sind, bis auf die Position des Widerstandes? Bahnhof. Mit einem Pull-Down muß der Taster natürlich nach Vcc gehen. Kannst du aber mit dem obigen Spannungsteiler auch alles rechnen. Einfach die Widerstände für Pullup und Taster vertauschen.
John L. schrieb: > 3. (Pull-Down, geschlossener Schalter) Warum liegt hier jetzt plötzlich > nicht mehr LOW am Input-Pin an, obwohl Pull-Up und Pull-Down Schaltungen > identisch sind, bis auf die Position des Widerstandes? Etwas unklar. Du meinst: du hast einen Pull-Down (z.B. 10kΩ) und einen Schalter nach VCC? Wenn ja: es gilt prinzipiell das selbe, was Cyberlord schon beschrieben hat. Der Input Pin ist extrem hochhomig. Entweder der Schalter ist offen, dann ist praktisch der PD-Widerstand, auch wenn er 10k hat, für dein Eingang wie eine sehr niederohmige Verbindung nach GND zu sehen. Ist der Schalter geschlossen (nach VCC) ist diese Verbindung nochmal 1 Million mal niederohmiger, jetzt aber nach VCC. Der Spannungsteiler aus den 10mΩ und den 10kΩ liefert dann halt (fast) VCC am Pin. Nur, das jetzt durch den Widerstand und den Schalter ein Strom fließt der Größe VCC/10k, der quasi als Verlust angesehen werden kann; in den CMOS-Eingang fließt dabei vernachlässigbar wenig. Da die Widerstandsverhältnisse von PU/PD (10kΩ), Schalter (10mΩ) und Eingangspin (vermutlich im GΩ-Bereich bei CMOS) so extrem sind, werden die Spannungen für den Eingang nur vernachlässigbar wenig vom idealen Wert abweichen. Bei CMOS z.B. wird typisch >75% von VCC sicher als HIGH und <25% sicher als LOW interpretiert.
1) Das ist einfach Konvention, das HIGH dem VCC der Pins entspricht. (es gibt Controller, die eigene Spannungsversorgung für den µP / µC Kern haben und eine eigene für die Peripherie / Pins) "Anliegen" hat (wie Nicht W wohl meinte?) mit dem Modell von Potentialen zu tun. Spannung ist eine Differenz zwischen zwei Potentialen. Soll also heißen "an VCC liegt ein Potential an, dass mit Referenz zum Masse Potential Vcc entspricht". Theoretisches Blabla um zu sagen "an dem Pin ist Spannung, die er als 'HIGH erkennt' ". Man sollte trotzdem begreifen, dass sich Spannung immer auf eine Referenz bezieht. Ja, es fließt ein Strom - ein "parasitärer". Mit parasitär beschreibt man Effekte die im Idealfall nicht da sind. Dafür müsste der Inputpin einen unendlichen Widerstand gegen Masse haben. Hat er aber nicht - daher fließt ein winziger Strom. Man hat letztlich einen Spannungsteiler gebaut. Die Idee ist, dass der Pullup-Widerstand so viel kleiner ist, als der parasitäre Widerstand gegen Masse, dass der Pin immer noch "HIGH" sieht. 2) Hier wirfst du Begriffe durch einander glaube ich. Bevor ich unnötig viel schreibe, such nach "Spannungsteiler". >Warum teilt sich also die Spannung doch an der Verzweigung NACH dem >Widerstand Der Pin sieht LOW, weil der geschlossene Schalter dem Vcc-Potential nach dem Wiederstand einen viel niederohmigeren Weg bietet nach Masse ab zu fließen als der parasitäre Innenwiederstand des Pins/µC. Ich vermute, du hast hier etwas richtig formuliert, ohne es zu wissen :> Auch der geschlossene Taster hat einen Widerstand, denn auch der Taster ist - tada - nicht ideal. Das heißt tatsächlich hat man im "Ersatzschaltbild" den Widerstand gegen Vcc und gegen Masse den sehr hohen Eingangswiderstand des Pins parallel mit dem verschwindend kleinem Widerstand des Tasters. 3) >Muss ich vielleicht mit Stromstärke statt Spannung argumentieren/denken? Ne, du musst verstehen, dass Spannung eine Differenz zwischen zwei Potentialen ist. Ich würde sagen, nimm dir etwas Zeit um das Prinzip von Spannungsteiler und Stromteiler zu verstehen. Dann fällt dir wie Schuppen von den Augen, wann der Pin HIGH sieht und wann LOW und was es mit Pulldown auf sich hat. https://www.elektronik-kompendium.de/sites/slt/0201111.htm https://de.wikipedia.org/wiki/Stromteiler
Zu 1. Ja es fließt ein Strom, der Input leakage current (Leckstrom) ist im Datenblatt des Microcontrollers spezifiziert. Durch diesen Strom gibt is über dem Pullup-Widerstand einen geringen Spannungsabfall (Stichwort ohmsches Gesetz) der aber kaum messbar ist da der Leckstrom derart gering ist und darum der Spannungabfall entsprechend auch minimal ist. Zu 2. naja der Taster verbindet den Eingang direkt mit Masse (Kurzschluss). In der Praxis kannst du das als Spannungsteiler ansehen dessen unterer Widerstand 1 Ohm hat (Taster, Leiterbahnen) und dessen oberer Widerstand 10kOhm (Pullup). Die Spannung beträgt dann (5V, 10k Pullup, 1 Ohm Taster) nicht 0,00000V sondern 0,0005V (Siehe Formel Spannugnsteiler). Zu 3. wenn du einen pulldown Widerstand wählst, dann muss dein Taster natürlich zu 5V verbinden (und nicht mehr zu masse). Es ändert sich nicht nur die Position des Widerstandes sondern der Taster ist dann mit der Versorgungsspannung (zb. 5V) verbunden
Danke für die zahlreichen Antworten. Bleiben wir am besten erstmal bei der Pull-Up Schaltung.
1 | VCC |
2 | | |
3 | | |
4 | Pull-Up Widerstand (klein im Vgl. zu uC) |
5 | | |
6 | | |
7 | uC Eingangspin (Großer Widerstand) ---* |
8 | | |
9 | | |
10 | offener Schalter |
11 | | |
12 | | |
13 | GND |
So wie ich das jetzt verstanden habe, hat der Eingangspin des uC einen sehr hohen Widerstand und es fließt ein kleiner Leckstrom. Der Widerstand des Eingangspins ist im Vergleich zum Pull-Up Widerstand viel größer, weshalb am Eingangspin viel mehr Spannung abfällt und deshalb ein H-Pegel gemessen wird (Spannungsteilerregel für Reihenschaltung U1/U2=R1/R2). Stimmt das so? Jetzt habe ich aber immer noch ein Problem mit dem geschlossenem Schalter:
1 | VCC |
2 | | |
3 | | |
4 | Pull-Up Widerstand (klein im Vgl. zu uC) |
5 | | |
6 | | |
7 | uC Eingangspin (Großer Widerstand) ---* |
8 | | | |
9 | | | |
10 | | (ist PIN mit GND verbunden?) geschlossener Schalter |
11 | | | |
12 | | | |
13 | === === GND |
Welcher Spannungsteiler Formel wäre denn nun in diesem Fall einzusetzen? Ist das als Reihenschaltung anzusehen wenn uC NICHT mit GND verbunden ist oder ist das eine Parallelschaltung? Axel S. schrieb: > Betrachte es einfach als Spannungsteiler. Der CMOS-Eingang hat einen > sehr hohen Widerstand. Sagen wir mal 5MΩ (das gibt bei 5V gerade 1µA, > liegt also im realistischen Bereich). Dieser Widerstand bildet mit dem > Pullup einen Spannungsteiler: Warum zeichnest du den hochomigen Widerstand zwischen dem Zweigpunkt und GND und nicht am Eingangspin? Oder ist das mit meiner obigen Zeichnung äquivalent, falls man davon ausgeht, dass der uC Eingangspin mit GND verbunden ist? Danke!
:
Bearbeitet durch User
John L. schrieb: > Warum zeichnest du den hochomigen Widerstand zwischen dem Zweigpunkt und > GND und nicht am Eingangspin? Er hätte es deutlicher zeichnen können, es macht aber keinen Unterschied. So z.B.:
1 | Vcc |
2 | | ________ |
3 | R1 (Pullup) | µC |
4 | | U_pin| |
5 | +------------|--o |
6 | | | | |
7 | 100mΩ | 5MΩ (Eingangswiderstand) |
8 | | | | |
9 | === | === GND |
10 | |________ |
John L. schrieb: > Welcher Spannungsteiler Formel wäre denn nun in diesem Fall einzusetzen? Der Teiler VCC*100mΩ/(R1+100mΩ), die 5MΩ (von denen ich meine, dass es viel mehr ist) parallel zu 100mΩ ändert nur in der x.ten Stelle nach dem Komma noch was; du kannst ja mal ausrechnen, was 5MΩ || 100mΩ ergeben ? Oder den den Teiler für den offenen Schalter aus R1 und 5MΩ (auch hier gibt es ganz streng genommen noch den Isolationswiderstand des offenen Schalters, der parallel zum Eingangswiderstand liegt).
Hallo, der geschlossene Schalter stellt einen sehr kleinen Widerstand dar. Es ergibt sich somit "unten" eine Parallelschaltung aus 1. sehr kleinem Widerstand (geschlossener Schalter) 2. sehr großem Widerstand als Eingangswiderstand µC Wenn mal sehr konservativ annimmt, daß Widerstand bei 1. 1 Ohm ist und Widerstand bei 2. 100 kOhm ist, so ergibt sich aus der Parallelschaltung von 1 und 2 ein Widerstand von ~0,99999 Ohm (also es bleibt bei 1 Ohm). D.h. bei geschlossenen Schalter sind die 100 kOhm völlig zu vernachlässigen. Daraus folgt, daß bei geschlossenen Schalter sich ein Spannungsteiler aus dem Pull-Up-Widerstand und dem Schalterwiderstand bildet, was idealerweise (vereinfacht) zu 0V am Eingangspin führt. Wenn der Schalter offen ist, ist er ein sehr großer Widerstand. Es ergibt sich somit "unten" eine Parallelschaltung aus 1. ein sehr großer Widerstand (offener Schalter) 2. sehr großem Widerstand als Eingangswiderstand µC (unverändert zu obigen Beispiel) Wenn mal sehr konservativ annimmt, daß Widerstand bei 1. 10 MOhm ist und Widerstand bei 2. 100 kOhm ist, so ergibt sich aus der Parallelschaltung von 1 und 2 ein Widerstand von 99 kOhm (also es bleibt bei rund 100 kOhm). D.h. bei offenen Schalter sind die 10 MOhm völlig zu vernachlässigen. Daraus folgt, daß bei offenen Schalter sich ein Spannungsteiler aus dem Pull-Up-Widerstand und dem Eingangswiderstand µC bildet, was idealerweise (vereinfacht) zu 5V am Eingangspin führt. Ich hoffe das halbwegs verständlich ausgedrückt zu haben. Gruß Robert
Wenn der Innenwiderstand immer gegen GND ginge, wäre es ja noch einfach. Es ist aber nicht spezifiziert ob hochohmige Verbindungen vom Eingang nach GND und/oder VCC gehen. Das hängt nämlich vom jeweiligen Exemplar ab. Und gerade deshalb ist es nötig dem Eingang über Pull-Up oder Pull-Down einen gültigen Eingangspegel aufzuzwingen.
MeinSenfDazu schrieb: > Wenn der Innenwiderstand immer gegen GND ginge, wäre es ja noch einfach. Genau. Vielleicht geht er ja sogar auf VCC/2. Man kann es auch kaum an einem offenen Eingang messen, er ist so hoch (weit oberhalb der 5MΩ, die oben genannt wurden), dass ein Messgerät das bereits komplett verändert. Vielleicht wäre es einfach sinnvoller, den Eingangswiderstand einfach als ∞ anzusehen. Und viele der hier angestellten Betrachtungen sind dann noch einfacher.
Die konservative Erklärung hat mir sehr geholfen! Vielen Dank an alle nochmal, ich habe es endlich verstanden :)
Man könnte es auch mit Druck und Strömung in Wasserleitungen sehr verständlich erklären. Aber wenn du es jetzt schon inne hast, dann lasse ich es mal bleiben :-) Hatte mit dem Thema Pullup auch meine Verständnisprobleme.
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.