Benötige ich wirklich Widerstände, wenn ich LEDs mit Arduino steuere?

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 spielt es hier wirklich eine Rolle? Diese LEDs funktionieren ohne Widerstand einwandfrei.

Kommentare

  • Das hängt davon ab Wenn Sie möchten, dass Ihre LED schmilzt oder nicht. Wenn Sie ‚ nichts dagegen haben, lassen Sie den Widerstand weg. :-).

Antwort

Frech! :-). Wenn sie sagen, dass sie dort einen Widerstand verwenden sollen, ist das ein guter Grund dafür! Schalten Sie es JETZT aus!

Der Widerstand dient zur Begrenzung des LED-Stroms Sie lassen es weg, die Strombegrenzung muss 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 Sie es nicht tun, schreiben Sie es in großen Buchstaben auf:

\ $ V = I \ cdot R \ $

Spannung entspricht Strom mal Widerstand . Oder Sie könnten sagen

\ $ R = \ dfrac {V} {I} \ $

Es ist dasselbe. 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 bleiben also 3 V für den Widerstand. Eine typische Anzeige-LED hat einen Nennstrom von 20 mA, dann

\ $ R = \ dfrac {5V – 2V} {20mA} = 150 \ Omega \ $

Der Arduino Uno verwendet den ATmega328 Mikrocontroller. Das Datenblatt besagt, dass der Strom für einen E / A-Pin 40 mA nicht überschreiten darf, was allgemein als absolute maximale Nennwerte bezeichnet wird. Da Sie nichts haben, um den Strom zu begrenzen, gibt es nur den (niedrigen) Wert !) Widerstand des Ausgangstransistors. Der Strom kann so gut höher als 40 mA sein, und Ihr Mikrocontroller wird beschädigt.

edit
Die folgende Grafik aus dem Datenblatt des ATmega zeigt, was passiert, wenn Sie die LED ohne Strombegrenzungswiderstand betreiben:

Geben Sie hier die Bildbeschreibung ein.

Ohne Last beträgt die Ausgangsspannung erwartungsgemäß 5 V. Je höher der aufgenommene Strom ist, desto niedriger ist jedoch die Ausgangsspannung, die für jede zusätzliche 4-mA-Last um etwa 100 mV abfällt. Das ist ein Innenwiderstand von 25 \ $ \ Omega \ $. Dann

\ $ I = \ dfrac {5V – 2V} {25 \ Omega} = 120mA \ $

Der Graph geht nicht so weit, der Widerstand steigt mit der Temperatur, aber der Strom bleibt sehr hoch. Denken Sie daran, dass das Datenblatt 40 mA als absolute maximale Bewertung ergab. Du hast das dreimal. Dies wird den E / A-Port definitiv 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 Bewertung.

Kommentare

  • Nicht wirklich. 3 und Sie werden ‚ kein Licht bekommen, weil 3 x 2 V > 5 V und 2 Sie ‚ habe das gleiche Problem, nur 1 V Abfall anstelle von 3 V. Ich habe meine Antwort hinzugefügt, um sie jetzt auszuschalten!
  • Ich habe die Zählung verloren, wie oft ich diese Berechnung in Antworten hier geschrieben habe. Ich sollte ein Skript dafür haben 🙂
  • LEDs sind so ausgelegt, dass sie mit einem bestimmten Maximalstrom betrieben werden. Die Spannung, die sie antreibt, bedeutet, dass der Strom unkontrolliert ist. Ports werden so hergestellt, dass sie einen bestimmten maximalen Strom liefern. Ein Kurzschluss oder eine Überlastung kann zu einer Zerstörung des Pins oder des gesamten IC führen oder nur zu subtilen Betriebsproblemen führen. Oder auch nicht.
  • @ JohnR.Strohm Ich würde ‚ es nicht als Industriestandard bezeichnen.
  • @ JohnR.Strohm – Wie m. Alin sagt, dass ‚ kein Industriestandard ist. Digikey listet nominelle 10-mA-LEDs im Bereich von 0,4 mcd bis 1000 mcd und 20-mA-LEDs im Bereich von 0,1 mcd bis 54000 mcd auf. Es gibt ‚ keine Zeile und keine Garantie dafür, dass Ihre 10-mA-LED gut sichtbar ist. Die rote LED-Spannung liegt normalerweise zwischen 1,8 V und 2,2 V. Für eine rote LED sind 1,6 V außergewöhnlich niedrig.

Antwort

40plot,

Ich muss sagen, dass das Ansteuern einer LED ohne Widerstand NICHT EMPFOHLEN wird, es sei denn, Sie wissen, was Sie tun. Wenn Sie jedoch verstehen, wie sich eine LED verhält, können Sie sie ohne Widerstand sicher betreiben. Tatsächlich ist es oft besser, eine LED ohne Strombegrenzungswiderstand anzusteuern.

Warum sollten Sie eine LED ohne Widerstand ansteuern? Einfach, um Ihre Schaltung energieeffizienter zu gestalten.

Sollten Sie Ihre LED mit PWM betreiben, die auf einen konstanten Arbeitszyklus eingestellt ist (dh 5 V PWM bei 34% Einschaltdauer) Zyklus, 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. Sorgen Sie sich beim PWM-Ansatz.

  1. Die Frequenz der PWM ist wichtig.Wenn Sie in diesem Szenario PWM verwenden, verlassen Sie sich auf die Fähigkeit der Komponenten Ihrer Schaltung, vorübergehend hohe Ströme zu verarbeiten. Ihre größten Bedenken bestehen darin, wie die LED mit einem vorübergehend hohen Strom umgeht und wie die Ausgangsschaltung Ihres Chips vorübergehend mit einem Strom umgehen kann Hochstrom. Wenn diese Informationen nicht im Datenblatt angegeben sind, waren die Autoren des Datenblatts faul. ABER !!! Wenn diese Informationen im Datenblatt angegeben sind, können Sie sie sicher nutzen. Zum Beispiel die LED, die ich als nächstes habe Für mich hat es eine maximale Stromstärke von 40 mA. Es hat jedoch auch eine “ Spitzen-Vorwärtsstrom “ von 200 mA mit einem Hinweis dass der Strom nicht länger als 10us bei 200mA bleiben kann. Soooo … Ich kann die LED mit 1,7 V (die typische Durchlassspannung der LEDs aus dem Datenblatt) ansteuern. Mit einem Tastverhältnis von 34% und einer Stromversorgung von 5 V (34) % von 5V = 1,7V) erzeugt eine durchschnittliche Spannung von 1,7V. Ich muss nur sicherstellen, dass meine PWM-Einschaltdauer 10us oder weniger beträgt n-mal steigt der Strom durch die LED wahrscheinlich auf etwa 58 mA (58 mA = typische Stromaufnahme bei 1,7 V meiner Diode geteilt durch 34%). 58mA überschreiten den Dauerstrom meiner LEDs von maximal 40mA um 18 mA. Schließlich … würde ich eine PWM-Frequenz von 33,3 kHz oder mehr benötigen, um meine LED sicher anzusteuern (33,3 kHz = Die Umkehrung von [10us EIN-Zeit geteilt durch 34%, um die PWM-Periode zu erhalten]). In REALITY könnte ich PWM sicher verwenden, um meine LED mit einer langsameren PWM-Frequenz zu versorgen. Der Grund ist folgender: In Datenblättern werden normalerweise nicht alle gültigen Betriebsszenarien einer Komponente angegeben. Sie geben diese Szenarien nicht an, da der Anbieter keine Zeit investieren möchte, um die Verwendung seiner Komponente für den Eckgebrauch zu spezifizieren und zu unterstützen Wenn ich zum Beispiel mit meiner LED die LED für immer bei 40 mA betreiben kann (40 mA ist die maximale Nennstromstärke) und die LED für 10us bei 200 mA betreiben kann, kann ich zu 99,99999% sicher sein, dass ich kann Betreiben Sie die LED sicher bei 100 mA für einen Zeitraum von mehr als 10 us, wahrscheinlich nahe 20 us.

HINWEIS: Alle Komponenten können temporäre Stromspitzen über ihren maximalen Nennwerten sicher verarbeiten, solange die Dauer der Aktuelle Spitzen sind KLEIN GENUG . Einige Komponenten sind fehlerverzeihender als andere, und wenn Sie Glück haben, die Komponenten Das Datenblatt gibt an, wie gut es mit Stromspitzen umgehen kann.

  1. Die Spannung Ihrer PWM ist wichtig. Ich werde meinen Standpunkt anhand eines Beispiels und nicht anhand einer Erklärung demonstrieren. Wenn wir die LED verwenden, auf die ich mich zuvor bezogen habe, wissen wir, dass ein Tastverhältnis von 34% bei 33,3 kHz und 5 V sicher ist. Wenn unsere Spannung jedoch 12 V betrug, haben wir Wir müssten unsere Berechnungen überarbeiten, um die gleiche Strommenge durch die LED fließen zu lassen. Unser Arbeitszyklus müsste auf 14,167% (1,7 V geteilt durch 12 V) fallen und unsere minimale PWM-Frequenz würde auf 14,285 kHz abnehmen (die Umkehrung von [ 10us geteilt durch 14,167%]). JEDOCH! gibt dies Anlass zur Sorge. Im 5-V-Szenario wenden wir 5 V an 10us und im 12V-Szenario legen wir 12V für 10us an. Wir haben die Spannung während dieser 10us mehr als verdoppelt, es muss einige Konsequenzen haben. Und ja, das gibt es! Mein LED-Datenblatt gibt mir nicht die Daten, die erforderlich sind, um zu wissen, wie hoch von einer Spannung, die ich für 10us verwenden kann, bevor ich meine LED beschädige. Sicherlich werden 1000V für 10us meine LED braten. Aber woher weiß ich, ob 5V bei 10us meine LED braten? oder 12V für 10us? Wenn es keine Spezifikation dafür gibt, gehen Sie ein Risiko ein. Also … 5V für 10us sind riskant, aber höchstwahrscheinlich sicher.

HINWEIS: Sie können der Schaltung einen Kondensator hinzufügen, um die PWM zu mitteln und dieses Problem zu beheben.

  1. Sie müssen die Funktionen des Ausgangspins kennen, an den Sie auch Ihre LED angeschlossen haben. Der wichtigste Parameter ist der maximale Ausgangsstrom. Für den Arduino Uno glaube ich, dass das 40mA sind. Sie sollten ein PWM-Tastverhältnis wählen, dessen durchschnittliche Spannung den Strom durch die LED unter 40 mA hält. Um zu wissen, welche Spannungen so viel Strom erzeugen, müssen Sie die Kurve der LEDs IV (Strom-Spannungs-Diagramm) betrachten. Für eine typische LED ist eine Spannung zwischen 0,7 V (typische Mindestspannung, die erforderlich ist, um Licht von der LED zu emittieren) und 1,25 V mit ziemlicher Sicherheit sicher. Warum ist 1,25 V wahrscheinlich sicher? Nun, die meisten LEDs überschreiten 40 mA bei 1,25 V nicht, auch ohne Strombegrenzungswiderstand. Eine andere Sache, die jemanden schützt, wenn er zu viel Spannung anlegt, ist, dass die digitale Ausgangsschaltung des Arduino eine eigene Ausgangsimpedanz hat. Diese Ausgangsimpedanz ist niedrig, aber selbst eine Ausgangsimpedanz von 20 Ohm bietet einen nicht zu vernachlässigenden Schutz. Das Arduino Uno hat eine digitale Ausgangsimpedanz von etwa 250 Ohm. Kurz gesagt, wenn Sie eine LED mit PWM bei 1,0 V betrieben haben Bei einer hohen Frequenz besteht für eine typische LED keine Wahrscheinlichkeit, dass Sie Ihren digitalen Ausgang auf einem Arduino Uno beschädigen.

  2. Der PWM-Ansatz steuert die LED in einer offenen Schleife (und so auch mit 1.7V Stromversorgung ohne PWM). Sie legen eine durchschnittliche Spannung an die LED an, die genau den richtigen Wert hat, um die LED einzuschalten, aber nicht hoch genug, um sie zu beschädigen die LED. Leider ist der Spannungsbereich von EIN (und hell genug, um zu sehen) bis zur beschädigten LED sehr klein (dieser Bereich an meiner LED beträgt ca. 0,7 V). Es gibt verschiedene Gründe, warum die 1,7 V, von denen Sie glauben, dass Sie sie anwenden, nicht immer 1,7 V betragen …

a. Änderungen der Umgebungstemperatur. Was wäre, wenn Sie dies getan hätten? ein Motortreiber, ein Spannungsregler usw. in einer geschlossenen Box, in der sich auch die LED befand. Es ist nicht ungewöhnlich, dass diese anderen Komponenten die Umgebungstemperatur im Gehäuse von 25 ° C auf 50 ° C erhöhen. Dieser Temperaturanstieg wird das Verhalten Ihrer LED, Ihres Spannungsreglers usw. ändern. Ihre einst sichere 1,7 V wird nicht länger als 1,7 V und Ihre LED, die früher bei 2,5 V gebraten hat, wird jetzt bei 2,2 V braten.

b. Änderungen Ihrer Versorgungsspannung. Was wäre, wenn Ihre Versorgung eine Batterie wäre? Wenn die Batterie entladen wird, fällt die Spannung erheblich ab. Was wäre, wenn Sie Ihre Schaltung so konzipiert hätten, dass sie mit einer leicht gebrauchten 9-V-Batterie gut funktioniert, aber dann eine neue 9-V-Batterie hinzugefügt hätten? 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 bereitstellt, können diese zusätzlichen 0,5 V Ihre 5 V-PWM auf 5,3 V erhöhen. Was wäre, wenn Sie einen Akku verwenden würden? Sie haben während ihres gesamten Entladezyklus einen noch größeren Spannungsbereich.

c. Es gibt andere Szenarien, wie z. B. induzierten 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 einen besseren Weg, für den kein Strombegrenzungswiderstand erforderlich ist?

Ja! Tun Sie, was sie in LED-Glühbirnen für Ihr Zuhause tun. Fahren Sie die LED mit einem Stromregler. Stellen Sie den Stromregler so ein, dass er den Strom steuert, für den Ihre LED ausgelegt ist.

Mit dem richtigen Stromregler kann dramatisch erhöht werden, und Sie können die LED sicher ansteuern, ohne sich um die meisten Probleme beim Ansteuern einer LED im offenen Regelkreis kümmern zu müssen.

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 kaufen oder Ihren eigenen stromgesteuerten Aufwärtswandler herstellen. Es ist nicht so schwer. Nehmen Sie sich etwas Zeit aus Ihrem vollen Terminkalender und lernen Sie Boost- und Buck-Wandler kennen. Erfahren Sie mehr über das Schalten von Netzteilen. Sie treiben Ihren Computer an und sind äußerst energieeffizient. Dann bauen Sie entweder einen von Grund auf neu. oder kaufen Sie einen kostengünstigen IC, um den größten Teil der Arbeit für Sie zu erledigen.

Wie bei allen elektronischen Designs können Sie natürlich immer mehr tun, um Ihre Schaltung zu verbessern Folgen Sie dem PDF, 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

Zusammenfassend: Sie müssen selbst entscheiden, zu welchem Risiko Sie bereit sind Nehmen Sie Ihre Schaltung mit. Die Verwendung von 5-V-PWM zum Ansteuern Ihrer LED funktioniert wahrscheinlich einwandfrei (insbesondere, wenn Sie einen Kondensator hinzufügen, um die PWM-Rechteckwelle zu glätten und Ihre PWM-Frequenz zu maximieren). Haben Sie keine Angst, Ihre Elektronik nach draußen zu schieben von ihrer üblichen op Seien Sie einfach informiert, wenn Sie dies tun, und kennen Sie die Risiken, die Sie eingehen.

Viel Spaß!

Zu Ihrer Information: Ich bin überrascht, wie viele Leute sofort zur Antwort springen. “ SIE MÜSSEN EINEN STROMBEGRENZENDEN WIDERSTAND VERWENDEN „. Das ist gut gemeinte, aber übermäßig sichere Ratschläge.

Ort

Kommentare

  • I ‚ Ich bin überrascht zu sehen, wie viele Leute diese Antwort als wertvollen Design-Rat angesehen haben. Das Ansteuern einer LED ohne Strombegrenzung mit PWM ist für die LED genauso schlecht wie das, was das OP tut, und es erzeugt EMI- und VCC-Welligkeit wie Crasy der maximale Ausgangsstrom des digitalen Ausgangs. Ich habe eine neue Kugel hinzugefügt, um das abzudecken. Mit PWM kann jemand eine LED ohne Strombegrenzungswiderstand sicher ansteuern. EMI- und VCC-Welligkeit entstehen immer dann, wenn Sie Lasten mit einem digitalen Signal ansteuern. Dies ist jedoch üblich (z. B. H-Brücke, Aufwärtswandler, Hobby-Servosteuerung usw.) und kaum ein Grund, PWM zu vermeiden. Es gibt angemessene Lösungen, um bei Bedarf mit EMI- und VCC-Welligkeiten umzugehen. Die meisten Leute werden sich ‚ nicht um die geringen Mengen an EMI- und VCC-Welligkeit kümmern, die durch das Ansteuern einer LED mit PWM entstehen.

Antwort

Sie können die eingebauten Pullup-Widerstände wie vorgeschlagen verwenden hier :

Die Pullup-Widerstände liefern genügend Strom, um eine LED, die an einen als Eingang konfigurierten Pin angeschlossen ist, schwach zu beleuchten.

Kommentare

  • Nicht für LEDs, dies kann für Tasten verwendet werden, aber für LEDs gibt es eine Gefahr der Unterbrechung der Ausgabe
  • wenn es nicht sicher ist, warum die offiziellen Dokumente dies sagen? (Ich ‚ habe es auch selbst versucht und es hat wie beschrieben funktioniert.)
  • Bitte lesen Sie OUTPUT, es erwähnt, dass ein Vorwiderstand benötigt wird: “ Dies ist genug Strom, um eine LED hell zu beleuchten (‚ den Vorwiderstand nicht vergessen) oder zum Beispiel viele Sensoren betreiben, aber nicht genug Strom, um die meisten Relais, Magnete oder Motoren zu betreiben. “
  • @MenelaosVergis es ist sicher, dies zu tun, wenn sich der Pin im INPUT_PULLUP-Modus befindet, es ist nicht sicher, mit einem Pin im OUTPUT-Modus zu tun. Dies wird in den Dokumenten deutlich, wenn Sie beide Abschnitte lesen (und aus dem zitierten Auszug in dieser Antwort).

Antwort

Die kurze Antwort lautet: Ja und Nein, es hängt von Ihrem Arduino und von der Farbe Ihrer LED ab. Zum Beispiel benötigt eine 3,3-V-Karte keinen Widerstand in Reihe mit einer kleinen grünen LED, da die Durchlassspannung der LED ziemlich hoch ist, siehe this . Der Innenwiderstand liegt bei 25 Ohm, nehmen Sie (3,3 – 3) / 25 = 12 mA, dies ist also immer noch in Ordnung. Sie sollten nicht den maximalen Strom pro Pin überschreiten, der 40 mA für den 328p-Atmel-Prozessor beträgt, der auf den UNO-Karten verwendet wird (es sei denn Sie verwenden eine Ableitung des 328p, bei der es sich um eine andere Geschichte handeln könnte. Bei einem 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 wie z als Widerstand zur Ansteuerung dieser Art von LEDs. Pin 13 auf den Arduino-Platinen (oder ein anderer Pin auf 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. Sie können nicht mehr als eine bestimmte Menge mA pro Pin-Gruppe ziehen. Dies wird erläutert. hier . Wenn Sie viele LEDs ansteuern möchten, sollten Sie einen Matrix-LED-Treiber verwenden, der das Multiplexen für Sie ausführt. 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.

Antwort

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 beispielsweise die Versorgungsspannung 5 V 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 von (I = V / R) von 18 mA und einer Leistung Verlustleistung (P = IV) von 72 mW.

0402 Der imperiale Widerstand (1005 metrisch) beträgt im Allgemeinen 1/16 W, was 62,5 mW entspricht. In diesem Fall würde dies nicht funktionieren, es würde den Widerstand überhitzen und Verkürzen Sie die Lebensdauer. Sie müssten also auf einen 0402-Widerstand mit 1 / 10W-Leistung oder einen größeren 0603-Widerstand umsteigen.

Wenn Sie solche Berechnungen durchführen, fügen Sie sie dem Schaltplan hinzu, damit Der Prüfer kann Ihre Arbeit problemlos überprüfen.

Beachten Sie, dass die Durchlassspannung (und damit der Widerstandswert) eine Funktion der LED ist und unterschiedliche Farben von LEDs unterschiedliche Werte haben. Insbesondere blaue LEDs haben unterschiedliche Werte eine hohe Durchlassspannung (Typ ~ 3,0 V). Wenn Sie also versuchen, vier verschiedene LEDs auf die gleiche Helligkeit zu bringen, 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.

Antwort

JA! Es kann getan werden.

Auch wenn das Gesagte richtig ist … gibt es einen anderen Weg. Eine energieeffizientere Art, LEDs mit 5 V anzusteuern.

Dies ist ein bisschen undokumentiert und es ist Es ist nicht bekannt, ob die Lösung die LEDs abnutzt, aber es kann getan werden. Ich mache es tatsächlich.

Verwenden von PWM durch Hardware: Hier ist ein Beispiel :

#include <avr/io.h> #include <util/delay.h> void pwm_init() { // initialize TCCR0 as per requirement, say as follows TCCR0 |= (1<<WGM00)|(1<<COM01)|(1<<WGM01)|(1<<CS00); // make sure to make OC0 pin (pin PB3 for atmega32) as output pin DDRB |= (1<<PB3); } void main() { uint8_t duty; duty = 1; // duty cycle = 0.39% of the time (depends on the oscillator.) // initialize timer in PWM mode pwm_init(); // run forever while(1) { OCR0 = duty; } } 

PWM kann auch mit Software und den avrs-Timern simuliert werden. In der lufa-Bibliothek finden Sie ein Beispiel mit dem Namen LEDNotifier.c.

Mein Fazit: Es ist möglich, eine LED mit 5 V zu betreiben.

PROS: Kein Widerstand erforderlich. Etwas Energie Einsparung auch (~ 50%)

Nachteile: Ich weiß nicht, ob die Komponente belastet ist und wie lange sie verkürzt wird.

Da ist ein Typ, der auch dieses Experiment in Stanford durchgeführt und einige Informationen auf seiner Website gepostet hat.

Kommentare

  • Dies scheint ‚ keine gute Idee zu sein. Sie ‚ Sie beziehen wahrscheinlich mehr Strom von der Steuerung, als für ‚ vorgesehen ist, selbst wenn Sie ‚ dies nicht sehr lange tun.
  • Wie gesagt, dies ist nicht digitalisiert. Das Arduino UNO-Ausgangs-E / A kann zwischen 40 und 50 mA ansteuern. Das ist konstant. Ich kann mit Sicherheit sehr kurze Impulse mit mehr Strom verarbeiten. Bitte schauen Sie sich wikipedia .
  • In der Arduino-Umgebung kann PWM mit analogWrite() auf dem entsprechenden Pin einfacher abgerufen werden Ich bin mir 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 Arbeitszyklen von weniger als 100% zulassen
  • Ich ‚ bin mir ziemlich sicher, dass die Energieeinsparungen im Vergleich zu einer widerstandsbasierten Lösung negativ sind, da der LED-Wirkungsgrad geringer wird Wenn der Strom steigt.
  • @ScottSeidman Warum ist ‚ keine gute Idee? Nur weil die meisten Leute glauben, dass es nicht empfohlen wird, eine LED ohne Widerstand zu verwenden? Diese Antwort erwies sich als Untersuchung, eine sehr respektvolle Quelle wie die Stanford University, und soweit ich experimentieren kann, funktioniert sie. Ich liebe definitiv herabgestimmte Beiträge, weil sie sagen, dass diejenigen, die abgelehnt haben, nur voreingenommen sind. Was für ein Paradoxon …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.