Forum: Analoge Elektronik und Schaltungstechnik LED-Nachtlicht mit langsamen Ausdimmen


von TomH (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte für meine kleine Tochter eine Kombination aus Laterne 
(Taschenlampe) und Nachtlicht basteln. Das Nachtlicht soll über einen 
Zeitraum von ca. 10min runterdimmen bis ganz aus.

Laternen-Grundkörper (LED-Camping-Laterne) ist "im Zulauf" aus Hongkong.

Stromversorgung: 4x AAA, also genug Spannung für weiße LED ohne Step-Up
Logik: Arduino Nano (ich kann nix anderes als Arduino)
Einschalten: "Rüttelschalter"

Die Dimmfunktion möchte ich besonders "schön" machen:
1. Keine PWM, "Analogausgänge" des Arduino mit RC-Glied glätten und 
LED-Strom analog steuern.
2. Nicht nur eine weiße, sondern auch eine orange und eine rote LED dazu 
und ein langsames immer rötlicheres "Ausglimmen" hinmischen.

Meine Fragen:

1. Konzept für Einschalten
Ich hätte jetzt einen Rüttelschalter genommen, der normal offen ist und 
einen Mosfet triggert, der dann gleich in eine (analoge, Hardware) kurze 
Selbsthaltung geht, die dann später durch einen Pin des Arduino weiter 
selbstgehalten wird. Der Rüttelschalter muß aber auch in der "An"-Phase 
vom Arduino ausgewertet werden können, zum "Nachtriggern" durch Rütteln.
Wenn der Arduino das Ende des Runterdimmens erreicht hat, setzt der den 
Selbsthalte-Ausgang auf Low, der Kondensator vor dem Gate darf sich 
endlich über den Widerstand entladen, die Kiste geht aus und braucht 0 
Strom.
So einfach gehts aber nicht. Ohne GND hängt der ganze Arduino nur an 5V 
und wird das Gate des FETs evtl. wieder hochziehen, oder über den Pin 
weiter GND bekommen und weiterlaufen?
Was kann ich bei der gestrichelten Leitung mit den Fragezeichen 
"reinflicken", damit die Schaltung funktioniert?

2. Analogausgänge feiner auflösen
Das Ding soll als Taschenlampe/Laterne mit ca. 0,1-0,5W leuchten, nach 
kurzer Ruhezeit auf "Nachtlicht" mit deutlich geringerer Leistung 
zurückfallen und das feine Ausdimmen mit zunehmender Augenadaption 
verlangt sicher nach einer wesentlich feinerer Auflösung der Ströme, als 
ich mit der 8-Bit-PWM eines Arduino-Ausgangs erreichen kann.
Ich dachte an spannungsgesteuerte Verstärker, Analogmultiplizierer, oder 
irgendeine logarithmische/exponentielle  Kennlinie, aber von alledem 
verstehe ich wenig bis nichts und frage Euch daher nach Konzepten?

Viele Grüße
Tom.

von MK (Gast)


Lesenswert?

Schön runterdimmen klappt bei meinem Fahrradrücklicht mit nem Goldcap, 
ist das was für dich?

von TomH (Gast)


Lesenswert?

Könnte ich mir den Arduino sparen...
Ectl. mehrere Goldcaps: Einer für die weiße und einer für die rote LED, 
der hält länger...
Also nicht ganz von der Hand zu weisen. Just keep it simple.

Vorerst bleib ich aber beim Controller. Wenn die Hardware mal steht, 
kann die Funktion einfach umgebaut werden: Länger oder kürzer dimmen, 
andere Grundhelligkeiten, Farb-Dimm-Profil....

von Manfred (Gast)


Lesenswert?

TomH schrieb:
> Ohne GND hängt der ganze Arduino nur an 5V
> und wird das Gate des FETs evtl. wieder hochziehen,
Man schaltet Plus, nicht GND. Es gibt diverse Threads zu dem allseits 
bekannten China-Transistortester mit AVR, wo man genau das abmalen kann: 
Einschalten per manuellem Tastser, der AVR hält den Transistor ab da 
offen und zieht sich selbst die Versorgung weg, wenn er fertig ist.

> Logik: Arduino Nano (ich kann nix anderes als Arduino)
Nano an Batterie ist dämlich, weil der USB Strom frisst. Besser einen 
ProMini verwenden. LED und Spannungsregler runter, kommt der im 
Sleep-Mode auf einstellige µA. Wenn Du den jede Sekunde einmal nach dem 
Schalter schauen und dann wieder schlafen gehen lässt, wird der im 
zeitlichen Durchschnitt bei 10..30µA Verbrauch liegen.

Den ProMini in 3,3V-Ausführung @ 8MHz gibt's beim Chinesen unter 2 
Dollar, der kann direkt an drei AA-Batterien laufen. Programmieren mit 
einem USB-to-TTL-Adapter, liefert der Chinamann um 80ct. In der IDE muss 
dann ProMini + 8MHz ausgewählt werden, ansonsten sehe ich im Handling 
keinen Unterschiede zum Nano.

von TomH (Gast)


Lesenswert?

Highside? Lowside? AVR-Transistortester?
Da wird mit einem Bipolar-Transistor geschalten, BC557.
Verliert Durchlaßspannung und ist er - wenn abgeschaltet - wirklich ganz 
aus?
Also was braucht die Schaltung an Strom, wenn abgeschaltet ist?
Ich will nicht schlauer sein als ihr, nur meine Gedanken darlegen.
Als ich also nun auf Mosfet gekommen war, dachte ich mir, High-Side mit 
so geringer Gatespannung bekommt man vielleicht schwerer. Also Low-Side.
Prinzipiell ist es doch bei beiden Varianten so: Beim Abschalten läßt es 
die nachfolgende Schaltung an einer Seite hängen, und das ist genau die 
Seite, die das Gate oder die Basis wieder dorthin zieht, wo man sie 
nicht haben will. Also muß so ne Art "Potentialumsetzung" dazu. Und die 
geht vielleicht auch für Low-Side?

"Prellen"?
Einen Taster drückt man bestimmt lange genug, daß ein AVR den 
Selbsthalte-Pin ansteuern kann.
Der Rüttelschalter ist unter Umständen nur extrem kurz "an". Und ich 
weiß nicht, ob ein Arduino eine Gedenksekunde braucht, bis er mit dem 
produktiven Programm beginnt.
Nun gut, in die Transistortester- Selbsthalteschaltung läßt sich sicher 
noch ein Kondensator einflicken.

Danke für die Hinweise zum Nano bzw. Mini Pro.
Ich habe mich nur ganz kurz informiert und hatte Bedenken, daß ich mit 
dem Mini Pro größere, mich überfordernde Verrenkungen mit der IDE 
veranstalten müßte. Daß man nur die fehlende USB-zu-seriellTTL Hardware 
in die Verbindung integrieren muß und dann geht es genauso geradeaus vom 
IDE-Quelltext zum programmierten Arduino, das wußte ich nicht. Wäre klar 
die bessere Wahl gewesen. Bißchen kleiner auch noch, schadet nie.

Jetzt sind aber schon Nanos bestellt. Für China habe ich keine Zeit mehr 
- Deadline (Geburtstag) ist bald.

Wie dem auch sei, der Controller muß in Ruhe nichts tun und um dessen 
Sleep-Stromverbrauch muß ich mich also nicht kümmern. Er wird über die 
Rüttelschalter-Geschichte eingeschaltet, während der An-Phase kann er 
evtl. re-triggert werden und wieder auf Taschenlampen-Helligkeit 
hochschalten, aber nach Ende der Ausdimmphase trennt er sich selbst 
wieder von der Batterie. So denke ich mir das zumindest.

Ich hau da vier Eneloop rein, das sind grob 5Wh, das sollte ein paar 
Wochen reichen, bis ich wieder frischgeladene reintun muß.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Ich habe mein Nachtlicht mit Bewegungsmelder so modifiziert.

von ASinus (Gast)


Lesenswert?

MK schrieb:
> Schön runterdimmen klappt bei meinem Fahrradrücklicht mit nem Goldcap,

Hatte ich so mal ne Zeit lang.
Zwei Punkte:

1. die eine LED aus dem Rücklicht ist ziemlich lange "sauhell". Zu viel 
für eine Nachtischlampe im Schlafzimmer.

2. das Ding glimmt auch nach 45 Minuten noch, was natürlich gut ist, 
wenn man  die Lampe sucht.

von TomH (Gast)


Lesenswert?

Hallo, ich bins nochmal.

Hab jetzt in meine Low-Side-Schalterei noch einen kleinen PNP 
reingestrickt, jetzt scheint es für mich aufzugehen:

Selbsthaltung vom Arduino, wenn der Pin auf Low gezogen wird.
Selbsthaltung aus, wenn der Pin auf High geht.
Wenn der Arduino keinen Saft mehr bekommt, ist alles um die Basis des 
PNP herum auf High und ok.

Die Kritzelei des Schaltplans mag schon unübersichtlich sein, aber die 
Zahl der Bauteile ist überschaubar, das krieg ich schnell auf 
Lochraster.

Sieht jemand da noch ein Problem mit der Power-Schaltung?

Anders die LED-Ansteuerung.
Ich hatte schon vermutet, daß die logarithmische Empfindlichkeit der 
Augen Schwierigkeiten macht.
Meine Tochter liebt eine billige "Prinzessin", die mit drei LR44-Zellen 
ein Farbspiel aus ihrem durchsichtigem Körper läßt. Aber erstens ist der 
Farbwechsel zu unruhig, zweitens sind blau und grün nicht schlaffördernd 
und drittens ist das in der Nacht auch deutlich zu hell. Abgesehen von 
den doofen teuren LR44-Zellen.
Daher die Frage  nach einer LED-Stromsteuerung, die den Strom in sehr 
weiten Grenzen und dennoch sehr fein einstellen läßt. Ich will bei fast 
ganz dunkel keine harten, sichtbaren HelligkeitsSPRÜNGE haben.
Aber das läßt sich ja alles mit der Programmierung regeln, sofern die 
Hardware eine superfeine oder eben auch logarithmische Steuerung des 
LED-Stromes ermöglicht.
Da fehlen mir immer noch die Ideen!

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

TomH schrieb:
> Highside? Lowside? AVR-Transistortester?
> Da wird mit einem Bipolar-Transistor geschalten, BC557.
> Verliert Durchlaßspannung und ist er -
> wenn abgeschaltet - wirklich ganz aus?
Ja!

Ich habe mal aus dem Transistortester die Ecke ausgeschnitten und mit 
Paint umgemalt, siehe Anhang! Der T3 darf und sollte bei Deiner geringen 
Spannung ein P-Kanal-MOSFET sein, aber ein Logic-Level Typ, der bei 3V 
UGS sicher offen ist.

Wenn dem µC +Ub fehlt, hält der den BC547 zu und der obere PNP bleibt 
über den R10 geschlossen. Der µC und der Rest Deiner Schaltung behalten 
einen definierten Bezug zur Masse. Schalten im GND halte ich für Pfusch 
mit hohem Risiko auf Fehlfunktionen.

von TomH (Gast)


Lesenswert?

Natürlich ist Highside schalten "schöner" und "sauberer" im Schaltplan 
und für die Übersicht.
Aber wenn die ganze nach der Power-Schaltung folgende Beschaltung NUR 
die vom Mosfet geschaltenen GND als GND kennt, dann müßte es eigentlich 
auch gehen.
Aber gut, ich schau mal nach Logic-Level P-Mosfets. Selbiges als N-Kanal 
wär halt leicht aus der Grabbelkiste hergegangen.

Thema LED-Ansteuerung:
Ich bin am Überlegen, ob ich zwei oder gar drei parallele Stromquellen 
an einer LED betreibe. Eine, die den vollen Strom für die gewünschte 
Helligkeit mit 8Bit einstellen kann. Eine zweite, die bei voller 
Aussteuerung ungefähr die letzten 3 Helligkeitsstufen der ersten 
erreicht.
Vorgehen: Mit der großen Stromquelle bis auf PWM-Wert 4 herunter und 
dann als nächstes die große Stromquelle auf PWM-Wert 0 und die kleinere 
auf PWM-Wert 255. Das ist dann ein Sprung um ein Viertel.
Wenns sein muß, noch weiter oben ansetzen, den letzten Sprung z.B. um 
ein 10tel.
Wenns sein muß, diese Kaskade sogar mit drei Stromquellen.
Pins wären genug da. Muß mal sehen, wieviele PWM-fähig sind.

von TomH (Gast)


Lesenswert?

Gerade nachgeschaut: 6 PWMs hat er.
Also sind bei drei LED-Farben nur je zwei kaskadierte Stromquellen 
möglich.
Oder eine weiße, eine gelbe und eine rote LED. Die weiße hört schon bei 
gewissen Stromstärken auf, dafür reichen die gelbe und rote bis zu 
geringen und geringsten Stromstärken herunter.

von TomH (Gast)


Lesenswert?

Weitere Idee: Wenn ich die PWM-Ausgänge mit extrem großer Zeitkonstante 
glätte, kann ich über das Hin- und Herwechseln zwischen zwei PWM-Werten 
die Auflösung erhöhen? Sozusagen eine PWM über die PWM?

von Heimwerker (Gast)


Lesenswert?

TomH schrieb:
> Einschalten: "Rüttelschalter"

Da sich der Mensch bekanntlich im Schlaf bewegt, wird es hier vermutlich
zu unbeabsichtigten Schaltvorgängen kommen.

Ich würde ein PIR-Modul verwenden. Es gibt stromsparende Ausführungen,
die nur wenige 10µA im Bereitschaftsbetrieb ziehen. Der Sensor wird so
angebracht, dass er nur dann anspricht, wenn sich die Kleine etwa
aufrichtet oder die Hand aus dem Bett streckt.

von TomH (Gast)


Lesenswert?

Hallo, über das Bedienkonzept mache ich mir bei meiner knapp 4jährigen 
die wenigsten Sorgen. Die Laterne wird in die Hand genommen, wenn sie 
damit nachts durchs Haus geistern will und aufs Nachtkästchen gestellt, 
wenn sie einschlafen will.

Rüttelschalter ist halt extra bequem, aber auch normaler Taster wäre ok.

Festinstalliert könnte man sie nicht mitnehmen...

Was ich brauche, sind Ideen für die LED-Ansteuerung.

Als Stromquellen stelle ich mir ein paar OPs vor (z.B. LM324), 
Stromshunt, NPN-Transistor. Muß da mal was an einen Arduino Uno 
dranstricken...

von Michael B. (laberkopp)


Lesenswert?

TomH schrieb:
> Meine Fragen:
> 1. Konzept

Nein Konzept ist schlecht weil es viel Strom und viele Bauteile kostet.

Nimm statt dem Arduino nur den Kern des Arduino, einen ATmega328, den 
kannst du ja im Arduino programmieren, auf internen RC-Oszillator 
stellen und dann in deine Lampe rüberwechseln.

Der kommt direkt, ohne Spannungsregler, an 3 x AAA.

Er verbringt die meiste Zeit in deep sleep und braucht nur Mikroampere.

Ein Eingang wird auf Pin Change Interrupt geschaltet und bekommt deinen 
Rüttelschalter mit aktiviertem internen pull up, der uC wacht also auf 
wenn das Ding bewegt wird.

Er hat viele Ausgänge. Alle parallel schalten und über einen 
Vorwiderstand der bei voller Batterie den maximalen Strom erlaubt an die 
LED (oder wenn es mehrere LEDs sind jeweils ein paar an jede LED) und 
die LED geht an die 4 AAA (es macht nichts, daß es dort bis 1.5V mehr 
sind als die Spannung am uC, da die LED diese Spannung ohne 
nennenswerten Strom abhält).

Dann programmierst du die PWM in Software, leicht mit 12 oder 16 bit, 
und hast genug Abstufungen.

Die 22 Ausgänge erlauben bis 200mA für die LED, für deine 0.1W bis 0.5W 
bei 3.6V reicht das also locker. Wenn man will, kann der uC auch die 
eigene Betriebspannung messen und daraus die Restspannung über dem R 
ermitteln und den Strom durch die LED abschätzen, und die Helligkeit bei 
absinkender Batteriespannung durch längere PWM kompensieren für effektiv 
Konstantstrom, aber das halte ich für unnötige Spielerei.

Ergebnis:
1
  +------------|>|--R---+
2
  |            LED      |
3
 1.5V                   |
4
  |                     |
5
  +--------------+      |
6
  |              |VCC   |
7
 1.5V        +-------+  |
8
  |        in|       |--+
9
 1.5V    +---| AT328 |--+
10
  |      |   |       |  :
11
 1.5V Rüttel +-------+out
12
  |      |       |GND
13
  +------+-------+
Keine weiteren Bauteile, die Strom fressen, kein Aufwand.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Michael B. schrieb:
> Nein Konzept ist schlecht weil es viel Strom und viele Bauteile kostet.
Bauteile ja, Strom geht so weil in Ruhe abgeschaltet.

> Nimm statt dem Arduino nur den Kern des Arduino, einen ATmega328, den
> kannst du ja im Arduino programmieren, auf internen RC-Oszillator
> stellen und dann in deine Lampe rüberwechseln.
TomH schrieb:
> Arduino Nano (ich kann nix anderes als Arduino)
Spricht nicht dafür, dass er einen ISP-Programmer hat und damit umgehen 
könnte.

> Der kommt direkt, ohne Spannungsregler, an 3 x AAA.
> Er verbringt die meiste Zeit in deep sleep und braucht nur Mikroampere.
Da wären wir wieder da:

Manfred schrieb:
> Nano an Batterie ist dämlich, weil der USB Strom frisst. Besser einen
> ProMini verwenden. LED und Spannungsregler runter, kommt der im
> Sleep-Mode auf einstellige µA. Wenn Du den jede Sekunde einmal nach dem
> Schalter schauen und dann wieder schlafen gehen lässt, wird der im
> zeitlichen Durchschnitt bei 10..30µA Verbrauch liegen.

http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/

Den puren AVR bringt man unter 1µA, den bastlerfreundlichen ProMini mit 
Bootloader ab Werk drin incl. Quarz immer noch zuverlässig unter 10µA. 
Jede Sekunde aufwachen, nach dem Schalter gucken und wieder gute Nacht 
bleibt das im Bereich der Selbstentladung der Akkus. Eigentlich muß der 
garnicht über den Watchdogtimer aufwachen, der Schalter könnte einen 
Hardware-Interrupt ziehen, dann sieht die Energiebillanz noch besser 
aus.

Aber:
TomH schrieb:
> Jetzt sind aber schon Nanos bestellt. Für China habe ich keine Zeit mehr
> - Deadline (Geburtstag) ist bald.

Soll er den Nano nehmen! Was ich kritisch sehe, ist die geplante 
Abschaltung im GND (low side), das würde ich garnicht erst in Erwägung 
ziehen, weil es zu viele Fallen hat.

von Michael B. (laberkopp)


Lesenswert?

Manfred schrieb:
>> Jetzt sind aber schon Nanos bestellt. Für China habe ich keine Zeit mehr
>> - Deadline (Geburtstag) ist bald.
>
> Soll er den Nano nehmen

Es gibt auch richtige Arduinos mit gesockeltem 328 aus Deutschland.

von TomH (Gast)


Lesenswert?

Controller:
Tatsächlich bin ich mit wenig Werkzeugen und begrenzten (zeitlichen, 
vielleicht auch geistigen) Kapazitäten zum Lernen ausgestattet.
Jahrelang habe ich sporadisch mit C-Control herumgestöpselt, und ab und 
zu auch was ordentlich funktionierendes zusammengebracht.
Jetzt habe ich mich mit Arduino angefreundet und finde den Workflow ganz 
angenehm.

Ich kann schon über den Tellerrand schauen und stimme zu, professionell 
und als richtiges Produkt würde man es so wie Michael anpacken. 
Möglichst wenig Bauteile, und ganz klar kann ein nackter Microcontroller 
die Selbstentladung eines Akkus unterbieten, also spart man sich auch 
die Einschalt-Hardware.

Aber ich mit meinem begrenzten Verständnis mache es jetzt erstmal mit 
dem Nano.
D.h. die LED-Ansteuerung probiere ich sogar mit dem Uno und Steckbrett. 
(Blöd nur: habs in der Arbeit liegengelassen, weil ich es einem Kollegen 
geliehen hatte. Also erst Montag.)

Ich muß mich sowieso erstmal mit den Leuchtstärken diverser LEDs 
herantasten. Zunächst mal muß ich ein paar möglichst breitstrahlende 
(eher SMD-Typen) eng zusammenpacken, so daß sie ihre Farben schön 
mischen, wenn sie gemeinsam einen mattierten Laternen-Leuchtkörper von 
innen beleuchten. Dann kann ich nach den nötigen Strömen sehen.
Schön wäre auch, wenn das Laternderl endlich ankäme.

Übrigens möchte ich an den LED keinerlei PWM, die auch nur theoretisch 
sichtbar wäre. Man mag darüber denken, wie man will - ob nun ab 50Hz 
schon nichts mehr zu sehen ist oder ab 500Hz - oder ob das PWM-Schalten 
von (zugegebenermaßen sehr kleinen) LED-Strömen elektromagnetische 
Felder verursacht. Das Ding steht neben einem einschlafenden Kind und 
ich will bei Diskussionen mit seiner Mutter/meiner Frau keinerlei 
Argumentationsrisiko haben. Nur der unvermeidliche Mikrocontroller 
werkelt, denn rein analog bekommt man die Dimm- und Farbverläufe wohl 
nicht wie gewünscht hin.

Jetzt noch eine Frage und eine Idee:

1. "Offizieller" Arduino Uno mit gesockeltem ATMEL328 - und dann den 
Controller entnehmen und in der Zielschaltung einsetzen. Klingt gut und 
sogar für mich Dummy machbar. Aber: Was braucht der dann noch rundum? 
Quartz? Ist da nicht noch ein zweiter kleiner ATMEL drauf, der die 
USB-Kommunikation macht? Muß der 328 irgendeine Beschaltung an 
bestimmten Pins sehen, damit er fröhlich mit seinem Nutzer-Programm 
loswerkelt und nicht beim Bootloader hängenbleibt?

2. Michaels Vorschlag mit den vielen Pins parallel bringt mich auf die 
Idee, einen D/A-Wandler handzustricken, so ein bißchen wie ein 
R/2R-Netzwerk. Über lauter einzelne Vorwiderstände gibt jeder Pin sein 
Quentchen Strom dazu. Für die größeren Quentchen Strom dann doch noch 
ein paar NPN-Kleinsignaltransistoren. Zunächst dachte ich, da müßten 
noch Dioden dazu, aber wenn ich die Pins zwischen "passiv Eingang" und 
"aktiv LOW" umschalte, müßte das auch gehen. Bei der weißen LED und vier 
Akkuzellen könnte allerdings die Strom"programmierung" über 
Vorwiderstände etwas ungenau werden.

von Manfred (Gast)


Lesenswert?

TomH schrieb:
> "Offizieller" Arduino Uno mit gesockeltem ATMEL328 - und dann den
> Controller entnehmen und in der Zielschaltung einsetzen. Klingt gut und
> sogar für mich Dummy machbar.
Grins.

> Aber: Was braucht der dann noch rundum? Quartz?
Ja, den Quarz samt seiner zwei Kondensatoren. Dazu noch Kondensatoren an 
der Betriebsspannung und zumindest den Widerstand am Reset-Pin. Kann man 
aus dem Uno-Schaltbild abmalen.

> Ist da nicht noch ein zweiter kleiner ATMEL drauf, der die
> USB-Kommunikation macht?
Der wird ja nur zum Programmieren per USB benötigt, siehe A*-ProMini.

In Deinem Fall würde der AT328 im Uno-Board programmiert und danach ins 
Zielsystem umgesteckt.

> Muß der 328 irgendeine Beschaltung an bestimmten Pins sehen,
> damit er fröhlich mit seinem Nutzer-Programm
> loswerkelt und nicht beim Bootloader hängenbleibt?
Nein, der Bootloader übergibt von selbst an die Anwendung, wenn er nicht 
zeitnah nach dem Reset angesprochen wird.

von Michael B. (laberkopp)


Lesenswert?

TomH schrieb:
> Aber: Was braucht der dann noch rundum? Quartz?

Nichts ausser dem Abblockkondenstaor, wenn man den Arduino auf RC 
Oszillator umprogrammiert (was aber wohl heisst, daß man ihn danach 
nciht mehr auf dem Arduinoboard umprogrammieren kann).

> Über lauter einzelne Vorwiderstände gibt jeder Pin sein Quentchen
> Strom dazu.

Kann man machen, und bei 0.5W also 138mA maximal braucht man auch keine 
Stromverstärkenden Transistroren, für 69mA nimmt man 4 parallel, für 
34.7mA 2 und dann reicht 1 pro Widerstand, der Chip hat ja genügend 
Ausgänge in dieser Schaltung für sogar 16 bit Auflösung.

von TomH (Gast)


Lesenswert?

Habe nun gestern ein wenig "herumgespielt" mit ein paar weißen, gelben 
und orangen SMD-LEDs.
Es ist viel weniger Leistung nötig als gedacht. Drei weiße LEDs, an 5V 
hängend mit je einem 1k-Widerstand zum Portpin (~2mA), machen für nachts 
schon genug Licht.
Die Helligkeitsstufung ist wie erwartet blöde. Ich hab jetzt im ersten 
Anlauf PWM verwendet. Erst bei den letzten paar Stufen siht man 
merkliche Helligkeitssprünge. Während die oberen ca. 200 Werte der 
8Bit-PWM durchlaufen werden, merkt man überhaupt nichts.

Also entweder es taucht hier noch ein Schaltungskonzept auf, wie man die 
lineare Charakteristik einer PWM (sei es nun direkt oder als geglättete 
Steuerspannung einer Stromquelle) exponentiell oder logarithmisch 
aufspreizt.

Oder ich werde das mit dem expliziten D/A-Wandler über lauter 
verschiedene Vorwiderstände machen. Es stehen ja offenbar 22 Pins zur 
Verfügung, wenn man auch Analogeingänge und Kommunikationsleitungen 
mißbraucht.
Ein R/2R-Netzwerk würde das linear machen. Mit meiner Strom-Summierung 
kann ich aber das gleich mal so hintüfteln, daß die Summe der niedrigen 
Bits nur 90% des höchsten Bits erreichen kann, dann habe ich die 
Auflösung nochmal gespreizt.
Da tüftle ich gerade mit einer Tabelle herum... muß aber am Abend oder 
morgen abend weitermachen.

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Was ist nur aus der guten alten Zeit geworden, als ein 74*C4060 genügte. 
Mit dem mitgelieferten Oszillator bestimmt man die maximale Laufzeit und 
verodert einfach alle Ausgänge. Mit Dip-Schalter, Jumpern oder 
Lötbrücken kann man weitere Teilerverhältnisse bewerkstelligen. In der 
CMOS-Ausführung mit Schwingquarz-Oszillator (kein Linearbetrieb) 
brauchts nur 50µA. Ein D-Flip-Flop als Selbsthaltung und nach Ablauf des 
Zählers an den Reset. Aber es spricht nichts dagegen, das auch mit 
USB-programmierbarem 32kByte-Controller zu machen, es bleibt ein teures 
Liebhaberstück.

Als Stromquelle genügt ein einfacher Vorwiderstand, Operationsverstärker 
und Krams sind nur Fehlerquellen und du brauchst keine 0,1% Genauigkeit.

: Bearbeitet durch User
von Thomas B. (thombde)


Lesenswert?

Wenn Du den LED-Strom über Vorwiderstände begrenzt geht das einfach mit 
MOSFEET und einem Kondensator am Gate, der sich langsam entladet.
Die Zeiten könnte man mit Potis oder Trimmer einstellen.
Rüttelschalter geht auch dann.
Als Taschenlampe wird mit einem Schalter überbrückt.
Verschiedenfarbige LED´s geht auch.

Geht natürlich auch mit CMOS (CD4xxx) , Arduino PIC, AVR, aber warum so 
viel Aufwand und umständlich.

TomH schrieb:
> 2. Nicht nur eine weiße, sondern auch eine orange und eine rote LED dazu
> und ein langsames immer rötlicheres "Ausglimmen" hinmischen.

3 MOSFEET´s
3 Kondensatoren
3 LED´s, rot, gelb, weiß
Und ein par Widerstände und Trimmer.

: Bearbeitet durch User
von TomH (Gast)


Lesenswert?

Jetzt seid doch mal froh, daß ich keinen Raspi nehmen will! :-)

Es stimmt schon, daß es wohl analog auch gehen könnte.

Aber:

Erzeugt die Entladekurve eines Kondensators am Gate eines Mosfets auch 
wirklich eine schöne langsame Annäherung des LED-Stromes an Null? Kann 
sein, kann aber auch anders aussehen.

Wie langsam geht das?
Ich will es so langsam, daß Töchterlein nicht immer nachtriggert, wenn 
sie nicht einschlafen kann und sie merkt, daß es dunkler wird oder ganz 
ausgeht. Sie soll einfach NICHT merken, daß es dunkler wird, und darüber 
einschlafen.
Schätzungsweise 10 min.
Augenadaption ist auch so ein Thema.
In Software kann ich alles zunächst schneller durchspielen, bis die 
Verläufe stimmen. Und dann einfach langsamer machen.

Übrigens, mit diesem "nichtlinearen" DA-Wandler, bitte keine zu großen 
Gedanken machen. Kann eh keiner meinen wirren Gedanken folgen.
Ich meinte lediglich, wenn ich z.B. mit 8Bit langsam von 255 
herunterzähle, brauche ich ja am Anfang nicht so feine Auflösung. Ein 
neuralgischer Punkt wäre z.B. von 10000000 binär auf 01111111 binär. Bei 
einem R/2R-Wandler würden die unteren Bits das Wegschalten des obersten 
bis auf ein 256stel Reststufe ausgleichen. Mit ungleich gewichteten Bits 
könnte man da einen Sprung von ca. 10% erlauben. Aber meine 
Herumstöpseleien mit Excel-Tabellen haben bisher ergeben, daß der Effekt 
gering ist. Der Punkt, an dem z.B. ein 00000100 auf 00000011 Sprung mehr 
als 10% ausmacht und man aufhören muß, bevor es zu stufig wird - dieser 
Punkt ist bei beiden Konzepten etwa gleich niedrig.

von Thomas B. (thombde)


Lesenswert?

Alternativ, wenn die Spannung nicht ausreicht ginge auch bipolar.
Werden halt die Elkos etwas dicker.
Man muss halt etwas flexibel sein.

Danke für den Minuspunkt.

von Manfred (Gast)


Lesenswert?

TomH schrieb:
> Erzeugt die Entladekurve eines Kondensators am Gate eines Mosfets auch
> wirklich eine schöne langsame Annäherung des LED-Stromes an Null?
Ich halte es für unwahrscheinlich, dass das ordentlich läuft. Du 
müsstest den Spannungsbereich UGS gegen den Widerstand RDS ermitteln und 
sauber den passenden Bereich finden.

Zusätzlich wird das nicht lineare Helligkeitsempfinden des Menschen ein 
Problem.

Ich wollte auf diesem Wege das harte Einschalten von LEDs dem einer 
Glühlampe annähern, also nur ein paar Dutzend Millisekunden - mißlungen.

Beitrag #4946343 wurde vom Autor gelöscht.
von Thomas B. (thombde)


Lesenswert?

Manfred schrieb:
> Ich wollte auf diesem Wege das harte Einschalten von LEDs dem einer
> Glühlampe annähern, also nur ein paar Dutzend Millisekunden - mißlungen.

Hast Du noch den Schaltplan?
Die LED bekam durch den FET Strom als der Kondensator aufgeladen war?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.