Wie warm ist hell?

28.01.2014 19:37 von /cbx, derzeit 4.55014 Kommentare

Send to Kindle

Nachdem ich noch immer keinen Sinn mehr darin sehe, das offensichtliche Zeitgeschehen noch zu kommentieren, kann ich heute immerhin über ein nettes kleinwunziges Problemlein berichten, das so kleinwunzig und bedeutungslos ist, dass es mir mit meinen überaus begrenzten kognitiven Fähigkeiten gelungen ist, es nicht nur zu erkennen, sondern sogar noch einen Ansatz zu seiner Lösung zu finden. Und weil eine derartige geistige Hochstimmung hier im G’schäft stets von äußerst flüchtiger Natur ist, möchte ich sie sogleich schriftlich dokumentieren, auf dass ich bei der Lektüre in einer unbestimmten, fernen Zukunft ein schwaches Echo meiner heutigen Zufriedenheit wiederfinden möge.

“Was nun ist dieses kleinwunzige Problemlein?” mag sich an dieser Stelle vermutlich niemand gefragt haben. Nun, was keiner meiner Leser wissen will, sei hier prompt beantwortet. Im Kern geht es dabei um ein extrem komplexes optisches Inspektionssystem, das wir vor einiger Zeit an einen sehr anspruchsvollen Kunden ausgeliefert haben und das uns seitdem kontinuierlich sehr, sehr gut beschäftigt hält. Immer, wenn wir ein gravierendes “Problem” beseitigt haben, treten aus dessen Schatten zwei neue, nur geringfügig weniger gravierende Probleme hervor. Ich denke, jeder, der mit komplexeren individuellen Entwicklungsprojekten zu tun hat, wird diesen Effekt kennen.

Inzwischen sind wir mit den Problemen an einer Stelle angelangt, wo ich noch vor einem Jahr nicht einmal geglaubt hätte, dort überhaupt eine Stelle vorzufinden. Schon Anfang 2012 hatte ich erstmals über unsere Methode berichtet, mit einer einfachen Kamera Gigapixel-Bilder herzustellen. Inzwischen haben wir dabei einen Grad der Perfektion erreicht, den ich mir damals nicht einmal hätte vorstellen können – allerdings auch nicht, dass es einen Kunden gäbe, der eben diese Perfektion für ganz normal hält. Zuletzt war nun bei der automatisierten Auswertung der zusammengesetzten Bilder aufgefallen, dass gelegentlich die ersten aufgenommenen Bilder heller waren als die letzten. Nicht so, dass man das hätte mit unbewaffnetem Auge erkennen können, aber doch so, dass ein ganz scharf eingestellter Algorithmus sich daran stoßen konnte.


[Das nenne ich saubere Sprünge!]

Auf der Suche nach möglichen Ursachen habe ich mal eben die gesamte Ansteuerelektronik der Beleuchtung neu designt und dabei atemberaubende Verbesserungen der Reproduzierbarkeit in der Einstellung des Stroms für die zur Beleuchtung verwendete 5W LED erreicht. Über Tage hinweg konnte ich den Strom der LED auf 0.5mA reproduzierbar vorgeben – und das bei einem Nennstrom von immerhin 700mA. Allein – der Effekt wollte partout nicht verschwinden. Also machte ich mich auf die Suche nach möglichen Gründen und ließ ein Programm den Zeitverlauf der gemessenen Helligkeit eines speziellen Testszenarios protokollieren während ich verschiedene Stromwerte einstellte. Das Resultat war das obige Bild. Große Helligkeiten begannen mit einem heftigen Überschwinger (overshoot), der erst nach rund 10 Sekunden auf einen stationären Wert abfiel, während Verringerungen der Helligkeit zu einem Unterschwinger (also “undershoot” klingt hier viel weniger blöd) führten, der nach rund 15 Sekunden gegen einen Endwert strebte.

Da der gemessene Strom dabei wie angeklebt konstant war, musste der Effekt wohl von der LED selbst stammen und – ja, hinterher hätte man das natürlich auch vorher schon wissen können – von der Temperatur des LED-Chips abhängen. Ein Versuch mit gezückter Heißluftpistole bestätigte diesen Verdacht umgehend, während er die ebenfalls verdächtigte Kamera weitgehend entlastete. Damit war immerhin schon mal klar, was eigentlich los war. Wirklich hilfreich war diese Erkenntnis indes noch nicht. Mit einer Zeitkonstante von 15 Sekunden war dieser Effekt zu schnell, als dass man ihn mit einer regelmäßigen Rekalibrierung über die Kamera hätte erschlagen können und zu langsam, als dass man einfach hätte auf den stationären Zustand warten können.


[“Sepp, Sepp, sei kein Depp – Die Zukunft ist der Wire-Wrap”]

Nachdem ich mir einige Fachpublikationen zur thermischen Kompensation von LEDs zu Gemüte geführt hatte, stellte ich fest, dass diese sich quasi ausschließlich mit der Kompensation der Umgebungstemperatur, wie sie im Automotive-Bereich wichtig ist, befassten und für meine Anwendung viel zu träge waren. Also musste ich mich wohl auf eine meiner Kernkompetenzen rückbesinnen – das Ausbrüten und Umsetzen wirklich bescheuerter Ideen.

Flugs wurde ein 3mm-Loch in den Zwischenring gebohrt, der die Streuscheibe des LED-Spots trägt und dort eine LED eingesetzt, die in einer nebenberuflichen Beschäftigung als Fotodiode das Streulicht erfassen sollte. Hinter der Fotodiode sorgte ein Instrumentenverstärker, den wir ansonsten für die automatische Kraftkalibrierung verwenden, für ausreichende Spannungspegel und violoncello! schon war ein Lichtstrom-Feedback gebaut. Das Bild weiter oben legt dabei wieder einmal ein beredtes Zeugnis von meinen überragenden mechanischen Fertigkeiten (man beachte die BluTack-Knete an der Fotodiode!) ab. Heute bin ich so weit, dass ich den Lichtstrom der LED-Beleuchtung bequem am angeschlossenen Voltmeter ablesen kann – inklusive dessen temperaturabhängigem Verhalten. Und mit dieser Spannung kann ich nun ganz bequem eine Nachführung programmieren, die den Helligkeitsverlust in Echtzeit kompensiert.

Damit bleibt nur noch das Problem zu lösen, wie ich diesem Regler beibringe, unter keinen wie auch immer gearteten Umständen irgendwelche langsamen Schwingungen zu erzeugen, die das zusammengesetzte Bild sofort mit einem adretten Schachbrettmuster dekorieren würden.

Aber das ist ja nur Software…

/cbx, Kategorie: Aus der Schule - Schöngeistlos

 

Eigener Senf dazu?

  1. The Angry Nerd gab am 29. Januar 2014, 01:17 folgenden Senf dazu:

    Ich kann dass “verdammt, wie zur Hölle, mach’ ich das!” Gefühl beim Nägelkauen sehr, sehr gut nachvollziehen.
    Glückwunsch zur Lösung!

    Was dein Kybernetikproblem angeht erwartest du vermutlich keine Hilfe aus den Kommentaren, oder?
    Falls doch, wären ein paar Parameter nicht verkehrt. Wie stark darf der Lichtstrom denn innerhalb eines Gigapixelbildes global schwanken, wie stark darf er zwischen zwei Adjazenten Bildern schwanken? Welcher zeitliche Abstand liegt zwischen horizontal und vertikal adjazenten Bildern? In welchen Schritten kannst du messen und regeln und mit welchem zeitlichen Abstand?

    Wie viel Zeit könntest du denn freimachen, wenn 15 Sekunden zu viel sind? Evtl. liesse sich eine Kennlinie der Diode ausmessen und man könnte sie kurz kühlen lassen oder zumindest für ein paar Sekunden unter stärkere Last setzen, um das Einschwingverhalten zu dämpfen.

    Ansonsten würde ich versuchen trotzdem eine Kennlinie der LED zu bilden und die mögliche Nachregelung durch den Lichtsensor möglichst klein halten. Evtl. hilft es auch, die Regelung asymmetrisch zu gestalten, so dass die Umkehrung der Regelungsrichtung normalerweise nicht eintritt und der Regelungshub mit der Zeit abnimmt. Idealerweise ist er dann, wenn das System einen quasistatischen Punkt erreicht haben sollte, kleiner als die Toleranz, die der Bildabnehmer verträgt. Das sollte niederfrequente Schwankungen verringern oder zumindest deren Frequenz – im schlimmsten Fall so, dass man sich noch mehr die Haare rauft.

    Ansonsten wäre noch die Frage nach dem eigentlichen Geschäftsgeheimnis, ähh, dem Alogrithmus der die Bilder verarbeitet. Evtl. könnte man hier noch an den Bildern drehen, wenn man die bisherigen Störungen entdeckt und entsprechend rausfiltert.

    Ja, ich kann mir für jeden der Punkte geradezu lebhaft vorstellen, dass du ihn aus guten, teilweise sogar aus welchen, Gründen ausgeschlossen oder schon probiert hast. Und ja, ich kann mir auch sehr gut vorstellen, dass sich dein Lichtstromsensor nicht zwingend wie ein ideales Bauteil verhält…

    Kennlinie…Kennlinie… Lichtstrom als Funktion der Zeit in Abhängigkeit der Temperatur am stabilen Arbeitspunkt…
    Moment, ich rieche hier Differentialgleichungen! Und da ist noch etwas, das riecht fast wie Differentialgleichungen… Ja, genau, die nackte Angst davor!

    hust Ich, ähhh, muss weg…

    /cbx meint dazu:

    Haha, ja danke für Zustimmung und Vorschläge - das deckt sich so ziemlich mit den Plänen, die in meinem Kopf heum geistern. Einen formalen Stabilitätsbeweis für den Regler werde ich wohl nicht brauchen - auch, weil ich zu viele Parameter von Strecke und Sensor (bzw deren Zeit- und Temperaturverhalten) nicht genau kenne. Lästig kann meiner Erfahrung nach nur werden, dass sehr langsame Oszillationen immer mal drin sind und sowohl schwer zu detektieren als auch sehr schwer zu eliminieren sind. Aber das werden die nächsten Tage zeigen.

    Übrigens haben wir natürlich zuvor schon etliche Varianten von algorithmischem Betrug in den Bildern versucht, doch 8 bit haben sehr wenig Dynamik und es gibt immer ein Szenario, wo der Helligkeitsunterschied an der Nahtkante aus dem Objekt kommt und nicht von der Beleuchtung. Wenn man den dann kompensiert - oh Gott.... Deshalb haben ich mich jetzt eben entschieden, das Problem an der Wurzel zu packen und bin noch guter Dinge.

    Ich schreibe mal so: Die Chance, dass sich das Verhalten drastisch verbessert, ist deutlich höher als die, dass es noch schlimmer wird ;-)

  2. Nordlicht gab am 29. Januar 2014, 09:14 folgenden Senf dazu:

    Moin die Herren!

    Habe zwar vom Beitrag nicht alles und vom Kommentar nur die Hälfte verstanden, aber immerhin so viel, daß mir das Problem und der Lösungsweg klar ist. Diese LED hat ja wirklich keine Manieren. Aber den doch recht mühsamen Weg, die Helligkeitsschwankungen zu dokumentieren und auszugleichen, hätte eigentlich der Hersteller schon gehen gehen müssen – finde ich.
    Zur Knete (bei mir nur als Bargeldvokabel im Gebrauch) und zum Bildverständnis: Ist die Knete das Weiße? Links vom (vermtl) Prisma?

    Man gefallen auch die dekorativen Widerstände im Bild ober rechts. Die Komposition gehört schließlich mit zum Ganzen, ist sozusagen das Sahnehäubchen.
    Danke und Gruß aus Hamburg
    N.

    /cbx meint dazu:

    Nun, der Hersteller veröffentlicht sogar Kurven, die den Abfall der Lichtausbeute über die Temperatur dokumentieren. Nur habe ich leider keine Ahnung, wie ich die Temperatur des Halbleiterchips im Gehäuse drin messen soll ;-)

    Die Knete (aka Knetmasse) hast Du richtig erkannt, aber die malerisch an der Peripherie platzierten Widerstände habe ich bis zu Deinem Kommentar nicht einmal wahrgenommen. Ist mir aber sehr stimmig gelungen, muss schon sagen...

  3. The Angry Nerd gab am 29. Januar 2014, 19:19 folgenden Senf dazu:

    @ Nordlicht
    Ich glaube der Hersteller liefert nur eine völlig doofe LED. Und der Hersteller des Kombinats, dass gleichmäßiges Licht liefern soll, ist gerade dabei das zu tun, was er machen soll :D
    Solche Formen der Ausgleichsschaltung sind leider nicht ganz simpel und in 99% der Fälle braucht man sie auch nicht. Wenn man die LED als Beleuchtung im Wohnzimmer nutzen würde, hätten vermutlich die allermeisten Leute Probleme die hier fatale Helligkeitsänderung überhaupt zu bemerken, wenn man ihnen sagt, dass sie drauf achten sollen.
    Eine Kompensationsschaltung würde aber auch hier kosten und natürlich Ressourcen verschwenden…

    @ cbx
    Wenn dir nichts besseres als mir einfällt würde ich mir Sorgen machen :p
    Das Problem mit sehr langsamen Schwankungen kenne ich. Mein lustiges LED-und-Fototransistor-an-Stromzähler-Projekt war da sehr lehrreich. Es hat auch noch einen gravierenden Fehler, an den mich dein Problem erinnert. Meine Regelung funktioniert nämlich nur in einem kleinen Bereich in beide Richtungen, ansonsten funktioniert sie nur in eine Richtung.
    Das scheint mir aber genau das zu sein, was du eigentlich bräuchtest. Die Sprünge in der geforderten Helligkeit und ihre Richtung kennst du ja, danach ist klar, in welche Richtung du regeln musst. (Dass eine einseitige Regelung reichen sollte sieht man ja. Die Helligkeitskurve liegt komplett über oder unter der Asymptote des stabilen Zustands und ist streng monoton fallend oder steigend.)
    Zusätzlich ist auch noch die Ableitung der Funktion der Helligkeit streng monoton fallend. Das heißt je mehr Zeit vergangen ist, desto geringer muss der Regelungshub sein. (Wie war das noch in der Schule? Kurvendiskussion braucht man in seinem ganzen Leben nie wieder?)

    Wenn du nur in eine Richtung regelst und der Regelungshub gleichzeitig über Zeit sinkt, dann sollte aber fast schon ein Stabilitätsbeweis drin sein.

    Das Problem, dass der Lichtstromsensor selbst auch vermutlich eher wirr ist, schlägt sich dann nur noch in den ersten 15 Sekunden nieder, in denen man auf den Arbeitspunkt zusteuert. Danach mag man leicht daneben liegen oder noch sehr langsam dem Bias des Lichtstromsensors nachlaufen, wenn der auf seinen stabilen Zustand zusteuert, aber schwingen sollte nichts mehr. Die Regelung darf ja per Definiton nicht zurück. Ist halt die Frage, ob das gut genug ist. Ich würde aber vermuten, dass die Probleme dann 1-2 Größenordnungen kleiner sind als jetzt.

    Problematischer wird das Ganze, wenn man die Information über die Änderung des angestrebten Arbeitspunktes (“Mach jetzt dunkler/heller”) nicht mehr hat. Aber zumindest eine Steuerspannung am Eingang, die ein Helligkeitsniveau vorgeben sollte, hast du ja.

    Verrätst du am Ende, wie du das gemacht hast und zeigst, wie dein Testzyklus dann aussieht?

    /cbx meint dazu:

    Im Bereich Regelungstechnik bin ich ein großer Freund von Occam's Razor., denn komplexe System neigen zu komplexen Fehlerbildern, während simple Systeme zu komplexen Fehlerbildern neigen ;-)

    Und zu Deinen Fragen und Anregungen dürfte der folgende (heutige) Post einigermaßen erschöpfend Auskunft geben.

  4. Wolfgang gab am 6. Februar 2014, 16:00 folgenden Senf dazu:

    Interesanter Talk! Ich erinnere mich an die Zeit, in der ich in der Vorentwicklung eines dereinst großen Heckleuchtenherstellers an den damals neuen, hellen LEDs saß und wir und bei der Zulassung der Leuchten unauffällig beeilten, damit der Lichtstrom währen der Zulassungsmessungen das geforderte Maß nicht unterschritt… Mehr Strom war zwar heller, aber nach kurzer Zeit war wärmer dann dunkler. Es gab sogar Zustände, bei denen man mit mehr Strom weniger Licht aus der Leuchte holte…

    Ach, Temperaturmessung in der LED… ist die Vorwärtsspannung nicht temperaturabhängig? Nur so ‘ne Idee… ;-)

    /cbx meint dazu:

    Das mit der Vorwärtsspannung habe ich auch schon angedacht - mein kleiner Transistorheizer funktioniert so - und das nicht mal schlecht. Aus dem 900kHz-Spannungssalat, den der Stromregler anrichtet, allerdings die richtige Spannung zu extrahieren ist dann schon wieder eine Aufgabe für sich - noch dazu, wo der Strom ja auch entsprechend aussieht. Und zu allem Überfluss ist dieses 900kHz PWM nochmals mit 1kHz getaktet. Und nur so nebenbei: Wie verändert sich die Temperaturkennlinie (die ich ja dann statisch kompensieren müsste) mit dem Alter?

    Fazit: Gute Idee, aber zur Umsetzung fehlen mir dann wieder Zeit und Ausdauer, wenn die bestehende Lösung good enough ist...

Kommentarfunktion für diesen Artikel geschlossen.