Borg3d Bauanleitung: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
'''Achtung! Dies ist eine Baustelle!''' | '''Achtung! Dies ist eine Baustelle!''' | ||
== | == Das Prinzip == | ||
Um die 8 x 8 x 8 LEDs einzeln anzusteuern greifen wir auf eine Matrixschaltung zurück. Das heisst konkret, dass zu jedem Zeitpunkt nur eine der 8 Ebenen aktiv ist und 64 Leitungen die einzelnen LEDs in einer Ebene individuell ansteuern können. Elektrisch gesehen handelt es ich bei dem Bord3d also um eine 8 x 64 Anzeigematrix. | Um die 8 x 8 x 8 LEDs einzeln anzusteuern greifen wir auf eine Matrixschaltung zurück. Das heisst konkret, dass zu jedem Zeitpunkt nur eine der 8 Ebenen aktiv ist und 64 Leitungen die einzelnen LEDs in einer Ebene individuell ansteuern können. Elektrisch gesehen handelt es ich bei dem Bord3d also um eine 8 x 64 Anzeigematrix. | ||
== Die Hardware der Steuerplatinen == | |||
Als Mikrocontroller verwenden wir bei unseren Projekten bevorzugt einen Atmel ATMega32 oder ATMega644, dies sind die | 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 einigen Kilobyte RAM | 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 | Diese Mikrokontroller bieten insgesammt 32 frei programmierbare Ein-/Ausgabepinne die wir benutzen | ||
um die oben erwähnten 8 + 64 Leitungen zu steuern. | 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: | ||
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 | 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 |
Version vom 5. Januar 2008, 13:51 Uhr
Achtung! Dies ist eine Baustelle!
Das Prinzip
Um die 8 x 8 x 8 LEDs einzeln anzusteuern greifen wir auf eine Matrixschaltung zurück. Das heisst konkret, dass zu jedem Zeitpunkt nur eine der 8 Ebenen aktiv ist und 64 Leitungen die einzelnen LEDs in einer Ebene individuell ansteuern können. Elektrisch gesehen handelt es ich bei dem Bord3d also um eine 8 x 64 Anzeigematrix.
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 Latches, deren Datenleitungen 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 Latch; legt die Aktivität der nächsten 8 LEDs auf sienen IO-Port aktiviert das zweite Latch... 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 |
keine Ahnung |
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 |