nach oben

Kaminsimulation mit fünf LEDs

Assembler-Programm für ATtiny13, Board AT13
AVR-Studio 4.15; 18.12.2009

Motivation

Eine gute Freundin des Hauses hatte Ordnung geschaffen. Dabei fand sich ein kleiner Kamin. Ich mag alte Kunst, die Proportionen und Emotionen ausdrückt. Sie schenkte ihn mir. Natürlich mußte der Kamin restauriert und von innnen beleuchtet werden. Dazu wurden fünf verschiedenfarbige LEDs auf eine Lochrasterplatine gelötet und von unten in den Kamin geschraubt. Nun waren nur noch Soft- und Hardware des Controllers zu entwickeln: Wochenende gerettet! Mit den fünf LEDs soll das Glimmen und gelegentliche Aufflackern des Holzes simuliert werden.

Funktion

Ausgabe von 5 Zeitfunktionen a 256 Schritten als Pulsweitenmodulation für fünf LEDs an PB0-4. Eine Funktionsumschaltung ist nicht vorgesehen. Er knistert lautlos vor sich hin. Zwei rote, zwei gelbe und eine weiße LED leuchten von unten in einen Holzstapel, der dezent mit Watte gefüllt ist.


a)
b)

Bilder: a) in Funktion, b) Sicht auf die LEDs bei herausgenommenem Holz/Watte-Stapel


Hardware

Es fand ein ATtiny13 auf dem Board AT13 Verwendung. Zur Spannungsversorgung findet ein kleines USB-Netzteil (5 Volt, >100 mA) Verwendung. Dazu ist am Betriebsspannungskabel ein USB-Stecker angelötet.

An die fünf freien Pins PB0...4 des ATtiny13 sind fünf LEDs angeschlossen. Jede von ihnen wird über PWM angesteuert. Bleibt man unter 20 mA, könnte man die LEDs über Vorwiderstände (>180 Ohm) direkt anschließen. Beim Kamin sind sie invertiert über fünf n-chl. SMD-Transistoren BSS123 (geeigneter wären wohl BSS138, NDS355 o.ä.) und fünf Widerstände mit 150 Ohm angeschlossen. Das AT13-Board befindet sich in einem transparenten Schrumpfschlauch.

Schaltplan und Leiterplatte des Boards AT13. Notwendig zu bestücken sind die Bauelemente IC1, C1, C2, Q1...Q5, R1...R5. Die gemeinsame Anode aller fünf LEDs liegt an VCC (5 Volt).

  Pinout 8-PDIP/SOIC:     
                     --------
     /RESET, PB5    |1  `´  8| VCC
             PB3    |2      7| PB2
             PB4    |3      6| PB1
             GND    |4      5| PB0
                     --------
  Ports:  
      Port    Farbe    R1...5 in Ohm
      PB0:    gelb1    150
      PB1:    rot1     150
      PB2:    weiss    150
      PB3:    rot2     150
      PB4:    gelb2    150


Bild: Kamin-Ansicht von unten. Man erkennt unter dem AT13-Controller die Lochrasterplatte, in die die fünf LEDs eingelötet sind. Sie ist mit zwei Schrauben von unten im Kamin befestigt.


Software

Das Assemblerprogramm ist strukturiert geschrieben und in Unterprogramme (UP) aufgeteilt. Der Prozessor arbeitet mit internem RC-Oszillator auf 9,6 MHz. Alle fünf Ausgänge werden per Soft-PWM gesteuert. Werden n-chl. Transistoren als Puffer benutzt, so können auch nachträglich Programmergänzungen oder Korrekturen erfolgen. Ohne Transistoren sind die LEDs über einen Steckverbinder anzuschließen, der beim Hochladen abgezogen werden kann. Blick in den Code


Erprobung

Der Kamin leuchtet abendlich oft seit nunmehr 13 Jahren. Es entspannt, ab und an hinzuschauen.


Download

Sourcecode (kamin.asm), Hexfile (kamin.hex) und Bilder im ZIP-File



Kommentare, Hinweise oder Tips bitte an info@gheinz.de