www.blafusel.de

  Home  |   Privat  |   Impressum  |   Bücher  |   Computer  |   Misc  |   OBD  |   Forum

Nachbau der Berlin-Uhr mit digitaler Schaltungstechnik

Berlin-Uhr um 13:38 Als Berliner Kind hat mich die Berlin-Uhr am Ku'damm fasziniert. Eine schöne historische Aufnahme (um 17:54 Uhr) findet sich im Landesarchiv Baden-Württemberg. Inzwischen fristet sie ein Schattendasein in einer Ecke hinterm Europ-Center gegenüber dem ebenfalls inzwischen versetzten blauen Kugel-Kino Panorama aka Globe City Studio. Die Uhr zeigt durch Lichtfelder unterschiedlicher Wertigkeit die Uhrzeit an. Die oberen zwei Reihen (rot) sind die Stunden, die unten zwei (gelb-orange) die Minuten. Die Sekundenanzeige blinkt mit einem Rythmus von 0,5 Hz, ist also eine Sekunde lang aus und eine Sekunde an. Die oberste Stunden- und Minutenreihe wird jeweils mit dem Faktor 5 pro Feld multipliziert. Die untere Reihe jeweils mit Faktor 1. Bei den 5er-Minuten ist jede dritte Leuchte rot, um Viertelstunden leichter erkennen zu können.

Nebenstehende Uhr zeigt 13:38 (von oben gelesen):
  2 x 5 Stunden = 10
+ 3 x 1 Stunde  =  3
                = 13 Uhr

  7 x 5 Minuten = 35
+ 3 x 1 Minute  =  3
                = 38 Minuten

Schaltungsaufbau aus DE000002718535, Dieter Binninger

Historie

Die Uhr wurde von Dieter Binninger entwickelt. Hierzu wurde ihm 1977 das Patent DE000002339482 zugesprochen. Neben der technischen Beschreibung zeigt es einen Entwurf für die spätere Berlin-Uhr und auch noch weitere futuristische Designs, wie das abgebildete. Die vergleichbaren Informationen finden sich auch im Gebrauchsmuster DE000007328506 von 1976. In den Patentanmeldungen DE000002718535 und DE000002712558 beschreibt er den elektronischen Aufbau der Uhr auf Basis von Schieberegistern und Logikgattern. Alle Patente und Gebrauchsmusters sind inzwischen erloschen.

Designidee aus Patent DE000002339482, Dieter Binninger Bei ebay werden abstrus hohe Preise (> € 300,-) für alte Tischmodelle verlangt - oft zu finden unter dem falschen Namen "Mengenlehreuhr". Eine andere Firma vertreibt das Modell ertwas halbseiden nur für gewerbliche Kunden, was bei frei zugänglichen Offerten im Internet nicht zulässig oder zumindest fragwürdig ist und verlangt 238 Euro.

Zeit also, sich selbst eine solche Uhr zu bauen. Im Zeitalter von Mikrocontrollern stellt die Technik natürlich eigentlich keine Herausforderung dar. Aber das finde ich langweilig. Den Code hat man in einer halben Stunde beisammen und dann kommt natürlich auch gleich noch eine Wunschliste, die DCF77, RTC, Wecker und sonstigen Kram enthält, einfach, weil es ginge und weil das Projekt ja sonst etwas langweilig und schnöde wäre. Die Tischmodelle hatten übrigens einen 4-Bit-Mikrocontroller und boten eine Weckfunktion. Ich schwelge gerne in (elektrotechnischer) Nostalgie und will eine Uhr bauen, die ausschließlich aus Logikgattern besteht. In Elektor 5/1980 gab es seinerzeit eine ähnliche Schaltung, die einen NE555-Timer als Zeitgeber nutzt und damit relativ ungenau sein dürfte, da die Zeitbasis aus Widerstand und Kondensator temperaturabhängig ist.

Schaltung mit TTL-Logikgattern

Der komplette Schaltplan:
Schaltplan Berlin-Uhr


Die einzelnen Funktionsblöcke werden im folgenden erläutert.
Hinweis: Alle Bilder können Sie sich auch größer anzeigen lassen, in dem Sie diese per Rechtsklick anzeigen und dann mit <Ctrl>-<+>/<-> den Zoom ändern.

Spannungsversorgung

Die Spannungsversorgung besteht aus einem einfachen Festspannungsregler. Weil dieser auf der Platine ohne Kühlkörper montiert wird, sollte die EIngangsspannung nicht mehr als 12 V betragen - 9 V ist besser. L1 dient dem ausfiltern von Störungen:

Spannungsversorgung


Stützkondensatoren

Bei TTL ist es elementar, dass sich an jedem IC ein Abblockkondensator mit 100 nF befindet. Es gibt spezielle IC-Sockel mit integriertem Kondensator aber die sind teuer und passen nur, wenn die Versorgungspins diagonal gegenüber liegen. Also von Hand platzieren:

Siebung


Takterzeugung

Die Uhr soll Quarz-genau arbeiten und da bietet sich der klassische Uhrenquarz mit 32,768 kHz an. Diese sind sehr präzise und billig, da sie als Massenware in jeder Quarzuhr werkeln. Ihn zum Schwingen zu bringen ist nicht ganz trivial und es gibt verschiedene Schaltungen dazu. Der Takt wird dann an den Eingang des Teilers 4060 gegeben. Der 4060 hat zwar auch einen internen Taktgenerator für RC-Glieder aber das ist dann wieder ungenau.

Takt


Oszilloskop Quarz Das Oszilloskop-Bild zeigt die Frequenz an den Eingängen P1 (violett) und !P0 (gelb).


Oszilloskop Taktteilung Der 4060 ist ein 14-facher Teiler, dessen obere 10 Teiler an den Ausgängen liegen. Der zehnte Ausgang entspricht einer 14-fachen Teilung durch 2 = 214=16.384. Der Eingangstakt wird damit auf 32.768/16.384=2 Hz geteilt. Dieser Takt liegt an TP1 an.

Das Scope zeigt das Ergebnis der Teilung an Q12 (gelb) mit einer Impulslänge von 125 ms/8 Hz und Q14 (TP1) mit 500 ms/2 Hz.

Für die Sekundenanzeige wird allerdings eine Frequenz von 0,5 Hz benötigt. Dies wird erreicht, in dem die 2 Hz durch die zwei D-Flipflops aus einem 7474-Baustein schicken. An TP2 sind damit 1 Hz verfügbar und die LED blinkt wunschgemäß jede 2. Sekunde einmal.


Oszilloskop Taktteilung 2 Aus den 2 Hz muss jetzt noch ein Takt für den Minutenzähler abgeleitet werden. Dazu wird er zuerst mit einem 7490 durch zehn dividiert (gelb = 5 s/0,2 Hz), in dem der Baustein entsprechend beschaltet wird (Ausgang QD an Eingang CKA) 2 Hz/10=0,2 Hz.
Anschließend wird er noch mit einem 7492 (s. 7490 Datenblatt) durch 12 dividiert (violett): 0,2 Hz/12=0,0167 Hz (1/0,0167 Hz=60 s Impulslänge).
Bemerkenswert ist, dass die Teiler nicht ab dem Start gewissermaßen bei Null beginnen, sondern erst einen Durchlauf benötigen, bis das volle Teilungsverhältnis bei jedem Durchlauf eingehalten wird. Das spielt aber praktisch keine Rolle und führt lediglich dazu, dass nach dem einschalten die erste Minute nicht erst nach 60 Sekunden angezeigt wird. Ab dann gibt es aber keine Abweichung mehr.


Minuten

Minuten
Der passende Minuten-Takt kann nun an ein Schieberegister vom Typ 74164 geführt werden. Mit jedem Impuls an CLK wird ein High-Pegel (Eingang A und B sind High) erzeugt und an den Ausgängen weiter geschoben. So leuchtet nach der ersten Minute QA, dann zusätzlich QB, dann QC und QD. Mit der nächsten (fünften) Minute wird QE High. Das dient einerseits als Überlauf für den Takteingang des nächsten Schieberegisters (IC7), als auch als Reset-Impuls für IC5 nach einer Invertierung über einen der sechs Inverter aus einem 7404. Somit fängt das erste Schieberegister wieder von vorne an und zählt immer nur 4 Minuten.

Mit jeder fünften Minute wird der High-Zustand in Schieberegister IC7 eins weiter geschoben. Mit der achten Minute erfolgt allerdings kein Reset, sondern die Eingänge A und B von IC8 werden auf High gelegt, weil QH High wird. Auch an IC8 liegt der Takt aus dem ersten Schieberegister an. Solange EIngang A und B aber Low sind weil QH von IC7 Low ist, passiert bei IC8 nichts. Sobald QH aber High ist, wird bei den nächsten Takten der High-Zustand in IC8 weiter geschoben, so dass die LEDs LED14-LED16 nacheinander zusätzlich aufleuchten. Sobald die 11. 5-wertige-Minute leuchtet und der nächste Takt kommt, weil die 5. Minute voll ist, geht QD bei IC8 auf High und führt ein Reset bei Q7 und Q8 aus. Gleichzeitig wird dieser Impuls an die Schieberegister für die Stunden über D2 weiter gereicht.

Mit dem Taster S1, der mit einem Pull-Down-Widerstand versehen ist, kann der Eingangstakt für die Minuten manuell erzeugt werden. Dadurch ist es möglich, die Minuten einzustellen. Das funktioniert aber nur dann, wenn der Takteingang (TP4) gerade auf Low liegt, also nur innerhalb von 30 Sekunden jeder Minute.

Stunden

Mit S2 können die Stunden auf gleiche Weise eingestellt werden. Damit es dabei zu keinem Reset bei den Minuten kommt, ist D2 vorhanden.

Stunden


Die Funktionsweise der Stundenanzeige ist identisch wie bei den Minuten: vier einzelne Stunden führen bei der fünften zu einem Überlauf für die 5-wertigen Stunden. Eine Besonderheit ist der notwendige Reset nach 23:59:59 auf 00:00:00. Dazu wird mit drei Dioden ein logisches AND gebaut: Wenn die LED20 und LED24 leuchten (4 x 5h + 4h = 24:00:00) soll ein Reset ausgeführt werden. Der Benutzer sieht die 24:00:00 Uhr gar nicht, weil das so schnell geht. Weil der Minuten-Takt von dem Reset nicht beeinflusst wird, wird die Zeitrechnung auch nicht verzögert. Allerdings kann es sein, dass bei diesem Reset noch der anliegende Takt an IC10 ausreicht, um dann gleich wieder die LED21 aufleuchten zu lassen. Deshalb wird über das AND noch der DIV12-Teilerausgang des 4060 verknüpft. Das führt dazu, dass erst 1/(32.768Hz/212) = 0,125 Sekunden nach 24 Uhr der Reset ausgelöst wird, was immer noch nicht wahrnehmbar ist.

Ebenso muss der 1er-Stundenzähler zurückgesetzt werden. Im Regelfall nach jeder vierten Minute und nach der dritten (wenn die vierte kurz aufleuchtet) um 24 Uhr. Dazu wird mit D6 und D7 ein OR gebildet.

Simulation

Simulation in Proteus Die Schaltung läßt sich zum großen Teil in Proteus simulieren. Der Quarz wird am 4060 nicht richtig simuliert so daß der interne Oszilator für die Simulation genutzt wird. Im Aufbau ist das Reset für 24-Uhr nicht vollständig realisiert. Download der Projektdatei.

Zu welcher Technologie die Logikbausteine gehören, ist weitestgehend beliebig. Im Testaufbau herrscht ein wilder Mix aus uralten und aktuellen 74…, 74SN…, 74LS… und 74HC und es funktioniert, da weder Stromverbrauch noch Geschwindigkeit kirtisch sind.


Schaltungsaufbau

Erster Prototyp Nach der Simulation und dem Entwurf eines Schaltplans lies ich eine Platine fertigen. Die LEDs sollen möglichst hell sein und SMD, damit sie auf der Lötseite liegen, während die TTL-Bausteine etc. auf der Bestückungsseite platziert werden sollen. So kann die Platine später in ein 3D-gedrucktes Gehäuse kommen. Entgegen dem Original werden für dir großen Leuchtfelder nicht zwei Lampen/LEDs verwendet, sondern überall nur eine. Die LEDs OF-SMD2012Y (gelb) und OF-SMD2012R (rot) sind mit 210-270 mcd bzw. 90-120 mcd bei ca. 1,9 V und 20 mA recht hell. Für die Sekundenanzeige wird eine bedrahtete L-7113SYCK genutzt. Die Platine beschränkt sich auf die Minuten- und Stundenbereiche, da sie so deutlich billiger wird, als wenn die Sekunden-LED auch noch berücksichtigt wird.

Im ersten Entwurf wurde das 24-Uhr-Reset logisch falsch verknüpft, so dass erst um 25 Uhr ein Reset erfolgte. Auf einem Breadboard wurde die neue Logik getestet und die Fehler im Schaltbild oben und der Platinendateien korrigiert. Die Platine steht als Eagle-Datei im BRD-Format zum download zur Verfügung


Platine

Gehäuse

3D-Modell Ohne ein stilvolles Äußeres ist die Uhr nur halb so schön. Ich habe ein 3D-Modell entworfen (Download STL-Datei) und mit einem 3D-Drucker gedruckt. Die farbigen Einlagen sind mit einem Lasercutter geschnitten worden. Als Ständer dient ein lackiertes Messingrohr und den Sockel bildet ein Stück Holz.

Die Realisierung ist noch nicht ganz optimal. Gehäuse und Platine sind nicht exakt genug, so daß es zu einem kleinem Versatz zwischen den LEDs und den Segmenten kommt, der aber nicht wirklich gravierend ist. Es wäre auch besser, das Gehäuse aus schwarzem PLA mit 100% Dichte zu drucken und dann zu lackieren, um es lichtdicht zu bekommen. Die farbigen Einlagen sind ebenso nicht paßgenau. Sekundenkleber lief am Rand auf die Flächen und ich habe auch zwei Lagen übereinander geklebt, so wie noch ein Taschentuch als Diffusor vor die LEDs gelegt. Dennoch sieht die Replika gut aus und vor allem geht sie wirklich genau.