Word Clock Variante 1
Überblick
Links zum Hauptartikel [1], zur Variante 2 [2] zum langen Thread [3] mit dem hier alles angefangen hat und zum Original [4], das alle hier inspiriert hat.
[1] Word Clock
[2] Word Clock Variante 2
[3] Beitrag: Brauche Hilfe beim Bau einer Uhr
[4] http://www.clocktwo.com
Elektronik
- Atmega168
- 24-Bit-Schieberegister an SPI für 24 Wörter
- 4 Output-Pins für Minutenanzeige
- 4 weitere GPOS - für allgemeine Zwecke
- RGB-Steuerung über PWM gegen GND, d.h. 32x3-Matrix
Schaltung
Das Schaltbild ist für die Prototypen-Platine als auch für die endgültige Version 1.0 (schmale Platine) identisch. Lediglich der Pullup-Widerstand R7 am DCF-Anschluss ist weggefallen und ab Version 0.9 der Software auch nicht mehr beim Prototypen nötig.
Eine größere Sammelbestellung wurde im Januar 2010 organisiert, eine 2. Sammelbestellung ist im Gange (02_2010), siehe auch Sammelbestellung der Platine.
Hier die zugehörige Schaltung V1.0 als PDF: Media:wordclock-schmal.pdf
Sammelbestellung der Platine
Aktueller Zählerstand der Interessenten am 14.06.2010: keine Platine mehr verfügbar.
Da noch nicht alle Interessenten bezahlt haben (und evtl. auch nicht zahlen werden, weil sie es sich anders überlegt haben), könnte noch die eine oder andere Platine wieder frei werden. Daher kann es sich lohnen, bei mir (Benutzer ukw) per PN nochmal nachzufragen.
Über eine neue Sammelbestellung wird nachgedacht. Je mehr sich melden, desto wahrscheinlicher wird eine neue Sammelbestellung.
Selbstverständlich weist diese Platinen-Version nicht den Kurzschluss auf, den die ersten 20 Prototypen-Platinen hatten. Die Platine ist wesentlich schmaler als der Prototyp, Maße sind: 146mm x 35,6mm.
Historie:
- Ende 2009: Vorabbestellung des Prototyps in kleinerer Auflage: 20 Stück (für die Entwickler)
- Januar 2010: Erste große Sammelbestellung der endgültigen WordClock-Platine V1.0. Auflage: 200 Stück.
- Februar 2010: Zweite große Sammelbestellung der V1.0. Auflage: 100 Stück.
- April 2010: Dritte große Sammelbestellung der V1.0. Auflage: 100 Stück.
Reichelt Warenkorb Mono-Variante
Da selbst bei der Mono-Variante der ATmega 88 langsam mehr als eng wird, wurde dieser Warenkorb auch auf den ATmega 168 umgestellt.
Eine vollständige Liste zur Bestellung der nötigen Bauteile ist bei Reichelt abgelegt: Warenkorb-Mono.
Reichelt Warenkorb RGB-Variante
Für die RBG-Version wird der ATmega 168 benötigt. Einen angepassten Warenkorb ist wieder bei Reichelt hinterlegt: Warenkorb-RGB.
Derzeit ist der TSOP 1736 bei Reichelt nicht lieferbar. Laut telefonischer Auskunft (Stand: 19.01.2010), ist dieser im Moment im Rückstand. Ein Liefertermin ist bei Reichelt nicht bekannt.
Stand: 18.02.2010 Da nach wie vor der TSOP1736 nicht lieferbar ist, wurde der Warenkorb um den TSOP1738 erweitert.
Hinweis zum TSOP1738 >> http://www.mikrocontroller.net/topic/156661?goto=1580976#1580976
Alternativ ist der SFH 5110-36 (36 kHz) bei Reichelt verfügbar, aber andere Pinbelegung beachten!!!
Aktuell ist auch der DS 1307 (Real Time Clock I²C) wieder lieferbar (Stand: 07.06.2010)
Diese Liste bezieht sich sowohl auf den Prototypen als auf die endgültige (schmalere) Version.
Bestückung
Hier eine kurze Beschreibung zur Bestückung:
Prototyp:
- Links: Anschluss für stehende Lithium-Knopfbatterie CR2032 (die drei abgebildeten Stifte sind natürlich nicht notwendig, die Batterie wird direkt eingelötet)
- Unten links: Anschluss für DCF77-Modul und für Testzwecke RX & TX
- Oben Mitte: TSOP1736 für Infrarot-Empfang
- Oben links und rechts: Wannenstecker für insg. 32 Ausgabekanäle: OUT0-OUT23 (für die Wörter), OUTL1-OUTL4 (für die Minuten) und OUTG1-OUTG4 (für General-Purpose-Ausgabezwecke - noch nicht definiert)
- Rechts: Anschlussklemmen für Versorgungsspannung 7-20V und die drei PWM-Kanäle Rot, Grün und Blau
Endgültige Version (schmale Ausführung):
- Oben Mitte: Anschluss für stehende Lithium-Knopfbatterie CR2032 (die drei abgebildeten Stifte sind natürlich nicht notwendig, die Batterie wird direkt eingelötet)
- Unten 3-polige Stiftleiste: Anschluss für DCF77-Modul
- Unten 2-polige Stiftleiste: RX & TX (für Testzwecke)
- Unten rechts: TSOP1736 für Infrarot-Empfang
- Darüber: 2-polige Stiftleiste für LDR (Helligkeitsmessung)
- Oben links und rechts: Wannenstecker für insg. 32 Ausgabekanäle: OUT0-OUT23 (für die Wörter), OUTL1-OUTL4 (für die Minuten) und OUTG1-OUTG4 (für General-Purpose-Ausgabezwecke)
- Rechts: Anschlussklemmen für Versorgungsspannung 7-20V und die drei PWM-Kanäle Rot, Grün und Blau.
Achtung: die Reihenfolge der Schraubklemmen-Anschlüsse hat sich bei der endgültigen gegenüber der Prototyp-Version geändert, siehe weiter unten!
Der IR-Empfänger TSOP1736 muss hinter einem nicht benutzten Buchstaben angebracht werden. Deshalb braucht man ihn nicht unbedingt auf die Platine löten, sondern kann ihn auch über ein 3-poliges Kabel mit der Platine verbinden. Das Kabel sollte aber nicht zu lang sein, da der TSOP immer gern seinen Elko in der Nähe hat.
Da die Routine zur automatischen Helligkeitsregelung noch nicht ausgetestet ist, sollte man den Widerstand R6 (Pulldown für LDR) zunächst noch nicht bestücken, bis klar ist, welcher Wert der optimale für den gewählten LDR ist.
FOLGENDES GILT NUR FÜR DEN PROTOTYPEN:
Durch einen Fehler in der Target3001-Bibliothek hat die Prototypen-Platine einen Fehler, der aber leicht behebbar ist: Die Einstecklöcher für die 3 MOSFETs IRLU2905 besitzen auf der Unterseite keine Lötpunkte. Daher müssen die IRLUs an die oben liegenden Lötpunkte festgelötet werden. Auf der unteren Seite bilden die Bohrlöcher leider einen Kurzschluss mit der unten liegenden Massefläche.
Deshalb müssen vorher(!) die Löcher für die IRLU-Beinchen mit einem spitzen Gegenstand auf der Unterseite von dem Kurzschluss mit der unteren Massefläche befreit werden. Dazu geht man folgendermaßen vor:
Spitzen Gegenstand (z. B. Teppichmesser, Spitze einer kleinen Kneifzange) von unten(!) ins Loch stecken und zwei- bis dreimal dreimal im Bohrloch drehen, damit die Verbindung der unteren Massefläche zur Durchkontaktierung unterbrochen wird. Anschließend mit dem Ohmmeter prüfen, ob der Kurzschluss behoben ist. Insgesamt sind es 6 Löcher, die so behandelt werden müssen, diese betreffen jeweils die Pins 1 und 2 der drei IRLU-MOSFETs. Pin3 muss nicht bearbeitet werden, da hier sowieso die Masse angeschlossen werden muss, siehe auch das nächste Bild unten.
Ist der Kurzschluss zur unteren Massefläche behoben, sollte man die IRLU-Beinchen trotzdem nicht durch das Bohrloch stecken, sondern:
- Beinchen kürzen, vielleicht die Enden (wegen der Stabilität) 2mm umbiegen
- Oben in SMD-Manier anlöten.
Im rechts stehenden Bild sind nicht nur die Lage der Anschlüsse verdeutlicht, sondern auch die Bohrlöcher für die IRLU-MOSFETs rot umkringelt, welche man von der Unterseite(!) her "behandeln" muss. Beim Prototypen müssen die IRLUs so angelötet werden, dass das Metall zur Schraubklemme zeigt.
Bestückung und Anschlüsse der endgültigen Version:
WICHTIG für die Version 1.0:
Der oberste IRLU2905 muss anders herum eingelötet werden (Metall Richtung Spannungsregler) als die beiden unteren (Metall Richtung Schraubklemme). Siehe auch Foto rechts.
Die Reihenfolge der Schraubklemmen-Anschlüsse hat sich gegenüber dem Prototypen geändert, bitte unbedingt die Reihenfolge beachten!
Möchte man einfarbige LEDs verwenden und auf die RGB-Steuerung verzichten, schließt man einfach zwei der drei RGB-PWM-Kanäle nicht an und verwendet stattdessen nur PWMR zur PWM-Steuerung. Die 2 zu PWMG und PWMB gehörenden IRLUs und die angeschlossenen 4 Widerstände am Gate der IRLUs kann man dann auch weglassen.
Bestückungsliste:
Diese Liste bezieht sich sowohl auf den Prototypen als auch auf die endgültige (schmalere) Version.
Name Wert C1,C3,C4,C6,C8,C9 100NF C10,C11,C12,C13 100NF C2 4,7µF C5,C7 47µF D1 1N4001 IC1 ATMEGA88 IC2 7805 IC3 TSOP1736 IC4,IC5,IC6 74HCT595N IC7 DS1307 IC8,IC9,IC10,IC11 UDN2981A K4 Wannenstecker 10 K7,K8 Wannenstecker16 K6 LDR KL1 KLEMME5POL Q1 32,768KHz R1,R6,R8,R10,R12 10K (R6 für LDR evtl.noch nicht bestücken) R7 10K, entfällt! R2 100 R3,R4 4K7 R5,R9,R11 82 T1,T2,T3 IRLU2905
FAQ zur Bestückung
Q: Wie herum müssen die IRLUs eingelötet werden? A: Beim Prototypen: Alle drei mit der Metallseite zur Schraubklemme hin, Pin1 ist also immer "oben".
Bei V1.0 (schmale Version): Der oberste kommt mit der Metallseite nach links (Richtung Spannungsregler), Pin 1 ist hier der untere. Die anderen beiden IRLUs werden mit der Metallseite Richtung Schraubklemme eingelötet, siehe auch Foto rechts. Hier ist jeweils Pin 1 der obere.
Q: Welche ICs sollte ich sockeln? A: Wenn durch einen versehentlichen Kurzschluss bei der Freiluftverdrahtung der LEDs ein UDN2981 abfackelt, ist das ägerlich. Daher sollte man zumindest die UDNs und den ATMega sockeln. Besser ist es natürlich, alle zu sockeln.
Q: Bei dem ATMega und der RTC ist nicht ersichtlich, wie herum sie eingebaut werden müssen? A: Doch, kann man sehen: Der Lötpunkt von Pin1 ist immer rechteckig, die anderen sind oval. Das gilt übrigens für fast alle Bauteile, auch die Wannen.
Q: Ich möchte oben statt der abgebildeten zwei 2x8-poligen Stiftleisten 16-polige Wannenstecker nehmen. Wie herum kommen dann die oberen Wannen drauf? A: Mit der Kerbe nach unten, sieht man auch am rechteckigen Lötpunkt - und auch auf dem Foto rechts.
Q: Kann ich auf die Batterie verzichten, weil ich DCF77 einsetze bzw. nach einem Stromausfall die Uhr per Fernbedienung selbst neu stellen möchte? A: Wenn man keine Batterie einsetzt, sollte man VBat der RTC DS1307 mit GND verbinden. Das geht am einfachsten an den auf der Platine vorgesehenen Batterieanschlüssen: einfach K1 (Bat+) und K3 (Bat-) mit einem Stück Draht überbrücken. Übrigens: die Batterie hält lt. Datenblatt des DS1307 10 Jahre, es ist also durchaus sinnvoll, diese auch zu bestücken.
Q: Zur Zeit ist der Infrarot-Empfänger TSOP1736 nur schlecht erhältlich. Gibt es dazu eine Alternative? A: Als Ersatz kann man auch den TSOP1738 nehmen. Dieser hat bei Fernbedienungen mit einer Modulationsfrequenz kleiner/gleich 36kHz zwar eine geringere Reichweite, bei Fernbedienungen mit einer Modulationsfrequenz größer/gleich 38kHz jedoch sogar eine höhere.
Q: Kann ich (aus Kostengründen) auch einfarbige LEDs verwenden? A: Ja, einfach zwei der drei RGB-PWM-Kanäle nicht anschließen und nur PWMR (für Rot) benutzen. Die 2 zu PWMG und PWMB gehörenden IRLUs und die angeschlossenen 4 Widerstände am Gate der IRLUs kann man dann auch weglassen.
Anschluss eines DCF77-Moduls
Der Anschluss eines DCF77-Moduls ist optional. Wird ein DCF77-Modul angeschlossen, kann mittels einer LED der DCF77-Empfang angezeigt werden. Die LED blinkt dann im Sekundenrhytmus und zeigt direkt die empfangenen DCF77-Impulse. Der Empfang wird kurze Zeit nach dem Einschalten aktiviert bzw. jede Stunde wiederholt.
Die DCF77-LED kann folgendermaßen angeschlossen werden:
RGB-LED in Farbe:
/---|>|----| R |---- PWMR
OUTG4 +--|---|>|----| R |---- PWMG
\---|>|----| R |---- PWMB
Einfarbige LED gedimmt:
OUTG4 +--|---|>|----| R |---- PWMR
Einfarbige LED immer gleich hell:
OUTG4 +--|---|>|----| R |---- GND
Bei Anschluss des DCF77-Moduls von Reichelt ist folgendes zu beachten:
- Prototyp-Platine: Der Pull-Up-Widerstand R7 darf nicht eingelötet werden. Grund: Das Reichelt-Modul hat keinen Open-Collector-Ausgang, sondern einen sehr schwachen Ausgang, welcher durch den Pullup-Widerstand permanent auf High gezogen wird.
- Es sollte direkt auf den Lötaugen des Reichelt-DCF77-Moduls ein Abblock-Kondensator von 100nF zwischen den Pins +UB und GND aufgelötet werden
- Der Eingang PON muss offen bleiben - entgegen den (falschen) Angaben im Reichelt Datenblatt!
- Das DCF77-Modul von Reichelt braucht eine Synchronisierungszeit von mindestens 10 Sekunden. Erst dann arbeitet der Empfänger.
Beim Anschluss des Conrad-Moduls ArtNr. 641138 ist folgendes zu beachten:
- Es muss der nicht-invertierte Open-Collector-Ausgang Pin 3 als Signal an die WordClock angeschlossen werden.
Ab Software-Version 0.9 darf der Pullupwiderstand R7 auf der Prototyp-Platine generell nicht mehr eingelötet werden. Daher ist er auch in der endgültigen Platinen-Version entfallen.
Anschluss der LEDs
Zuordnung der Kanäle
Folgende Tabelle enthält die Zuordnung der Wörter zu den Pins der Wannenstecker. Die Bezeichnungen der Pins entsprechen dem Schaltplan. Zu beachten ist, dass die Reihenfolge der Wörter nichts mit der Anordnung auf der Frontplatte zu tun hat.
| Anschluss | Frontplatte deutsch 2-sprachig | Frontplatte deutsch 3-sprachig | Frontplatte Englisch |
|---|---|---|---|
| OUT0 | ES IST | ZW | IT IS |
| OUT1 | FÜNF (Minuten) | EI | FIVE (Minuten) |
| OUT2 | ZEHN (Minuten) | N | TEN (Minuten) |
| OUT3 | VOR (Minuten) | S | QUARTER |
| OUT4 | DREI (Minuten) | IEBEN | TWENTY (Minuten) |
| OUT5 | VIERTEL | DREI | HALF |
| OUT6 | NACH | VIER | TO |
| OUT7 | VOR | FÜNF | PAST |
| OUT8 | HALB | SECHS | ONE |
| OUT9 | S | ACHT | TWO |
| OUT10 | EIN | NEUN | THREE |
| OUT11 | ZWEI | ZEHN | FOUR |
| OUT12 | DREI | ELF | FIVE |
| OUT13 | VIER | ZWÖLF | SIX |
| OUT14 | FÜNF | ES IST | SEVEN |
| OUT15 | SECHS | UHR | EIGHT |
| OUT16 | SIEBEN | FÜNF (Minuten) | NINE |
| OUT17 | ACHT | ZEHN (Minuten) | TEN |
| OUT18 | NEUN | ZWANZIG | ELEVEN |
| OUT19 | ZEHN | DREI (Minuten) | TWELVE |
| OUT20 | ELF | VIERTEL (Minuten) | O CLOCK |
| OUT21 | ZWÖLF | NACH | unverbunden |
| OUT22 | UHR | VOR | unverbunden |
| OUT23 | unverbunden | HALB | unverbunden |
| OUTL1 | min1 | min1 | min1 |
| OUTL2 | min2 | min2 | min2 |
| OUTL3 | min3 | min3 | min3 |
| OUTL4 | min4 | min4 | min4 |
| OUTG1 | Ambilight (opt.) | Ambilight (opt.) | Ambilight (opt.) |
| OUTG2 | unverbunden | unverbunden | unverbunden |
| OUTG3 | unverbunden | unverbunden | unverbunden |
| OUTG4 | dcf Empfang | dcf Empfang | dcf Empfang |
Beschaltungsvarianten der LEDs
Da die Schaltung genügend Power hat, um eine Unmenge an RGB-LEDs zu treiben, gibt es folgende Möglichkeiten, die auch mixbar sind:
1. Pro Wort für jeden Buchstaben eine RGB-LED (mit gemeinsamer Anode) in Parallelschaltung (natürlich mit geeignetem Vorwiderstand pro LED)
Prinzip (am Beispiel des Wortes "VIER"):
/---|>|----| R1R |---- PWMR
+--|---|>|----| R1G |---- PWMG "V"
| \---|>|----| R1B |---- PWMB
|
| /---|>|----| R2R |---- PWMR
+--|---|>|----| R2G |---- PWMG "I"
| \---|>|----| R2B |---- PWMB
OUTx-+
| /---|>|----| R3R |---- PWMR
+--|---|>|----| R3G |---- PWMG "E"
| \---|>|----| R3B |---- PWMB
|
| /---|>|----| R4R |---- PWMR
+--|---|>|----| R4G |---- PWMG "R"
\---|>|----| R4B |---- PWMB
2. Pro Wort für jeden Buchstaben eine RGB-LED in Reihenschaltung (mit nur 1 Vorwiderstand für die ganze Reihe, bzw. 3 wegen RGB). Das geht aber nur, wenn die RGB-LEDs unabhängige Anoden und Kathoden haben (ja, die gibt es).
Prinzip:
"V" "I" "E" "R"
/----| R1R |----|>|----|>|----|>|----|>|---- PWMR
OUTx --+-----| R1G |----|>|----|>|----|>|----|>|---- PWMG
\----| R1B |----|>|----|>|----|>|----|>|---- PWMB
Theoretisch könnte man solche Streifen als Platine herstellen, welche man dann immer auf die gewünschte Länge kürzt, als 1, 2, 3 ... 7 Buchstaben.
Bei Verwendung von einfarbigen LEDs vereinfachen sich die Prinzip-Schaltungen wie folgt:
1. Parallelschaltung, eine LED pro Buchstabe im Wort:
/----|>|----| R1 |---- PWMR "V"
+-----|>|----| R2 |---- PWMR "I"
OUTx-+
+-----|>|----| R3 |---- PWMR "E"
\----|>|----| R4 |---- PWMR "R"
2. Reihenschaltung, eine LED pro Buchstabe im Wort:
"V" "I" "E" "R" OUTx ----| R1 |----|>|----|>|----|>|----|>|---- PWMR
Zum Berechnen der Vorwiderstände kann z. B. dieser Rechner
verwendet werden: Vorwiderstands-Rechner oder Vorwiderstands-Rechner mit Unterstützung für Reihenschaltung
Damit die LEDs selbst nicht sichtbar sind, benötigt man hinter den transparenten Buchstaben einen Diffusor. Im einfachsten Fall kann das eine weiße Schicht Farbe sein.
Streifenplatinen & LEDs
Streifenplatinen
Die Platine hat ein Maß von 314 x 12 mm und ist auf die Word-Clock-Front-Varianten A und B (also 450mm x 450mm) ausgelegt.
Der Abstand der einzelnen LEDs beträgt 28.1mm
Die Streifenplatine wird so ausschauen: (Version 8 vom 06.März 2010)
Ausschnitt vergrößert dargestellt:
Datenblatt der LED mit Bestückungsinfos: Datei:SMD RGB PLCC-6 datasheet3.pdf
Hier ist die Bestückung aller Streifen detailiert gezeigt: [ http://www.mikrocontroller.net/topic/156661?goto=1671369#1671369 Beitrag] und Bestückungsübersicht
Technische Daten der SMD RGB PLCC-6 LEDs
Spezifikation
- Source Material: InGaN
- Emitting Colour: SMD SMT 5050 RGB
- LENS Type: Water clear
- Reverse Voltage: 5.0 V
- Viewing Angle: 140 degree
- Lead Soldering Temp: 260°C for 5 seconds
Absolute Maximum Rating (Ta = 250C)
| PARAMETER | Symbol | RED | GREEN | BLUE | UNITS |
|---|---|---|---|---|---|
| Power Dissipation | PO | 80 | 95 | 85 | mW |
| DC Current | IF | 20 | 20 | 20 | mA |
| Peak Forward Current | IFP | 100 | 100 | 100 | mA |
| Reverse Voltage | VR | 5 | 5 | 5 | V |
| Operating Temperature | Topr | -25 to +85 | °C | ||
| Storage Temperature | Tstg | -40 to +85 | °C | ||
Electro-optical Characteristics (Ta = 250C)
| PARAMETER | SYMBOL | CONDITIONS | MIN. | TYP. | MAX. | UNIT |
|---|---|---|---|---|---|---|
| Forward Voltage (B) | VF | IF = 20mA | 3.4 | 3.6 | 3.8 | V |
| Forward Voltage (G) | VF | IF = 20mA | 3.4 | 3.6 | 3.8 | V |
| Forward Voltage (R) | VF | IF = 20mA | 1.9 | 2.1 | 2.5 | V |
| Dominant Wavelength (B) | lD | IF = 20mA | 465 | 470 | 475 | nm |
| Dominant Wavelength (G) | lD | IF = 20mA | 515 | 520 | 525 | nm |
| Dominant Wavelength (R) | lD | IF = 20mA | 625 | 630 | 635 | nm |
Pin / Farbzuordnung:
- R: Pin 1 - 6
- G: Pin 2 - 5
- B: Pin 3 - 4
Widerstandswerte für die LED Streifen
Berechnet sind die Widerstände für eine Spannungsversorgung von 15V. Ein solches Netzteil gibt es zB bei Pollin oder auch bei Reichelt.
| ....Widerstände E12.... | ....Widerstände E24.... | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Streifen | Wort | LEDs | Rot | Grün | Blau | Rot | Grün | Blau | Anschluss | ||
| 1 | ES | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT14 | ||
| 1 | K | ||||||||||
| 1 | IST | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT14 | ||
| 1 | L | ||||||||||
| 1 | FÜNF | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT16 | ||
| 2 | ZEHN | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT17 | ||
| 2 | ZWAN | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT18 | ||
| 2 | ZIG | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT18 | ||
| 3 | DREI | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT19 | ||
| 3 | VIER | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT20 | ||
| 3 | TEL | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT20 | ||
| 4 | TG | ||||||||||
| 4 | NACH | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT21 | ||
| 4 | VOR | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT22 | ||
| 4 | JM | ||||||||||
| 5 | HALB | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT23 | ||
| 5 | Q | ||||||||||
| 5 | ZWÖ | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT13 | ||
| 5 | LF | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT13 | ||
| 5 | P | ||||||||||
| 6 | ZW | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT0 | ||
| 6 | EI | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT1 | ||
| 6 | N | 1 | 680 | 560 | 560 | 620 | 560 | 560 | OUT2 | ||
| 6 | S | 1 | 680 | 560 | 560 | 620 | 560 | 560 | OUT3 | ||
| 6 | IEB | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT4 | ||
| 6 | EN | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT4 | ||
| 7 | K | ||||||||||
| 7 | DREI | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT5 | ||
| 7 | RH | ||||||||||
| 7 | FÜNF | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT7 | ||
| 8 | ELF | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT12 | ||
| 8 | NEUN | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT10 | ||
| 8 | VIER | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT6 | ||
| 9 | W | ||||||||||
| 9 | ACHT | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT9 | ||
| 9 | ZEHN | 4 | 330 | 33 | 33 | 300 | 27 | 33 | OUT11 | ||
| 9 | RS | ||||||||||
| 10 | B | ||||||||||
| 10 | SEC | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT8 | ||
| 10 | HS | 2 | 560 | 470 | 470 | 510 | 360 | 360 | OUT8 | ||
| 10 | FM | ||||||||||
| 10 | UHR | 3 | 470 | 220 | 220 | 390 | 200 | 200 | OUT15 | ||
Es werden somit folgende Widerstände aus der E24 Reihe benötigt:
- 13x 27 Ohm
- 13x 33 Ohm
- 18x 200 Ohm
- 13x 300 Ohm
- 12x 360 Ohm
- 9x 390 Ohm
- 6x 510 Ohm
- 4x 560 Ohm
- 2x 620 Ohm
Sammelbestellung
Angebot:
- Paket 1: LED Paket (100 SMD RGB LEDs) für 35,00 Eur
- Paket 2: Platinen Paket (11 Streifenplatinen) für 11,00 Eur
- Paket 3: Komplettpaket (Paket1 + Paket2 + 155 SMD Widerstände) für 49,10 Eur
- Paket 4: Ambilightpaket (4 Streifenplatinen + 32 SMD RGB LEDs + 45 SMD Widerstände) für 16,10 Eur
- Paket 5: Luxuspaket (Komplettpaket + Ambilightpaket) für 65,20 Eur
- SMD RGB LED einzeln für 0,35 Eur
- Streifenplatine einzeln für 1,00 Eur
Versandkosten:
- Paket 1: 4,00 Eur (Schweiz / Österreich: 6,00 Eur)
- Paket 2: 5,20 Eur (Schweiz / Österreich: 9,00 Eur)
- Paket 3: 5,20 Eur (Schweiz / Österreich: 9,00 Eur)
- Paket 4: 5,20 Eur (Schweiz / Österreich: 9,00 Eur)
- Paket 5: 5,20 Eur (Schweiz / Österreich: 9,00 Eur)
- SMD RGB LED: 4,00 Eur (Schweiz / Österreich: 6,00 Eur)
- Streifenplatine: 5,20 Eur (Schweiz / Österreich: 9,00 Eur)
Versendet wird per Deutsche Post als Maxibrief mit Einschreiben.
Werden Pakete kombiniert, fallen natürlich nur einmal - dann die höheren - Versandkosten an.
Forumsbeitrag: http://www.mikrocontroller.net/topic/156661?goto=1674305#1674305 Wer interesse hat, schreibt mir bitte eine PN (wawibu).
Zeitplanung der 3ten Sammelbestellung:
| Due Date | Task | Status |
|---|---|---|
| seit 25.05.2010 | Bestellungen werden angenommen. Verbindlich werden diese erst durch den Geldeingang auf meinem Konto |
Bestellungen werden angenommen |
| 04.06.2010 | Bestellung der LEDs / PCBs / Rs | Bestellung versendet |
| bis 18.06.2010 | Lieferung LEDs | open |
| bis 18.06.2010 | Lieferung PCBs | open |
| bis 18.06.2010 | Lieferung Rs | 01.06.2010 |
| ab 01.07.2010 | Versand der Pakete | open |
Historie:
- erste Sammelbestellung
- 22.Februar bis 09.April 2010
- 20.000 LEDs, 26.195 Widerstände und 2.100 Streifenplatinen
- zweite Sammelbestellung
- 12.April bis 23.Mai 2010
- 10.000 LEDs, 13.400 Widerstände und 900 Streifenplatinen
- dritte Sammelbestellung
- 27.Mai bis 01.Juli 2010 (offen)
Software
Module
DCF77
Zur Programmierung siehe den Artikel DCF77-Funkwecker mit AVR. Im Abschnitt Programmierung ist das Funksignal dokumentiert, zusammen mit einem Beispiel (Bitstrom und Bedeutung).
Codebeispiel siehe Codesammlung DCF 77.
Softwareentwickler: Torsten Giese (wawibu)
Automatische Helligkeitsregelung
Die Helligkeit des Displays wird über einen LDR gesteuert.
Softwareentwickler: Rene H. (promeus)
Uhrzeit
Die Zeit wird von einer batteriegepufferten Maxim DS1307 Echtzeituhr (RTC), die über I2C mit dem Microcontroller verbunden ist, zur Verfügung gestellt.
Softwareentwickler: Frank M. (ukw)
IR
Es werden folgende Infrarot-Protokolle unterstützt:
| Protokoll | Hersteller |
|---|---|
| SIRCS | Sony |
| NEC | NEC, Yamaha, Canon, Tevion, Harman/Kardon, Hitachi, JVC, Pioneer, Toshiba, Xoro, Orion, NoName und viele weitere japanische Hersteller. |
| SAMSUNG | Samsung |
| SAMSUNG32 | Samsung |
| MATSUSHITA | Matsushita |
| KASEIKYO | Panasonic, Technics, Denon und andere japanische Hersteller, welche Mitglied der "Japan's Association for Electric Home Application" sind. |
| RECS80 | Philips, Nokia, Thomson, Nordmende, Telefunken, Saba |
| RECS80EXT | Philips, Technisat, Thomson, Nordmende, Telefunken, Saba |
| RC5 | Philips und andere europäische Hersteller |
| DENON | Denon |
| RC6 | Philips und andere europäische Hersteller |
| APPLE | Apple |
| NUBERT | Nubert, z.B. Subwoofer System |
| B&O | Bang & Olufsen (erst ab Version 1.0) |
| GRUNDIG | Grundig (erst ab Version 1.0) |
| NOKIA | Nokia, z.B. D-Box (erst ab Version 1.0) |
Über die automatische Erkennung des Protokolls werden die nötigen Tastatur-Befehl-Bits aus den Infrarot-Daten extrahiert - ohne Kenntnis, welche Tasten da eigentlich tatsächlich gedrückt wurden. So eine Tabelle würde den Speicher des µCs sprengen. Deshalb passiert die Zuordnung der Tasten zu WordClock-Befehlen in einer kleinen Anlernprozedur, die einmal nach dem ersten Bootvorgang ausgeführt werden muss.
Mittlerweile gibt es einen eigenen Artikel zum Infrarot-Fernbedienungsdecoder, siehe IRMP
Softwareentwickler: Frank M. (ukw)
PWM
Die PWM steuert die 3 RGB Kanäle. Damit ist freie Farbenwahl möglich.
Softwareentwickler: Frank M. (ukw)
Display
Das Display wird nicht als 10x11 Matrix sondern wortweise angesteuert. Da die LEDs RGB-LEDs sind ergibt sich daraus für die 24 Wortteile und die 4 Minutenpunkte eine 28x3-Matrix.
Die Farben sind kein Muss, in der Minimalbeschaltung können auch einfarbige LEDs zum Einsatz kommen.
Softwareentwickler: Vlad Tepesch (vlad_tepesch)
Benutzer-Interaktion
Mit der Fernbedienung ist folgendes möglich:
- Einmaliges Anlernen der Fernbedienung
- Anpassen der automatischen Helligkeitssteuerung
- Einstellen des Farbprogramms (Übergänge etc)
- Stellen der Uhr (wenn kein DCF77-Modul angeschlossen)
Softwareentwickler: Vlad Tepesch (vlad_tepesch)
Download
SW V0.9
Hier eine Vorabversion des Quellcodes zum Projekt:
Bitte README.txt lesen!
zusätzliche Features:
- Unterstützung für neue (3 sprachige) deutsche Front
- Unterstützung für TIX-Clock
- kurze Anzeige von Submodi (Farbprofilauswahl, Sprachvariante)
- Helligkeits-Offset wird abgespeichert
- 24h Zeiteingabe (8-20Uhr: hell, 20-8Uhr: dunkel)
- Standardeeprom-Werte im Flash
- Ein/Aus-Schalt-Zeiten
- Pulsierender Modus
- neue IRMP-Version
Die wichtigsten Einstellungen können in der Main.h geändert werden.
Anmerkung: die vorkompilierten Hexfiles enthalten die 3-sprachig-deutsche Version. Wer noch eine alte Frontplatte hat, muss das Binary nach Ändern der Konfiguration (in der main.h) selbst kompilieren.
Bugfixes
- V0.9 Patch 1 (Patchfile)
- fixt BUG09_008 (falsche Zeitanzeige)
- Hexfiles:
- dreisprachige Front: Datei:Wordclock V0.9 Patch 1 ger3 mega168.hex
- alte zweisprachige Front: Datei:Wordclock V0.9 Patch 1 ger mega168.hex
- V0.9 Patch 2 (Patchfile - basierend auf vorherigen patches)
- fixt BUG09_010 (EIN <-> EINS)
- Hexfiles (enthalten vorherige Patches)
- dreisprachige Front: Datei:Wordclock V0.9 Patch 2 ger3 mega168.hex
- alte zweisprachige Front: Datei:Wordclock V0.9 Patch 2 ger mega168.hex
- V0.9 Patch 3 (Patchfile - basierend auf vorherigen patches)
- fixed BUG09_009 (crashes after IR-Kommands)
- fixed BUG09_011 (training bug)
- fixed BUG09_012 (casing on include usermodes.c)
- fixed BUG09_013 (1:00 - 1:04 and 1:05-1:09 's')
- fixed BUG09_014 (brightness control does not work after setting time)
- fixed wrong command handler in display_x-header
- fixed default values for color profiles
- extracted inits of states from user_init to own routine in usermodes.c
- Hexfiles:
- dreisprachige Front: Datei:Wordclock V0.9 Patch 3 ger3 mega168.hex
- alte zweisprachige Front: Datei:Wordclock V0.9 Patch 3 ger mega168.hex
- V0.9 Patch 4 (Patchfile - basierend auf vorherigen patches, komplette Sourcen)
- fixed BUG09_015 (after enter OnOff-Time no further action is possible)
- fixed BUG09_016 (last Ir-Command is ignored in training)
- Hexfiles (enthalten vorherige Patches)
- dreisprachige Front: Datei:Wordclock V0.9 Patch 4 ger3 mega168.hex
- alte zweisprachige Front: Datei:Wordclock V0.9 Patch 4 ger mega168.hex
- V0.9 Patch 5 (Patchfile - basierend auf vorherige Patches)
- fixed BUG09_017 (set second to 0, when new DCF77 time will take over - prevent a minute jump)
ältere Versionen
V0.8
Datei:Wordclock-08-src.zip Bitte 00README.txt lesen!
Bugs
- [bestätigt]
- der Bug konnte von den Entwicklern reproduziert werden
- [gefixt]
- der Bug wurde bereits gefixt, der Fix ist aber in noch keinem Release enthalten.
- [gefixt - Vx.y]
- der Bug wurde in Version x.y gefixt
[widerlegt]- der Bug konnte nicht bestätigt werden, oder es wurde eine andere Ursache gefunden
Version 0.8
- BUG08_001 - [bestätigt] [gefixt - V0.9]
- Helligkeitssteuerung per FB funktioniert nicht richtig
- BUG08_002 - [bestätigt]
- Helligkeitssteuerung per LDR funktioniert nicht richtig
- [Ergänzt 22.5.10 von Wichtel] In pwm.c wird pwm_idx innerhalb pwm_set_brightness_step() falsch normiert:
- pwm_idx % MAX_PWM_STEPS; ersetzen durch:
- else if (pwm_idx >= MAX_PWM_STEPS ) pwm_idx = MAX_PWM_STEPS - 1;
- BUG08_003 - [bestätigt] [gefixt - V0.9]
- OUT23 wird immer mit OUTL1 geschalten
- BUG08_004 - [bestätigt] [gefixt - V0.9]
- Helligkeitssteuerung: geänderter Wert wird nicht gespeichert
- nach Power-ON-Reset immer 100%
BUG08_005[widerlegt] (Fehler lag woanders)- die Kommandos der FB gehen nach einem Power-ON-Reset manchmal verloren
BUG08_006 (reportet von panik)[widerlegt] (Fehler lag woanders)- Die Uhr zeigt nach mehr als 10 Stunden Betrieb für wenige Minuten ein falsches Word mit halber Helligkeit (auf und abschwellend) an.
- Anzeige korrekt: FÜNF NACH DREI (Ossi-Modus ist permanent aktiv)
- jetzt beginnt zusätzlich das Word VIERTEL zu leuchten (halber Helligkeit auf und abschwellend)
- Nach wenigen Minuten ist wieder alles normal.
BUG08_007[widerlegt] (Fehler lag woanders)- nach mehr als 12 Stunden Betrieb oft zusätzliche Anzeige der Wörter VIERTEL und NACH (jetzt mit voller Helligkeit bis zum nächsten Bildwechsel)
- z.B 20:15 Uhr --> Anzeige: ES IST VIERTEL NACH NEUN (Ossimodus aktiv)
- 20:05 Uhr --> Anzeige: ES IST FÜNF VIERTEL NACH ACHT(Ossimodus aktiv)
- 09:35 Uhr --> Anzeige: ES IST FÜNF VIERTEL NACH HALB ZEHN(Ossimodus aktiv)
Version 0.9
- BUG09_008 - [bestätigt] [gefixt V0.9 Patch 1]
- in der 3-sprachigen deutschen Frontplatte wird die Stunde wird in allen Sprachmodi 5min zu spät hochgezählt
- Der Fehler liegt in display_wc_ger3.c Zeile 127: das > muss durch ein >= ersetzt werden (Patchfile)
- BUG09_009 - [bestätigt] [gefixt V0.9 Patch 3]
- nach Systemstart (nach Ende des Blinken) führt Betätigung des Einfarbmodus-Knopfes (-> Farbprofilwahl) zum Absturz
- Workaround: zuerst in anderen Modus wechseln (zB. Demo)
- BUG09_010 - [bestätigt] [gefixt V0.9 Patch 2]
- Anzeige von EIN oder EINS vertauscht ('eins' wird angezeigt, wenn 'ein' dastehen; vice versa) bei 3 sprachiger Front
- BUG09_011 - [bestätigt] [gefixt V0.9 Patch 3]
- IR-Training - bei falsch erkannten Kommandos (falsche Adresse) wird trotzdem hochgezählt.
- BUG09_012 - [bestätigt] [gefixt V0.9 Patch 3]
- Der Compiler meint: user.c:164:23: error: userModes.c: No such file or directory - Sollte das nicht usermodes.c heißen?
- BUG09_013 (gemeldet von Wichtel) - [bestätigt] [gefixt V0.9 Patch 3]
- Anzeige von EIN und EINS im Bereich von 0-4 und 5-9 min vertauscht, Zeile 153 in display_wc_ger3.c (mit Patch 2) muss lauten:
- if((hour==1 || hour==13) && minutes==0){ // if "Es ist ein Uhr" <- remove 's' from "eins"
- BUG09_014 (gemeldet von Wichtel) - [bestätigt] [gefixt V0.9 Patch 3]
- Nach manueller Uhrzeiteinstellung keine Übernahme der manuell eingestellten Helligkeit, nach einmal Pulsmodus ein/aus wird sie wieder übernommen
- BUG09_015 (gemeldet von Wichtel) - [bestätigt] [gefixt V0.9 Patch 4]
- Nach einstellen von Ein/Ausschaltzeit keine Helligkeitssteuerung (Anmerkung von Vlad: -->BUG09_014), keine Modusumschaltung mehr möglich und keine Einblendung des Farbprofilnamens mehr
- BUG09_016 (gemeldet von Wichtel) - [bestätigt] [gefixt V0.9 Patch 4]
- Trainingsmodus erreicht letztes Kommando nicht, da curkey vor Schlussabfrage incrementiert wird.
- durch BUG09_011-fix entstanden
- BUG09_017 (gemeldet von Wichtel) - [bestätigt] [gefixt V0.9 Patch 5]
- Uhr geht bis zu einer Minute vor, da die Sekunden durch DCF77-Empfang nicht beeinflusst werden, zur Abhilfe in dcf77.c als Zeile 379 einfügen: (die derzeitige Zeile 379 wird entsprechend nach unten geschoben)
- DateTime_p->ss = 0;
- BUG09_018 (gemeldet von Wichtel) - [bestätigt] [gefixt]
- Bei manueller Zeiteinstellung und abwarten des realen Minutenwechsels kehrt die Anzeige zur Uhrzeit zurück ohne den Einstellmodus zu beenden
- BUG09_019 (gemeldet von Wichtel)
- Zuletzt erfolgreich erkanntes Fernbedienkommando wird sporadisch mehrere Minuten nach dem letzten tatsächlichen Empfang erneut erkannt
- BUG09_020 (gemeldet von Roman) - [bestätigt] [gefixt]
- Fehler in der Initialisierung der DCF77 Struct. Zeile 106 muss wie folgt lauten:
- for (i=0; i < 6; i++)
Flashen mittels Bootloader
Um den ATmega168 mit dem Fastboot von Peter Dannegger zu flashen, muss vorab das FastBoot.hex eingespielt werden. Ebenso muss dann die eFuse auf 0xF8 eingestellt werden.
Um dann später eine neue SW zu flashen, muss dann nur noch das neue Hexfile mittels FBOOT übertragen werden.
Im angehängten ZIP ist der FBOOT von Peter Dannegger und das HEX-File für den ATmega168 einfügt. >> Datei:WordClock FastBoot.zip <<
Ist diese einmal auf dem uC, kann jederzeit einfach über die serielle Schnittstelle (COM 1) mittels einem RS-232/TTL Pegelwandler die neue Firmware eingespielt werden.
Wichtig: FBOOT.exe und die neue Firmware müssen in einem Verzeichnis liegen. Dann kann mittels FBOOT /Pwordcl~1.hex geflasht werden. FBOOT kann nicht mit langen Dateinamen umgehen!
Ein bootloader-client für Linux ist hier zu finden. Credits: Bernhard Michler, Andreas Butti, ad-rem.
Bootloaden über Bluetooth wurde in diesem Post erfolgreich implementiert, siehe auch hier.
Abstimmungen
Eine Stimme ist ein Strich. Nach 5 Strichen bitte ein Leerzeichen einfügen.
offen:
ethernet ntp client: ||||| ||||
Bewegungsmelder: ||||| ||||| ||||
IR zum PC für Kommunikation/Bootloader |
RFM12 für Kommunikation/Bootloader |||
NTP Server (um eine genaue Zeit ins Netzwerk zu verteilen) |||
kurzzeitiger "Volldampf-Modus" (alle Wörter an für bspw. 30sek): ||||| || - nicht empfehlenswert, da die Treiber/Netzteil überlastet werden
Beim Start, alle LEDs einmal der Reihe nach Durchlaufen lassen zum Funktionstest (statt "Volldampfmodus"): ||
Ton zur vollen Stunde (Beep/Piezo): ||
ZBus (Ethersex) zum einstellen der Uhr über das Netzwerk, evt holen der Zeitdaten über ZBus von einem Zeitserver: |
Möglichkeit, Zeiteinstellmodus bei "0 Minuten" von Normalmodus zu unterscheiden z.B. blinkendes "UHR" ||||
Taste "Speichern" auf FB statt automatisch |
bereits umgesetzt:
DCF: ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||| ||||
IR für Fernbedienung: ||||| ||||| ||||| ||
Ambilight: ||||| ||||| ||||| ||||| ||||
zeitgesteuert Dunkelschalten (z. B. nachts "Aus"): ||||| ||||| ||||
Bluetooth: || (Posting: Bluetooth mit Debug, Bootloader und Autoreset)
Zurück zum Hauptartikel: Word Clock