Ich probiere gerade Arduino Uno zum ersten Mal mit 2 blinkenden LEDs auf einem Steckbrett aus. Alle Tutorials im Internet scheinen einen Widerstand zu verwenden. Ich kenne die Funktion von Widerständen, aber ist es hier wirklich wichtig? Diese LEDs funktionieren einwandfrei ohne Widerstand.
47
Antworten:
Frech! :-). Wenn sie sagen, dass sie einen Widerstand benutzen sollen, gibt es einen guten Grund dafür! Schalte es JETZT aus!
Der Widerstand dient zur Begrenzung des LED-Stroms. Wenn Sie es weglassen, muss die Strombegrenzung vom Ausgang des Arduino kommen, und es wird ihm nicht gefallen. Wie finden Sie heraus, was der Widerstand sein muss? Sie kennen das Ohmsche Gesetz? Wenn nicht, schreiben Sie es in großen Buchstaben auf:
Spannung entspricht Strom mal Widerstand. Oder du könntest sagen
Das ist gleich. Die Spannung, die Sie kennen: Arduino läuft mit 5V. Aber nicht alles, was über den Widerstand geht. Die LED hat auch einen Spannungsabfall, typischerweise um 2 V für eine rote LED. Es verbleiben also 3V für den Widerstand. Eine typische Anzeige-LED hat dann einen Nennstrom von 20 mA
Der Arduino Uno verwendet den ATmega328- Mikrocontroller. Das Datenblatt besagt, dass der Strom für einen E / A-Pin 40 mA nicht überschreiten sollte, was allgemein als absolute maximale Nennwerte bezeichnet wird. Da Sie nichts haben, um den Strom zu begrenzen, gibt es nur den (niedrigen!) Widerstand des Ausgangstransistors. Der Strom kann durchaus höher als 40 mA sein und Ihr Mikrocontroller wird beschädigt.
Bearbeiten
Die folgende Grafik aus dem Datenblatt des ATmega zeigt, was passiert, wenn Sie die LED ohne Strombegrenzungswiderstand betreiben:
Ohne Last beträgt die Ausgangsspannung erwartungsgemäß 5V. Aber je höher der aufgenommene Strom ist, desto niedriger ist die Ausgangsspannung, die bei jeder zusätzlichen Last von 4 mA um 100 mV abfällt. Das ist ein Innenwiderstand von 25 . DannΩ
Der Graph geht nicht so weit, der Widerstand steigt mit der Temperatur, aber der Strom bleibt sehr hoch. Denken Sie daran, dass das Datenblatt 40mA als absolute maximale Bewertung angibt. Sie haben das Dreifache. Dies wird definitiv den I / O-Port beschädigen, wenn Sie dies für längere Zeit tun. Und wahrscheinlich auch die LED. Eine 20-mA-Anzeige-LED hat häufig 30 mA als absolute maximale Nennleistung.
quelle
40 Grundstück,
Ich muss sagen, dass das Fahren einer LED ohne Widerstand NICHT EMPFOHLEN wird, es sei denn, Sie wissen, was Sie tun. Wenn Sie jedoch wissen, wie sich eine LED verhält, können Sie sie ohne Widerstand sicher betreiben. Tatsächlich ist es oft besser, eine LED ohne Strombegrenzungswiderstand zu betreiben.
Warum sollten Sie eine LED ohne Widerstand betreiben? Einfach, um Ihre Schaltung energieeffizienter zu machen.
Sollten Sie Ihre LED mit PWM auf ein konstantes Tastverhältnis einstellen (dh 5 V PWM bei 34% Tastverhältnis, um eine durchschnittliche Spannung von 1,7 V zu erreichen)?
Ja und nein. Die Verwendung von PWM kann genauso gut funktionieren wie das Anlegen einer bestimmten Spannung (wenn Sie vorsichtig sind), aber es gibt bessere Möglichkeiten. Dinge, über die Sie sich Sorgen machen müssen, wenn Sie den PWM-Ansatz wählen.
ANMERKUNG: Alle Komponenten können temporäre Stromspitzen über ihren Maximalwerten sicher verarbeiten, solange die Dauer der Stromspitzen KLEIN GENUG ist . Einige Komponenten sind fehlerverzeihender als andere. Wenn Sie Glück haben, können Sie dem Datenblatt der Komponente entnehmen, wie gut sie mit Stromspitzen umgehen kann.
ANMERKUNG: Sie können der Schaltung einen Kondensator hinzufügen, um die PWM zu mitteln und dieses Problem zu beheben.
ein. Änderungen der Umgebungstemperatur Was wäre, wenn Sie einen Motortreiber, Spannungsregler usw. in einer geschlossenen Box hätten, die auch die LED enthielt. Es ist nicht ungewöhnlich, dass diese anderen Komponenten die Umgebungstemperatur im Gehäuse von 25 ° C auf 50 ° C erhöhen. Dieser Temperaturanstieg VERÄNDERT das Verhalten Ihrer LED, Ihres Spannungsreglers usw. Ihre einst sicheren 1,7 V werden nicht mehr 1,7 V sein, und Ihre LED, die früher bei 2,5 V brannte, wird jetzt bei 2,2 V braten.
b. Änderungen in Ihrer Versorgungsspannung. Was wäre, wenn Ihre Lieferung eine Batterie wäre? Wenn der Akku leer ist, sinkt die Spannung erheblich. Was ist, wenn Sie Ihre Schaltung so entworfen haben, dass sie mit einer leicht verbrauchten 9-V-Batterie gut funktioniert, aber dann eine neue 9-V-Batterie hinzugefügt haben? Brandneue 9-V-Blei-Säure-Batterien haben normalerweise eine tatsächliche Spannung von 9,5 V. Abhängig von der Schaltung, die die für die PWM verwendeten 5 V liefert, können diese zusätzlichen 0,5 V Ihre 5 V-PWM auf 5,3 V erhöhen. Was ist, wenn Sie einen Akku verwenden? Sie haben während ihres gesamten Entladezyklus einen noch größeren Spannungsbereich.
c. Es gibt andere Szenarien, wie z. B. induzierter Strom von EMI (Motoren tun dies).
Ein Strombegrenzungswiderstand erspart Ihnen viele dieser Probleme.
Die Verwendung von PWM zum Ansteuern einer LED ist keine sehr gute Lösung. Gibt es eine bessere Möglichkeit, bei der kein Strombegrenzungswiderstand erforderlich ist?
Ja! Tun Sie, was sie in LED-Glühbirnen für Ihr Zuhause tun. Treiben Sie die LED mit einem Stromregler an. Stellen Sie den Stromregler so ein, dass er den Strom liefert, für den Ihre LED ausgelegt ist.
Mit dem richtigen Stromregler kann die LED drastisch erhöht werden, und Sie können die LED sicher ansteuern, ohne sich um die meisten Probleme kümmern zu müssen, die beim Ansteuern einer LED mit offenem Regelkreis auftreten.
Der Nachteil: Sie benötigen einen Stromregler und haben die Komplexität der Schaltung um das 10-fache erhöht. Lassen Sie sich jedoch nicht entmutigen. Sie können Stromregler-ICs, LED-Treiber-ICs oder Ihren eigenen stromgesteuerten Aufwärtswandler kaufen. Es ist nicht so schwer. Nehmen Sie sich etwas Zeit für Ihren vollen Terminkalender und lernen Sie die Boost- und Buck-Wandler kennen. Erfahren Sie mehr über das Schalten von Netzteilen. Sie versorgen Ihren Computer mit Strom und sind äußerst energieeffizient. Dann bauen Sie entweder einen von Grund auf neu oder kaufen Sie einen kostengünstigen IC, um die meiste Arbeit für Sie zu erledigen.
Natürlich gibt es, wie bei allen elektronischen Designs, immer mehr Dinge, die Sie tun können, um Ihre Schaltung zu verbessern. Schauen Sie sich Abbildung 3 im folgenden PDF an, um zu sehen, wie komplex selbst eine Haushalts-LED-Glühbirne heutzutage sein kann ...
http://www.littelfuse.com/~/media/electronics/design_guides/led_protectors/littelfuse_led_lighting_design_guide.pdf.pdf
Fazit: Sie müssen selbst entscheiden, wie viel Risiko Sie mit Ihrer Strecke eingehen wollen. Die Verwendung von 5 V PWM zur Ansteuerung Ihrer LED funktioniert wahrscheinlich einwandfrei (insbesondere, wenn Sie einen Kondensator hinzufügen, um die PWM-Rechteckwelle zu glätten und die PWM-Frequenz zu maximieren). Haben Sie keine Angst davor, Ihre Elektronik außerhalb der normalen Betriebsbedingungen zu bringen. Seien Sie informiert, wenn Sie dies tun, und kennen Sie die Risiken, die Sie eingehen.
Genießen!
Zur Info: Ich bin überrascht, wie viele Leute sofort zur Antwort "SIE MÜSSEN EINEN STROMBEGRENZUNGSWIDERSTAND VERWENDEN" springen. Das ist ein gut gemeinter, aber zu sicherer Rat.
Ort
quelle
Sie können die hier vorgeschlagenen integrierten Pullup-Widerstände verwenden :
quelle
OUTPUT
, es wird erwähnt, dass ein Vorwiderstand benötigt wird: "Dies ist genug Strom, um eine LED hell aufleuchten zu lassen (vergessen Sie nicht den Vorwiderstand), oder führen Sie zum Beispiel viele Sensoren aus, aber nicht genug Strom, um die meisten zu betreiben Relais, Magnete oder Motoren. "Die Antwort von stevenvh erklärt, was Sie tun müssen, aber Sie müssen auch die Verlustleistung über die LED berechnen, damit Sie den Spannungsabfallwiderstand nicht durchbrennen. Wenn zum Beispiel die Versorgungsspannung 5 V beträgt und die Durchlassspannung des Widerstands 1,0 V beträgt, fallen 4 V ab. Die Verwendung eines 220-Ohm-Widerstands führt zu einem Strom (I = V / R) von 18 mA und einer Verlustleistung (P = IV) von 72 mW.
0402 Widerstände mit imperialer Größe (1005 metrisch) haben im Allgemeinen eine Leistung von 1/16 W, was 62,5 mW entspricht. In diesem Fall würde das also nicht funktionieren. Dies würde den Widerstand überhitzen und seine Lebensdauer verkürzen. Sie müssten also zu einem 0402-Widerstand mit 1 / 10W Nennleistung oder zu einem größeren 0603-Widerstand wechseln.
Wenn Sie solche Berechnungen durchführen, fügen Sie sie dem Schema hinzu, damit der Prüfer Ihre Arbeit problemlos überprüfen kann.
Beachten Sie, dass die Durchlassspannung (und damit der Widerstandswert) eine Funktion der LED ist und unterschiedliche Farben der LEDs unterschiedliche Werte haben. Insbesondere blaue LEDs haben eine hohe Durchlassspannung (~ 3,0 V typ.). Wenn Sie also versuchen, vier verschiedene LEDs auf dieselbe Helligkeit einzustellen, müssen Sie die Berechnungen für jede LED wiederholen. Um es wirklich richtig zu machen, überprüfen Sie die optischen Eigenschaften jeder LED bei ihrem Nennstrom und passen Sie sie entsprechend an.
quelle
Die kurze Antwort lautet: Ja und Nein, es hängt von Ihrem Arduino ab und es hängt von der Farbe Ihrer LED ab. Zum Beispiel ist ein 3,3V Board keinen Widerstand in Serie mit einem kleinen grünen LED benötigen, weil die Vorwärtsspannung der LED ziemlich hoch ist, sehen diese. Der Innenwiderstand liegt bei 25 Ohm. Nehmen Sie (3,3 - 3) / 25 = 12 mA. Dies ist also immer noch in Ordnung. Sie sollten den maximalen Strom pro Pin von 40 mA für den 328p-Atmel-Prozessor, der auf den UNO-Karten verwendet wird, nicht überschreiten (sofern nicht anders angegeben) Sie verwenden eine Ableitung des 328p (wo es eine andere Geschichte sein könnte). Für ein Arduino mit 5 V treten jedoch Probleme mit einer Infrarot-LED auf, die eine viel niedrigere Durchlassspannung aufweist, typischerweise 1,2 V (5-1,2) / 25 = 150 mA, und dies ist definitiv zu viel. Verwenden Sie daher einen Strombegrenzer, z als Widerstand, um diese Art von LEDs anzusteuern. Pin 13 auf den Arduino-Platinen (oder ein anderer Pin bei Varianten) hat bereits eine LED und einen Widerstand in Reihe. Außerdem hat die Stromversorgung der Platine eine maximale Nennleistung, normalerweise 200 mA, und Sie müssen unter diesem Wert bleiben, und Sie können nicht mehr als einen bestimmten Betrag von mA pro Gruppe von Pins ziehen, wie dies erläutert wirdhier . Wenn Sie viele LEDs ansteuern möchten, sollten Sie einen Matrix-LED-Treiber verwenden, der das Multiplexing für Sie übernimmt. Sehen Sie sich beispielsweise meinen YouTube-Bereich an, in dem ich den MAX7219CNG-Treiber vorführe. Aber auch Arduino Unos können das Multiplexen für Sie erledigen, siehe mein IR-Thermometer mit 4 Sieben-Segment-LEDs auf Youtube. Viel Spaß beim Hacken.
quelle
JA! Es kann getan werden.
Auch wenn das Gesagte richtig ist ... es gibt einen anderen Weg. Eine energieeffizientere Art, LEDs mit 5 V zu betreiben.
Dies ist ein bisschen undokumentiert und es ist unbekannt, ob die Lösung die LEDs abnutzt, aber es kann getan werden. Ich mache es tatsächlich.
Verwendung von PWM per Hardware: Hier ein Beispiel :
PWM kann auch mit Software und den avrs-Timern simuliert werden. In der lufa-Bibliothek finden Sie ein Beispiel namens
LEDNotifier.c
.Mein Fazit: Es ist möglich eine LED mit 5V zu betreiben.
PROS: Kein Widerstand erforderlich. Auch ein wenig Energie sparen (~ 50%)
Nachteile: Ich weiß nicht, ob die Komponente unter Spannung steht und wie sich die Lebensdauer verkürzt.
Es gibt einen Typen, der dieses Experiment auch in Stanford durchgeführt und einige Informationen auf seiner Website veröffentlicht hat .
quelle
analogWrite()
dem entsprechenden Pin erhalten. Ich bin mir immer noch nicht sicher, ob dies eine gute Idee ist, aber zumindest für IR-LEDs ist es üblich, dass die Datenblätter erheblich höhere Spitzenströme für Einschaltdauern von weniger als 100% zulassen.