Ich verwende STM8S003F3, um 1 RGB-LED anzusteuern. Link der RGB-LED: - http://in.element14.com/broadcom-limited/asmb-mtb1-0a3a2/led-hb-rgb-0-09w-plcc-4/dp/2401106
Um den Mikrocontroller und die LED mit Strom zu versorgen, verwende ich eine Lithium-Polymer-Batterie, deren Spezifikationen 3,7 V und 300 mAh sind.
Die Spannung bei Vollladung beträgt 4,2 V und beginnt mit dem Entladungsprozentsatz zu fallen und sinkt bei etwa 3,1 V ab. Die Eingangsspannung an der MCU sinkt entsprechend und die Ausgangsspannung am GPIO sinkt ebenfalls.
Wert des Begrenzungswiderstands für LED bei 4,2 V.
R = (4,2-3,1)/0,02 (20 mA) = 55 Ohm
Wenn die Batterie entladen wird, sinkt die Spannung, dann wird der durch die LED fließende Strom geringer, daher wird sie weniger hell.
Bei 3,3 V
I = (3,3-3,1)/55 = 3,6 mA
Die LED ist nicht sichtbar und stumpf.
Wie kann man auch bei Spannungsabfall eine konstante Helligkeit (z. B. 20 mA) aufrechterhalten?
Eine Lösung besteht darin, LDO zu verwenden, das eine konstante Spannung aufrechterhält und daher den Strom stabil hält. Da ich jedoch sehr wenig Platz im Schaltkreis und aufgrund der Stücklistenkosten habe, zögere ich, LDO zu verwenden.
Ja, das ist ein Problem. Ich musste mich schon einmal damit befassen mit blauen LEDs auf Einzelzellen-Lithiumbatteriesystemen. In meinem Fall hatte ich geregelte 3,3 V zur Verfügung, aber ich wollte die blaue LED direkt von VBATT ansteuern, ohne die Helligkeit zu variieren. Wie auch immer, hier ist, wie man es repariert (oder verbessert).
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Die Spannung an der Basis wird wegen der zwei Dioden relativ fest sein. Die Spannung an R3 ist also relativ fest. Der Kollektorstrom ist also relativ unempfindlich gegenüber VBATT. Sie können R3 anpassen, um den Strom in der Diode anzupassen. R3 wird ungefähr 0,6 V haben. Der Strom durch D3 beträgt also ungefähr 0,6 / R3.
Beachten Sie, dass Q1 nicht als gesättigter Schalter arbeitet. Dies ist eine lineare, analoge Schaltung. D1 und D2 könnten sich in einem einzigen SOT23-Gehäuse befinden, um Platz zu sparen.
OK. Sie möchten eine Lösung, die keine zusätzlichen aktiven Teile verwendet. Herausforderung angenommen!...
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Geben Sie eine PWM an einem Mikrocontroller-Pin aus. Ihr Mikrocontroller hat einen ADC. Verwenden Sie es, um hier die Spannung an R1 zu messen. Stellen Sie die PWM entsprechend dem ADC-Wert ein, um einen konstanten Strom zu gewährleisten, und implementieren Sie im Wesentlichen eine Rückkopplungsschleife in Software.
Bonus: Intensität kann gedimmt werden.
Wenn L1 abhängig von der PWM-Frequenz einen ausreichend hohen Wert hat, erhalten Sie einen groben Abwärtswandler, der einen höheren Wirkungsgrad als ein einfacher resistiver Antrieb hat. Reduzieren Sie in diesem Fall den R1-Wert.
Alternative Lösung: Entfernen Sie L1, C1 und passen Sie einfach den PWM-Strom in Abhängigkeit von der Batteriespannung an, die vom ADC gemessen wird. Dies gewährleistet auch eine konstante Helligkeit, aber die Ausgangsstromstärke des Mikros reicht möglicherweise nicht aus.
Wie Sie bereits erwähnt haben, ist die Verwendung einer geregelten Spannungsquelle für die LEDs eine Möglichkeit, dies zu tun. Es gibt einige sehr kleine und kostengünstige Low-Power-LDOs, die funktionieren könnten. Es gibt andere Methoden, aber wahrscheinlich nicht viel, die weniger Platz beanspruchen als ein LDO. Sie könnten einen Zener und einen Widerstand verwenden, um eine geregelte Spannung bereitzustellen, aber dies ist nicht so effizient und benötigt wahrscheinlich immer noch nicht viel weniger Platz als ein kleiner LDO. Um dies effizienter zu machen, könnten Sie einen Transistor hinzufügen, um die Spannung zu verfolgen, aber auch hier wird der Platzbedarf wachsen.
Ich bezweifle, dass Sie etwas Kleineres oder Billigeres tun könnten, als so etwas wie dieses LDO zu verwenden .
Wenn Sie eine RGB-LED verwenden, klingt es so, als würden Sie die LEDs bereits mit einem PWM-Signal speisen. (Der Schnellscan zeigt, dass diese MCU 4 PWM-Kanäle ausführen kann?).
Die absolut einfachste HW-Lösung würde nur 2 Widerstände benötigen, aber ein wenig SW-Arbeit erfordern. Grundsätzlich gilt: 1) Stellen Sie die LED-Strombegrenzungswiderstände auf die niedrigste Batteriespannung ein, 2) messen Sie die Batteriespannung mit dem ADC und 3) passen Sie die PWM so an, dass das Tastverhältnis unabhängig von der Batteriespannung einen maximalen Durchschnitt von 20 mA beibehält.
So erhalten Sie Arbeitszyklus = Idesired / ((Vbatt - Vled) / Rled)
Beispiel für 4,2 Volt und Ihre 3,1 V LED und 10 Ohm Widerstand:
Einschaltdauer = 20 mA/ ((4,2 Volt - 3,1 Volt) / 10 Ohm) = 18 % Einschaltdauer
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Ich glaube, diese Lösung wird Ihnen mit einem 300-mAh-Akku mehr als 7 Stunden geben. Wahrscheinlich noch viel mehr.
Die LEDs sind mit 20 mA bewertet, aber das Maximum beträgt 50 mA. Sie könnten die LEDs wahrscheinlich 7 Stunden lang bei 40 mA mit 300 mAh betreiben. Ich denke nicht einmal 20mA werden bei den Cree LEDs nötig sein.
Da das Grün leuchtet, wenn die Batterie vollständig aufgeladen ist, ist die höhere Durchlassspannung von Grün weniger problematisch. Sowohl gelb als auch rot haben niedrigere Durchlassspannungen.
Die grüne maximale Durchlassspannung (Vf) beträgt 4,0 V. Meine Erfahrung mit Cree ist, dass die Durchlassspannung normalerweise unter dem typischen Wert liegt. Sie müssen sich darüber im Klaren sein, dass eine grüne LED mit 4 V Vf nicht funktioniert, wenn sich die Batterie auf 4,05 V entlädt. Das Datenblatt ist nicht so eindeutig. Ich habe auch einen Spitzenmaximalstrom. Die Diagramme von Vf zeigen, dass Vf bei 20 mA viel geringer ist, und Sie können es wahrscheinlich mit weniger als 20 mA ansteuern. Ich würde mir keine Sorgen machen.
Der Preis für eine Amber Cree LED bei Digikey ist:
Und Digikey ist immer zu schlagen.
Der LED-Treiber ist eine Konstantstromquelle, daher wird kein Begrenzungswiderstand benötigt. Unabhängig von der Batteriespannung erhält die LED den gleichen Strom.
Dieser Treiber ist im Wesentlichen ein dynamischer Widerstand, der seinen Wert basierend auf der Batteriespannung ändert, um genau den gewünschten Strom bereitzustellen.
Die diskreten 20-mA-LEDs mit ausreichendem Fluss sind 2,7 x 3,0 mm groß
Der LED-Treiber ist kleiner als eine der LEDs in einem SOT-23-Gehäuse.
Die LED-Datenblätter
Cree CLM1B 50mA Rot Bernstein
Cree CLM1B 20mA Grün Blau
Der Micrel (Microchip) 30mA MIC2860 ist ein kostengünstiger, sehr kleiner und einfacher linearer LED-Treiber mit einer Grundfläche von 2,0 x 2,0 mm und zwei Ausgängen. Kostet wahrscheinlich ungefähr so viel wie Ihre RGB-LED.
Der MIC2860 bietet den höchstmöglichen Wirkungsgrad, indem er
Schaltverluste eliminiert, die in herkömmlichen Ladungspumpen
oder induktiven Boost-Schaltungen vorhanden sind. Er weist einen typischen
Dropout von 52 mV bei 30,2 mA pro Kanal auf. Dadurch können die
WLEDs direkt von der Batterie betrieben werden, wodurch
Schaltgeräusche und Verluste, die bei der Verwendung von Boost-
Schaltkreisen vorhanden sind, eliminiert werden.
Würde den Widerstand ersetzen.
Nimmt die gleichen Immobilien wie ein SOT-23-Transistor oder eine Diode ein.
Die Änderungen bestehen darin, das RGB durch 3 Cree CLM1B-LEDs zu ersetzen und den 56-Ω-Widerstand durch den Micrel-Treiber zu ersetzen.
Die Cree-LEDs werden von Flux gebinned. Das gibt Ihnen eine gewisse Flexibilität beim Kauf. Jede Farbe hat ihre eigenen Fächer, sodass Sie den Lichtstrom anhand der Teilenummer anpassen können.
Jede Zeile ist ein Bin-Code, der in zwei Zeichen der Teilenummer verwendet wird.
Da mcd eine photometrische Größe ist, ist sie für das menschliche Auge angepasst. Sie können alle LEDs mit dem gleichen Helligkeitsbereich erhalten.
Wenn Sie alle Farben im VA-Bin-Code kaufen, haben alle Farben die gleiche Helligkeit. Rote und gelbe Behälter sind identisch.
Gibt es einen Grund, warum Sie den STS STM8S003 Micro verwenden ?
Ich denke, es ist ein wenig übertrieben und Sie brauchen nicht so viele Stifte.
Es ist ein feines Gerät und die Leistung ist nicht schlecht.
Ich bin nicht über alle Prozessoren da draußen auf dem Laufenden.
Ich habe Atmel AVR immer für Apps wie diese gemocht.
Der 14-polige ATtiny441 würde diese Aufgabe sehr gut erledigen.
Es würde Immobilien sparen. Die Energieeinsparungen wären vernachlässigbar, da beide Mikros im Durchschnitt weniger als 1 mA betragen.
Ich schaue mir gerade den ATtiny817 an, der ein neues Teil ist, das dem Tiny441 sehr ähnlich ist. Außer dass der 817 einen DAC hat. Ich werde sehen, wie gut der DAC die analoge Stromeinstellung und / oder Schaltfrequenz eines LED-Treibers steuern kann.
Ich dachte ursprünglich, ein DAC könnte Ihnen bei der Vielfalt des Lichtstroms auf der RGB-LED helfen. Sie könnten den DAC verwenden, um den aktuellen Einstellstift des Micrel-Treibers mit einem anderen Pegel für jede Farbe zu steuern.
Daher muss die LED in einem gut beleuchteten Raum sichtbar sein.
ANNAHMEN
Es leuchtet immer nur eine LED.
Die LED-Farbe wird durch 3 MCU-Pins gesteuert, die mit den Farbkathoden verbunden sind und von einem einzelnen 55-Ω-Widerstand im gemeinsamen Anodenpfad sinken.
Sowohl Immobilien als auch Kosten sind wichtige Kriterien.
Die Kosten für die RGB-LED betragen etwa 0,20 $. Die Batterieentladungsrate beträgt weniger als 0,2 ° C.
DAS PROBLEM
Der 55Ω-Widerstand.
Verlustleistung 1,1 Watt @ 20mA
Unzureichender Lichtstrom bei schwacher Batterie @ 3,6mA
Diskussion
Die Durchlassspannung der LEDs ist ein enormer Faktor nach dem Lichtstrom.
Lichtstrom und Durchlassspannungen
RGB ist eine kostengünstige und platzsparende Möglichkeit, mehrere Farben zu erhalten.
Die Problemfarbe ist blau. Candela ist ein Lichtmaß, das auf der Empfindlichkeit des menschlichen Auges gegenüber jeder Farbwellenlänge basiert.
Lindgrün (555 nm) ist die Farbe, für die das Auge laut CIE (Commission Internationale d'Eclairage) am empfindlichsten ist. Alle anderen Farbempfindlichkeiten können als Prozentsatz oder Verhältnis im Vergleich zu 555nm Lime Green angegeben werden.
Blau ist 7,7-mal weniger empfindlich und Rot 3,4-mal weniger empfindlich.
Wenn nur zwei Farben benötigt werden, sind Grün und Bernstein oder Rot und Bernstein die Farbkombinationen der Wahl.
Rote LEDs sind AlGaInP/GaAs
Blaue LEDs sind GaInN
Grün ist eine tiefblaue GaInN-LED, die einen grünen Leuchtstoff drückt.
Gelb kann entweder eine rote oder eine blaue LED sein, die Leuchtstoff drückt.
AlGaInP/GaAs hat eine niedrigere Vorwärtsspannung als GaInN.
Cyan wäre besser als blau
Limettengrün besser als grün.
Bernstein und Orange besser als Rot
MÖGLICHE LÖSUNGEN
Fügen Sie zwei Widerstände hinzu und legen Sie sie dann in den Kathodenpfad.
Der rote kann mit seiner niedrigeren Durchlassspannung neu berechnet werden.
Der grüne Strom kann um mindestens 50% reduziert werden.
Widerstand ist eigentlich 56Ω Standardwert.
Strom 3,1 V LED 19,6 mA
Stromstärke pro Farbe
Red 158mW 37.5ma 0mcd
Green 83mW 20mA 1600mcd
Blue 83mW 20mA 350mcd
Der maximale Strom beträgt 25 mA bei 55 Ω
Roter Vorwärtsstrom = 37,5 mA
LED brennt aus mcd = 0.
Einzelwiderstand muss für Rot neu berechnet werden
Zwei mögliche Werte für den roten Widerstand, 82 und 100.
Rote LED
82 25.6mA 108mW 690mcd
100 21.0mA 88mW 570mcd
Grüne LED
82 13.4mA 57mW 1070mcd
100 10.0mA 46mW 800mcd
Blaue LED
82 13.4mA 57mW 235mcd
100 10.0mA 46mW 175mcd
Sieht so aus, als ob ein neues RGB benötigt wird. Sicher, wenn Blau benötigt wird und 235 mcd bei voller Ladung nicht ausreichen.
Wenn Rot und Grün alles sind, was benötigt wird, ist 82Ω der einzig brauchbare Widerstand. Und dabei wird Rot über seinen maximalen Durchlassstrom geschoben.
Ich weiß nicht, wohin ich von hier aus gehen soll, hauptsächlich weil ich nicht weiß, ob Blau benötigt wird oder ob die aktuelle RGB-LED tatsächlich funktionieren wird.
Es ist wahrscheinlich, dass die Kosten steigen und die Leiterplatte größer wird.
Sie müssen die Zahlen mit min und max ausführen, nicht typisch. LEDs haben nichts Typisches.
Roter Vorwärtsspannungsbereich ist 1,8 V - 2,6 V,
Grün und Blau 2,8 V - 3,6 V
Ich hatte gehofft, dass dies zu einem Punkt führen würde, an dem ich eine andere Lösung einführen würde, aber Dinge, wenn es bergab geht. Das Rot funktioniert nicht bei 56Ω
Der nächste Mindestversuch besteht aus separaten Widerständen.
PWM kann erforderlich sein. Es ist möglich, dass das Mikro die LEDs schnell genug blinken lässt. Kein guter Weg.
Das Ansteuern einer LED mit einem Widerstand in einem batteriebetriebenen Stromkreis ist selten eine gute Idee.
Es kann jedoch ein LED-Treiber erforderlich sein. Der Strom müsste für jede verwendete Farbe angepasst werden.
Eine andere Lösung wäre, die Kapazität der Batterie zu erhöhen und die Entladeschlussspannung zu erhöhen.
Eventuell müssen Sie statt RGB dezente LEDs verwenden.
Sie sollten die Verwendung von Cyan- und Bernsteinfarben prüfen. Dies können andere mehrfarbige LEDs als RGB sein.
Wenn Sie eine LED auswählen, müssen Sie sie in einem gut beleuchteten Raum testen und den minimalen mcd finden, der funktioniert. Beginnen Sie mit Blau.
Ein LED-Treiber wäre wahrscheinlich die richtige Lösung.
Gibt Ihnen die Flexibilität, zwei LEDs mit weniger Lichtstrom zu verdoppeln oder nur einen Ausgang zu verwenden.
Nun, ein paar Möglichkeiten, es zu tun:
1) Setzen Sie dort einen Messwiderstand. Sie können die Spannung über dem Messwiderstand verwenden, um die LED ein- / auszuschalten. dies kann über einen komparator oder adc erfolgen.
2) der erste Ansatz, aber plus eine Induktivität mit der LED. dies ist im Wesentlichen ein DC/DC-Wandler;
3) Setzen Sie einen (langsamen) Lichtsensor auf die LED und pwm die LED, um eine konstante Ausgabe des Lichtsensors aufrechtzuerhalten.
...
Falsch verstanden
RS-System
Falsch verstanden
mkeith
Falsch verstanden
Tony Stewart EE75
CogitoErgoCogitoSumme