Ist es in Ordnung, eine LED direkt an einen 5V Attiny anzuschließen?

9

Aus dem Datenblatt geht hervor , dass der AT90S1200 strombegrenzte Pins hatte und bei Betrieb mit 5 V die richtige Strommenge durch eine grüne LED an + (0 schaltet die LED ein, 1 schaltet sie aus) ohne externe Widerstände abnimmt. Als ich 8 davon anbrachte, brannte der IC leider nach ein paar Minuten aus. Ich habe auch ein zwielichtiges lötfreies Steckbrett und habe das Teil ansonsten möglicherweise kurzgeschlossen.

Was habe ich an diesem Datenblatt falsch verstanden ?

Joeforker
quelle
1
Wo haben Sie das im Datenblatt gelesen? Ich kann es nicht finden
Starblue
1
Ich habe es gefunden, @starblue. Seite 29, Port B: "Alle Port-Pins verfügen über einzeln wählbare Pull-up-Widerstände. Die Ausgangspuffer von Port B können 20 mA aufnehmen und somit LED-Anzeigen direkt ansteuern." @ Joeforker, sind Sie sicher, dass Ihre Schaltung korrekt verdrahtet und der Code für diese Verwendung richtig eingerichtet ist? Würde es Ihnen etwas ausmachen, einen Schaltplan und Ihren Code zur Überprüfung zu veröffentlichen?
Lou
10
Die Aussage auf Seite 29 impliziert kein aktuelles Regelungsverhalten. Es gibt an, dass genügend Senkenstrom vorhanden ist, um eine LED anzusteuern, was bedeutet, dass für Ströme von 20 mA oder weniger kein externer Puffer erforderlich ist. Sie müssen die Ströme noch begrenzen, wenn Ihr Design Ströme von mehr als 20 mA aufnehmen kann.
Jluciani
3
Kann "LED-Anzeigen direkt ansteuern" bedeutet, dass genügend Saft verfügbar ist, um eine LED ohne Schalter / Transistor / Puffer / Treiber anzusteuern. Genug, um auch die meisten Typen zu verbrennen. Ich denke auch, dass alle AVRs Push-Pull-Ausgänge haben, die Sie auf schwache Pullups umschalten oder den Drain vollständig öffnen können, indem Sie mit ein paar Port-Registern herumspielen. Es muss in der Tat eingerichtet werden und hat nichts mit LEDs zu tun (denken Sie an I2C).
XTL

Antworten:

8

Aus dem Datenblatt

Gleichstrom pro E / A-Pin ........................................... .... 40,0 mA

Gleichstrom-VCC- und GND-Pins ............................ 200,0 mA

Jetzt wird jede LED mit 40 mA übersteuert (da es keinen Strombegrenzungswiderstand gibt) - genug, um die Lebensdauer der LED zu verkürzen, aber ansonsten nicht schlecht. Der Betrieb von 8 LEDs zieht jedoch insgesamt 320 mA aus dem Mikrocontroller - zusammen mit dem Strom, den er selbst benötigt (abhängig von der Taktrate). Dies reicht aus, um die zulässigen 200 mA insgesamt zu überschreiten, daher Ihr ausgebrannter Chip.

JohnC
quelle
5
Ich nehme an, es bedeutet "mach das nicht" anstatt "der Chip stellt sicher, dass nicht mehr als 40 mA durch einen E / A-Pin gehen".
Joeforker
4
Dies sind absolute Maximalwerte, keine strombegrenzenden Funktionen des Chips. Aus dem Datenblatt geht hervor, dass "Spannungen, die über die unter" Absolute Maximalwerte "aufgeführten Werte hinausgehen, das Gerät dauerhaft beschädigen können." Ich bin mir ziemlich sicher, dass Sie mit diesen Pins so viel Strom ziehen können, wie es die inhärenten Widerstände zulassen, und dass er bei 40 mA nicht stoppt. Tatsächlich habe ich bei Durchsicht des Datenblattes einen Hinweis auf das Stromregelungsverhalten gefunden (Seite 29, Port B). Trotzdem glaube ich nicht, dass ein Pin, der nicht auf diese Weise konfiguriert wurde, bei 40 mA stoppt. In jedem Fall würde ich nur den Widerstand verwenden.
Lou
1
Weitere Informationen zeigen eine 100-mA-Grenze für einen einzelnen Port.
Joeforker
2
Wie Lou erwähnte, gibt es keine Strombegrenzungsfunktion. In Anmerkung 3 auf Seite 49 heißt es außerdem: "Es ist nicht garantiert, dass die Stifte mehr als die aufgeführten Testbedingungen senken." Die aufgeführten Testbedingungen für IOL sind 20 mA für Vcc von 5 V und 10 mA für Vcc oder 3 V.
Jluciani
5

Es ist in Ordnung, LEDs ohne Strombegrenzungswiderstände an Ihrem Mikro anzubringen, solange es Ihnen nichts ausmacht, ab und zu Geld für den Austausch des Mikros auszugeben. Sie werden sie weiterhin beschädigen, wenn Sie nur LEDs anschließen.

Die Chiphersteller legen Strombegrenzungen für ihre Ausgangsstifte fest, damit Sie das Teil nicht verbrennen oder von der gesamten Heizung abdriften lassen, die durch das Ziehen von so viel (relativer) Leistung entsteht. Widerstände sind sehr billig und ich kann mir keine Situation vorstellen, die Sinn machen würde, einen nicht mit den LEDs in Einklang zu bringen.

Chris Gammell
quelle
1
Ja, und beachten Sie, dass dies aktuelle Grenzwerte für ihre Spezifikation sind , nicht unbedingt oder normalerweise aktuelle Grenzwerte, die in das Teil eingebaut sind. Wenn Sie also die Grenzwerte überschreiten, erheben sie keinen Anspruch auf das Überleben oder die Funktion des Teils.
Jason S
Einmal habe ich einen PIC16F887 und 6 LEDs ohne Widerstände verwendet. Es hat sich so komisch verhalten. Einige der LEDs waren glänzend, einige waren dunkel, einige waren normal. Und die Helligkeit von ihnen änderte sich, als ich das LCD fuhr. Das Problem wurde gelöst, sobald ich Strombegrenzungswiderstände hinzufügte. Nun, ich musste sie direkt auf die Beine der LEDs löten. Das dachte mir allerdings etwas :)
Abdullah Kahraman
3

Sie haben keine Strombegrenzungsfunktion in den Chip eingebaut, sind jedoch CMOS-Treiber und erhöhen naturgemäß ihren Widerstand, je wärmer sie werden, sodass sie sich im Allgemeinen pro Port sicher selbst begrenzen (obwohl dies am Ende der Fall sein könnte) Fahren Sie mehr als 20 mA durch eine bestimmte LED, was die Nennleistung der LED überschreiten kann, solange Sie die Spannung niedrig halten (dh jeder Port muss nicht mehr als ein oder zwei Volt über der Diode abfallen).

Die Chip-internen Versorgungsleitungen können jedoch nicht alle 8 ausgelasteten Leitungen verarbeiten.

Dies ist nicht ideal, da Sie das Teil belasten. Wenn Sie jedoch wirklich eine LED ohne Widerstand betreiben möchten, sind Sie in Ordnung, solange Sie den Gesamtstrom nicht überschreiten.

Sie können dies jedoch umgehen, indem Sie die LEDs auf PWM-Weise betreiben. Fahren Sie jeweils nur eine LED an, aber durchlaufen Sie sie schnell genug, damit sie für Menschen ständig angezeigt werden, obwohl Sie sie tatsächlich mehr als 30 Mal pro Sekunde einzeln blinken.

Trotzdem sind Widerstände billig. Wenn Sie also keinen guten Grund haben, sie ohne Strombegrenzung direkt anzusteuern, ist es am besten, die Schaltung so zu gestalten, dass sowohl der Mikrocontroller als auch die LEDs innerhalb ihrer Entwurfsgrenzen arbeiten.

Adam Davis
quelle
3

Ich habe eine Weile nicht nachgesehen, aber Sie können möglicherweise LEDs mit internen Strombegrenzungswiderständen erhalten.

jluciani
quelle