Borg3d Bauanleitung
Achtung! Dies ist eine Baustelle!
Das Prinzip
Um die 8 x 8 x 8 LEDs einzeln anzusteuern greifen wir auf eine Matrixschaltung zurück, wobei es sich elektrisch gesehen bei dem Borg3d um eine 8 x 64 Anzeigematrix handelt. Das heisst konkret, dass zu jedem Zeitpunkt nur eine der 8 Ebenen aktiv ist, und 64 Leitungen die LEDs dieser Ebene individuell ansteuern können. In schneller Folge werden die 8 Ebenen aktiviert, jeweils das gewünschte Anzeigemuster auf die 64 LEDs gebracht. Nur Trägheit des menschlichen Auges lässt den Eindruck entstehen, dass LEDs unterschiedlichen Ebenen gleichzeitig aktiviert sind.
Die Darstellung unterschiedlicher Helligkeitsstufen wird dadurch erreicht, dass die entsprechende LED nicht in jedem Zyklus aktiviert wird. Wird eine LED z.B. nur bei jedem zweiten Durchlauf angesteuert, so wird sie, gemittelt über mehrere Zyklen, nur halb so viel elektrische Energie in Licht umsetzen wie eine, die bei jedem Durchlauf aktiviert ist -- also dunkler erscheinen. Allerdings ist die menschliche Helligkeitswahrnehmung nicht proportional zur Energie des Lichtstroms, den die LEDs emittieren -- auf diesen Zusammenhang werden wir später bei der Beschreibung der Software zurückkommen.
Die Hardware der Steuerplatinen
Als Mikrocontroller verwenden wir bei unseren Projekten bevorzugt einen Atmel ATMega32 oder ATMega644, dies sind die z.Z. grössten von Atmel verfügbaren Mikrocontroller im Lochrasterplatinen-freundlichem Dual-Inline-Package. Diese Mikrochips mit 40 Pins sind vollständige Computer mit einer 8 Bit RISC CPU, einigen Kilobyte RAM und 32 oder 64 Kilobyte Flash-Speicher für das Programm. Daneben haben sie sie eine Hand voll IO Komponenten wie z.B. eine serielle Schnittstelle oder Analog-Digital Konverter.
Diese Mikrokontroller bieten insgesammt 32 frei programmierbare Ein-/Ausgabepinne die wir benutzen um die oben erwähnten 8+64 Leitungen zu steuern. Wie steuert man mit 32 verfügbaren IO-Pins 72 Leitungen? Hier verwenden wir zwei unterschiedliche Strategien:
Für die 8 Ebenenansteuerungen benutzen wir ein 8-Bit-Schieberegister: Zu jedem Zeitpunkt soll nur eine Ebene aktiviert sein, und die Ebenen sollen der Reihen nach angesteuert werden. Dazu schieben wir eine 1 in den Eingang im ertsne Zyklus. In den kommenden 7 Zyklen schieben wir jeweils eine Null und lassen die 1 so durch das Schieberegister wandern. An den 8 Ausgängen sind MOS Fets als Leistungstreiber geschaltet, die jeweil
Die 64 Leitungen für die Spalten müssen dagegen wahlfrei möglichst schnell gesetzt werden. Wir benutzen 8 8-Bit breite FlipFlop Bausteine, deren Eingänge direkt mit 8 I/O-Pins unseres Mikrokontrollers verbunden sind. Der Mikrokontroller legt also die gewünschte Aktivität der ersten 8 von 64 LEDs auf seinen IO-Port und aktiviert das erste 8-fach FlipFlop; legt die Aktivität der nächsten 8 LEDs auf sienen IO-Port aktiviert das zweite 8-fach FlipFlop; usw. bis zum achten.
Bauteilliste für die Steuerung
Die Steurung besteht aus 2 Platinen: Eine mit dem Microcontroller und der Ebenenansteuerung, und eine Zweite mit den D-Flipflops für die Säulenansteuerung.
Bauteile für die Platinen
Anzahl | Beschreibung | Reichelt Bestell Code | Kosten |
---|---|---|---|
1 | ATmega 32 Microcontroller | ATMEGA 32-16 DIP | 3,10 |
1 | Sockel für Controller | GS 40P | 0,46 |
1 | Quarz 16MHz | 16,0000-HC49U-S | 0,24 |
1 | LED 5mm grün low current | LED 5MM 2MA GN | 0,092 |
2 | Lochraster Platine 160x100 | H25PR160 | 3,60 |
1 | Widerstand 1,5 k Ohm | 1/4W 1,5K | 0,10 |
1 | Taster | TASTER 3301B | 0,082 |
3 | Wannenstecker, 10-polig | WSL 10G | 0,216 |
4 | 36pol. Stiftleiste, gerade, RM 2,54 | SL 1X36G 2,54 | 0,68 |
15 | 10pol. Buchsenleiste, gerade, RM 2,54 | BL 1X10G8 2,54 | 3,39 |
1 | Buchse für Netzteil | HEBW 25 | 0,20 |
1 | Diode | 1N4004 | 0,02 |
12 | Kondensator 100nF | KERKO 100N | 0,86 |
2 | kondensator 27pF | KERKO 27P | 0,082 |
2 | Elko 470µF/16V | RAD 470/16 | 0,11 |
8 | Mosfet Transistor | BUZ11 | 3,34 |
2 | Schieberegister | 74HC164 | 0,30 |
8 | 8 fach D-Flipflop | 74HCT574 | 1,60 |
2 | Sockel für Schieberegister | GS 14P | 0,34 |
8 | Sockel D-Flipflops | GS 20P | 1,89 |
2 | Pfostenbuchse, 10-polig | PFL 10 | 0,18 |
100 | Widerstände 39 Ohm | 1/4W 39 | 1,90 |
--- |
LPT Programmier-Kabel
Mit diesem Kabel kann das Board über den Parallelport eines PCs programmiert werden.
Anzahl | Beschreibung | Reichelt Bestell Code | Kosten |
---|---|---|---|
10 | Widerstände 330 Ohm | 1/4W 330 | 0,33 |
1 | Sub D Stecker 25 pol | D-SUB ST 25 | 0,10 |
1 | Kappe für Stecker | KAPPE CG25G | 0,13 |
1 | Pfostenbuchse, 10-polig | PFL 10 | 0,09 |
1 | Flachbandkabel AWG28, 10-pol., grau, 3m-Ring | AWG 28-10G 3M | 1,85 |
2,50 |
LEDs
Diese kann man nehmen z.B.
Anzahl | Beschreibung | Reichelt Bestell Code | Kosten |
---|---|---|---|
540 | 5mm LEDs Kingbright grün | LED 5MM 2MA GN | 49,68 |
Zusätzlich
Anzahl | Beschreibung | Reichelt Bestell Code | Kosten |
---|---|---|---|
1 | Steckerschaltnetzteil | SNT 2500 | 10,95 |
1 | Versilberter Draht 0.8mm für Platinen, 7m | SILBER 0,8MM | 1,80 |