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: > Normal mache ich Helligkeitsgeschichten mit einem Fotowiderstand. Nimm eine Photodiode.
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?
:
Bearbeitet durch User
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?
:
Bearbeitet durch Moderator
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
:
Bearbeitet durch User
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.