Das Basteln von Digitaluhren auf Basis unterschiedlicher Technologien hat bei uns seit vielen Jahren eine gewisse Tradition. Ab und zu muß es halt mal wieder sein. Bisher haben wir das mit TTL (bzw. LP-Shottky) Logik oder einem U125 (hochintegrierter Zähler) oder einem großen EPROM gemacht. Eine Lösung mit Transistoren wäre auch mal interessant.
Seit einiger Zeit liebäugelte ich damit, eine Maschine mit Relais zu bauen. Entweder einen einfachen numerischen Rechner, eine Steuerung oder eine Uhr. Die Herausforderung war, Logikschaltungen und Zähler, Dekoder mit einfachen Schaltkontakten zu realisieren und man ahnt schon - tonnenweise schicke Relais samt Sockeln zu besorgen. Im Bestand befanden sich ein paar 12V RGI Relais aus DDR-Produktion. Diese haben je 4 Umschalter. Erste Versuche, Flipflops und Taktgeber zu bauen, nahmen eine gewisse Zeit in Anspruch und zeigten, daß auch weitere Bauteile (Widerstände und Kondensatoren) für bestimmte Zeitverhältnisse benötigt werden. Die konkrete Gesamtschaltung war noch nicht fertig aber einzelne Komponenten begannen, auf dem Papier Formen anzunehmen.
Ich stellte fest, daß ich für die Uhr folgende Teile benötigen würde:
* Taktgeber
* 4-Bit Binärzähler (für die Einer 0...9)
* 3-Bit Binärzähler (für die Zehner 0...5)
* RESET-Erzeugung für die einzelnen Zählerketten (Abbruch der Zählung bei 9 bzw. 5)
* 24h-RESET-Erzeugung
* Binär-Dezimal-Dekoder
* Dezimal-7-Segment-Dekoder
* Stromversorgung
* Stellvorrichtung
und als Kür ggf. noch eine Vergleichsschaltung für eine Alarmfunktion.
Das schönste am Uhrenbasteln (neben dem Entstehen des Gerätes beim Aufbau) ist die Vorfreude beim Konzipieren. Das
Feilen an der Schaltung auf dem Papier wenn man in einem Cafe sitzt. Aufgrund der Marktpreise für RGI-Relais und die
eingeschränkte Verfügbarkeit zerschlug sich die Realisierung vorerst. Die Ausarbeitung ergab, daß ich ca. 150
4-Kontakt-Relais brauchen würde für eine 24h Uhr mit Sekunden, Minuten und Stunden.
Übersichtsschaltbild und Schaltplan eines 4-Bit-Binärzählers mit Reset
Binär-zu-7-Segment-Dekoder und Verschaltung der Zählerketten
Verdrahtungsplan und Belegung der Relaispanele
Im Frühjahr 2014 bekamen wir die Information, daß in einem thüringer Porzellanwerk DDR-Automatisierungstechnik steht und
von der Verschrottung bedroht ist. Wir nahmen Kontakt auf um diese Geräte für unser Museum zu bergen und zu sehen,
was es dort noch so gäbe. Bei der ersten Besichtigung des stillgelegten Werkes kamen wir auch in eine große Meßwarte,
aus der die sogenannte Masseaufbereitung gesteuert wurde. Der Ende der 70er installierte ungarische Prozeßrechner war
nach der Wende durch einen kompakten Siemens-Rechner ersetzt worden aber sonst schien die Meßwarte in Originalzustand zu sein.
Interessant wurde es ein Geschoß tiefer: Hier befand die die Prozeß-Ein-Ausgabe, der Teil Technik, der die Anlage mit der
Leitwarte und dem Prozeßrechner verband. Der Raum war vollgestellt mit mannshohen Rackreihen voller Relais und Schaltgeräte.
Die stillgelegte Meßwarte
Der Relaisraum unter der Meßwarte. Noch sind die Panele intakt
Die Racks bestanden aus einzelnen Panelen mit 5x15 gesockelten Relais vom Typ OMROM MY4-4. Diese Relais haben, wie auch
die RGI Relais 4 Umschaltkontakte und ein durchsichtiges Gehäuse. (Wenn man schon eine Relaisuhr baut, möchte man ihr
ja später auch bei der Arbeit zugucken können.) Der Haken: Die Relais arbeiteten mit einer Spannung von 48V DC. Für das
zuverlässige Anziehen ohne Prellen sind mindestens 43V erforderlich.
OMRON Relais Typ MY4-4
Beim nächsten Besuch des Werkes, bei dem die Abholung der BMSR-Geräte für das Museum vorbereitet wurde, wollte ich ein paar der Relaispanele demontieren. Laut Betriebspersonal stellte das kein Problem dar, da die Komponenten definitiv nicht mehr gebraucht werden würden. Beim Betreten des Relaisraumes traf uns dann fast der Schlag: In der Zwischenzeit hatte die "Buntmetallmafia" ganze Arbeit geleistet und einen Großteil der Relais einfach mit einem dicken Hammer von den Panelen "gehackt". Der Hammer lag noch da und an einigen der Panelen fanden sich noch die abgebrochenen Füße der Relais, von denen selbst aber keine Spur mehr zu finden war. Auch Kabelstränge und vor allem die Aluminiumfußbodenplatten waren verschwunden, so daß man über dem Kabelboden nur noch auf den Stegen langbalancieren konnte. Damit rückte die geplante Uhr wieder in weite Ferne.
Glücklicherweise fanden sich im hinteren Teil der Meßwarte, versteckt hinter der runden Schalttafel, noch 3 vollständige
Relaispanele sowie mehrere schmale Träger mit je 8 Relais. Juhu. Damit sollte es klappen!
In einem Lager fanden sich Kleinsignallampen mit Sockeln, zwei große Selengleichrichter, Meßinstrumente für Spannung
und Strom, Drehschalter und ein fetter 24V-Trafo. Damit das Zeug auch irgendwie zusammengeschraubt werden kann, demontierten
wir noch ein paar der Leerfeldabdeckungen im Relaisraum - in dem gleichen Grün lackiert wie die Relaispanele.
Ein paar Sachen fehlten nun noch, um die Uhr zu konstruieren. Ich plante eine vertikal gegliederte Quaderform mit stabilem,
zu den anderen, industriell-robusten Teilen passenden, Profilrahmen. Es sollte kein Holz und möglichst wenig Kunststoff zum
Einsatz kommen. Auf einem lokalen Schrottplatz fanden sich Teile einer ehemaligen Industrieroboterumhausung - hervorragende
Grundlage für den Rechteckprofilrahmen, der mit Elektrode zusammengeschweißt, verschliffen und, als Korrossionsschutz
klar lackiert wurde.
Der geschweißte Rahmen
Eine erste Geduldssache war das Bohren und zurechtfeilen der 72 Löcher für die Signallampen auf einem Blech an der Frontseite.
Je zwei der grünen, runden Lampen sollten ein Segment von insgesamt 6 7-Segment-Anzeigen bilden. Durch die erforderliche
hohe Spannung von 48V für die Relais war es nicht einfach, passende Lampen für diese Spannung zu finden. Ich plante,
je zwei 24V-Lampen in Reihe zu schalten.
Installation der Anzeigeplatte
Im Sockelbereich vorn sollten die Bedienelemente für die Stromversorgung eingebaut werden, die Trafos dahinter. Um auf 48V zu kommen (v.a. mit der erforderlichen Strombelastung), wird die Netzspannung von 230V auf 24V heruntergesetzt und dann mit einem alten Transverter auf 48V verdoppelt. Der Transverter (einfacher 1:2 Trafo) lag herum. Man nutzt solche Geräte als Vorschaltgerät für US-Importe, die mit 110V arbeiten. Ich drehte ihn einfach rum. Dahinter folgte der große Selenplattengleichrichter, dessen Beschaltung nicht einfach zu ermitteln war. Das Internet kennt diese Dinger schon nicht mehr wirklich und das DDR-Modell sowieso nicht. Der Tip eines Hobbykollegen, daß die Kathode die rauhe Plattenseite ist, hat es dann gebracht.
Zwischenzeitlich habe ich mich entschlossen, die Lampen der Anzeige doch parallel statt in Reihe anzusteuern. Die Speisung sollte direkt mit Wechselspannung aus dem ersten Trafo erfolgen. Den Relais macht es ja nichts, wenn sie Wechselspannung schalten. Da die Lampen mit 24V recht warm wurden, tauschte ich sie gegen 60V Typen und schloss die Versorgungsleitung mit an die 48V DC der Relais an.
Die nächste Geduldsprobe war die Neuverdrahtung der Relaispanele. Zuerst mußten hunderte dicke Drähte abgelötet und später neuangeschlossen werden. Das alte Lötzinn brauchte stellenweise reichlich Überzeugungsleistung, flüssig zu werden und dann steckten da noch verhärtete Isolierschlauchstücken drauf.
Nach stundenweiser Bastelarbeit, die sich über ca. 3 Monate hinzog, nahmen die einzelnen Teile konkrete Formen an. Das Frontblech mit den Lampen war fertig, die beiden Relaispanele waren weitestgehend verdrahtet. Sie wurden an den Seiten an zwei stabilen Scharnieren befestigt. Um den Aufbau und Reparaturen zu vereinfachen, baute ich dicke Messerleisten dazwischen, die sich in einer Industriebrache gefunden hatten, an der wir im Sommerurlaub vorbeigekommen sind.
Das erste, was lief, waren die Dekoderschaltungen zur Auswahl der Anzeigesegmente. Die Lämpchen selbst machten ein paar
Probleme, da die Kontaktfahnen von den Glaskolben abgefallen waren und so beim Einstecken in die Sockel leicht die Anschlußdrähtchen
rissen. Danach probierte ich die Binär-Dezimal-Wandler aus und konnte erstmals richtige Ziffern darstellen. Die
Verdrahtung war trotz ihrer Komplexität fehlerfrei erfolgt aber mehrere Lötverbindungen hatten sich bereits wieder gelöst.
Der alte Metall der Lötfahnen, die zuvor noch nicht genutzt worden waren war oxidiert und nahm denkbar schlecht Zinn an.
Neuverdrahtung der beiden Relaispanele
Die erste richtige Herausforderung waren die Zählerketten.
Kurz zur Funktion: Je zwei Relais bilden ein T-Flipflop, welches durch Schließen eines externen Kontaktes zwischen
zwei stabilen Lagen umgeschaltet werden kann. Diese Zellen werden nun als eine Art Frequenzteiler hintereinandergeschaltet
und bilden mit 4 Zellen (8 Relais) einen 4-Bit-Zähler. Schaltungsbedingt und durch den abartigen Innenwiderstand der
benutzten Relais funktionierten diese Zählerketten mit 48V aber nicht richtig stabil bzw. mochten ab der zweiten Stufe
gar nicht richtig umschalten. Abhilfe verschafften parallelgeschaltete Widerstände von ca. 3,3kOhm über je das erste
Relais der Zelle und eine Erhöhung der Versorgungsspannung auf mindestens 54V.
Das Blöde war nun, daß noch so eine komische Spannung erzeugt werden mußte. Mist!
Verknüpfung der Zählerketten mit der Anzeige
Stück für Stück wurden die Zählerketten auf den Panelen und vorn auf den beiden kleinen Relaisträgern mit den Wandlern und
Dekodern und schlußendlich mit der Anzeige verbunden. Die Versorgungsspannung der Zähler kam vorerst aus einem Labornetzteil,
während die 48V für die Anzeigelampen und Schaltrelais bereits aus dem internen Netzteil mit den beiden Trafos und dem
Plattengleichrichter kamen. Später sollte als "Hack" ein DDR-Stelltrafo "Stella", wie man ihn für Fernsehgeräte benutzt
hat oben ins Gerät eingebaut werden und die 48V etwas erhöhen. Dahinter folgt dann ein kleinerer Selengleichrichter, da
die 54V für die Zählerketten auch gleichgerichtet sein muß.
Abbruchschaltung für die Zählerketten und Verknüpfungder einzelnen Zählerketten
Da die Zähler nicht bis 15 sondern nur bis 9 bzw. 5 zählen sollten, muß man den Zählerstand dekodieren und eine Schaltung
für den Abbruch aufbauen. Damit die Kette zum richtigen Zeitpunkt zurückgesetzt wird, muß statt bis 9 bzw. 5 bis 10 bzw. 6
gezählt und dann auf Null gesetzt werden. Damit dies wiederum nicht sofort passiert, wird der Rücksetzimpuls aus einer
UND-Verknüpfung von Zählerstand und Taktsignal gebildet. Das Rücksetzen selbst ist recht einfach. Das Rücksetzrelais
unterbricht kurz die Stromversorgung der entsprechenden Zählerkette. Nach dem Zuschalten steht die Kette wieder auf Null.
Da das Taktsignal noch ansteht, würde der Zähler sofort von 0 auf 1 springen. Um die zu maskieren gibt es am Rücksetzrelais
eine Abfallverzögerung (RC-Glied). Damit schaltet das Relais den Zähler erst wieder an, wenn das Taktsignal schon wieder
abgefallen ist.
Ein einzelnes Relais, verbunden mit einem RC-Glied und einem wirklich großen Kondensator bildet den zentralen Taktgenerator,
der den Grundtakt von 1s bereitstellt. Dieses Signal gelangt auf die Zählerkette SEKE (Sekunden-Einer), die bis 10 zählt und
dann mit dem nächsten Takt auf Null fällt. Das gleiche Relais, welches die SEKE-Kette zurücksetzt, stellt für die Kette
SEKZ (Sekunden-Zehner) den Eingangstakt bereit. Diese Kette zählt bis 6 und wird dann mit dem nächsten Takt auf 0 gesetzt. Da
beide Ketten bis 60 zählen, brauchen wir uns nicht um das Rücksetzen der Sekunden zu kümmern, da die bei 10 von selbst
auf 0 kippen. Das sind die Sekunden.
Von den Zählerketten kommen 4 bzw. 3 Bit zu den Binär-Dezimalwandlern. Das sind einfache Dekoder, bestehend aus wenigen Relais,
die die einzelnen Ausgänge für die Anzeigeziffern auswählen. Die zehn Ausgänge gehen auf die Dekoder-Relais, die eine
ODER-Verknüpfung bilden, womit die einzelnen Digits angesteuert werden. Z.b. der obere Balken im Digit muß bei 0,2,3,5,6,7,8 und 9 leuchten,
bei 1 und 4 aber nicht. Hier rächte sich, daß die Relais nur 4 Kontaktsätze enthalten. Um 7 Digits anzusteuern benötigt man,
wenn man keine Dioden einbauen möchte (Kein Silizium in die Uhr!), benötigt man 7 Kontakte - also meistens 2 Relais (
außer bei 1,4 und 7). Die Uhr wuchs und die "Reserve-Relais" für spätere Zusatzfunktionen wurden weniger.
Die Schaltung für die Minuten und Stunden ist äquivalent, wobei die Stunden-Zehner nur bis 3 zählen und eine Rücksetzschaltung
bei 24:00:00 sämtliche Zähler auf 00:00:00 zurücksetzen soll.
links: Die aufgebaute Uhr - rechts: Rückansicht mit Netzeinspeisung und Primärgleichrichter
links: Detail der Anzeigeeinheit - rechts: Inbetriebnahmearbeiten mit zusätzlichem Netzteil für die Zählerkettenspannung
Detailansichten der Uhr (ohne 52V-Spannungserhöhung) Im Hintergrund rechts das dritte Panel mit Originalverdrahtung.
Wie bei den meisten meiner Projekte habe ich wieder versucht, aus ästhetischen und ressourcenschonenden Gründen, so viele
Komponenten, wie möglich, zu recyceln. Hier ebenso. Bis auf einige Meter Lötzinn, ein ca. 4cm großen Klumpen Kolophonium, ein
paar Stückchen Schrumpfschlauch, das Matt-Schwarz für die Anzeigeplatte, 6 Schweißelektroden und einen abgebrochenen 3,4mm Bohrer war das Material
bereits vorhanden (bzw. konnte aus "Überhangbeständen" des Porzellanwerkes geborgen werden).
Weniger gut fällt die zeitliche Bilanz aus. Das Projekt zog sich mit Planung und Schaltungsanpassungen von Anfang August bis Mitte Dezember hin. Es
wurde nicht jeden Abend daran gefummelt aber mit der Zeit kamen doch einige Tage für mechanische und Lötarbeiten zusammen. Im
Nachhinein würde ich einschätzen, daß man, selbst wenn man bereits ein funktionierendes Konzept auf dem Papier hat, kaum in einer
Woche mit der Uhr fertig wird. Und dann kann man vermutlich kaum noch die Finger rühren und sieht nur noch Kabel. Ein harcore
Durcharbeiten entspricht aber auch nicht dem Sinn eines solchen Bastelprojektes. Vielmehr dient es dazu, wenn man sich auf nichts
anderes mehr konzentrieren kann oder einfach an anderen Arbeiten abschalten muß, für ein paar Minuten oder Stunden daran zu werkeln und
sich zu erfreuen, wie es Stück um Stück wird. Der zweite Punkt ist, daß eine halbfertige Uhr ein ziemlicher Anreiz ist, sich
zusammenzureißen und das Gerät trotz Widrigkeiten wirklich fertigzustellen.
Allen, die dies hier gelesen haben, ist sicherlich klar, daß es völlig sinnlos ist, eine so große, laute und energiefressende Uhr
zu bauen. Der Weg sollte das Ziel sein. Die Uhr war nur ein Nebenprodukt der Tätigkeit.
Bisher lief die Uhr maximal 50 Minuten am Stück. Mit zunehmender Erwärmung zeigte sich anfangs eine steigende unzuverlässigkeit in den Sekunden- und
Minutenzählern (SEKE, MINE), die wohl auf die Parallelwiderstände der Relais zurückzuführen sind. Die Widerstände liegen bei ca. 3kOhm +/- 400Ohm, was dazu
führt, daß die bestreffende Stufe manchmal einen Schritt überspringt und dann 0,1,2,8,-,- oder so zählt. Nach leichter Erhöhung bzw. Nachreglen der Zählerkettenversorgungsspannung
auf 54,3 V hörten diese Probleme weitestgehend auf.
Zwischendurch lösten sich bei Transporten erneut zwei Drähte an den Anzeigedekoderrelais, so daß bei bestimmten Zeiten je ein Anzeigesegment ausfiel. Die Ursache ist das
Alter der Sockel und der jahrelange Einsatz in korrosionsfördernder Umgebung. Angelötet und fertig.
Im Dunklen sieht man, daß vorn links in der Zählerkette SEKE an Bit 0 und dem parallel arbeitenden R-Relais kleine Abreißfunken auftreten. Hier versuchte ich,
mit einem Widerstand die Funkenbildung zu verringern, was (vermutlich, da ich den Widerstandswert noch nicht genau bestimmen konnte) nicht zufriedenstellend gelang.
Langfristig möchte ich es aber umsetzen, um die Relais zu schonen und damit die Lebensdauer des Gerätes zu verlängern.
Genauigkeit
Hierzu liegen noch keine präzisen Messungen vor. Das wird aber nachgeholt.
An der Uhr wird demnächst noch eine Alarmfunktion realisiert. Signalgeber wird (passend) ein großes altes Signalhorn mit ~48V. Ich habe 6 10-stufige Drehschalter gefunden, an denen man in einer Zeit zwischen 00:00:00 und 23:59:59 eine Sekunde auswählen kann, wo der Alarm erfolgen soll. Stellt man die Vorrichtung auf eine Zeit außerhalb dieses Bereiches ein (z.B. 25:00:00), die die Uhr nicht erreichen kann, erfolgt kein Alarm (quasi ALARM-OFF, spart einen Schalter). Ich habe lange überlegt, an welche Signale ich ran gehe, um die aktuelle Zeit mit den Alarmschaltern zu vergleichen. Hintergrund ist, daß nur noch 5 ungenutzte Relais übrig sind und ich keine weiteren einbauen wollte. Um z.B. Relais zur Dekodierung der Alarmschalter zu sparen, vergleiche ich deren Stand mit den Ausgaben der BIN-DEC-Dekoder der einzelnen Anzeigestellen. Zum Verständnis: Die Sekunden-Einer-Zählerkette SEKE zählt von 0000 bis 1001. Der BIN-DEC-Dekoder macht darauf dezimal 0 - 9, was die entsprechend 1 oder 2 Relais ansteuert, die, ODER-Verknüpft, die Anzeigesegmente treiben. Bis auf den Zählerstand "4", wo alle 4 Kontakte des Relais genutzt werden, sind immer noch mindestens ein Kontakt frei. Für die "4" braucht es ein 2. Relais. Ein +48V-Signal vom Netzteil geht an alle diese Relais und über einen Schließerkontakt an die Alarmschalterkontakte 1-10. Mit dem Abgriffkontakt wählt man dann den entsprechenden Wert aus. Damit ist die Schaltung zum Vergleichen des Alarm-Wertes mit dem aktuellen Zeit-Zählwert realisiert. Das Abgriffsignal geht dann analog weiter zu den Dekoder-Relais von SEKZ und über diese zum zweiten Alarm-Wahlschalters (SEKZ) und so weiter bis STUZ. Damit werden die dezimalen Zhälerwerte mit den Alarmwahlschalterwerten UND-verknüpft und alle 6 Alarmwahlschalter miteinander UND-verknüpft. Am Ende liegt ein Relais, welches durch die +48V durch diese Schalterreihe getrieben wird und das Signalhorn für eine Sekunde aktiviert.
Das nächste Projekt soll einen einfachen Rechner beinhalten. Ich möchte also einen Prozessor mit etwas E/A bauen. Die Verfügbarkeit der Bauelemente wird wohl
bestimmen, wie er aufgebaut wird. Die Sache mit TTL-Gattern und Flipflops zu lösen wäre recht angenehm vom Aufwand aber kollidiert aktuell schon an der damit
realisierbaren (hohen) Geschwindigkeit und der von mir geplanten Lösung für den RAM-Speicher in Form einer Lochband-Stanz/Lese-Kombination. Der Programmcode
soll ebenfalls von einem (weiteren) Lochbandgerät kommen. Aktuell sind bereits Lösungen bei Addition und Subtraktion zweier 8-Bit Zahlen fertig. Eine Multiplikation
ist ungleich aufwendiger. Entweder ich realisiere eine mehrstufige Abarbeitung (der "normale" Weg) und "verbrate" damit mehrere Takte für diese Operation oder
man macht es bauelementetechnik aufwendig und in einem Takt. Das braucht auf jeden Fall noch etwas Zeit. Sämtliche Funktionen der ZRE (zentrale Recheneinheit CPU)
sollen auf je einer oder mehreren Steckkarten realisiert werden, die von einem Programmcode-Dekoder, der das Lochband liest, adressiert werden. Wenn ich wieder eine
Funktion fertig habe, kann ich sie so in den Rechner stecken und seinen Funktionsumfang erweitern.
Zum Lochband-RAM-Speicher:
Das ist momentan noch Theorie. Ich möchte bei diesem Projekt keine 1000 Flipflops, Relais oder so für den RAM-Speicher verbraten. Auch bin ich nicht in der Lage,
einen Magnettrommelspeicher zu bauen (oder warum eigentlich nicht?). Auf einer Papierrolle, wie man sie aus kleinen Rechenmaschinen oder Registrierkassen kennt,
soll ein 8-Bit Datenwort und daneben ein 55 oder 6-Bit breiter Zählerwert sowie ein Bit zur Positionierung gestanzt werden. Der gestanze Zählerwert dient als Adresse auf dem
Papierband, welches sich in beide Richtungen bewegen kann. Ein 5- oder 6-Bit Binärregister im Rechner (ggf. erweitert auf 8-Bit für "Paging") steuert die Richtung
des Bandtransportes. Dies geschieht allerdings nur beim Lesen. Geschrieben wird immer an der nächsten ungestanzten Position, worauf der aktuelle RAM-Bereich eine
Adresse vorrückt. Außer über Paging ist dann die hinten rausgeschobene Adresse nicht mehr erreichbar. In der Programmierung muß man sich darum kümmern, ältere Daten,
die man noch braucht, wieder nach vorn an den Anfang des aktuellen RAM-Bereiches zu kopieren. Es ist also ein RAM mit eingebauter Vergeßlichkeit. Jedoch kann man, da er
ja die gestanzte Rolle immer weiter stanzt, anhand seines Inhalts jeden Programmschritt nachvollziehen. Man denke an einen WORM-Speicher. Je größer das aktuelle
RAM-Fenster, desto effektiver arbeitet der Speicher, da seltener ein Refresh-Kopieren stattfinden muß. Gleichzeitig wird der Adressierungsaufwand und die Positionierzeit in diesem
Fenster größer, weil der Bandbereich länger ist.
letzte Änderung: 25.01.2015 10:34