Assembler-Programm für ATtiny13 mit Board AT13
AVR-STUDIO 4.15
Der Nachbar hatte zwei Saunaleuchten gekauft, die er unter der Decke anbrachte. Leider verformten sich die Lampenhüllen infolge der Hitze. Reklamation war nicht mehr möglich, so schenkte er sie mir. Auch waren die Leuchten von Spezialisten unseres Fachs entwickelt worden, der Controller merkte sich nicht die gewünschte Lichteinstellung. Jedesmal hatte man ein Knöpfchen zu drücken, bis der gewünschte Lichteffekt erschien. Die Lichteffekte waren primitiv. Die Hardware war mit vorsintflutlichen Bauelementen (je zwei npn-Transistoren plus Widerstände pro Endstufe) bestückt, sodaß nur die enthaltene Vierfarb-LED-Platine (RGBY) interessant war. Diese war 2010 noch nicht ganz billig.
So wurde eine neue Hardware und Software fällig, um die LEDs wieder zum Leuchten zu bringen.
Sobald Betriebsspannung anliegt, wird weisses Licht eingeschaltet. Auf Knopfdruck (PB4) kann der Lichtmode gewechselt werden. Der jeweils letzte Mode wird in EEPROM gespeichert und startet beim nächsten Einschalten automatisch.
Bilder: Ansichten von vorn und von hinten. Der Mikrotaster ist an PB4 gegen GND eingelötet. Die LED-Platine ist zusammen mit dem Controller eingeschrumpft. Links sind das 12-Volt Kabel und der Drucktaster zu erkennen. Mittig liegen die vier SMD-PowerMOS-Transistoren, rechts in der Ecke des Controllers der SMD-Spannungsregler für 5 Volt. Im unteren Bild übersteuern die LEDs die Kamera und erscheinen weiß.
Die Moden werden über den Taster an PB4 durchgeschaltet.
Knopfdruck Mode 0x statisch weiss 1x statisch blau 2x statisch blau/gruen 3x statisch grün 4x statisch rot/gelb/grün (warmweiss) 5x statisch gelb 6x statisch rot/gelb 7x statisch rot 8x statisch rot/blau (violett) 9x Lauflicht 10x Surfing (PWM, gleitende Farben, eine LED immer hell) 11x Kamin (PWM, Zufall) 12x Moving (PWM, gleitende Farben, eine LED immer dunkel) 13x TVing Television-Effekt (Zufall mit abrupten Änderungen) 14x Walklight (hell, inverse Farben)
Es fand ein ATtiny13 auf dem Board AT13 Verwendung. Zur Ansteuerung der LEDs (12 Volt) an PB0...3 werden SMD-PowerMOS-Transistoren (n-chl.) eingelötet (TSM3400: 30 Volt, 13 Ampere, 35 mOhm oder IRLML2502: 20 Volt, 33 Ampere, 35 mOhm). Die Widerstandspositionen R1 bis R4 auf dem AT13-Board sind überbrückt (0 Ohm), weil sich die Widerstände schon auf der LED-Platine befinden. Für die 5-Volt Versorgung des Prozessors wird ein SMD-Spannungsregler bzw. einer im TO92-Gehäuse auf Position JP1 in das Board eingelötet, siehe Schaltplan. Nach außen gehen nur die 12V-Buchse und der Taster (SW1). Blick in den Schaltplan
Zum Betrieb ist ein Steckernetzteil 12 Volt, 500 mA erforderlich.
Das Assemblerprogramm ist strukturiert geschrieben und in Unterprogramme (UP) aufgeteilt. Der Prozessor arbeitet mit internem RC-Oszillator auf 9,6 MHz. Alle vier Ausgänge werden per Soft-PWM angesteuert. Bei den Moden 10 und 12 wurde Wert auf dezente Farben gelegt. Blick in den Code
In die LED-Platine konnte ein zum AT13-Board passender Stecker eingelötet werden, sodaß AT13 und LED-PCB eine Einheit bilden. Diese Einheit wurde in einem durchsichtigen Schrumpfschlauch fixiert. Taste und 12V-Buchse sind über Kabel herausgeführt. Die Einheit wird mit doppelseitigen Schaumklebenpads fixiert.
Beide LED-Ketten arbeiten abendlich seit nunmehr 12 Jahren ohne Beanstandung. Der Mode (10 oder 12) wurde anfangs einmalig eingestellt und kaum verändert. Es scheint für die Augen sehr entspannend zu sein, wenn der TV-Hintergrund allmählich von einer zarten Farbe zur nächsten wechselt.
Für den Urlaub ist Mode 13 geeignet. Wird das TV-Licht über eine Zeitschaltuhr geschaltet, so imitiert dieser Mode einen laufenden Fernseher mit kontinuierlichen und abrupten Wechseln von Farbe und Helligkeit.
Sourcecode (vierfarb.asm), Hexfile (vierfarb.hex), Schaltung und Beschreibung im ZIP-File
Kommentare, Hinweise oder Tips bitte an info@gheinz.de