LED-Lagerfeuer

Aus Hobbyelektronik.org
Version vom 23. Dezember 2021, 15:49 Uhr von Chris (Diskussion | Beiträge) (→‎Ergebnis)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mein Vater stellt in der lokalen Dorfkirche jedes Jahr zu Weihnachten die Krippe auf.

Diese wurde um 1920 gebaut und vermutlich stammt ein Teil der verbauten Beleuchtung noch von damals. Durch das Alter und dem Übersommern in einer einfachen freistehenden Garage ist die Installation mittlerweile etwas morsch:

Aus diesem Grund sollte der Aufbau ein bisschen auf Vordermann gebracht werden.

Ausgangssituation

Auf der Haben-Seite steht die Krippe mit 60 Watt Glühobst im Stall und einer vermutlich 5 Watt-Funzel im Hirtenfeuer, die diesem mit einem Pergamentpapier ein rotes Ambiente verpasst.

Beim Soll gibt es hauptsächlich den Punkt "soll nicht abbrennen", zumal sehr viel trockenes Moos und brennbares Material werwendet ist.

Lösung

Aufgrund der niedrigen Spannung und der breiten Verfügbarkeit wird die Versorgung auf USB umgestellt.

Stallbeleuchtung

Im Lager liegt noch ein 10 cm langes COB-LED-Modul herum, das schon seinen Platz auf einem Kühlkörper gefunden hat. Da es mit 12 V versorgt werden muss, kommt noch ein [Reparatur_R&S_CMU200_Hintergrundbeleuchtung#LED-Treiber|Boost-Konverter] davor - mit dem netten Nebeneffekt, dass man die Helligkeit je nach Bedarf einstellen kann.

Hirtenfeuer

Auch hier könnte es im einfachsten Fall ein direkter Ersatz mit einer weißen LED sein - aber das wäre langweilig.

Hardware

Stattdessen sind auf einer Punktraster-Leiterkarte 22 SMD-LEDs gelandet, 6 davon orange, der Rest rot. Alle LEDs sind in Strängen von zwei angeordnet, wobei ein paar Stränge parallel geschaltet sind - aus dem einfachen Grund, dass ich nicht mehr als 8 Kanäle implementieren wollte. Mit jeweils 2 LEDs in Reihe und einem Strom von etwa 7,5 mA kamen jeweils Widerstände mit 160 Ohm in Reihe.

Auf der anderen Seite der Leiterkarte sitzt ein ATtiny44A und eine Bank an BSS138. Zwar hätte der Mikrocontroller die Ketten direkt treiben können, allerdings ist der Strom in Summe über dem, den er abkann. Zusätzlich finden noch Abblockkondensatoren und eine ESD-Diode.

Einen Schaltplan aufgrund der Einfachheit gibt es nicht, alle LEDs (bzw. die zugehörigen Transistoren) sind an PORTA angeschlossen.

Firmware

AVR
Typ ATTiny44A
Takt 8 MHz
Fuses
High 0xDF
Low 0xE2
Extended 0xFF
Engbedded com logo.png Details

Wie programmiert man ein Feuer, das eher ruhig glimmt anstatt lodernde Flamen zu speien?

Mein erster Ansatz war: Zufall. Die Helligkeiten werden in einem festen Zeitraster mit einem zufälligen Wert beschrieben. Nicht so richtig schlecht, aber eben auch nicht so richtig gut.

Da die Firmware eh ein Aufguss von Anykey x6 ist, kommt die Fading-"Engine" dazu, für die die Dauer ebenfalls zufällig gewählt wird.

Die main-Funktion sieht dann wie folgt aus:

int main(void)
{
    wdt_enable(WDTO_1S);
    leddrv_init();
    fader_init();
    uint16_t postscale = 0;
    //pwm: ca. 469 Hz
    while (1) 
    {
        bool update = leddrv_poll();

        if(update == true)
        {
            postscale++;
            if(postscale == 1000)
            {
                //ca. 69 Hz. (nice)
                fader_tick();
                postscale = 0;
                for(uint8_t i = 0; i < 8; i++)
                {
                    if(fader_running(i) == false)
                    {
                        wdt_reset();
                        uint8_t d = rand() & 0x4F;
                        uint8_t b = rand();
                        fader_set(i, b, d);
                    }
                }
                wdt_reset();
            }
        }
    }
}

Die Zeiten in den Kommentaren sind eher Richtwerte, da der interne Oszillator nicht unbedingt genau ist.

Ergebnis

Das Ergebnis kann sich durchaus sehen lassen. Als Beispiel habe ich einfach mal zwei Clips aufgenommen:

In den Videos kann man den Unterschied zwischen roten und orangenen LEDs kaum unterscheiden, was auch - aber nicht nur - an der Farbunterabtastung der Aufnahme liegt. Der andere Grund: Die beiden Farben liegen bei den verwendeten Farben recht nah beieinander. Im Nachhinein hätte ich wohl eher einen Mix von 50:50 verwenden sollen.

Eingebaut in das Lagerfeuer und ein bisschen Füllwatte für Kissen sieht das Lagerfeuer nun wie folgt aus:

Sternenhimmel

Eher in einem Nebensatz erwähnte mein Vater (vielleicht auch da es eine andere Krippe in Familienbesitz hat), ob nicht ein Sternenhimmel ganz schön wäre.

Nach dem obligatorisch-schwäbischen "wozu denn, gab's bis jetzt doch auch nicht", ging der Klick doch auf eBay. Das Lieferversprechen wurde gehalten und so konnte ich zwei Tage später (und einen Tag vor dem Aufbau) eine Drahtlichterkette mit 100 LEDs in den Händen halten. Mit einem auf ca. 10 mA eingestellten Mini-LED-Treiber sind die Leuchtdioden so hell, dass sie auch bei Umgebungslicht noch gut zu erkennen sind, aber die Umgebung nicht ausleuchten. Immer wieder erstaunlich, wie viel Licht bei nur 100 µA pro LED rauskommt.

Alles zusammen

Draußen ist kalt, bei der Hütte in der die Krippe steht gibt es keinen Strom (damit man den Lötkolben auspacken könnte) und gleichzeitig möchte ich nicht unnötig lange in der Kirche herumstehen - nicht nur, weil es die Arbeit der anderen verzögert. Deshalb soll alles "ready to use" sein.

An den Enden der Stallbeleuchtung ist jeweils großzügig Schrumpfschlauch aufgezogen, gleiches beim Booster desselben - die "Schlapse" machen Bekanntschaft mit der Lochzange. Zack feddich: Montagelöcher. Am Booster ist zudem der Schraubenkopf des Poti freigeschnitten, damit die Helligkeit einfach eingestellt werden kann.

Für das Lagerfeuer gibt es ca. 50 cm Leitung und den Versuch mit Dupont-Steckern einen Verpolschutz einzubauen. Im Nachhinein wäre vermutlich cleverer gewesen, Masse auf einen Stift und Versorgung auf die Buchse auf der einen Seite und entsprechend andersrum auf die andere Seite zu legen, aber mit angucken sollte auch das zu Schaffen sein. Den gleichen Konnektor gibt es für die Sterne.

Da ich mehr generische 5 V- als USB-Netzteile herumliegen habe und sowieso eine USB-Verlängerung aufschneiden muss, wird der Hohlstecker geopfert und das weibliche Ende der Verlängerung angelötet. Um einem Herausrutschen und Ratlosigkeit entgegenzuwirken, lassen sich die USB-Stecker mit aufgeklebtem Klettband miteinander befestigen. Um den Fummelfaktor zu verringern, ist auf dem "oberen" Teil zusätzlich ein Stück Kabelbinder aufgeklebt.

Wenn ich mal die Gelegenheit habe, kommen noch ein paar Fotos des vollen Assembles.

Download