1. Einleitung
Der UeberPixel ist ein LED-Matrix-Board mit vielen
Optionen auf der Basis eines ATMEGA328 mit
Arduino-Bootloader und MAX7219-LED-Treibern.
Die Platine gibt es in schwarzer und weißer Ausführung,
sie sind identisch.
Achtung! Manche Lötpunkte der Platine sind mit der Ground-Plane
verbunden, einer großen Kupferfüllung, die alle GND-Punkte miteinander
verbindet. Diese Füllung zieht die Hitze des Lötkolbens
sehr schnell ab und daher brauchen die Lötpunkte deutlich mehr Hitze als die andern.
Man erkennt sie daran, daß sie scheinbar das Lötzinn nicht annehmen wollen (und muß
dann das Lötauge auf der Platine länger erhitzen). Wer genau hinsieht, erkennt
diese Löche an dem sternförmigen Relief auf der Platine.
2. Die LEDs
2.1 Layout
Auf dem UeberPixel kann man entweder normale (zweibeinige)
oder Superflux-LEDs verwenden. Bei den normalen LEDs
gehört die Kathode nach oben, bei den Superflux-LEDs
die abgeschrägte Ecke nach oben rechts.
2.2 Konzentration
Die LEDs einzulöten kann eine ermüdende Arbeit sein.
Aber gerade hier muß man hochkonzentriert bei der
Sache bleiben. LEDs später wieder
auszulöten ist schwierig und macht keinen Spaß.
2.3 Sauber Stecken
Die LEDs müssen plan an der Platine liegen, wenn sie
angelötet werden, sonst strahlen sie später nicht
im rechten Winkel zur Platine ab. Bei Superflux-LEDs
ist das kein Problem.
2.4 LEDs fixieren
Da die Platine vom UeberPixel ziemlich groß ist,
verhindert man mit etwas hitzebeständigem Klebeband
das Herausfallen der Teile.
2.5 Massenarbeit
Natürlich kann man auch mehrere LEDs abkleben und dann
in einem Schwung anlöten.
2.6 Fertige Matrix
Die fertige LED-Matrix. Einen Großteil der Lötarbeit ahben wir hinter uns.
3. Die Stromversorgung
3.1 Layout
Die Stromversorgung hat zwei getrennte Stränge für
5 Volt und 3,3 Volt.
C10, C11, C21 und C22 sind Elektrolyt-Kondensatoren
mit 100 μF.
C9 und C23 sind Kondensatoren mit 100 nF.
U1 ist der Spannungsregler für 5 Volt (LM 2940 CT5).
U2 ist der Spannungsregler für 3,3 Volt (LM 2937 ET3,3).
3.2 Optionale LEDs
Optional kann man sich mit R1, R2 (je 1 k) und LED 5V bzw.
LED 3.3V anzeigen lassen, ob Spannung anliegt. Mit den
zwei Jumpern (J1, J2) kann man die LEDs bei Bedarf auch
wieder abschalten.
3.3 Jumper
Mit den Jumpern enable 3.3V
und enable 5V
wird die Spannung auf den Bus geschaltet, der um die Platine
herum läuft. Hier kann man die Stromversorgung abschalten,
wenn man das Board z.B. über USB versorgt.
4. Der Mikrocontroller
4.1 Bestückung
Für den Mikrocontroller bestücken wir C20, C24 und
C25 mit 100 nF.
R3 mit 10 k zieht die Reset-Leitung auf Vcc.
R12 und R13 mit je 4,7 k ziehen die I2C-Leitungen
(SDA/SCL) auf Vcc.
4.2 Schwingkreis
Für den Schwingkreis (XTAL1) kann man entweder
einen 16 MHz-Resonator in die drei Löcher
löten, oder zu einem 16 MHz-Quarz noch zwei
22 pF-Kondensatoren löten (C12 und C13).
Ein sechspoliger Pinheader für den FTDI-Stecker,
ein taktiler Taster und die Fassung für den ATMEGA328
runden diesen Schritt ab.
4.3 FTDI-Header
Zum Testen schließt man ein FTDI-Kabel an (schwarze
Leitung nach rechts, beim USB-BUB Gnd nach rechts)...
4.4 Testen
... und spielt probehalber mit der Arduino-IDE
einen Sketch auf.
5. Die LED-Treiber
5.1 Die Kondensatoren
C1, C2, C3 und C4 habe je 100 nF.
C5, C6, C7 und C8 sind Elektrolyt-Kondensatoren mit 10 μF.
5.2 Die iSet-Widerstände
Die 4 Widerstände iSet
berechnen sich aus dem Datenblatt
für den MAX7219 und den verwendeten LEDs. Man kann dafür
keine generellen Werte angeben.
5.3 Die MAX7219
Vier Sockel für die MAX7219-Chips schließen diesen Schritt ab.
Man beachte, daß die MAX7219 jeweils 180° gegeneinander
verdreht sind.
6. Die Taster
Die Widerstände bei den Tastern (R8-R11) werden mit
je 10 k bestückt.
Über die Pinheadern links von den Tastern kann man
die Taster aus einem Gehäuse führen.
Diese finden sich auf der linken Seite der
Platine (links vom Monster) als S1-S4 wieder.
7. Die Status-LEDs
Die Status-LEDs für die digitalen Ausgänge D10, D11
und D12 des ATMEGA328 werden mit einer grünen LED für
D10, gelben LED für D11 und roten LED für D12
bestückt. Sie bekommen aufrecht stehend je einen
1 k-Widerstand. Über die Jumper bei den Bezeichnungen
kann man die LEDs bei Bedarf ein- oder ausschalten.
Bei der Default-Firmware
haben die
LEDs die folgende Bedeutung: die grüne LED zeigt das
SQW-Signal der Echtzeituhr an. Wenn sie im Sekundentakt
blinkt, läuft die Echtzeituhr.
Die gelbe LED zeigt das Signal das DCF77-Empfängers
an. Sie muß im Sekundentakt (aber mit kürzeren
Anzeiten) blinken, dann ist das Signal gut. Flackert
sie, ist das Signal gestört. Leuchtet sie durchgehend,
ist kein Empfänger angeschlossen.
Die rote LED kann man verwenden, wie man möchte -
sie hat in der Default-Firmware
keine
Bedeutung.
8. Die Echtzeituhr
8.1 Bestückung
Die Echtzeituhr benötigt den Uhrenquarz (XTAL2), welcher
sauber mit dem Gehäuse auf die Groundplane gelötet sein muß.
C28 mit 100 nF ist ein Entstörkondensator, R14 mit 4,7 k zieht die SQW-Leitung
nach Vcc.
Video Lötkurs Uhrenquarz
8.2 Ladeschaltung
Möchte man die Echtzeituhr puffern, also erreichen, daß die Zeit auch ohne
Stromversorgung erhalten bleibt, hat man zwei Möglichkeiten.
Entweder man lötet eine Knopfzellenhalterung an BAT+ und BAT-.
Oder man verwendet einen Goldcap (Superkondensator), dann muß man
sich um den Batteriewechsel (der ca. alle 9 Jahre anstehen würde) nicht
mehr kümmern. Dazu kommt der Goldcap (0,47 mF, 5,5 V) nach GC+ und GC-;
R27 wird mit 4,7 k bestückt; R28 mit 820 Ohm und D15-D18 mit 1N4148-Dioden.
8.3 Testen
Mit dem entsprechenden Sketch sollte zum Testen die grüne LED im
Sekundentackt der SQW-Leitung blinken.
9. Der DCF77-Empfänger
9.1 Achtung!
Achtung! Verwenden Sie auch für den Empfänger von Pollin
die generische Anschlußleiste für DCF77-Empfänger.
9.2 Empfängerauswahl und Anschluß
Da die DCF77-Empfänger der verschiedenen Anbieter variieren,
gibt es viele Optionen rund um den Empfänger.
Ich habe hier einen von Pollin genommen.
Links vom Empfänger kann man sowohl 5 Volt wie auch 3,3 Volt
abgreifen (und mit 100 nF-Kondensatoren entstören).
Außerdem kann man einen Transistorschaltung zur Verstärkung
aufbauen.
Am Ende muß das Signal links von der Transistor-Schaltung
auf D9 landen!
9.3 Testen
Mit dem entsprechenden Sketch sollte zum Testen die gelbe LED im
Sekundentackt des Empfangs blinken (die meisten Empfänger
benötigen eine Weile bis sie sich eingeregelt haben).
10. Der lichtabhängige Widerstand
10.1 Spannungsteiler
Der LDR bildet mit R26 (ca. 10 k) einen
Spannungsteiler und kann mit dem Jumper
enable LDR
ein- oder ausgeschaltet
werden.
10.2 Pinheader
Da er normalerweise im Gehäuse sitzt,
kann man auf LDR einen Pinheader löten.
11. Testbetrieb
Zum Testen kann man unter den oben genannten
Links die Firmware herunterladen
und Aufspielen. Dazu muß in der Datei
Configuration.h
die Zeile
#define LED_DRIVER_DEFAULT
auskommentiert und die Zeile
// #define LED_DRIVER_UEBERPIXEL
einkommentiert werden. Mit den Tasten
S4 (Mode), S3 (H+) und S2 (M+) kann die Uhr
dann bedient werden.
Wie geht es weiter?
Im Diskussionsforum findet man in der Galerie
Beispielanwendungen für den UeberPixel.
Dort wird einem auch geholfen, wenn man bei dem
Aufbau oder der Inbetriebnahme Probleme hat.
Bezugsquellen für diverse gefräste Gehäuse finden sich
dort auch, ebenso
Hinweise über den Bezug der Frontplatte.
zum Diskussionsforum
Es gibt auch eine Anleitung, wie man eine Infrarot-Fernbedienung
an die Platine anschließen kann.
zur Anleitung
Stückliste
Name |
Art |
Quelle |
Stromversorgung |
|
Hohlstecker; 2,1 mm |
Reichelt |
C10, C11, C21, C22 |
Elektrolytkondensator; 100 μF |
Reichelt |
C9, C23 |
Kondensator; 100 nF |
Reichelt |
R1, R2 |
Widerstand; 1 kOhm |
Reichelt |
LED 3.3V, LED 5V |
LED; rot; 5 mm |
Reichelt |
U1 |
Spannungsregler; 5V |
Reichelt |
U2 |
Spannungsregler; 3,3V |
Reichelt |
Taster |
R8-R11 |
Widerstand; 10 kOhm |
Reichelt |
S1-S4 |
Kurzhubtaster |
Reichelt |
Status-LEDs |
|
Widerstand; 1 kOhm |
Reichelt |
D12 |
LED; rot; 5 mm |
Reichelt |
D11 |
LED; gelb; 5 mm |
Reichelt |
D10 |
LED; grün; 5 mm |
Reichelt |
LDR |
LDR |
Lichtabhängiger Widerstand; 10 kOhm |
Reichelt |
R26 |
Widerstand; 10 kOhm |
Reichelt |
Echtzeituhr |
XTAL2 |
Uhrenquarz; 32,768 kHz; 12,5 pF |
Reichelt |
|
Echtzeituhr; DS1307 |
Reichelt |
C28 |
Kondensator; 100 nF |
Reichelt |
R14, R27 |
Widerstand; 4,7 kOhm |
Reichelt |
R28 |
Widerstand; 820 Ohm |
Reichelt |
D15-D18 |
Diode 1N4148 |
Reichelt |
GC |
Gold-Cap; 47.000 μF; 5,5 V |
Reichelt |
Mikrocontroller |
|
Mikrocontroller; ATMEGA328-PU |
|
C20, C24, C25 |
Kondensator; 100 nF |
Reichelt |
XTAL1 |
Resonator; 16 MHz |
|
R12, R13 |
Widerstand; 4,7 kOhm |
Reichelt |
R3 |
Widerstand; 10 kOhm |
Reichelt |
RESET |
Kurzhubtaster |
Reichelt |
LED-Treiber |
|
MAX7219 |
Reichelt |
C1-C4 |
Kondensator; 100 nF |
Reichelt |
C5-C8 |
Elektrolytkondensator; 10 μF |
Reichelt |
Beispiel-LEDs |
|
Cree 5 mm |
|
Warnung!
Dieser Widerstand ist nur für die oben genannten LEDs gültig.
Für andere LEDs muß er anhand der Datenblätter für die LEDs und des MAX7219 neu berechnet werden!
|
iSet |
Widerstand; 23,7 kOhm |
Reichelt |
Optionale Bauteile |
|
Stiftleisten |
Reichelt |
|
Buchsenleisten |
Reichelt |
|
Kurzschlußbrücken |
Reichelt |
|
DCF77-Empfänger |
Pollin |
Programmierung des Mikrocontrollers |
|
USB-BUB II |
Jee-Labs |