Ich möchte eine hardwarebasierte Lösung finden, mit der LEDs von digitalen Pins ausgeblendet werden können. dh anstatt ein- / auszuschalten, wird langsam (500 ms) in die volle Helligkeit ein- und ausgeblendet. Ich kann mir nicht vorstellen, dass ein kleiner Kondensator eine halbe Sekunde braucht, um sich zu entladen ... Idealerweise befindet er sich in einem schönen DIP16-Gehäuse, sodass ich eine Reihe von verblassenden LEDs erhalten kann. Existiert meine Traumkomponente?
11
Antworten:
Der übliche Weg, dies zu tun, ist die Verwendung von PWM (Pulse Width Modulation).
Nahezu jeder moderne Mikrocontroller verfügt über ein PWM-Peripheriegerät, das für diesen Zweck eingerichtet werden kann. Wenn Sie keinen Mikrocontroller verwenden möchten, kann ein dedizierter PWM-IC oder ein Timer-IC wie der allgegenwärtige 555 verwendet werden.
Der Vorgang ist einfach, die Pulsfrequenz wird schnell genug eingestellt, damit das menschliche Auge kein Flimmern erkennen kann (normalerweise über 25 Hz - siehe Persistenz des Sehens ), und die Zeit zwischen Einschalten und Ausschalten variiert zwischen 100% Ein (volle Helligkeit) und 50% Ein 50% aus (halbe Helligkeit) bis 0% ein (aus)
Beachten Sie, dass dies leicht für ein Array verwendet werden kann. Sie versorgen einfach alle LED-Treibertransistoren mit PWM (stellen Sie sicher, dass der Basisstrom für bipolare Werte ausreichend ist, oder verwenden Sie MOSFETs Die Wahl des Designs hängt davon ab, welche Art von LED Sie ansteuern (hoher / niedriger Strom).
Suchen Sie im Internet nach "555 LED Fade" und Sie sollten viele Ergebnisse erhalten. Hier ist eine, die zufällig von hier ausgewählt wurde (ich habe sie nicht überprüft, daher kann ich nicht bestätigen, dass sie richtig funktioniert):
Wenn die absolute Genauigkeit des Timings nicht so wichtig ist, besteht eine einfache Option darin, ein RC-Filter und einen Transistorschalter zu verwenden. Auf diese Weise muss die Kappe nicht den LED-Strom liefern, sondern nur den Basisstrom. Etwas wie das:
Simulation:
Jeder Allzweck-NPN sollte funktionieren, und Sie können die R- und C-Werte entsprechend anpassen.
Diese Option kann durch Hinzufügen eines Operationsverstärkers problemlos auf ein aktuelles Spiegelarray erweitert werden. Diese Schaltung sollte gut funktionieren, solange alle Transistoren vom gleichen Typ sind (die verwendete Versorgung beträgt +5 V):
Simulation:
Wenn Sie eine ausreichend hohe Versorgungsspannung haben, können die LEDs wie folgt in Reihe geschaltet werden (die hier verwendete Versorgung beträgt +10 V):
Simulation:
Wenn Sie eine niedrige Versorgungsspannung haben, aber die LEDs in Reihe schalten möchten, gibt es alternativ viele günstige Boost-ICs wie den CAT4238 . Dieser Teil kann die LEDs mit PWM oder einer variierenden Gleichspannung dimmen (Details finden Sie im Datenblatt).
quelle
Wie ist das?
Der FAN5646 ist eine flexible und kompakte Lösung für eine blinkende / verblassende LED.
FAN5646 Datenblatt
quelle
Sie können eine kleine Kappe + einen großen Widerstand verwenden, um eine schöne lange Ladungscharakteristik (t = RC) zu erzeugen, diese dann in die Basis eines Transistors einspeisen und von dort aus die LED ansteuern.
Dies ermöglicht einen größeren Widerstand, da der Strom durch die LED nicht durch die Widerstandsgröße begrenzt ist und Sie dann eine kleine Kappe verwenden können.
Es wäre notwendig, den Transistor so vorzuspannen, dass er als Verstärker verwendet wird (wenn er auf Sättigung trifft, bleibt die LED einfach an).
quelle
Wenn Sie über einen digitalen Pin einen Ausgang eines Prozessortyps verwenden, können Sie die Helligkeit der Firmware ändern. Wenn Sie den Arbeitszyklus des Stifts ändern, wirkt das Auge wie ein Filter und nimmt eine kürzere Zeitspanne als eine Verringerung der Helligkeit wahr.
1 - Verwenden Sie einen PWM-Pin-Ausgang anstelle eines digitalen GPIO-Pins. Durch Ändern einiger Register können Sie die Einschaltzeit der LED und damit die Helligkeit ändern.
2 - Verwenden Sie einen Timer (abgefragt oder unterbrochen), um den Status Ihres Pins zu ändern.
3 - Verwenden Sie externe Schieberegister-ICs, um die Ein / Aus-Zeiten von n LEDs zu speichern. Dies erfordert zwar mehr Programmieraufwand, ist jedoch erweiterbar und verwendet weniger GPIO-Pins als (1) und (2).
quelle
PWM-LED-Treiber. Sie müssen jedoch von einem Mikrocontroller konfiguriert werden. 555 Timer + einige Widerstände und Kappen können dasselbe, keine Software erforderlich.
quelle