---
layout: post
title: Der Analoge Lorenz-Attraktor
---

![Der Lorenz-Attraktor auf dem Oszilloskop-Bildschirm]({{site.url}}/media/projects/analog-lorenz/analog-lorenz_display.jpg)

## Einführung

Der Meteorologe Edward Lorenz hat 1963 am MIT aus einem Wettermodell
ein System aus nichtlinearen Differentialgleichungen entwickelt.
Das war das erste einfache System, das chaotisches Verhalten gezeigt hat,
das heißt beliebig kleine Änderungen des Anfangszustandes führen
zu großen Änderungen im Verhalten, so dass das Verhalten dann
ab einem bestimmten Punkt nicht mehr vorhergesagt werden kann.

Der Zustand des Systems besteht aus drei Variablen x, y und z,
was man sich als einen Punkt im dreidimensionalen Raum vorstellen kann.
An jedem Punkt im Raum bewegt sich der Zustand
mit einer bestimmten Geschwindigkeit in eine bestimmte Richtung.

Mathematisch schreibt man das als drei Differentialgleichungen

dx/dt = s⋅(y-x)

dy/dt = r⋅x-y-x⋅z

dz/dt = x⋅y - b⋅z

mit Parametern s=10, r=28 und b=8/3.
dx/dt ist die Geschwindigkeit in x-Richtung, dy/dt und dz/dt entsprechend
in y- und z-Richtung.

Der Zustand bewegt sich dann nach kurzer Zeit nur noch in einer
zweidimensionalen[^2dim] Fläche, dem Attraktor.
Die Fläche ist kompliziert geformt, sie spaltet sich in zwei Teile und
läuft dann nach einer Rechts- oder Linkskurve übereinander wieder zusammen,
ähnlich wie Blätterteig gemacht wird.
An der Stelle, wo die Fläche sich spaltet, entscheiden kleinste Änderungen,
ob es nach rechts oder nach links geht.
Außerdem werden kleine Unterschiede bei jedem Umlauf größer.
<p>
<video width="100%" controls>
  <source src="{{site.url}}/media/projects/analog-lorenz/LorenzAttractor_720p30_diverge_2.mp4" type="video/mp4">
  Ein mit Manim erzeugtes Video, dass den Lorenz-Attraktor von einer
  sich um den Attrakor herum drehenden Kamera aus zeigt.
</video>
</p>
Im Video startet das Lorenz-System mit zwei Zuständen,
die nur einen Abstand von 1/1000 in Z-Richtung haben.
Dort wo sie übereinander liegen, verdeckt die grüne Linie die blaue.
Das Video wurde mit [Manim](https://www.manim.community/) erzeugt,
mit [diesem Quellcode](https://git.chaospott.de/starblue/manim-lorenz).

[^2dim]: Tatsächlich gibt es noch winzige Abweichungen von der Fläche,
         je nachdem in welcher Folge der Zustand vorher rechts- oder linksherum
         gelaufen ist.
         Deshalb hat der Attraktor eine etwas höhere fraktale Dimension
         (ca 2,05), je nach Parametern und verwendeter Definition von Dimension.

## Die Schaltung

![Vorderansicht der Schaltung]({{site.url}}/media/projects/analog-lorenz/analog-lorenz_top-front.jpg)

Die Schaltung wurde frei nach [dieser Schaltung](http://seti.harvard.edu/unusual_stuff/misc/lorenz.htm)
von Paul Horowitz gebaut.
Es ist ein Analogrechner, der die Bahn des Lorenz-Systems in Form
von drei Spannungen berechnet.

Dabei werden die reinen Zahlen in physikalische Größen übersetzt:

- x, y und z entspricht den Ausgangsspannungen der Operationsverstärker in Volt,
  wobei der Ausgang für y negiert ist.
- Die Parameter im Lorenz-System werden durch Widerstände realisiert.
  Wenn man jeweils den Kehrwert des Widerstands, d.h. den Leitwert, betrachtet,
  entspricht 1 einem Mikro-Siemens (1µS = 1/1MΩ).
  - 100kΩ entspricht 10µS für den Parameter s.
  - 35,7kΩ entspricht 28µS für r.
  - 374kΩ entspricht 2.68μS ~ 8/3μS für b.
- Am negativen Eingang der Operationsverstärker werden
  die durch die Widerstände skalierten Ströme addiert
  und die Summe dann im Kondensator integriert.

Aus Verfügbarkeitsgründen haben wir einige Bauteile durch andere ersetzt,
die aber die gleiche Funktion haben:
- Für die Analog-Multiplizierer verwenden wir zwei AD633N im DIP-8 Gehäuse,
- für die Operationsverstärker einen 4-fach OpAmp TL084 im DIP-14 Gehäuse, und
- für die krummen Widerstandswerte 35,7kΩ und 374kΩ Reihenschaltungen
  von jeweils einem Festwiderstand und einem Potentiometer.

Bei den Kondensatoren sind jeweils vier Werte 100pF, 1nF, 10nF und
100nF verbaut, die mit einem Drehschalter mit 3 Polen und 4 Stellungen
parallel umgeschaltet werden können.  Dadurch kann die Geschwindigkeit
pro Schritt um einen Faktor von 10 geändert werden, und insgesamt
liegt dadurch ein Faktor von 1000 zwischen der langsamsten und der
schnellsten Einstellung[^caps].

[^caps]: Die schnellste Einstellung ist etwas zu schnell, es entstehen Artefakte.
         Außerdem ist die Abstufung mit dem Faktor 10 sehr grob,
         besser wäre vielleicht 1nF, 3,3nF, 10nF, 33nF.

Zusätzlich gibt es ein Potentiometer, mit dem man eine Konstante zum x-Wert
hinzuaddieren kann. Damit kann man den Attraktor etwas zu einer Seite verschieben,
bei zu großen Werten kollabiert er aber dann in einen Punkt ("Klimawandel").

Die Betriebsspannung ist 30V.
Intern wird das als ±15V betrachtet, mit einer virtuellen Masse für 0V.
Der eigentliche analoge Arbeitsbereich ist ±10V.

In der Schaltungen sind die Drähte für x rot, für y grün und für z blau[^colors].
Der vierte Operationsverstärker wird für die virtuelle Masse verwendet,
das ist der mittige Draht zwischen den ICs auf der Unterseite.

[^colors]: Aber nicht alle roten Drähte sind für x und nicht alle blauen für z.
           Rot und blau werden auch für die positive und negative
           Versorgungsspannung verwendet.

![Rückansicht der Schaltung]({{site.url}}/media/projects/analog-lorenz/analog-lorenz_top-back.jpg)

Als Anzeige verwenden wir ein Tektronix 2213 Analog-Oszilloskop im XY-Modus.
Am X-Eingang (Kanal 1) des Oszilloskops wird der x-Wert des Lorenz-Systems angeschlossen,
am Y-Eingang (Kanal 2) der z-Wert.
Dadurch ergibt sich dann die einem Schmetterling ähnliche Form des Attraktors.

Kanal 1 (x) steht auf 0,5V pro Teilung, Kanal 2 (z) auf 1V pro Teilung
(für 1x Probe).
Weil die z-Werte positiv sind, muss die vertikale Position entsprechend
angepasst werden.

![Ansicht der Schaltung von der Lötseite]({{site.url}}/media/projects/analog-lorenz/analog-lorenz_bottom.jpg)
