Die Ätzmaschine ist mit einer Haushalt-Waschmaschine vergleichbar:
Eine vertikale Drehspindel hat einen zentralen Vakuum-Halter
für den Wafer.
Der Wafer wird auf einstellbare Drehzahlen gebracht und von oben und unten
mit verschiedenen Flüssigkeiten bespritzt.
Die Rotation ermöglicht die gleichmäßige Benetzung
(siehe Spincoating).
Obwohl praktisch nur eine Drehrichtung verwendet wird,
kann die Spindelsteuerung dieser Maschine in beide Richtungen drehen.
(Wie eine Trommelwaschmaschine auch.)
Die Software bietet verschiedene
anwenderprogrammierbare „Rezepte“
(entsprechend Waschprogrammen) mit verschiedenen Drehzahlen,
Beschleunigungs- und Abbremsrampen (stets linear) sowie Schutzfunktionen
vor leer laufenden Vorratsbehältern und überlaufenden Reststofftanks.
Eine anwenderprogrammierbare Globale Sicherheit
wird permanent abgearbeitet, auch wenn kein Rezept läuft.
Die anwenderprogrammierbare rezeptlokale Sicherheit
wird permanent abgearbeitet, solange jenes Rezept läuft.
Diese Sicherheitslisten überwachen den Zustand kritischer Voraussetzungen
(durch Programmabbruch oder Alarm) aber auch den extern angeordneten Startknopf
in allen Situationen der Rezeptabarbeitung.
Zusätzlich können die einzelnen Rezeptschritte mit Sicherheitsfunktionen
gespickt werden, etwa um das Starten (nicht das Weiterlaufen) eines Rezepts
mit einem leeren Vorratsbehälter zu verhindern.
Auf der Tastatur kann immer nur eine Taste gedrückt werden,
es existiert keine Umschaltebene durch Drücken von mehreren Tasten
gleichzeitig.
(Mangels Bedarf wurde die Möglichkeit nicht implementiert.)
Alle Tastendrücke werden mit einem kurzen Piep quittiert.
Ein Editierschutz (bspw. mit Passwort) existiert nicht,
weil das im Forschungsbereich nicht benötigt wird.
(Funktionsprinzip „Scharfes Messer“, so wie die Programmiersprache C und C++.)
Anzeige der aktuellen Befehl im laufenden Rezept durch eine Zahl mit animierter Umkreisung
Anzeige der EEPROM-Speicherbelegung
Aufruf weiterer Fenster mit Funktionstasten
Die Statusanzeige oben rechts ist auch in allen anderen Fenstern verfügbar,
sofern nicht die Zoom-Funktion aktiviert wurde.
Die Zoom-Funktion dehnt die Listenanzeige auf den gesamten Bildschirm aus;
die Funktionstastenanzeige verschwindet, die Funktionstasten bleiben dennoch wirksam.
Bei allen Fenstern wird unten die Belegung der Funktionstasten
F1 bis F6 angezeigt, so wie hier im Hauptmenü.
Die Systemfunktionen beinhalten das Laden und Speichern
des EEPROM-Inhaltes via USB mit einem externen Notebook.
Der Clou: Es wird kein gesondertes Windows-Programm benötigt,
es funktioniert mit Bordmitteln.
Backup (nur wenn USB-Verbindung besteht):
Die 1 KByte EEPROM-Daten werden unmittelbar bei Anwahl F1
herausgedonnert.
Das bedeutet, vorher ist die cmd-Kommandozeile
copy com8Backupdateiname abzusetzen.
Mit dem Signal XOFF(?) (eigentlich: USB-Null-Byte-Paket)
beendet sich das copy-Kommando
und eine 1 KByte große Backup-Datei wurde geschrieben.
Restore (= Wiederherstellen des Zustandes vor einem Backup,
nur wenn USB-Verbindung besteht):
Bei Anwahl des Menüpunktes F2
werden innerhalb der nächsten 2,5 Sekunden Daten vom Notebook erwartet.
Diese generiert man analog zu oben mit
copy Backupdateiname com8
aus der Backudatei auf die serielle Schnittstelle. Hinweis: Die derzeitige Programmlogik überprüft die Gültigkeit
und Vollständigkeit des Backups nicht!
Ungültige Daten können zu chaotischem Verhalten und zum
Firmware-Absturz führen. (Letzteres führt sehr wahrscheinlich
zu einer Laufzeitfehlermeldung.)
Ein Absturz führt zum Urlader, siehe unten.
BeispielF3 lädt ein kleines Beispiel
vom Flash in den RAM + EEROM.
Alle (mühevoll gemachten) Änderungen werden überschrieben!
Also am besten vorher ein Backup machen.
DebugF5 dient dazu,
die Firmware ohne angeschlossene Hardware in Betrieb nehmen zu können.
Entsprechende digitale Sicherheitssignale,
die ohne Beschaltung Gefahr melden,
werden dann invertiert eingelesen. Hinweis: Nicht für den Bediener gedacht.
Die Invertierung verschwindet mit Reset oder Aus- und Einschalten der
Maschine. Oder manuell im Digital-Editor.
Urlader (denglisch Bootloader genannt,
nur zu sehen wenn USB-Verbindung besteht) F6
springt zum Atmel-DFU-Urlader.
Alle Ausgänge werden deaktiviert und der Bildschirm gelöscht.
Vom Urlader zum Programm geht es:
durch Aus- und Einschalten der Maschine
mit dem PC-Programmen dfu-programmer oder
Atmel Flip
Umschalten der Anzeige von Sicherheitsprüfungen F5
Einfügen eines (leeren) Rezepts 1,
eines Schritts 2 oder einer Einzelanweisung 3vor dem angezeigten Rahmen
Ändern der Parameter des angezeigten Rahmens F5
Laden einer Vorgabe aus dem Programmspeicher 8,
überschreibt alle Rezepte und die Globale Sicherheit
Löschen des angezeigten Rahmens inklusive aller Unterelemente 9
Verlassen mit ↵
Die übrigen Funktionen sind hinreichend selbsterklärend.
Der Öffnungszustand der einzelnen Baumknoten ist wie der gesamte Baum persistent.
Alle Änderungen werden sofort wirksam (auch bei laufendem Rezept!)
und werden sofort gespeichert.
Eine gesonderte Speicherfunktion existiert nicht.
Die maximale Anzahl darstellbarer Zeilen beträgt 254.
Geschlossene Knoten gelten als 1 Zeile.
Der Übersicht halber sollte man so wenig wie möglich Knoten öffnen.
Eine neue Zeile wird nach der aktuellen Zeile eingefügt.
Ist die folgende Zeile vom Typ Befehl wird eine Befehl eingefügt.
Ist die folgende Zeile vom Typ Schritt
erfolgt eine Abfrage, ob eine Befehl (zum aktuellen Schritt) oder ein
neuer Schritt eingefügt werden soll.
Ist die folgende Zeile vom Typ Rezept oder gibt es keine,
erfolgt eine Abfrage, ob ein neues Rezept,
ein neuer Schritt (zum aktuellen Rezept)
oder eine neue Befehl (zum aktuellen Schritt)
eingefügt werden soll.
Das Einfügen ist eingeschränkt:
Ist die nachfolgende Zeile das erste Rezept oder gibt es keine,
kann nur Befehl (zur globalen Sicherheit) hinzugefügt werden.
Das Einfügen eines Rezepts hat immer das Einfügen einer
Lokalen Sicherheit zur Folge
Der Kanal-Editor erlaubt einerseits die numerische Eingabe
eines Analog- oder Digitalkanals mit der Edit-Funktion
als auch das „Scrollen“ durch alle verfügbaren Kanäle
mit den Tasten F3 und F4.
Mit der Taste F5 erfolgt die Umschaltung
zwischen Analog- und Digitalkanal.
Die übrigen Funktionstasten F1, F2,
F6 und SET
wirken auf das Zifferneingabefeld.
Die Notation der Digitalkanäle ist:
karte.byte.bit
Dabei sind folgende Werte erlaubt:
karte von 0 bis 7 (bestückt ist nur 0..2)
byte von 0 bis 3
bit von 0 bis 7
Hinweis: Die Return-Taste ↵
belässt die gemachten Änderungen durch
F3, F4 und F5 (und ggf. SET)!
Kontrolle eines Digitalwerts und Befehl wenn gleich
Kontrolle einer Flanke eines Digitalwerts und Befehl wenn gleich
Permanenter (innerhalb der Zeitspanne) Vergleich eines
Analogwerts mit Wert und Befehl wenn größer
Permanenter (innerhalb der Zeitspanne) Vergleich eines
Analogwerts mit Wert und Befehl wenn kleiner
Achtung: Kurze Spikes < 100 ms auf Digitalleitungen
werden derzeit „übersehen“.
Das erniedrigt die Empfindlichkeit und erhöht die Störsicherheit der Anlage.
Dieser betrachtet die Karte HCPU (nunmehr ohne CPU, nur noch Eingänge),
die Karten HTOP und HTOP2:
Live-Verfolgung von bis zu 32 Digitaleingängen gleichzeitig
(Testweises) Invertieren von Digitaleingängen 1 oder SET (letztere Taste kippt das Bit)
Setzen von Digitalausgängen mit 1 oder 0 oder SET (letztere Taste kippt das Bit)
Setzen aller Ausgänge und aller Eingangsinvertierungen auf Null mit F5
Die aktuell ausgewählte Seite und das aktuell ausgewählte Bit (der sog. Fokus) sind persistent
Die optoisolierten Digitaleingänge lesen logisch 1,
wenn eine Spannung von nominell 24 V anliegt.
Die Mindestspannung scheint 12 V zu betragen.
Die Höchstspannung für das Lesen von logisch 0 dürfte bei 8 V liegen.
Die (normalen) Digitalausgänge liefern 24 V bei logisch 1
und keine Ausgangsspannung bei logisch 0.
Diese Ausgänge sind strombegrenzt und überwacht.
Außerdem gibt es (pro Karte und damit Seite) vier unüberwachte Relaisausgänge
mit getrennt herausgeführten Anschlüssen,
wobei die Schaltung des Ätzers den Mittelkontakt auf 24 V legt.
Bei allen Ausgängen liegt Opto-Isolation vor.