Ich möchte einen der PWM-Ausgänge des Arduino verwenden, um eine Hochleistungs-LED zu steuern. Ich kann mich nicht an die genauen Spezifikationen erinnern, aber es war erheblich aktueller, als der ATMega328 liefern kann.
Mir ist klar, dass dies normalerweise mit der Verwendung eines Transistors und eines Widerstands zur Stromsteuerung der LED erreicht wird. Ich möchte jedoch nicht, dass die LED mit sinkender Batteriespannung weniger hell wird, und möchte daher anstelle des Widerstands eine Konstantstromquelle verwenden.
Mein erster Gedanke war, einen LM317 zu verwenden. Was ich jedoch wissen möchte, ist, ob es mit den 64 kHz reagieren kann, die es müsste?
Könnte ich alternativ einen einfachen MOSFET verwenden, um dasselbe billiger und einfacher zu erreichen? (Dann bräuchte ich weder einen Transistor noch eine Konstantstromquelle, da der MOSFET beides tun würde.)
Danke Rob.
64kHz braucht man für diese Anwendung nicht, 200Hz reichen aus.
Ich habe das folgende Design für etwa 200 mA Strom verwendet:
+5V --- LED --- Transistor -(1)- Shunt (1 Ohm) --- GND
(1) geht zum negativen Eingang eines LM358 OpAmp. Wichtig ist, dass der OpAmp bis auf die untere Schiene (GND) arbeitet, da am Shunt nur eine geringe Spannung anliegt.
Der Ausgang des OpAmp treibt den Transistor über einen geeigneten Widerstand an.
Der positive Eingang ist mit einem Spannungsteiler verbunden, der vom Port-Pin gespeist wird. Der Spannungsteiler und der Shunt bestimmen den Strom durch die LED.
Das Datenblatt für einen LM317 zeigt, dass seine Sprungantwortzeit in der Größenordnung von 10 uS liegt. Dies ist zu langsam, um mit 64 kHz zu modulieren.
Eine Stromquelle ist der richtige Ansatz. Abhängig von der Gesamtleistung, die Sie zum Ansteuern der LED benötigen, könnte eine lineare Stromquelle wie von starblue vorgeschlagen funktionieren, aber wenn die Leistung höher ist, müssen Sie möglicherweise einen Abwärtsregler verwenden.
Ich würde einen Operationsverstärker, einen Widerstand und einen FET verwenden, um eine Konstantstromsenke zu erzeugen. Wenn die Spannung abfällt, treibt der Operationsverstärker das Gate des FET an, um einen konstanten Strom durch den Messwiderstand aufrechtzuerhalten.
Wenn Sie auf Luciani.org zum Abschnitt "Elektronische Last" scrollen , sehen Sie ein Schema einer "Wägezelle", die eine Konstantstromsenke ist. Sie können die Senke per PWM einstellen, indem Sie den programmierten Strom periodisch auf Null setzen.
Ich habe meinen Prototyp funktioniert. Es befindet sich im Abschnitt "nicht ganz fertig" auf der Wiblocks-Site.
Sie können einen präzisen, niederohmigen Widerstand in Reihe mit der LED schalten und den Analogeingang von Arduino verwenden, um den Spannungsabfall über dem Widerstand zu messen. Sie können den LED-Strom aus dieser Messung berechnen und das Tastverhältnis des PWM-Signals anpassen, um Änderungen der Batteriespannung auszugleichen.
Beachten Sie, dass dies nicht funktionieren würde, wenn Arduino keine feste Referenzspannung für die Analog-Digital-Wandlung hat.
Clint Lawrence
J. Pölfer
raub
Benutzer52720