Forum: Mikrocontroller und Digitale Elektronik Interne Pull Up's bei schaltern Nutzen


von Philipp B. (phill4563)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community,
ich habe ein kleines Verständniss Problem bezüglich der internen Pull 
Up's.
Im Bild, welches im GCC-tut ist folgendes Bild für den Anschluss eines 
mech. Schalters an den µc abgebildet.
Im Text etwas tiefer steht geschrieben


"Die AVRs verfügen an den meisten Pins über zuschaltbare interne Pull-Up 
Widerstände (vgl. Abschnitt Interne Pull-Up Widerstände), welche 
insbesondere wie hier bei Tastern und ähnlichen Bauteilen (z. B. 
Drehgebern) statt externer Bauteile verwendet werden können"

Das ist soweit auch bekannt, nun jedoch meine Frage. Ich habe doch keine 
Möglichkeit meinen Schalter zwischen den eigentlichen Eingang des µc und 
den internen Pull Up zu legen. Ich habe hier mal ein zweites Bild 
angehängt, welches mein Verständnisproblem veranschaulichen soll.

Sprich ich hätte ja troz internem Pull up bei geschlossenem Schalter 
einen Kurzschluss über den Schalter.

Weiterhin habe ich aus dem Datenblatt entnommen das die internen Pull 
Up's einige 10k_ohm groß sind, der Widerstand des eigentlichen Eingangs 
aber um ein vielfaches größer ist, was den Pull Up Widerstand im zweiten 
angehängten Bild doch unötig machen würde.

Ich hoffe ihr könnt mir dabei ein wenig weiter helfen, oder mir auf die 
finger hauen falls ich komplett falsch liege.

vielen Dank im voraus
Grüße Phill

von Cyblord -. (cyblord)


Lesenswert?

Du hängst den Schalter zwischen den Portpin und Ground. Der interne 
Pullup zieht den Pegel auf Hi wenn der Schalter offen ist, und wenn der 
geschlossen ist, zieht der Schalter den Pegel auf Low.

Der Schalter wird NICHT mit VCC verbunden.

In diesem Fall ist auch ein PullUp mit einige zig kOhm völlig in 
Ordnung.

So einfach ist das.

Vergiss deine Zeichnungen da oben. Die verwirren durch den 
eingezeichneten Widerstand nur. Alles oberhalb des "Eingang" ist ja 
bereits intern verdrahtet. Darum darfst du keine Verbindung mehr zu VCC 
machen, wie in der 2. Zeichnung. Das ist falsch. Darum siehe 1. Absatz.

von Philipp B. (phill4563)


Lesenswert?

Die erste der beiden Zeichnungen findet sich genau so im Tutorial, 
deswegen wollte ich da nochmal nachfragen.
Aber den Kurzschluss bekomme ich ja ohne externen Widerstand dann nicht 
begrenzt oder??
Grüße Phil

von Cyblord -. (cyblord)


Lesenswert?

Philipp Bauer schrieb:
> Die erste der beiden Zeichnungen findet sich genau so im Tutorial,
> deswegen wollte ich da nochmal nachfragen.

Ja, so schließt man einen Taster an, wenn man keinen internen PullUp 
hat.
Dann braucht man einen externen Pullup, der an VCC geht.

Du willst aber den internen Pullup nutzen. Der ist bereits intern mit 
VCC und den Portpin verbunden und zieht der Pin dadurch auf Hi, wenn 
dieser in der Luft hängt. Soweit klar?

> Aber den Kurzschluss bekomme ich ja ohne externen Widerstand dann nicht
> begrenzt oder??
> Grüße Phil

ES GIBT KEINEN KURZSCHLUSS.

Du schließt den Schalter zwischen PORTPIN und GND. Wo ist da ein 
Kurzschluss?

von Philipp B. (phill4563)


Lesenswert?

Die Aussage mit dem Kurzschluss bezog sich auf das zweite Bild.

von Cyblord -. (cyblord)


Lesenswert?

Philipp Bauer schrieb:
> Die Aussage mit dem Kurzschluss bezog sich auf das zweite Bild.

Aber das 2. Bild ist falsch. Hab ich doch geschrieben. Was soll man dann 
darauf beziehen. Nimm das 1. Bild, lösche den Widerstand raus (der 
hinterlässt eine Lücke, also keine Verbindung zu VCC) und fertig bist 
du.

Das 1. Bild ist korrekt, es zeigt wie man einen externen PullUp 
verwendet und was mit "Active low" gemeint ist.

von Martin V. (oldmax)


Angehängte Dateien:

Lesenswert?

Hi
Ich hab mal deine 2. Zeichnung überarbeitet, damit du den Fehler deiner 
Betrachtung erkennen kannst.
Denk dir die rotgestrichenen Linien weg und dafür die grünen dazu.
Den grund für einen Pull Up oder einen Pull Down (Schalter an VCC) 
findest du in der 2.Skizze.

Gruß oldmax

von Karl H. (kbuchegg)


Angehängte Dateien:

Lesenswert?

cyblord ---- schrieb:

> Aber das 2. Bild ist falsch. Hab ich doch geschrieben. Was soll man dann
> darauf beziehen. Nimm das 1. Bild, lösche den Widerstand raus (der
> hinterlässt eine Lücke, also keine Verbindung zu VCC) und fertig bist
> du.

Man kann es auch so ausdrücken:

VERSCHIEBE den Widerstand aus Bild 1 aus seiner dort gezeichneten Lage 
in das µC Rechteck hinein, wobei du alle Verbindungen bestehen lässt 
aber keine neuen hinzufügst.
Im Original gab es keine direkte Verbindung vom Portpin zu Vcc. Warum 
soll also im Bild 2 es daher eine geben?

Der interne Pullup hat den Vorteil, dass
* er dir nichts kostet, weil er im µC bereits eingebaut ist
* du ihn per Programm zu und weg schalten kannst

Er hat allerdings den Nachteil, dass dir der Bauteilwert vorgegeben ist.

Aber abgesehen davon gibt es keinen Unterschied zum Fall, wenn du selbst 
einen Widerstand extern an den Pin drann lötest. Alle Verbindungen sind 
genau dieselben.

von Philipp B. (phill4563)


Lesenswert?

Vielen Dank, damit haben sich sämtliche fragen beantwortet

Viele Grüße

von Stefan (Gast)


Lesenswert?

Aaaaaaber    :-)

Der interne Pull-Up Widerstand hat einen hohen Wert von einigen zig 
Kilo-Ohm. Wenn die Leitungen zum Schalter lang genug sind (z.B. 50cm) 
und der Schalter geöffnet ist, dann empfängt die Leitung Radiowellen. 
Und die empfängt auch der Mikrocontroller. Er wird gelegentlich falsch 
reagieren. also ein LOW lesen, obwohl der Schalter offen ist.

Abhilfe schafft ein kleinerer zusätzlicher externer Pull-Up Widerstand 
(z.B. mit 4,7k Ohm) oder besser noch ein kleiner Kondensator (z.B. 47nF) 
zwischen dem Eingang des Mikrocontrollers und GND.

Der Kondensator ist für hohe Frequenzen (Radiowellen) niederohmig, so 
daß diese stark bedämpft werden. Außerdem unterdrückt der Kondensator 
das Prellen der Schalter-Kontakte, was in manchen Anwendungen praktisch 
ist.

Manche Leute kombinieren auch beides: Kondensator und externer Pull-Up 
Widerstand.

von ich (Gast)


Lesenswert?

Stefan schrieb:
> Manche Leute kombinieren auch beides: Kondensator und externer Pull-Up
> Widerstand.

...und wundern sich dann, daß nach relativ kurzer Zeit die 
Schalter-Kontakte verbrannt sind.
Jedesmal, wenn der Schalter betätigt wird, entlädt sich der Kondensator 
mit einem Kurzschluß über den Kontakt. Jedesmal ein Funke.

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
Noch kein Account? Hier anmelden.