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++.)
Hauptmenü
Starten und Beenden eines Rezepts
Uptime-Anzeige rechts oben
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ü.
System
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
Rezept-Editor
Auswahl des aktiven Rezepts (SET auf inaktives Rezept)
Starten des aktiven Rezepts (SET auf aktives Rezept)
Beobachten der Rezeptabarbeitung durch Anzeige eines (zweiten) Pfeils links
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.
Neue Zeile
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
Löschen
Die aktuelle Zeile sowie der gesamte Baum darunter
wird gelöscht.
Bei Rezept und Schritt erfolgt eine
Ja/Nein-Sicherheitsabfrage.
An folgenden Stellen ist Löschen nicht möglich:
Auf der Globalen Sicherheit (wenn angezeigt)
Auf der Lokalen Sicherheit (wenn angezeigt) -
diese kann nur zusammen mit dem Rezept gelöscht werden
Weitere Editierfunktionen
F1
Rezept: Verschieben nach oben
Schritt: Verschieben nach oben innerhalb des Rezepts
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)!
Wert ändern
Je nach Art der Zeile kann folgender Wert geändert werden:
Wert der ausgegeben oder verglichen wird;
digital ist nur 0 oder 1 möglich,
analog je nach Kanalzuordnung umgerechnet;
Einheit wird angezeigt
Bedingung ändern
Folgende Bedingungen stehen zur Verfügung:
Setzen eines Analog- oder Digitalwerts
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.
Befehl ändern
Als Befehlen stehen zur Verfügung (je nur eine):
Abbruch der Rezeptabarbeitung
Eintrag in den Alarm-Log
Weiter zum nächsten Schritt im Rezept
Start eines Rezepts
Digital-Editor
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.
Analog-Editor
Dieser betrachtet die Karte HANA.
Diese hat:
1 Kanal 12-bit-A/D-Wandler im Spannungsbereich -10 V … +10 V
AD547
mit dem Signal vom Tachogenerator
8 Kanäle 8-bit-A/D-Wandler im Spannungsbereich 0 V … +10 V
AD7828
1 Kanal 14-bit-D/A-Wandler im Spannungsbereich -10 V … +10 V
AD7534
mit dem angekoppelten Gleichstrommotor
8 Kanäle 8-bit-D/A-Wandler im Spannungsbereich 0 V … +10 V
AD7228
3 Zähler mit unbekannter Funktion
S360B114
Der Editor bietet:
Life-Verfolgung von analogen Eingängen als Hexadezimalwert, Dezimalwert und umgerechneter Wert
Eingabe von Werten für analoge Ausgänge als Hexadezimalwert, Dezimalwert und umgerechneter Wert, F5 oder irgendeine Ziffer
(Testweise) Eingabe eines Addierwertes (Offset) für analogen Eingang F5
Zoom-Funktion F6 für große Liste
Keine Isolation vom Potenzial des Mikrocontrollers!