ColA Clock – The Colorful Analogish Clock


The COLA Clock is intended as extraordinary gadget for our digital technology lab. It is a handmade, colorful glowing, awesome clock with many reprogrammable colors and features. The components for the project are produced in teamwork. We designed electronics boards, etched and soldered, and programmed the software. Through the project, we want to learn more about designing and manufacturing as well as strengthening our knowledge about basic electronics and physics.

Die COLA Clock ist als außergewöhnliches Gadget für unser Digitaltechniklabor gedacht. Sie ist eine handgemachte, farbig-leuchtende, coole Wanduhr mit vielen umprogrammierbaren Farben und Features. Für das Projekt produzieren viele (drei) Jugendliche in Teamarbeit die Komponenten. Es werden Platinen entworfen, geätzt und gelötet sowie die Software programmiert. Wir wollen Mikrocontrollerprogammierung und den Entwurf und die Herstellung von elektronischen Schaltungen kennenlernen, Grundlagen der Elektronik und Physik festigen und Erfahrungen in der Bewältigung komplexer Projekte sammeln.

L'horloge COLA est conçu comme gadget extraordinaire pour notre laboratoire de la technologie numérique. Il est un fait à la main, rougeoyant coloré, horloge génial avec beaucoup de couleurs et des fonctionnalités reprogrammables. Les composantes du projet sont produites dans le travail d'équipe. Nous avons conçu cartes électroniques, gravées ,soudés et programmé par un logiciel. Grâce à ce projet, nous voulons en savoir plus sur la conception et la fabrication ainsi que le renforcement de nos connaissances sur l'électronique de base et la physique.

Teilnehmer: Lukas, Maximilian, Anne, Sigmar, Randolf
Projektstatus: Entwurf abgeschlossen, Produktion in Arbeit

Die Vision

Die ColA Clock ist eine runde analoge Wanduhr bei der die Zeiger-Positionen als Licht von Leuchtdioden an die Wand gestrahlt werden. Für jede der 60 Minuten gibt es eine Leuchtdiode an der entsprechenden Stelle. Und genau so auch für die Stunden und Sekunden. Dies führt zu einem Kreis aus 60 Segmenten bei dem jedes Segment drei Leuchtdioden senkrecht übereinander angeordnet enthält. Die Helligkeit jeder einzelnen der 180 Leuchtdioden soll von einem Minicomputer aus steuerbar sein. Der Minicomputer schaltet die Leuchtdioden entsprechend der aktuellen Uhrzeit an und aus. Durch die Helligkeitssteuerung sind weich fließende Übergänge möglich.

Mögliche Erweiterungen: Ein Echtzeituhr-Chip liefert dem Minicomputer die aktuelle Uhrzeit. Abhängig von einem Helligkeitssensor wird die Helligkeit der Leuchtdioden so geregelt, dass die Uhr in der Nacht nicht zu hell ist. Die Uhr spielt hübsche Leuchtmuster zu vordefinierten Zeiten ab. Ein kleiner Lautsprecher am Minicomputer, um Alarmtöne abzuspielen. Ein Lautstärkesensor, um interaktiv Spaß zu haben…

Zeitplan und Chronik

Sa 02.05. Projektidee ausgearbeitet und mit RGB-LEDs experimentiert ⇒ separate LEDs mit kleinem Öffnungswinkel sind besser! Bestellungen verschickt für die Leuchtdioden und LED-Steuerchips (WS2801).
Sa 09.05. WS2801 Adapter Platine für Steckbrett entworfen und komplett produziert. Unser Butterbrot-Tonertransfer funktioniert. SMD Löten ging auch prima.
Sa 16.05. Max hat einen WS2801 mit der Adapterplatine auf einem Steckbrett getestet und passende Widerstände ausprobiert. Irgendwann hat es dann auch geklappt. Es hat sich gezeigt, dass wir keine Lastwiderstände zwischen LEDs und Controller brauchen. Die Abwärme im Controller ist noch klein genug. Nebenbei haben wir auch einen Zeitplan begonnen und etwas die weitere Arbeit geplant.
Sa 23.05. Wir haben angefangen, die Platine für die Segmente zu entwerfen. Sie sind 1,7cm breit und ca. 4cm hoch. Haben auch die endgültigen LEDs getestet und sie sind richtig schön hell, außer die blauen Leuchtdioden. Die werden wir vielleicht als Sekundenzeiger nehmen und ganz nah an die Wand setzen.
Fr 29.05. 3 Stunden Feinschliff am Platinenlayout. Nun sind die Segmente nur noch 1,4cm breit und 3,3cm hoch.
Sa 30.05. Wir haben zusammen viel gerechnet: Wie Groß wird die Uhr bei 1,4cm breiten Segmenten? Wie groß werden die Leuchtpunkte auf der Wand, wenn die LEDs in einer bestimmten Höhe mit einem bestimmten Winkel abstrahlen? Mockup aus Lochrasterplatine gebaut, um die Berechnungen experimentell zu überprüfen. Sieht gut aus. Nachmittag: Erstellen und befüllen der Webseite.
Sa 06.06. Wir haben mit unserem Butterbrot-Tonertransfer einige Platinen geätzt.
Sa 13.06. Tag der offenen Tür am Tag der Technik: Wir haben ein LED-Lauflicht präpariert und am Nachmittag präsentiert bis es angefangen hat zu Regnen…
Sa 20.06. Noch mehr Platinen geätzt und gebohrt. Leider war der Toner aus dem anderen Drucker nicht gut. Das hat viel Zeit gekostet und nicht viel gebracht.
Sa 27.06. Unser erstes Projektwochenende. Es gab Döner und Pizza. Nebenbei haben wir die Platinen geätzt, gebohrt, gelötet und am Sonntag sogar die 180 LEDs eingesetzt.
Sa 04.07. Neuer Draht, neues Glück. Wir haben die 60 Module mit schick verzinntem Draht verbunden und getestet. Um den 29cm Kreis passen sie auch herum, selbst wenn es am Anfang gar nicht danach auch sah.
Sa 11.07. (Ferienanfang)
Sa 18.07. Sachen packen für Brüssel…
19.-25.07. ESI 2015 in Brüssel
So 19.07. Abfahrt 11:19 Dresden Hauptbahnhof Gleis 3 IC 2440
Sa 25.07. Ankunft 19:40 Dresden Hauptbahnhof Gleis 3 IC 2431

Technische Fragestellungen

  • Welche Leuchtdioden sind geeignet, um Stunden, Minuten und Sekundenzeiger darzustellen?
  • Wie können wir die Helligkeit der 180 LEDs jeweils separat steuern?
  • Wie hängt Durchmesser der Uhr von der Breite der LED-Platinen ab? Wie groß wird unsere Uhr?
  • Wie müssen die LEDs plaziert werden, damit es gut aussieht? Welche Variationsmöglichkeiten gibt es? Ein wichtiger Aspekt ist wie weit die LEDs von der Wand weg sind und in welchem Winkel sie auf die Wand strahlen.
  • Wie stabilisieren wir den Kreis? Auf Bodenplatte befestigen oder Plastikrohr(e) als Träger? Preiswert ist Kanalrohr wie KG DN150 (15cm) aus dem Baumarkt oder Internet.
  • Woher wissen wir, wie spät es ist?
  • Helligkeitsmessung um die Uhr an Umgebungslicht anzupassen, also wenig Licht und Stromverbrauch in der Nacht.
  • Wie viel elektrische Energie verbraucht die Uhr? Wie viel Strom muss das Netzteil liefern können?
  • Interaktive Features für Spiel und Spaß?

Auswahl der Leuchtdioden

Steuern der Leuchtdioden

Die Helligkeit von 180 Leuchtdioden so effizient zu steuern, dass fließende Helligkeitsänderungen möglich sind, ist gar nicht so einfach. Die grundsätzliche Idee ist, dass eine Leuchtdiode wiederholt sehr schnell ein und ausgeschaltet wird. Wegen der Trägheit der Augen sieht man dann nur eine durchschnittliche Helligkeit die dem zeitlichen Anteil der An-Zeit an der Gesamtperiode (An- plus Aus-Zeit) entspricht.

Mit einem Minicomputer kann man einen einzelnen Ausgabepin so ein- und ausschalten, aber damit wäre nur eine einzelne Leuchtdiode versorgt und der Minicomputer hätte viel Arbeit mit dem manuellen Ein- und Ausschalten. Das letztere Problem kann durch PWM-Generatoren gelöst werden (Pulse Width Modulation). Dabei kümmert sich die Elektronik selber um das Ein- und Ausschalten und das Programm im Minicomputer stellt nur noch die An- und Aus-Zeitdauer ein.

Nun bräuchten wir 180 PWM-Generatoren aber kein Minicomputer hat so viele eingebaut, weil wir dann ja auch 180 Ausgabepins bräuchten. Ein Trick ist das zeitliche Multiplexing, wie es bei Segmentanzeigen gerne verwendet wird. Dabei benutzt man die selben PWM-Generatoren für viele Leuchtdioden. Dafür werden die LEDs in einem Gitter angeordnet, die Zeilen werden mit dem PWM-Signal ein- und ausgeschalten. Von den Spalten ist immer nur eine aktiv und der Minicomputer schaltet sehr schnell zwischen den Spalten um, so dass man dass nicht mehr sieht. Damit können nun zwar leicht eine große Anzahl Leuchtdioden gesteuert werden, aber der Minicomputer hat noch immer viel zu tun und die Kabel sind nicht einfach zu verlegen.

Zum Glück gibt es LED-Controllerchips die PWM Signale für ein paar Leuchtdioden erzeugen. Die Controller lassen sich wie an einer Perlenkette aneinander reihen. Der Minicomputer schickt die Helligkeitswerte aller Leuchtdioden an den ersten Controller in der Kette. Der Controller behält sich dann ein paar dieser Werte für die eigenen Leuchtdioden und die restlichen Werte werden an den nächsten Controller in der Kette weitergeschickt. Das geht so weiter bis das Ende der Kette erreicht ist oder keine Werte mehr übrig sind.

Der WS2801 ist so ein Controller. Er erzeugt PWM-Signale für drei Leuchtdioden. Die Grundhelligkeit der Leuchtdioden entspricht dem Strom der durch die LEDs fließt. Der Controller regelt diesen Strom, so dass die Grundhelligkeit über drei kleine Widerstände eingestellt werden kann. Die Kommunikation erfolgt über eine Daten- und eine Uhr-Leitung. Dies erlaubt laut Berichten im Internet eine Übertragungsrate von 2 bis 4 Millionen Bit pro Sekunde. Bei 180 LEDs mit je 8 Bit pro LED müssen also 1440 Bit übertragen werden, was ca. 0,00072 Sekunden bzw. ca. 1 Millisekunde dauert. Da bleibt dem Minicomputer doch viel Zeit für andere Arbeit (Rechnen, Messen, Musizieren, …) oder zum Schlafen.

WS2801 Segment-Platine

Das Datenblatt des WS2801 enthält Benutzungsbeispiele und Anleitungen wie man die benötigten externen Bauteile auswählen sollte. Um den Strom für die LEDs auszuwählen, werden drei Widerstände eingesetzt. Für diese gilt I_led = 0,6V / R. Wir haben uns gedacht dass ca. 20mA ausreichen sollten, auch wenn die LEDs bis zu 30mA im Dauerbetrieb vertragen. Mit einem 27 Ohm Widerstand ergibt dies 22mA SMD-0603 27.

Im Datenblatt werden zusätzliche Lastwiderstände beschrieben, die zwischen Kontroller und LED sitzen. Diese nehmen einen Teil der überschüssigen elektrischen Energie auf und wandeln sie in Wärme um. Ansonsten würde das in dem Stromregler innerhalb des Kontrollers passieren. Der WS2801 hat eine maximale Verlustleistung von 600mW und verbraucht im Leerlauf 1,5mA, was bei 5V einer Verlustleistung von 7,5mW entspricht (P=U*I). Für unsere orangenen LEDs haben wir 3V Spannungsabfall zwischen Masse und Kontroller-Ausgang gemessen, was 53mW Verlustleistung entspricht. Für grün und blau sind es 2V, also 32mW. In Summe ergibt dies 115mW Verlustleistung, was weit unter den 600mW liegt. Das können wir also wie alle anderen auch ignorieren. Korrekte Lastwiderstände wären: grün/blau: 1V/0,022A = 45 Ohm und orange: 2V/0,022A = 91 Ohm.

Weiterhin werden zwei 50 Ohm Widerstände von DI und CI nach Masse empfohlen um Reflektionen auf den Signalleitungen zu reduzieren. Dann geht vielleicht mehr als die 2-4Mhz Datenrate. Fast alle Beispiele im Internet lassen diese Widerstände weg. Wir planen sie in der Platine ein, müssen sie aber nicht gleich einbauen. Als SMD Variante gibt es 47 Ohm SMD-0603 47.

Ein paar Youtube-Videos haben darauf hingewiesen, dass man bei längeren Ketten Kondensatoren als Energiepuffer einfügen sollte. Ansonsten kommt es zu merkwürdigem Flackern weil kurzzeitig die Spannung zu stark zusammenbricht bis die Stromversorgung nachgeregelt hat. Dafür können low-ESR Elektrolyt-Kondensatoren verwendet werden. Stattdessen fügen wir in jedes Segment einen 22uF Vielschicht-Keramikkondensator ein X5R-G0805 22/6. In Summe ergibt das eine Kapazität von 1320uF. Dieser Kondensator ist so plaziert, dass der Stromkreislauf über LED-Kontroller und LEDs möglichst kurz ist. Einen weiteren 100nF Kondensator X7R-G0603 100N gibt es als Puffer am LED-Kontroller.

Durchmesser der Uhr

Segment-Breite w Durchmesser d
2,0000cm 38,21cm
1,5000cm 28,66cm
1,0467cm 20,00cm
1,3080cm 25,00cm
1,4000cm 26,75cm

Gegeben ist die Breite w der Segmente und gesucht ist der Durchmesser d wenn man aus den 60 Segmenten einen Kreis bzw. 60-seitiges regelmäßiges Vieleck zusammensetzt.

Ein Vollkreis hat 360°. Unterteilt man diese in 60 Segmente, ergibt dies 6° pro Segment. Vom Mittelpunkt des Kreises zu den zwei Ecken des Segments erhält man ein gleichschenkliges Dreieck. Dessen Basislänge ist die Breite der Segmente w. Das gleichschenklige Dreieck besteht aus zwei identischen rechtwinkligen Dreiecken mit halben Winkel und halber Basislänge. Für den Kreisradius ergibt sich nun w/2 = r*sin(3). Daher ist der Durchmesser d = w/sin(3).

Der Innendurchmesser des regelmäßigen Vielecks ist r*cos(3). Das ist für uns nicht interessant, da cos(3) fast 1 ist und sich somit Innen- und Außendurchmesser nur um 0,4mm unterscheiden.

Größe der Leuchtpunkte auf der Wand

Die Leuchtpunkte auf der Wand hängen ab vom Abstand zwischen LED und Wand sowie dem Öffnungswinkel der LED (20°). Aus der Breite der Leuchtpunkte ergibt sich ein Indikator für die Breite der Segmente: Ihre Leuchtpunkte sollten nicht zu sehr überlappen um unterscheidbar zu bleiben. Daher entsteht ein Zusammenhang zwischen vertikaler Position der LEDs auf der Platine und der Segmentbreite. Höhere LED-Position führt zu breiteren Leuchtpunkten, führt zu breiteren Segmenten.

Die aktuelle Uhrzeit

  • Tasten zum Einstellen der Uhr
  • Echtzeituhr Modul
  • Einstellen der Zeit über USB-Adapter vom Computer aus

Stromversorgung

Wieviel Strom wird die Uhr schlimmsten Falls verbrauchen? Den maximalen Strom pro LED haben wir auf 22mA eingestellt und jeder LED-Controller verbraucht ungefähr 1,5mA. Das ergibt in Summe 180*22mA + 60*1,5mA = 4A wenn alle Leuchtdioden auf volle Helligkeit eingestellt sind. Hinzu kommt noch der Stromverbrauch des Minicomputers mit ungefähr 50mA. Bei 5V Versorgungsspannung entspricht dies 4A*5V = 20W die zu einem großen Teil Abwärme aus Umwandlungsverlusten in den LEDs sind. Wenn das Netzteil nicht so viel Strom liefern kann, sinkt die Spannung bis sie so niedrig ist, dass der Minicomputer aufhört zu arbeiten. Zum Glück sind die Leuchtdioden hoffentlich niemals alle gleichzeitig auf voller Helligkeit!

Bei Pollin haben wir 4A Netzteile gefunden: Steckernetzteil QUATPOWER PSN5/4000H5.5, 5 V-/4 A, 5,5/2,1 mm sollte ausreichen oder das Schaltnetzteil FSP020-DGAA1, 5 V-/4 A.

Eine weitere Konsequenz des potentiell hohen Stroms ist, dass die Leiterbahnen und Versorgungskabel (+5VP und GND) dick genug ausgelegt werden müssen. Wenn sie zu dünn sind, haben sie einen zu hohen Widerstand und bei dem großen Strom fällt dann entsprechend viel Spannung (U=R*I) in den Leitungen ab. Das kann gerade bei der Masseleitung (GND) vieles durcheinander bringen, weil dann abhängig vom Strom nicht überall 0V als Bezugsspannung anliegen sondern verschiedene Spannungen. Wir haben nach Berechnungsgrundlagen gesucht und bei 4A durch 0,1mm dicke Kupferleiterbahn 0,7mm Leiterbahnbreite bekommen. Wir nehmen 1mm breite Leiterbahnen für +5VP und GND und verzinnen die auf der gesamten Strecke. Als Leiterquerschnitt wird bei 5A mindestens 0,1mm² Querschnitt empfohlen, also mind. 0,4mm dicker Kupferdraht. Das geht ja noch :)

Als Verbindungsdraht ist vielleicht Kupferlackdraht sehr nützlich. Dann sparen wir uns das Abisolieren: KUPFER 0,2MM und KUPFER 0,4MM.

Platinenherstellung

Generelle Anleitungen: http://thomaspfeifer.net/platinen_aetzen.htm und http://www.mikrocontroller.net/articles/Platinenherstellung_mit_der_Tonertransfermethode. Wir benutzen Butterbrotpapier. Das scheint zwar nicht so präzise zu gehen, aber es lässt sich nach dem Bügeln sehr leicht abziehen ohne es abwaschen zu müssen…

Auf die 12x8cm Leiterplatten EPCU 120X80 passen 3×5 Segmente. Also brauchen wir 4 volle Platinen für die 60 Segmente und dann noch ein paar extra für Verluste und Experimente.