Borg3d Bauanleitung: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Zeile 3: Zeile 3:
== Prinzipien ==
== Prinzipien ==


Um die 8 x 8 x 8 LEDs einzeln ansteuern zu greifen wir auf eine Matrixanzeigetechnik zurück. Das heisst konkret, dass zu jedem Zeitpunkt nur einer der 8 Ebenen aktiv ist und 64 Leitnugen die einzelnen LED 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.


Als Mikrocontroller verwenden wir bei unseren Projekten bevorzugt einen Atmel ATMega32 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, 32 oder 64 Kilobyte Flash-Speicher für das Programm und einer Hand voll IO Komponenten wie z.B. einer Serielle Schnittstelle oder Analog-Digital Konvertern.
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, 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, Analog-Digital Konvertern  


Diese Mikrokontroller bieten insgesammt 32 frei programmierbare Ein-/Ausgabepinne die wir benutzen  
Diese Mikrokontroller bieten insgesammt 32 frei programmierbare Ein-/Ausgabepinne die wir benutzen  
Zeile 14: Zeile 14:
Strategien:
Strategien:


Für die 8 Ebenenansteuerungen benutzen wir ein Schieberegister: Zu jedem Zeitpunkt soll nur eine Ebene aktiviert sein, und die Ebenen sollen der Reihen nach angesteuert werden.
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 wollen wir dagegen möglichst schnell setzen können -- um bei einem Ebenenwechsel
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.
ohne grossen Zeitverlust


==Bauteilliste für die Steuerung==
==Bauteilliste für die Steuerung==

Version vom 5. Januar 2008, 02:48 Uhr

Achtung! Dies ist eine Baustelle!

Prinzipien

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.

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, 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, Analog-Digital Konvertern

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.

Programmierung über LPT
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