Word Clock Variante 1

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Überblick

WordClock

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

Schaltbild V1.0

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:

Bestückte Platine (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):

Bestückte Platine (endgültige Version)
  • 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.


Bestückungsaufdruck der Prototyp-Platine

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:

Anschlüsse der Prototyp-Platine

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:

Bestückungsaufdruck der endgültigen (schmaleren) Platine
Bestückung: Orientierung der IRLUs beachten!
Anschlüsse

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

Bestückung: Orientierung der IRLUs (ganz rechts) beachten!
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:

Anschlüsse der Wannenstecker

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

Anschlüsse der Wannenstecker

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.

Zuordnung Pins
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)

Streifenplatine für SMD RGB LEDs Version 8

Ausschnitt vergrößert dargestellt:

Aussschnitt


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

Plcc6 smd RGB.JPG


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:

Datei:Wordclock-09.zip

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


ä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