Benutzer:PoC/DCF77-Nixie-Röhrenuhr
Seit einiger Zeit geht der Autor mit der Idee einer DCF77-Nixie-Uhr schwanger. Die Dekoderlogik soll aber im Gegensatz zu den bisher veröffentlichten Schaltungen mit Röhren arbeiten.
Wie es begann
Schon seit längerer Zeit faszinieren mich Nixies. Nun sind die Einsatzzwecke für Ziffernanzeigeröhren heutzutage etwas eingeschränkt. Heraus kam schon vor Jahren die Idee, auf dieser Basis eine Uhr zu konstruieren. Mit dieser Idee war ich nicht alleine, aber die im Internet seinerzeit verfügbaren Ansätze waren von der Realisierung her zu komplex.
Im Ergebnis wurde jene Uhr eine Gemeinschaftsarbeit von Heiko und mir. Er hat den Digitalteil mit einem Dutzend Dekadenzähler (Frequenzteiler 1:10), einer Handvoll Dioden und Widerstände und Tasten zum Stellen entworfen, ich den Analogteil mit Stromversorgung und Ansteuerung der Ziffern über eine große Handvoll BF420.
Aus verschiedenen, hauptsächlich zeitlichen Gründen blieb dieser Prototyp dann jahrelang liegen. Heiko will noch immer einen OS X-Screensaver basteln, wenn er irgendwann mal vernünftige Nixiebilder bekommt. Und ich wollte noch immer aus dem Prototypen eine richtige Platine machen mit Gerberdatei und allem was dazu gehört, um mit wenig Aufwand z. B. mal ein exklusives Geburtstagsgeschenk zu zaubern. Stand Oktober 2008.
Nun bin ich in der Wikipedia über den Artikel zu DCF77 gestolpert und koinzident über zwei interessante Projekte im Netz:
- Eine vollröhrenbestückte, netzsynchronisierte Uhr von Friedhelm Bruegmann,
- Eine einfache Analoguhr, über DCF77 pulsgesteuert von Klaus Katzmann.
Das brachte mich auf die Idee: Warum nicht eine DCF77-gesteuerte Nixie-Uhr bauen? Und weil Nachbauen zu einfach ist, bestehen folgende Anforderungen:
- Die Uhr soll nicht einfach stur Minuten zählen, sonden den Inhalt des DCF77-Signales anzeigen,
- Speziallösungen sind erlaubt (im Gegensatz zur Uhr von Friedhelm Bruegmann), z. B. Zählröhren für die Sekunden,
- Weitestmöglicher Verzicht auf Halbleiter. Ggfs. sind Dioden erlaubt,
- Zur Einsparung von Heizleistung sollen so oft wie irgend möglich Röhren auf Glimmentladungsbasis (Glimmlampen, Glimmzählröhren, Glimmrelais) benutzt werden.
Anmerkungen
Als komplexeres Gatter könnte z. B. der Hexodenteil einer ECH84 dienen, deren Steuergitter mit einer statischen Gittervorspannung komplett gesperrt sind.
g1 | g3 | Ua |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Dies entspricht einem NAND-Baustein. Als logisch 0 an den Steuergittern ist hierbei "kein Pegel" zu verstehen, an der Anode eine Spannung, die sich aus der Reihenschaltung von Ri und Ra der Röhre bildet und einen Wert zwischen einigen Volt und der vollen Betriebsspannung beträgt. Logisch 1 an der Anode entspricht der vollen Betriebsspannung.
Mit der passenden Beschaltung (Defaultpegel 0 V an den Steuergittern) kann hieraus ein NOR gebaut werden:
g1 | g3 | Ua |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Ansteuerung siehe oben, nur müssen die Steuergitter nun mit einer negativen Spannung gesteuert werden.
PLN
Ein erster Entwurf besteht aus folgenden Komponenten:
Empfänger
Der Empfänger entspricht fast 1:1 dem Schaltungsvorschlag von Klaus Katzmann (s. o.). In der HF-Vorstufe ist allerdings die steilere EF183 vorgesehen. Am Ausgang stehen dann die 100/200ms-Pulse von DCF77 in ausreichender Stärke zu Verfügung.
Ein Prototyp des Empfängers für Versuchszwecke steht noch aus.
Takterzeugung
Da DCF77 keine 59. Sekunde sendet, die Schaltung aber trotzdem weiterarbeiten soll, wird ein Taktgenerator benötigt, der Pulse mit einem Weitenverhältnis von 100/901ms liefert. Die Pause ist deswegen etwas länger gewählt, weil das Umkippen des Generators durch das empfangene Signal getriggert werden soll.
Als Taktgerator käme ein Multivibrator mit zwei Trioden in Frage. Experimente mit einem Glimmrelais ER21a als Kippstufe (da sowas keine Heizleistung benötigt), waren weniger erfolgreich. Der Entladestrom eines sich durch die Hauptglimmstrecke und über einen Auskoppelwiderstand entladenden Kondensators soll unter Berücksichtigung einer nachfolgenden Pulsformerstufe exakt 100ms lang sein. Die nachfolgende Schaltung ist als Entwurf zu verstehen und funktioniert in der Praxis leider noch nicht wie gewünscht (Pulsdauer und Pausen wesentlich zu kurz). Ggfs. sind komplexere Schaltungen mit zwei Glimmrelais hier erfolgversprechender.
1/0-Dekoder
Da DCF77 den Zustand (1 oder 0) des jeweiligen Bits über die Pulslänge kodiert, kann durch Vergleichen der Längen des Taktgebers und des Empfängers bestimmt werden, um welchen logischen Zustand es sich bei der letzten gesendeten Information handelt. Dies kann entweder additiv und ggfs. über Dioden entkoppelt über eine Triode geschehen oder von sich aus entkoppelt über die beiden Steuergitter einer Hexode (ECH84).
Weil allerdings erst nach etwas mehr als >100ms feststeht, ob es sich um eine 0 oder 1 handelt, der Takt aber schon zu Pulsbeginn weitergegeben wird, muß entweder das gesamte Schaltungskonzept mit einem Versatz von ≥100ms klarkommen oder das Taktsignal des Taktgebers für die Schaltung selbst um >100ms verzögert werden. Letztere Möglichkeit erscheint plausibler.
Reset-Generator
Dieser Schaltungsteil muß zum Beginn einer neuen Minute einen Puls auslösen, der in der restlichen Schaltung benötigt wird:
- Übernahme der gesammelten Bits vom Arbeits- in den Anzeigespeicher,
- Reset des Sekundenzählwerks. Dies ist insbesondere wichtig, weil beim Einschalten der Uhr keinerlei Synchronisation zu DCF77 besteht.
Wenn der Sekundenpuls vom Sender ausbleibt, wird ein Bit einer Glimmspeicherzelle gesetzt. Der nächste folgende Sekundenpuls löscht dieses Bit wieder. Das erfolgreiche Löschen dieses Bits generiert den notwendigen Resetimpuls. Dies kann durch die Addition der zwei Impulse an der Glimmzelle erledigt werden, wobei diese in ihrer zeitlichen Länge angeglichen werden müssen und der Senderimpuls mit negativem Vorzeichen eingespeist werden muß.
Gegebenenfalls kann ein Gültigkeitsbit verwendet werden, was nach dem Einschalten noch nicht gesetzt ist, nach dem ersten Reset aber gesetzt wird. Ein nicht gesetztes Gültigkeitsbit unterdrückt die Übernahme in den Anzeigespeicher. Das Bit kann auch von einer möglichen Paritätsprüfungslogik wiederum gelöscht werden.
Sekundenzähler
Der Sekundenzähler erfüllt die folgenden Aufgaben:
- Adressierung der jeweils zu beschreibenden Speicherzelle,
- Ggfs. ansteuern der Paritätsschaltung,
- Ansteuerung der Sekunden-Nixies.
DCF77 sendet keine Sekundeninformation, diese müssen daher zwingend über einen Zählmechanismus erfaßt werden.
Monoflop/Pulsformer
Dieser Schaltungsteil bereitet das Taktsignal so auf, daß es zur Triggerung der Dekatrons verwendet werden kann. Dazu sind zwei zeitlich aufeinanderfolgende, aber schaltungstechnisch getrennte Impulse notwendig, welche die Glimmentladung in der Röhre um einen Pin weiterdrücken. Das kann z. B. mit einem monostabilen Flipflop geschehen.
Möglicherweise kann diese Einrichtung nicht nur zur Dekatronsteuerung, sondern auch zur oben beschriebenen Verzögerung des Schaltungstaktes verwendet werden.
Dekatron/Zählröhren
Die Zählröhren zählen die Sekundenimpulse. Diese haben nicht (nur?) einen gemeinsamen Anodenwiderstand, sondern pro Kathode einen. An diesem kann dann die Zustandsanzeige für die Nixies direkt gleichstromtechnisch ausgekoppelt werden. Für den Übertrag von den Einern zu den Zehnern der Sekunden ist ein weiteres Monoflop für die Ansteuerung des Zehnerdekatrons erforderlich.
Eine Resetschaltung für den Übergang von der 59. auf die 0. Sekunde erübrigt sich durch die externe Resetschaltung im 1/0-Dekoder. Eventuell ist es notwendig, für einen definierten Zustand beim Einschalten der Stromversorgung zu sorgen. Das kann mit dem gleichen Mechanismus geschehen, wie der Minutenreset, z. B. ein negativer Impuls hoher Spannung auf die beiden 0-Kathoden, die nachhaltig jegliche bestehende Glimmentladung auf die 0-Kathoden ziehen.
Die Berücksichtigung der Schaltsekunde auch ohne die Auswertung des zugehörigen Bits könnte sich durch die zugrundeliegende Logik ergeben. Eine Schaltsekunde bedeutet keine 900ms Pause, sondern 1900ms. Da der Taktgenerator mit minimaler Verzögerung ja trotzdem weitertaktet, werden hier zwei Minutenresets nacheinander ausgeführt, bevor die Dekatrons wieder bei 0 ab zu zählen beginnen.
Details zum Timing finden sich hier.
Nixie-Treiber (Sekunden)
Der Anzeigentreiber besteht aus 17 Trioden, die im Normalzustand durch eine feste negative Vorspannung gesperrt sind und durch eine geschickte Widerstandskombination über die Dekatron-Ausgangsspannung leitend geschaltet werden. Die Nixiekathoden liegen an den jeweiligen Anoden der Trioden.
Adressdekoder
Diese Baugruppe beinhaltet:
- Adressdekoder, der aus den jeweiligen Signalen der aktiven Glimmstrecken der Dekatrons eine bestimmte Speicherzelle ausdekodiert und damit addressiert,
- Ein Gatter, welches beim Taktpuls das gerade anliegende Bit in die addressierte Speicherzelle kopiert.
Wie könnte ein solcher Adressdekoder mit möglichst wenig Aufwand zu realisieren sein?
Arbeitsspeicher
Speicherzellen sind aufwendig in der Konstruktion, wenn man bekannte Maßstäbe anlegt. Die in der Halbleiterwelt durch Miniaturisierung möglichen Varianten sind viel zu aufwendig in Röhrentechnik nachzubilden. Mit einem Monoflop sind noch zwei Trioden notwendig, um ein Bit zu speichern. Meine Idee war daher, das Bit mit einer Glimmlampe abzubilden:
Man nehme eine normale Glimmlampe und betreibe sie exakt in der Mitte zwischen Lösch- und Zündspannung (hier: Uz=74V, Ul=61V → Ub=68V).
- Ein positiver Impuls von ΔU (Zünd-/Betriebsspannung) zündet das Ding,
- ein negativer Impuls von ΔU (Lösch-/Betriebsspannung) löscht das Licht.
Zum Auslesen stehen mehrere Varianten zur Wahl:
- Zweiteilung des Arbeitswiderstandes; am unteren Widerstandsteil, mit einem als Zündhilfe zu verstehenden, dazu parallelgeschalteten Kondensator, fällt bei gezündeter Glimmlampe eine Spannung ab, die als Gleichspannungspegel direkt verwendbar wäre.
- Wenn Spannung an der Glimmlampe = Betriebsspannung, dann Bit nicht gesetzt. Wenn Spannung an der Glimmlampe < Betriebsspannung, dann Bit gesetzt, oder umgekehrt, je nach Definition. Hier muß allerdings noch eine Auswertung nachgeschaltet werden. Aufwand ggfs. zu groß.
- Auswertung über einen Fotowiderstand. Zweckmäßigerweise werden zwei Glimmlampen in Serie geschaltet; eine für die Bestrahlung des Fotowiderstandes, eine zum direkten Beobachten des Zellenzustandes.
Das Vertauschen von Widerstand und Glimmlampe zwecks Ansteuerung über den gewünscht geringen Innenwiderstand der Stromversorgung funktioniert nicht.
Nachbehandlung
Nach einem Vorschlag von Steffen sollten die Funktionen der Dekodierung, Sommerzeitumschaltung sowie die Umrechung in lokale Zeit durch eine Anzahl Funktionstabellen abgebildet werden, die dann als Basis für Vereinfachungen dienen.
Möglicherweise lassen sich Baugruppen mehrfach nutzen (Zehner/Einerdekoder je für Stunden und Minuten).
Eine weitere Vereinfachung ergibt sich aus der krummen Kodierung der Zehner-Bits. Die Einer sind wie gewohnt bitweise kodiert, während die Zehner als 10, 20, 40 kodiert sind. Folglich können Einer und Zehner getrennt voneinander dekodiert werden, die Zehnerdekoder kommen hernach mit 2 (Stunden) bzw. 3 (Minuten) Bits aus.
Paritätsprüfung
Aus dem Adreßdekoder muß ein Pegel ausdekodiert werden, solange Minuten- und Stundenbits eintrudeln. Die Highbits würden ein mit 0 intitalisiertes bistabiles Flipflop zum umkippen bringen (Toggle). Sobald der Adreßdekoder das Ende der jeweiligen Bitgruppe signalisiert, müßte der Zustand des Flipflops mit dem Paritybit verglichen werden. Bei Übereinstimmung darf der Kopierer den Block kopieren, wenn nicht, sollte die vorherige Anzeige beibehalten werden und eine separate Anzeige einen Parityfehler indizieren (Glimmlampe).
Aufgrund der hohen Komplexität und dem damit einhergehenden beträchtlichen Mehraufwand für einen solchen Check betrachtet der Autor diesen als überflüssig.
Sommer/Winterzeit- und Zeitzonenkorrektur
Die Uhr muß hier definitiv rechnen können, eine andere Lösung fällt mir dazu nicht ein.
Kopierer
Der Kopierer kopiert beim Minutenresetsignal die einzelnen, zur Anzeige notwendigen Bits in den Anzeigespeicher.
Anzeigespeicher
Siehe weiter oben. Zudem ist der Anzeigespeicher kleiner als der Arbeitsspeicher: Nur 13 Bit statt 18 im Arbeitsspeicher.
Anzeigedekoder
Diese Baugruppe dekodiert aus den gesetzen Bits im Anzeigespeicher die zur Nixieansteuerung notwendigen Signale (pro Nixie nur eine Leitung aktiv).
Nixie-Treiber
Hier gilt das unter 2.5 genannte sinngemäß, allerdings ist der Aufwand an Trioden höher, wir brauchen:
- Zehner, Stunde: 2 Trioden (Darstellung ohne führende Null),
- Einer, Stunde: 10 Trioden,
- Zehner, Minute: 6 Trioden,
- Einer, Minute: 10 Trioden.
In der Summe also 28 Trioden, plus nochmal 16 für die Sekunden, somit also 44 Trioden. Je nach genauer Realisierung wäre hier reichlich Gebrauch von ECH84 zu machen, die H-Teile für Und-Verknüpfungen, die quasi mitgelieferten Trioden für die Anzeigentreiberei. Wären hier schonmal 83W Heizleistung drin vergraben.
Um Heizleistung einzusparen, sowie zur Erhöhung der Betriebssicherheit wegen Zwischenschichtbildung der Röhrenkathoden, wären auch hochohmig ansteuerbare Reedrelais für Stunden- und eventuell Zehnerminuten denkbar. Das wäre dann genauer zu überdenken, wenn feststeht, wieviele Trioden von ECH84 letztendlich "übrig" für die Verwendung als Anzeigetreiber wären.