Forum: Mikrocontroller und Digitale Elektronik Unbeschaltete Pins


von Mr. Nice Guy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich sitze an meinem ersten großen Projekt und bin mit dem Schaltplan so 
gut wie fertig. Ich hätte da aber noch eine Frage. Ich weiß, dass das 
Thema schon mehrfach diskutiert wurde, aber die Antworten verunsichern 
mich sehr. Es geht um unbenutzte Pins an einem ATmega32u4. Ich habe bei 
meinen Schaltplan(Teilausschnitt, siehe Screenshot) alle unbenutzten 
Pins an einen Pull-Down Widerstand(R26,51k) angeschlossen. Zwei 
Verständnissfragen hätte ich jetzt dazu:

1. Wenn ich die Pins nun auf Ausgang deklariere, fliesst ein Strom. 
Durch den Einsatz eines Pull-Down Widerstandes verhindere ich ein 
Kurzschluss oder?

2. Wenn ich die Pins auf Eingang deklariere, dann liegt an den 
unbenutzten Pins ein LOW-Pegel?

Falls die Fragen richtig sind, dann habe ich die Schaltung eigentlich 
sicher gebaut. Nur Option 1 würde ich nicht machen, da ich den 
Stromverbrauch nicht erhöhen möchte.

Ich hoffe, dass das mit dem Pull-Down Widerstand eine fachmännische 
Lösung ist.

LG

Beitrag #5117460 wurde von einem Moderator gelöscht.
von Hobby I. (hobbymensch)


Lesenswert?

Warum nicht einfach unbeschaltet lassen? Wenn du Angst vor flatternden 
Pins hast, jeweils den internen Pullup aktivieren und alles ist stabil.

von Mr. Nice Guy (Gast)


Lesenswert?

Hobby I. schrieb:
> Warum nicht einfach unbeschaltet lassen? Wenn du Angst vor
> flatternden
> Pins hast, jeweils den internen Pullup aktivieren und alles ist stabil.

Ja das wäre auch eine Möglichkeit. Aber wie sieht es mit der 
tatsächlichen Stromaufnahme mit deinem Vorschlag aus? Meine Schaltung 
soll später mit einem LiPo Akku(3,7V 2000mAh) betrieben werden. Ein 
Step-Up und Step-Down sind im Einsatz. Ich will den Akku nicht unnötig 
belasten. Wie ich bereits oben geschrieben habe, die Meinungen sind sehr 
unterschiedlich.

von Hp M. (nachtmix)


Lesenswert?

Mr. Nice Guy schrieb:
> alle unbenutzten
> Pins an einen Pull-Down Widerstand(R26,51k) angeschlossen.

Würde ich nicht machen.
Das Problem ist nicht der Widerstand, sondern die Verbindung der 
I/O-Pins untereinander.
Falls zufällig zwei davon als Ausgang konfiguriert sind, und der Eine 
will eine 1 ausgeben, der Andere eine 0, dann hast du nicht nur einen 
riesigen Stromfluß, sondern das kann den Chip auch zerstören.

Das kommt nicht vor?
Na gut, Softwarefehler oder Programmabstürze gibt es ja auch nicht


Mach's wie Hobby I. schrieb:
Die Pins nicht miteinander verbinden, und dann nach Gusto als Ausgänge 
mit beliebigen Zuständen oder als Inputs mit aktiviertem Pullups (oder 
Pull Downs, aber nicht alle µC haben das) konfigurieren.
Die Pullup-Widerstände (in Wirklichkeit sind das schwache 
PMOS-Transistoren) verbrauchen  keinen  Strom, solange du den 
zugehörigen Pin nicht auf Masse legst.
Leerlaufende  Outputs verbrauchen ebenfals keinen  Strom, egal ob sie 
eine 1 oder eine 0 liefern.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

IO-Pins kurzschließen ist wirklich die mit Abstand schlechteste Idee.
Führe sie auf Testpunkte oder Pfostenleisten, dann kann man Drähte 
anlöten, falls man sie später mal braucht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Führe sie auf Testpunkte oder Pfostenleisten, dann kann man Drähte anlöten
Ich verbinde einfach immer 2 davon mit einem Widerstand (der dann nicht 
bestückt wird) und schalte die Pins auf Ausgang.

> IO-Pins kurzschließen ist wirklich die mit Abstand schlechteste Idee.
Man könnte sie auch hart auf GND (oder Vcc) legen und die Pads mit 
Kupfer fluten. Das wäre noch schlechter, denn dann hilft nicht mal mehr 
ein Messer, sondern nur noch "Pinabschneiden" oder "Pinhochbiegen"... 
;-)

von Ingo L. (corrtexx)


Lesenswert?

Ich würde die offenen Eingänge umgehen, indem du sie als Ausgang 
schaltest. Dann haben sie einen definierte Pegel.

von Einer K. (Gast)


Lesenswert?

Peter D. schrieb:
> IO-Pins kurzschließen ist wirklich die mit Abstand schlechteste Idee.

Sehe ich auch so!

Wenn da keine ewig langen Leiterbahnen/Kabel also Antennen dran hängen, 
sind die eingebauten Pullup das Mittel der Wahl.

von Ewun (Gast)


Lesenswert?

Im ATMega8A-Datenblatt steht folgendes:
18.2.4. Unconnected Pins
If some pins are unused, it is recommended to ensure that these pins 
have a defined level. Even though most of the digital inputs are 
disabled in the deep sleep modes as described above, floating inputs 
should be avoided to reduce current consumption in all other modes where 
the digital inputs are enabled (Reset, Active mode and Idle mode).

The simplest method to ensure a defined level of an unused pin, is to 
enable the internal pull-up. In this case, the pull-up will be disabled 
during reset. If low power consumption during reset is important, it is 
recommended to use an external pull-up or pull-down. Connecting unused 
pins directly to VCC or GND is not recommended, since this may cause 
excessive currents if the pin is accidentally configured as an output.

von Bussard (Gast)


Lesenswert?

Und die unbeschalteten Anschlüsse in Target einzeln doppelklicken, bei 
Funktion "Nicht benutzt(NC)" auswählen, dann werden sie auch beim 
Rule-Check nicht mehr angemeckert.

Gruß

von Mr. Nice Guy (Gast)


Lesenswert?

Danke für eure Antworten.

Also ich werde bei den unbenutzten I/O- Pins jetzt doch die internen 
Pull-ups einschalten. Das Datenblatt hatte ich gelesen und wusste 
bereits vorher, dass die Pins einen definierten Pegel haben müssen. Ich 
war mir wegen dem Stromverbrauch nicht so sicher, da die Meinungen zu 
diesem Thema sehr unterschiedlich ausfallen.

Beim Projekt geht es auch darum, dass die Platine so klein wie möglich 
bleibt. Daher werde ich die Idee mit den externen Widerständen doch sein 
lassen, damit nicht unnötig Platz auf der Platine beansprucht wird.

Meine Grundidee war es, die unbenutzten Pins mithilfe des Pull-Down 
Widerstandes als Eingang zu deklarieren, damit nichts passiert. Das war 
wohl doch nicht so Idiotensicher, wie ich es mir gedacht habe. Ein 
Programmierfehler hätte dem ganzen geschadet.

Eine Frage hätte ich noch. Wie sieht es mit unbenutzten Pins an einem 
Pegelwandler aus? Ich benutze einen CD4504, damit der AVR(5V) mit einem 
Bluetooth-Modul(3.3V) kommunizieren kann. Im Datenblatt stand nichts zu 
dazu. Ich habe die Pins offen gelassen. Gelten hier die gleichen Regel 
wie beim AVR, bezüglich des definierten Pegels?

LG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mr. Nice Guy schrieb:
> Ich habe die Pins offen gelassen. Gelten hier die gleichen Regel wie
> beim AVR, bezüglich des definierten Pegels?
Offene CMOS-Eingänge sind generell schlecht, weil sich der dahinter 
kommende Eingangstreiber dann auf einen solchen Pegel einstellen wird, 
dass beide TreiberFET leiten und ein Querstrom von Vcc nach GND fließt. 
Dieser Querstrom belastet die Versorgung und heizt das IC unnötig auf.

von Peter D. (peda)


Lesenswert?

Mr. Nice Guy schrieb:
> Ich
> war mir wegen dem Stromverbrauch nicht so sicher, da die Meinungen zu
> diesem Thema sehr unterschiedlich ausfallen.

Soviel ist das nicht. Beim ATtiny25 (5 IOs) im active Mode fällt das 
kaum auf. Aber beim ATmega2560 mit 86 IOs summiert sich das schon.

von Mr. Nice Guy (Gast)


Lesenswert?

Ok, dann werde ich die unbenutzten Eingänge des CD4504 mit GND verbinden 
und lasse die Ausgänge offen, da diese soweit ich verstanden habe, keine 
Wirkung auf die Schaltung haben.

Vielen Dank für die Tipps und Ratschläge.

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.