Meine virtuelle Zisterne

The Analog Thing: Retro-Modell oder Next-Generation-Computing?

Seit Kurzem bin ich stolzer Besitzer eines Analogcomputers. Analogcomputer?  Jeder Arduino1 kann doch analoge Signale über A-D-Wandler fast stufenlos messen und über Pulsweitenmodulation auch fast stufenlos ausgeben. Dennoch bleibt er ein Digitalcomputer, denn er verarbeitet Eingaben in numerischer Form und arbeitet Algorithmen schrittweise ab. Digital arbeitet auch der CD-Player, ja selbst der Computer im Hörgerät, der die Schwingung "Guten Morgen!" auf dem Weg vom Mund zum Ohr akustisch aufbereitet. Der Rechenschieber besaß nur eine beschränkte Genauigkeit, aber er war handlich und mit entsprechendem Knowhow leicht zu bedienen. Rechenmaschinen ließen sich für sehr viel höhere Genauigkeit auslegen - allerdings unter hohem konstruktivem Aufwand. Digitale Verarbeitungsprozesse verbessern die Qualität, doch sie benötigen viel Energie und in vielen Fällen Zeit für Umwandlungsprozesse, was zum Beispiel bei der Bluetooth-Übertragung von Audiosignalen vom Fernseher auf den Kopfhörer hörbare Verzögerungen verursacht. Rein analoge Geräte verzichten auf Algorithmen und modellierem Vorgänge in geeigneter analog funktionierender Hardware stufenlos, sparsam, parallel und in Echtzeit.

Schon lange vor der Entwicklung digitaler Mess-, Regel- und Rechengeräte von der Mechanik über die Elektromechanik zur Elektronik wurden analoge Problemlösungen gesucht und gefunden, darunter von den 1930-er bis zu den 1960-er Jahren auch analogelektronische "Computer". Aus der Geschichte sind sehr anspruchsvolle analoge Regelungs- und Simulationssysteme bekannt: mechanische „Weltmaschinen“, die Planetenbahnen vorausberechneten,  Gezeitenrechner, die den künftigen Verlauf des Wasserstands vorhersagten, ein Tachometer für Flugzeiue, das die nicht direkt messbare Geschwindigkeit eines Flugzeuges aus den messbaren Beschleunigungsvorgängen errechnete oder ein analoges "Mischgerät", das es ermöglichen, die Flugbahn einer Rakete nach dem Abschuss zu korrigieren. Näheres dazu kann man nachlesen in "Mathematik ohne Ziffern" von Wilfried de Beauclair oder in "Analogrechner - Wunderwerke der Technik" von Bernd Ulmann, der auch ein Analogmuseum betreibt. Parallel zur wachsenden Universalität, der zunehmenden Miniaturisierung und dem Leistungszuwachs der Digitalrechner starb die entsprechende Computervariante aber um 1970 wieder aus - um den Preis stetig wachsenden Stromverbrauchs. Bernd Ulmann und seine Mitstreiter arbeiten nun seit einigen Jahren an Analogrechern einer neuen Generation. Ihre Firma Anabrid GmbH brachte 2022 das Experimentiersystem "The Analog Thing" - abgekürzt THAT - auf den Markt.

Mein THAT misst 23x20x5 cm. Analoge Eingangsignale mit einer Spannung zwischen -1 Volt und +1 Volt können von außen zugeführt oder intern erzeugt werden. Zur Modifikation dienen acht Eingänge, die mit +1V oder -1V gefüttert und jeweils einem zugeordneten Potentiometer COEFF1 bis COEFF8 (Knöpfe unten links) beliebig mit Faktoren von 0,000 bis 0,999 multipliziert werden. Eine Digitalanzeige zeigt die Koeffizienten der Potentiometer (oder wahlweise auch die Spannung an einem beliebigen Punkt der Schaltung) numerisch an. Fünf Ausgänge X, Y, Z, U und TR (Trigger) an der Hinterseite (im Bild oben) dienen zur Ansteuerung einer Verstärkerschaltung oder zur Ausgabe des Verlaufs der Spannungskurve auf einem Oszilloskop. Als solches dient hier die preiswerte Platine DSO-500K-U der australischen Firma FHDM Tech in Verbindung mit der App „Scoppy“ auf einem Android-Tablet. Sowohl die Oszilloskopplatine als auch der Analogcomputer werden problemlos aus dem Akku des Tablets über den USB-Anschluss des Tablets mit Strom versorgt.

Die interne Verarbeitung der Signale im THAT erfolgt über verschiedene analoge Schaltkreise: fünf Integrierer, vier Summierer, die sich auch als Operationsverstärker konfigurieren lassen, vier Inverter, zwei Multiplizierer und zwei Vergleicher. Außerdem gibt es acht Dioden und zwei Kondensatoren und zwei Felder zum Kombinieren verschiedener Widerstände.

Programmiert wird ein analoger Computer, indem man jeweils einen Ausgang einer Schaltungselements mit einem Eingang eines anderen (oder rückgekoppelt auch des gleichen) Elements über ein Kabel verbindet. Das "Programm" beschreibt hier keinen Ablauf, sondern besteht aus der Gesamtheit der Steckverbindungen und Potentiometerstellungen. Im Gegensatz zu Digitalrechnern besitzt THAT keinen internen Speicher - weder für Programme noch für Zahlenwerte.

Hello World: Ein Aufpasser für meine Zisterne

Von meinem Dach fließt Regenwasser durch ein Fallrohr in eine unterirdische Zisterne. Diese ist durch einen Überlauf mit dem Abwasserkanal verbunden. Verbindungsleitungen mit dem Haus sorgen dafür, dass dem Vorrat Brauchwasser etwa für Toilettenspülung und Blumengießen entnommen werden kann. Da fehlt eigentlich nur noch ein Computer, der aufpasst, dass die Zisterne nicht leerläuft und durch Zuführung von aus der Trinkwasserleitung automatisch auf enem definierbaren Mindestfüllstand gehalten wird. Über drei (analoge!) Sensoren misst mein THAT die Zuflüsse und die Entnahmemengen, er integriert sie zum jeweiligen Füllstand und öffnet bei drohendem Trockenfall die Nachfüllleitung.

Da ich nicht lange auf Regen warten will, baue ich mir also ein analog funktionierendes Modell. Zum Regnenlassen drehe ich das Potentiometer COEFF1 und zum Wasserzapfen COEFF2 auf und wieder zu. Auf COEFF4 habe ich zuvor einmalig den Mindestfüllstand und auf COEFF3 die ungefähre Kapazität der Nachfüllleitung konfiguriert. Die Einstellung selbst erfolgt nach Gefühl, die Potentiometerstellungen kann ich mir bei Bedarf digital zwischen 0 und 0,999 auf dem Display anzeigen lassen, ansonsten aber werden für Mess- und Einstellungsvorgänge keine Zahlen benötigt. Auch die folgende Aufzeichnung mit meinem Scoppy Digitaloszilloskop könnte ebenso gut von einem Analoginstrument vorgenommen werden. Hier ein Füllstandszyklus :

    Die gelbe Kurve gibt den Füllstand wieder, die grüne die Entnahme- und Nachfüllvorgänge. Die Dreiecke links markieren jeweils den Nullwert der Kurve, das Dreieck T rechts die Höhe der Zisterne.

  1. Der Zulauf öffnet sich, bis der Füllstand den Sollwert erreicht.

  2. Noch hat es nicht geregnet. Entnahmen werden zeitnah durch Zulauf aus der Trinkwasserleitung ausgeglichen.

  3. Hoher Verbrauch kann nicht sofort nachgefüllt werden. Das Minimum wird zeitweilig unterschritten.

  4. Beginn einer Regenphase. Die Zisterne füllt sich.

  5. Andauernder Verbrauch baut den Vorrat ab.

  6. Starkregen bei wenig Verbrauch bringt die Zisterne zum Überlaufen.

  7. Ein Feuerwehreinsatz führt zu extremem Wasserverbrauch.

Und dies ist das "Programm"

Wie oben erwähnt bestehen Programme bei Analogcomputern aus Verkabelungen und können nicht numerisch gespeichert werden. Bei manchen der klassischen Modelle gab es die Möglichkeit, das Frontpanel auszutauschen und mit der Schaltungshardware an einem anderen Problem weiterzuarbeiten. Für diese Lösung ist der THAT aber zu klein. Den Kabelverhau auf dem Steckbrett mit einem Handyfoto zu dokumentieren, ist keine gute Idee, auch die ausgeklügelte Verwendung unterschiedlicher Kabelfarben verbessert die Übersicht nur sehr bedingt. Am besten ist es, die Funktionselemente und den Informationsfluss durch Symbole zu kennzeichnen und den Aufbau in einem Schaltplan zu skizzieren:

Links oben stehen vier Ausgangsspannungen von +1 Volt oder -1 Volt. Durch nachgeschaltete Potentiometer (Kreissymbole) können diese  Werte modifiziert werden. Im Kreis steht die jeweilige Potentiometernummer, daneben kursiv die Starteinstellung. Zu Anfang läuft weder Wasser zu noch ab. Über COEFF1 kann Regen, über COEFF2 Entnahme simuliert werden. Ob über COEFF3 Leittungswasser zugefüttert wird, steuert der Computer. Der Füllstand, unterhalb, dessen dies geschieht, wird über COEFF4 geregelt und über den Ausgang U an die Digitalanzeige übergeben.

Rechts oben findet sich das Symbol für einen Integrierer. Er startet mit 0 (Initial Coefficient IC), protokolliert fortlaufend den Füllstand der Zisterne und übergibt ihn über Ausgang X an das Oszilloskop, das daraus die gelben Verlaufskurve produziert. Weil Integrierer aus technischen Gründen das Vorzeichen des Ergebnisses umkehren, muss es vor der Ausgabe auf das Oszilloskop durch einen nachgeschalteten Inverter (Dreieckssymbol) nochmals umgekehrt werden.

Das größere Dreieck mit den drei Eingängen steht für einen Summierer. Er berechnet die Summe der aktuellen Zu- und Abflüsse. Auch dem Summierer muss ein Inverter nachgeschaltet werden. Das Ergebnis wird an den Ausgang Y übergeben und vom Oszilloskop als grüne Kurve ausgegeben.

In der unteren Reihe der Schaltung finden sich zwei Vergleicher. Sie addieren jeweils die Eingänge A und B und verbinden je nach Ergebnis entweder den Eingang >0 oder den Eingang <0 mit dem Ausgang. Der linke Vergleicher sorgt dafür, dass nur dann Leitungswasser zugefüttert wird, wenn der Füllstand der Zisterne das eingestellte Minimum unterschreitet. Der rechte begrenzt die Buchführung des Integrierers auf die tatsächlich vorhandene Wassermenge. Er schaltet bei Überlauf die Übergabe an den Integrierer ab und sorgt so dafür, dass der angezeigte Füllstand nicht unter 0 sinken kann und die Ausgabe Y auf positive Werte begrenzt wird.

Retro oder nächste Generation?

Natürlich braucht man für mein Regelungssystem eigentlich keinen Computer, ein paar Bauteile täten es für manuellen Betrieb auch. Andererseits aber könnte eine Hybridlösung etwa aus THAT und Arduino auch zum fernabfragbaren Heimautomationssystem heranreifen. Dafür besitzt der THAT bereits einen Anschluss. Außerdem finden sich an dessen Hinterseite (im Foto oben) zwei Pfostenstecker, die dazu dienen, mehrere THATs zu einem leistungsfähigeren System zusammenzuschließen.

In der Anleitung zum THAT finden sich zehn Beispielanwendungen, mit denen Vorgänge, die linearen, exponentiellen oder ganzrationalen Gesetzmäßigkeiten folgen, simuliert werden. So wird etwa das Zusammenwirken der Kräfte und Massen von Fahrzeug, Feder und Stoßdämpfer in einem Auto (eine gedämpfte Schwingung) durch Differentialgleichungen beschrieben und als Schaltkreis modelliert. Die aktuellen Bedingungen können dabei über Potentiometer modifiziert werden und der Ablauf der Simulation kann auf einem Oszilloskop in Real Time beobachtet oder anhand einer Aufzeichnung analysiert und optimiert werden, so lange, bis das System auf jedes denkbare Schlagloch optimal reagiert.

Dumm nur, dass man auf dem THAT die Programme nicht speichern kann, sondern immer den ganzen Kabelverhau entfernen muss, um eine neue Schaltung aufzubauen.  Der THAT besitzt 120 Ausgänge und 80 Eingänge. Ein softwaretechnisch universell programmierbarer "THAT-ON-A-CHIP" müsste statt des Steckbretts für jeden der 120 Ausgänge hardwaretechnische Verbindungsmöglichkeiten zu einem oder mehreren der 80 Eingänge bereitstellen. Das wäre an jedem Ausgang eine Verbindung zu jedem Eingang, insgesamt eine Matrix mit Zehntausenden möglicher Hardwareverbindungen. Wie realisiert man so etwas? Und die vielen Potentiometer, die von Hand eingestellt werden, brauchen auch ihren Platz. Geht das nicht kleiner? Bernd Ulmann nennt in seinem Vortrag ►"Analog Computing for the 21st Century", (►Auf Youtube: "Historische und moderne Analogcomputer") Lösungsansätze wie große Schaltmatrizen und digital einstellbare Potentiometer, er bezeichnet aber den "reconfigurable large-scale integrated analog processor" einstweilen noch als ultimatives Ziel. Bis Hybridsysteme bestehend aus Analog- und Digitalmodulen universell eingesetzt werden können, bis Analogkomponenten intern umprogrammiert und als Ganzes miniaturisiert werden können, wartet auf die Jungs von Anabrid noch eine Menge Arbeit.

Einstweilen bleibt für Analogcomputer eine Rolle als spezialisierte Koprozessoren für zeitkritische und rechenintensive Aufgaben in der Prozesssteuerung, Simulationstechnik und Signalerkennung. Miniaturisiierte Analogkoprozessoren könnten helfen, Signale zu analysieren, medizinische Geräte zu verkleinern oder Prozessverarbeitungssysteme durch Einsatz von Hardware statt Software schneller, energieeffizenter und weniger angreifbar zu machen. Dabei wird der THAT zum Entwicklungs- und Testsystem für solche Teilkomponenten. Er lenkt den Fokus weg von Zahlen und Algorithmen und nimmt analoge Denkweisen und Lösungsansätze neu in den Blick und stellt die digitale Informatik auf ein zweites Bein.

Aber er macht auch solo eine Menge Spaß: Kreative Spielkinder werden sich bei der Beschäftigung mit dem THAT besonders an dynamischen Systemen erfreuen, die durch minimale Änderungen von gleichmäßiger Regelhaftigkeit in chaotische Unberechenbarkeit übergehen. So wie die "Analog Computer Application #43" aus der online verfügbaren Beispielsammlung:


Frontansicht (x-z-Ebene) der dynamischen dreidimensionalen
Sprott-Funktion während langsamer Reduktion des Parameters von 1 auf 0

 

Rechenwerkzeug.de