Guten Abend, Ich bin gerade am Assembler Tutorial. Ich verstehe den Sinn und zweick eines Pull-Widerstandes. Was ich nicht begreife ist : Wann verwendet man einen Pull-Up Widerstand ? Wann verwendet man einen Pull-Down Widerstand ? Wenn ich ein Pull-Up Widerstand verwende wird der Zustand logisch 1, solange der Taster offen ist. Sobald der Taster gedrückt wird logisch 0. Wenn ich einen normalen Lichtschalter drücke fängt das Licht an zu brennen. Dies ist für mich eine logisch 1. Mit einem Pull-Up also genau umgekehrt. Oder hat man mit einem Pull-Down einen speziellen Nachteil da im Tutorial nur der Pull-Up behandelt wird ? Gut währe ein einfaches praktisches Beispiel. Freundliche Grüsse Koe
Der Pullup hat den Vorteil, dass er im AVR schon eingebaut ist. Die invertierung ist in Software kein Problem.
Die AVRs zum Beispiel haben einen eingebauten PullUp. Außerdem braucht man PullUp bei open Collector Ausgängen, welche nach Masse schalten.
Ich halte das für völlig egal! Man nimmt das, was schaltungstechnisch sinnvoll erscheint. Wichtiger ist: Sichereitseinrichtungen NC Ansonsten: Normale Schalter und Taster alle NO Aktoren: Bevorzugt per High Side Switch
KoE schrieb: > > Wann verwendet man einen Pull-Up Widerstand ? > Wann verwendet man einen Pull-Down Widerstand ? > > Gut währe ein einfaches praktisches Beispiel. https://en.wikipedia.org/wiki/Wired_logic_connection https://de.wikipedia.org/wiki/Open-Collector-Ausgang MfG,
Jan H. schrieb: > Die AVRs zum Beispiel haben einen eingebauten PullUp. Außerdem braucht > man PullUp bei open Collector Ausgängen, welche nach Masse schalten. Ah... Ich habe nicht verstanden warum man in den Mikrocontrollern einen Pull-Up verbaut, wenn ein Pull-Down logischer währe. Aber wenn man bei open Collector Ausgägen eine Pull-Up benötigt ist es natürlich nun klar das dies nachher mit der Software einfacher zu ändern ist. Besten Dank an alle für die rasche Antwort!
Das mit dem Pullup hat auch historische Gründe: Bei TTL-Eingängen war der Pullup prinzipbedingt schon eingebaut und ein Pulldown hätte Ruhestrom verbraucht.
KoE schrieb: > Ah... Ich habe nicht verstanden warum man in den Mikrocontrollern einen > Pull-Up verbaut, wenn ein Pull-Down logischer währe. Der eigentliche Grund liegt in der Geschichte. Die früheren TTL und NMOS Bausteine waren stark asymmetrisch an Aus- und Eingang. Sowohl bei den Spannungen als auch bei den fliessenden Strömen. Pullups waren effizient machbar, Pulldowns nicht. Die Technik hat sich seither geändert, die Gewohnheit ist geblieben.
KoE schrieb: > Ah... Ich habe nicht verstanden warum man in den Mikrocontrollern einen > Pull-Up verbaut, wenn ein Pull-Down logischer währe. Vorallem sollte man hier nicht von einen einzigen µC auf alle anderen Schließen. Es gibt genug Typen da kann man beides Konfigurieren.
A. K. schrieb: > Der eigentliche Grund liegt in der Geschichte. Die früheren TTL und NMOS > Bausteine waren stark asymmetrisch an Aus- und Eingang. Sowohl bei den > Spannungen als auch bei den fliessenden Strömen. Ich nehme an, weil ein NPN am besten gegen Masse schaltet und PNPs schlechtere Eigenschaften haben als ein gleich großer NPN? Stimmt diese Vermutung so?
KoE schrieb: > Wenn ich einen normalen Lichtschalter drücke fängt das Licht an zu > brennen. Wenn dein Licht zu brennen anfängt hast du ganz andere Probleme als pull up oder down. Pulls sind dazu da einen definierten Zustand zu haben wenn dein Programm oder Controller noch nicht Laufen. Stichwort Tri-State
Das hatten wir gerade im Beitrag "Re: Übliche Beschaltungsregel: Welche Richtung?" > … daran, dass man bei verschiedenen > Spannungsversorgungs-Pegeln in der Regel eine gemeinsame Masse hat. Mit > "open collector" bzw. "open drain" hat man dann einen Pegelwandler.
Jan H. schrieb: > Ich nehme an, weil ein NPN am besten gegen Masse schaltet und PNPs > schlechtere Eigenschaften haben als ein gleich großer NPN? Stimmt diese > Vermutung so? Nein, das sind ziemlich sicher keine Bipolartransistoren. In keinem ATMEGA dürften Bipolartransistoren drin sein (außer parasitäre vielleicht). Und Widerstände sind das ziemlich sicher auch nicht, sondern Stromquellen, die als Ladungspumpe realisiert sind. Ein Blick ins Datenblatt dürfte Klarheit schaffen - da steht meist ein Pullup/Pulldown-Strom drin. Im Übrigen muss man im Einzelfall genau schauen, was man hernimmt. Wichtig ist auch der Status der Pulls im Reset, wieviel Strom die liefern , welchen Spannungsabfall die bei sehr geringen Strömen haben unsw usf. -> eine pauschale Antwort gibt es nicht. -> hängt vom µC ab.
Ich bezog mich auf die historischen Gründe. Das moderne ICs wohl eher keine bipolaren Transistoren haben ist mir klar. AVRs haben ja sowieso symmetrische Treiber für die Ausgänge. Ich wollte eher wissen, was für technische Gründe es gab, das ganze so rum einzuführen.
Pullups werden häufiger benötigt, z.B. bei Bussen (1-Wire, I2C). Auch ist es bei Kontakten ungefährlicher, wenn sie gegen GND schalten. Schalten sie gegen VCC und ist ein Kurzschluß auf der Leitung gegen Gehäuse/Schirm, stürzt Dein MC ab bzw. Deine Batterie/Spannungsregler erhitzt sich. Ansonsten ist dem MC schnurzegal, was Ein/Aus und was 0/1 ist, das sind nur Namen.
Ein Vorteil von Pull-UP ist, dann man nicht auf die Vcc Spannung achten muss die man zum Schalten verwendet. Das macht sich bemerkbar, wenn man mit mehreren Spannungen arbeitet. Der 5 V Kreis wird mit der gleichen Masse wie der 3,3 V Kreis geschaltet. Da genügen 3 Leitungen. Schalter 1, Schalter 2 und Masse. Beim Pull-DOWN müsste man 4 Leitungen haben, da man mit der passenden Spannung schalten muss. Und man muss bei Verdrahten mehr aufpassen. Ich würde immer den Pull-UP vorziehen auch wenn es bei Programmieren nervt.
Jan H. schrieb: > Ich nehme an, weil ein NPN am besten gegen Masse schaltet Soweit ja. > und PNPs > schlechtere Eigenschaften haben als ein gleich großer NPN? Stimmt diese > Vermutung so? Aber hier nicht mehr. TTL verwendete ausschliesslich NPN-Transistoren und NMOS ausschliesslich N-Kanal MOSFETs. Aber eben weil das so ist, ist die Pulldown-Strecke dieser Technologien stärker ausgeprägt als die Pullup-Strecke. Und deshalb sind auch die Pegel stark asymmetrisch. Bei 5V TTL liegt der Schaltpunkt um die 1,5V herum. Schon deshalb ist mit R hochziehen einfacher als runterziehen. Dann kommt noch der bei Low-Pegel nicht unerhebliche Eingangsstrom dazu, während der Eingangsstrom bei High-Pegel viel geringer ist.
:
Bearbeitet durch User
Rechenbeispiel für TTL SN5400: Pullup: (4,5V - 2,0V) bei 40µA. Ergibt R <= 62,5 kOhm. Pulldown: 0,8V bei 1,6mA. Ergibt R <= 500 Ohm. Ein normaler TTL Ausgang war jedoch nicht in der Lage, diesen Pulldown sicher hochzuziehen. Ein von normalem TTL angesteuerter Pulldown war also überhaupt nicht möglich und ein per Schalter angesteuerter hätte viel mehr Strom verbraucht. Das ist natürlich Schnee von vorgestern. Aber dadurch entstand diese Gewohnheit. Im Kontext von Mikrocontrollern ist auch die Port-Charakteristik der ersten NMOS Typen relevant. So waren an den Open-Drain Ports des Klassikers 8051 auch nur Pullups sinnvoll. Und weil die Gewohnheit so ist, besteht auch bei CMOS oft kein Zwang, die Ports symmetrisch zu bauen. Manche sind es, andere können mehr Strom runterziehen als hochziehen. Andersrum ist selten. Spart Platz bei den aufwändigeren PMOS Transistoren.
:
Bearbeitet durch User
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.