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.
Warum nicht einfach unbeschaltet lassen? Wenn du Angst vor flatternden Pins hast, jeweils den internen Pullup aktivieren und alles ist stabil.
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.
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
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.
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"... ;-)
Ich würde die offenen Eingänge umgehen, indem du sie als Ausgang schaltest. Dann haben sie einen definierte Pegel.
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.
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.
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ß
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
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.