Hallo zusammen,
ich tüftle gerade an einer Lampe, die sich der Umgebungshelligkeit
anpassen soll. Eine Art besseres Nachtlämpchen, nur auch für Tag ;).
Mein Hauptproblem ist, dass ich die PWM zur Regelung der
verantwortlichen LED gerne hoch wählen würde (Bereich um 4 kHz), um die
Lampe absolut flimmerfrei zu bekommen.
Gleichzeitig muss ich die Umgebungshelligkeit in einer Dunkelphase
messen, sonst verfälsche ich mir mein Ergebnis, ich muss die Lampe also
solange abdunkeln.
Normal mache ich Helligkeitsgeschichten mit einem Fotowiderstand. Der
ist für diesen Zweck aber viel zu lahm und liefert keine proportionale
Kennlinie.
Die fertigen Sensoren von TAOS haben entweder den falschen
Empfindlichkeitsbereich (250/260) oder reagieren im Dunkelbereich auf
Änderungen zu langsam (235).
Ich würde gerne innerhalb einer Millisekunde messen, gerne noch weniger.
Eingang bevorzugt über den ADC, da der noch frei und fast ungenutzt ist.
Was gibt es denn da?
bastler schrieb:> Umgebungshelligkeit in einer Dunkelphase
Komisch, mir wäre das Ergebnis-Licht wichtiger.
Interessanter wäre für mich, ob die Diagnose mit der richtigen
Lichtfarbe erfolgt. Eine IR-Diode wird z.B. bei blauem Licht nur einen
kleinen Wert anzeigen.
Bitte überlege Dir zu erst wie die gesamte Regelung aussehen soll.
Wenn Du nur die Umgebungshelligkeit messen willst, dann einfach da wo
die LED nicht hin leuchtet.
Du willst ja die Helligkeit der LED Regel?
Woher weißt Du wie hell die LED ist?
Die LED und angestrahlte Körper leuchten nach,
wann willst Du die Umgebungshelligkeit dann Messen?
Prüfe, ob es nicht sinnvoller ist durch eine langsame integratorische
Messung/Messwertaufbereitung Dir viele Softwareseitig implementierte
Filter zu ersparen.
Nur die Gesamthelligkeit (träge/gemittelte) zu messen und dann durch für
den Menschen nicht wahrnehmbare Variation der LED Helligkeit den
Regelkreis rückzukoppeln erscheint mir im meinem Projekt sinnvoller,
zumal beim mir die LED aus einer schwankenden Spannungsquelle (Akku)
betrieben wird.
Letztendlich ist eine wahrnehmbare Helligkeitsänderung von vielen
(menschlichen) Faktoren abhängig, so das sich die Frage stellt, wie
genau muss die Regelung sein, wie stark darf sie schwingen.
bastler schrieb:> Normal mache ich Helligkeitsgeschichten mit einem Fotowiderstand. Der> ist für diesen Zweck aber viel zu lahm und liefert keine proportionale> Kennlinie.
Für deine Nachttischlampe nachzuregeln reicht der dicke.
Und er hat eine einigermaßen lineare Kennlinie.
bastler schrieb:> Ich würde gerne innerhalb einer Millisekunde messen, gerne noch weniger.> Eingang bevorzugt über den ADC, da der noch frei und fast ungenutzt ist.
Das menschliche Auge reagiert so schnell nicht.
Und die Umgebungshelligkeit ändert sich so schnell? Disko?
Du willst also einen Licht-Repeater.
Heinz-Wilhelm F. schrieb:> Prüfe, ob es nicht sinnvoller ist durch eine langsame integratorische> Messung/Messwertaufbereitung Dir viele Softwareseitig implementierte> Filter zu ersparen.>> Nur die Gesamthelligkeit (träge/gemittelte) zu messen und dann durch für> den Menschen nicht wahrnehmbare Variation der LED Helligkeit den> Regelkreis rückzukoppeln erscheint mir im meinem Projekt sinnvoller,> zumal beim mir die LED aus einer schwankenden Spannungsquelle (Akku)> betrieben wird.
An den Aspekt des Nachleuchtens der LED habe ich gar nicht gedacht. Die
Idee einer Software-Aufbereitung gefällt mir aber ganz gut.
Prinzipiell müsste es doch relativ einfach sein, einen entsprechend
dynamischen Sensor wie den TSL235 zu nehmen und einmal die LED in
dunklem Raum voll aufzudrehen, um zu wissen, wieviel Licht der LED am
Sensor wieder eintrifft.
Dann könnte man im Normalbetrieb dieses Licht wieder abziehen und müsste
somit die LED nicht ausschalten, um die Umgebungshelligkeit zu messen.
Eigentlich eine gute Idee - oder?
Damit fiele nämlich der Geschwindigkeitsaspekt weg. Prinzipiell reicht
es völlig aus, wenn die Lampe sich alle zehn Sekunden neu einstellt.
Die Lampe ist immer an derselben Stelle platziert.
Ich hatte mal angedacht, das man das direkt über die LED selber messen
könnte. Die liefert ja auch eine winzige Spannung, wenn sie beleuchtet
wird. Allerdings ist ein Umschalter zwischen LED Endstufe und Mess-ADC
gar nicht so einfach, denn der ADC würde mit der Betriebsspannung für
die LED völlig überfahren.
Wie gesagt, nur angedacht, noch nicht ausprobiert.
bastler schrieb:> Gleichzeitig muss ich die Umgebungshelligkeit in einer Dunkelphase> messen, sonst verfälsche ich mir mein Ergebnis, ich muss die Lampe also> solange abdunkeln.
Ich nehme an, Du verwendest weiße LEDs?! Leuchtstoff-Dioden also. Wie
ist denn das Zeitverhalten des Leuchtstoffes (Nachleuchtdauer)? Sprich:
gibt es überhaupt saubere Dunkelphasen?
Du hast mich neugierig gemacht, ich glaube, ich muss das jetzt selber
'mal messen...
bastler schrieb:> (Bereich um 4 kHz)M.A. S. schrieb:> weiße LEDs?! Leuchtstoff-Dioden also. Wie> ist denn das Zeitverhalten des Leuchtstoffes (Nachleuchtdauer)? Sprich:> gibt es überhaupt saubere Dunkelphasen?
Habe nachgemessen: Zumindest bei einer weißen 5mm LED (die hier gerade
herumlag) habe ich kein Nachleuchten messen können, das bei der
angegebenen Betriebsfrequenz eine Rolle spielen könnte.
Aufbau:
Sender: Funktionsgenerator (Rechteck) -> Vorwiderstand -> LED
Empfänger: Fotodiode SFH213 -> Parallelwiderstand (10k) -> Oszilloskop
bastler schrieb:> Mein Hauptproblem ist, dass ich die PWM zur Regelung der> verantwortlichen LED gerne hoch wählen würde (Bereich um 4 kHz), um die> Lampe absolut flimmerfrei zu bekommen.> Ich würde gerne innerhalb einer Millisekunde messen, gerne noch weniger.
Dazu fällt mir eine kleine Rechenaufgabe ein:
Angenommen, deine LED leuchtet mit 80% ihrer Maximalhelligkeit, i.e.
läuft mit einem Tastverhältnis von 80%. Wie lange dauert dann bei einer
PWM-Frequenz von 4kHz jeweils die für die Messung der
Umgebungshelligkeit zur Verfügung stehende Dunkelphase?
Du wirst das PWM-Signal also für die Messung gezielt unterbrechen
müssen, was dann natürlich eine kurze Unterbrechung der Beleuchtung
bedeutet.
Wolfgang schrieb:> Dazu fällt mir eine kleine Rechenaufgabe ein:> Angenommen, deine LED leuchtet mit 80% ihrer Maximalhelligkeit, i.e.> läuft mit einem Tastverhältnis von 80%. Wie lange dauert dann bei einer> PWM-Frequenz von 4kHz jeweils die für die Messung der> Umgebungshelligkeit zur Verfügung stehende Dunkelphase?
Die Periodendauer ist der Kehrwert der Frequenz d.h. t=1/f
Die Frequenz kennst Du, das Tastverhältnis auch. Was hindert Dich daran,
Deine kleine Rechenaufgabe selbst zu lösen?
@TO
Du mußt die Messung mit der Zeit der Dunkelphase synchronisieren.
Herbert
Unsere Lampen im Büro messen die effektive Helligkeit der Umgebung,
beispielsweise der Schreibtischplatte, und sorgen nun dafür, dass sie
selber nur so hell ist, wie nötig. Bei Sonnenbestrahlung dimmen sie
selbstständig herunter oder schalten auch komplett ab.
Herbert B. schrieb:> Was hindert Dich daran, Deine kleine Rechenaufgabe selbst zu lösen?
Sei beruhig, ich habe vorher nachgerechnet und für das Beispiel extra
Zahlen gewählt, mit denen man durch "bloßen hingucken" erkennt, dass die
Dunkelphase dann 50µs beträgt.
Herbert B. schrieb:> Du mußt die Messung mit der Zeit der Dunkelphase synchronisieren.
Eben, und jetzt finde mal in dem von mir beschriebenen Fall eine
Dunkelphase, die auch nur annähernd in den Bereich Millisekunde kommt
:-(
bastler schrieb:> um die> Lampe absolut flimmerfrei zu bekommen.>> Gleichzeitig muss ich die Umgebungshelligkeit in einer Dunkelphase> messen, sonst verfälsche ich mir mein Ergebnis, ich muss die Lampe also> solange abdunkeln.
Das widerspricht sich.
gfgddfdhnsdf
Ich würde sagen, langsam und gezielt abdunkeln und in der Hellphase
glatt ansteuern.
Wenn die Gesamthelligkeit stimmen soll, muss eben auf die geregelt
werden. Macht jede automatische Filmleuchte so.
bastler schrieb:> ich tüftle gerade an einer Lampe, die sich der Umgebungshelligkeit> anpassen soll. Eine Art besseres Nachtlämpchen, nur auch für Tag ;).>> Mein Hauptproblem ist, dass ich die PWM zur Regelung der> verantwortlichen LED gerne hoch wählen würde (Bereich um 4 kHz), um die> Lampe absolut flimmerfrei zu bekommen.
Wie überaus albern. Das menschliche Auge sieht schon ab ~100Hz kein
Flimmern mehr.
> Gleichzeitig muss ich die Umgebungshelligkeit in einer Dunkelphase> messen, sonst verfälsche ich mir mein Ergebnis, ich muss die Lampe also> solange abdunkeln.
Man könnte den Sensor ja einfach so anbringen, daß er nicht von der
Leuchte beleuchtet wird. Aber das ist dir wohl zu einfach.
Es gibt durchaus Gründe, warum man eine LED mit so hoher Frequenz
ansteuern will.
Und je nach Lampendesign und Umgebungsbedingungen ist es nicht immer
möglich den Helligkeitssensor an einer abgeschatteten Stelle
anzubringen.
Ich stehe gerade vor einem ähnlichen Problem und hätte auch eine
Photodiode in Betracht gezogen, allerdings habe ich damit keine
Erfahrung.
Verstehe ich die obigen Posts richtig, dass eine Messung innerhalb von
50us nicht so ohne Weiteres möglich ist?
Daniel B. schrieb:> Verstehe ich die obigen Posts richtig, dass eine Messung innerhalb von> 50us nicht so ohne Weiteres möglich ist?
Mit Photodioden kann man durchaus innerhalb von 50µs messen. Die 50µs
gelten für 80% Duty Cycle. Bei 96% wären es allerding nur noch 10µs.
Dafür muss man also schon wissen,was man tut.
Das Beispiel bezog sich auf den Widerspruch zwischen 4kHz PWM und 1ms
Dunkelphase zur Messung.
Um auch bei heller LED (100% Duty Cycle) noch die Umgebungshelligkeit
messen zu können, tut man sich wahrscheinlich einen Gefallen, wenn man
die LED für die Messung mal kurz ganz ausschaltet.
Ich will diesen Thread nicht kapern, deswegen eine letzte Frage:
Sofern man eine gewisse "Dunkelzeit" von ca. 50us hat, bestünde dann
nicht die Möglichkeit über einen längeren Zeitraum zu messen und dann
einfach den "dunkelsten" Wert zu nehmen?
Daniel B. schrieb:> ... und dann einfach den "dunkelsten" Wert zu nehmen?
Das kommt auf deinen ADC und die Signalaufbereitung an. Erstmal muss
deine Photodiode und der zugehörige TIA schnell genug sein. Und dann
kommt es drauf an, wie der ADC aufgebaut ist, insbesondere wie es mit
Sample&Hold, Acquisition time (sampling time) und Wandlungszeit
aussieht. Da ist ein bisschen Datenblattstudium gefragt.
Dunkelphase, Nachleuchten von LEDs, ... sehr mysteriös,
was hier alles aufgetischt wird.
Was soll die Beleuchtungsregelung machen? - Ich denke doch,
für konstantes Licht an der Stelle sorgen, wo die LED hin-
leuchtet:
Also ganz einfach die Helligkeit im Leuchtfeld der LED erfassen.
- Wenn das Tages-/Umgebungslicht mehr Helligkeit liefert, kann
die LED-Versorgung abgeregelt werden. WAS WILLSTE MEHR!
Zur Erfassung ist ein LDR optimal! Nichtlinearität ist doch
bei konstanter Mindesthelligkeit (Regeleinsatz) kein Problem!
Sollte er wirklich zu träge sein, dürfte ein TSL235 mit gepulstem
Licht und entsprechend schwankender Ausgangsfrequenz seine
Schwierigkeiten bei der Auswertung bieten...
Dann würde ich es eher mit einer BPW21 versuchen, auch wenn das
Signal erst mit einer OPV-Schaltung für den ADC aufbereitet werden
muss - dabei kann man aber auch gleich die Reaktionszeit per
passendem TP optimieren.
Die PWM kannste mit (ausreichend) einigen 100 Hz machen. Wenn's
die Esoterik erfordert, natürlich auch schneller...
Jakob schrieb:> Also ganz einfach die Helligkeit im Leuchtfeld der LED erfassen.> - Wenn das Tages-/Umgebungslicht mehr Helligkeit liefert, kann> die LED-Versorgung abgeregelt werden. WAS WILLSTE MEHR!
Genau das geht eben nicht ;).
Geregelt werden soll eine Signalleuchte. Je heller die Umgebung ist,
desto heller muss auch die Leuchte sein.
Dummerweise ist das Ganze in einem geschlossenem Raum. Wenn also die
Signalleuchte auch nur ein bisschen heller wird, meint der Sensor zu
Recht, dass die Umgebung heller geworden ist und der Controller regelt
die Helligkeit der Leuchte rauf, der Sensor meint, dass die Umgebung
noch heller geworden ist, und das Chaos ist perfekt. Nach unten dasselbe
Spiel.
Deshalb muss ich die Leuchte derweil ausschalten.
Mittlerweile habe ich gemerkt, dass das Thema alles andere als trivial
ist und möchte ein fertiges IC benutzen. Am liebsten eins, das eine
Spannung ausspuckt, die ich in den ADC füttern kann. Da der ADC im AVR
nur bescheidene 10 Bit bietet, bevorzuge ich einen logarithmischen
Sensor.
Gefunden und für geeignet befunden habe ich diese beiden:
http://www.osram-os.com/Graphics/XPic4/00091040_0.pdf (Osram SFH 5711)
https://www.intersil.com/content/dam/Intersil/documents/isl2/isl29102.pdf
(Intersil ISL29102)
Für den Osram spricht die relativ schnelle Rise- und Fallzeit, für den
Intersil spricht, dass Renesas den Wert bis zur Fallzeit auf 0 Lux
angibt.
Irgendwie gefällt mir der Osram besser. Spricht ein triftiger Grund
gegen ihn?
- Und warum erzählst du erst vom "Nachtlämpchen"?
Klar muss eine Signallampe sich idealerweise dem
Umgebungslicht anpassen.
Bei Verkehrsampeln wäre es vorteilhaft, wird aber nicht
gemacht: Früher waren die nicht zu erkennen, wenn die Sonne
draufschien, heute mit LED-Licht wird man dafür abends eher
geblendet.
- Passende Lösung:
Sensor so anbringen, dass er eben NICHT direkt von der
"Signallampe" angestrahlt wird, aber das Umgebungslicht
auswerten kann. (Gähn, voll schwer drauf zu kommen!)
Wenn du unbedingt "Boaah-ey! HiTec! Voll-SELBST-gekauft!!!"
anstrebst, (was wahrscheinlich nicht besser läuft), dann freu
dich alleine dran.
Und tschüs.
bastler schrieb:> Da der ADC im AVR nur bescheidene 10 Bit bietet, bevorzuge ich einen> logarithmischen Sensor.
Das nennt sich, wenn es für die "Regelung" der Helligkeit einer
läppischen Signalleuchte in einem Raum eingesetzt wird, dann kurz:
"technischer Overkill".
> Spricht ein triftiger Grund gegen ihn?
Nein. Fang einfach mal mit irgendwas an. Du wirst dann im weiteren
Verlauf mehr und mehr dazulernen. Und wenn du fertig bist, sollte bzw.
wird etwas ganz Einfaches vor dir liegen.
bastler schrieb:> habe ich gemerkt, dass das Thema alles andere als trivial ist
Durch Nachdenken oder durch Ausprobieren?
Lothar M. schrieb:> Das nennt sich, wenn es für die "Regelung" der Helligkeit einer> läppischen Signalleuchte in einem Raum eingesetzt wird, dann kurz:> "technischer Overkill".
Vorallem, weil es sich nicht mal um eine Regelung im technischen Sinn
handelt. Denn ich kann hier beim besten Willen keine geschlossene
Regelschleife erkennen.
Es ist lediglich ein Steller ohne Feedback, was er implementieren will.
Weiterhin erschließt sich mir nicht, warum das Ding mit 4kHz betrieben
werden soll? Es ist eine Signallampe, die offenbar nur vom menschlichen
Auge "ausgeweretet" wird und das ist schnarchlangsam, aber von mir aus,
dann stell den PWM auf 4kHz
Nimm nen kleinen uC mit PWM, stelle einmal pro Sekunde den Duty Cycle
auf Null, messe über einen AD-Wandler mit Fotodiode die
Umgebungshelligkeit, passe den DutyCycle an und weiter geht´s.
Selbst wenn du 1ms lang misst, ist die Lampe so kurz aus, dass das kein
Mensch sieht. Und wenn du 250µs lang misst, dann hättest du deine 4kHz,
und das ist für eine Fotodiode immer noch gar kein Problem
bastler schrieb:> Mittlerweile habe ich gemerkt, dass das Thema alles andere als trivial> ist
Sehe ich etwas anders
bastler schrieb:> Genau das geht eben nicht ;).> Geregelt werden soll eine Signalleuchte. Je heller die Umgebung ist,> desto heller muss auch die Leuchte sein.>> Dummerweise ist das Ganze in einem geschlossenem Raum. Wenn also die> Signalleuchte auch nur ein bisschen heller wird, meint der Sensor zu> Recht, dass die Umgebung heller geworden ist und der Controller regelt> die Helligkeit der Leuchte rauf, der Sensor meint, dass die Umgebung> noch heller geworden ist, und das Chaos ist perfekt. Nach unten dasselbe> Spiel.
Um was man heute eine Raketenwissenschaft machen kann.
Was glaubst du, mit was Bühnentechniker mit Schall zu kämpfen haben.
Dein Problem ist dagegen Kinderkram.
Wie schon gesagt, dein Lämpchen wird den Raum nicht erhellen.
bastler schrieb
> Genau das geht eben nicht ;).> Geregelt werden soll eine Signalleuchte. Je heller die Umgebung ist,> desto heller muss auch die Leuchte sein.>> Dummerweise ist das Ganze in einem geschlossenem Raum. Wenn also die> Signalleuchte auch nur ein bisschen heller wird, meint der Sensor zu> Recht, dass die Umgebung heller geworden ist und der Controller regelt> die Helligkeit der Leuchte rauf, der Sensor meint, dass die Umgebung> noch heller geworden ist, und das Chaos ist perfekt. Nach unten dasselbe> Spiel.>
Hi,
hab nicht mehr die ganzen Beiträge gelesen.Aber
Hab noch so ein Programm rumliegen bei dem ein Lichtsensor ausgelesen
wird, mit einem Sollwert verglichen wird(der Sollwert kann auch
eingelesen werden) und dementsprechend ein Ausgang über PWM angesteuert
um die Helligkeit in einem Raum auf ein Level zu halten. Hab so ein
Regler gewähl, der nicht auf schnelle Änderungen ( das aufblitzen einer
Signalleuchte) gleich drauf reagiert.
Falls du interesse hast lass es mich wissen. Hatte jetzt leider nicht
die Zeit alle beiträge zu lesen, hoffe das beschreibt das Problem.
MfG
M.V
Michael V. schrieb:> um die Helligkeit in einem Raum auf ein Level zu halten.
Genau das will er ja nicht.
Er will lediglich die Helligkeit einer Signallampe so anpassen, dass sie
in Abhängigkeit des Umgebungslichtes so hell leuchtet, dass sie gut
erkennbar ist.
Er will nicht die Raumhelligkeit regeln.
Aber er er macht aus dieser trivialen Aufgabe eine Raketenwissenschaft
;-)
Axel S. schrieb:> Wie überaus albern. Das menschliche Auge sieht schon ab ~100Hz kein> Flimmern mehr.
Den Phantom Array Effekt (sieht dann aus wie eine Lichterkette z.B. bei
Bremslichtern) kann man bis ca. 2 kHz produzieren.
Schlumpf schrieb
> Er will nicht die Raumhelligkeit regeln.> Er will lediglich die Helligkeit einer Signallampe so anpassen, dass sie> in Abhängigkeit des Umgebungslichtes so hell leuchtet, dass sie gut> erkennbar ist.
Wiewso dann das Signallicht Regeln, kann man das nicht einfach immer auf
100% (also ohne PWM) ansteuern. Dann sieht man das Signal auf jedenfall,
wenn nicht --> Lampe mit größere Leistung.
sonst
void loop()
{
int sensorwert;
int Signal_an_aus;
Signal_an_aus = digitalRead(3); // or whatever
if (Signal_an_aus == 1){
sensorwert = analogRead(A0);
sensorwert = map(sensorwert,0,1023,0,255);
sensorwert+= 50; // Leuchte 20% heller als Umgebung
if (sensorwert > 255) sensorwert = 255;
analogWrite(2,sensorwert);
delay(500);
analogWrite(2,0);
delay(500); // Verzögert das gemessen wird wenn Signalleuchte aus ist
}
// Deine Signallampe wird nun 20% stärker als deine Umgebung alle 1
Sekunden für 0.5 Sec aufeuchten wenn D3 = 1 ist. Habs hier mal nur so
runtergeschrieben evtl ist noch kleiner Bug drin, aber ungefähr so
könnte man das machen.
War das die Frage ???
MfG
M.V
Tja, wer so "intelligentes Licht" braucht, dass allen
Niedrig-IQ-lern (< 150) nicht mal das Problem erkennbar
wird, bewegt sich wohl in Sphären, wo wir ihm nicht das Wasser
reichen können.
Ziehen wir uns ehrfurchtsvoll zurück.
die Empfindlichkeit für Flackern/"Phantom Array Effekt" hängt stark am
Tastverhältnis:
ED 0,01% kann mit 1 kHz störend sein,
ED 99% flackert bei 100 HZ nicht (und wird als 100% wahrgenommen)
==> dynamische Frequenz könnte die Messung 'etwas' vereinfachen.