Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:ost:spektrograph:dados_calibration [2024/12/11 09:45] – rhainich | de:ost:spektrograph:dados_calibration [2024/12/11 09:51] (aktuell) – rhainich |
---|
===== DADOS RCU ===== | ===== DADOS RCU ===== |
| |
===== Einführung ===== | ==== Einführung ==== |
Für die Kalibration der //DADOS//-Spektren verwenden wir das [[https://www.shelyak.com/produit/pf0037-module-detalonnage-alpy/?lang=en|Alpy-Kalibrationsmodul]] von //Shelyak//, welches mit einer Argon-Neon-Lampe für die Wellenlängenkalibration und einer Wolfram-Glühbirne für die Flatfieldkalibration ausgestattet ist. | Für die Kalibrierung der //DADOS//-Spektren verwenden wir das [[https://www.shelyak.com/produit/pf0037-module-detalonnage-alpy/?lang=en|Alpy-Kalibrationsmodul]] von //Shelyak//, welches mit einer Argon-Neon-Lampe für die Wellenlängenkalibration und einer Wolfram-Glühbirne für die Flatfieldkalibration ausgestattet ist. |
| |
Um diese Klaibrationseinheit remote zu steuern, wurde ein einfacher Remote-Control-Upgrade/Modul (RCU) erstellt. Es ermöglicht dem Benutzer, sowohl eine Flat-Field-Lampe als auch eine Wellenlängenkalibrierungslampe remote über eine serielle Kommunikation durch einen COM-Port auf einem Computer zu steuern. Das Herzstück des RCU ist ein einfacher Mikrocontroller, der ein zwei-Relais-Modul steuert, das als Schalter fungiert, um die beiden Kalibrierungslampen des Spektrographen zu schalten. | Um diese Klaibrationseinheit remote zu steuern, wurde ein einfacher Remote-Control-Upgrade/Modul (RCU) erstellt. Es ermöglicht dem Benutzer, sowohl eine Flat-Field-Lampe als auch eine Wellenlängenkalibrierungslampe remote über eine serielle Kommunikation durch einen COM-Port auf einem Computer zu steuern. Das Herzstück des RCU ist ein einfacher Mikrocontroller, der ein zwei-Relais-Modul steuert, das als Schalter fungiert, um die beiden Kalibrierungslampen des Spektrographen zu schalten. |
| |
===== Hardware und Setup ===== | ==== Hardware und Setup ==== |
Die DADOS RCU hat genau fünf Kabelverbindungen, die angeschlossen werden müssen, um den RCU zu betreiben. Dazu gehören: | Die DADOS RCU hat genau fünf Kabelverbindungen, die angeschlossen werden müssen, um den RCU zu betreiben. Dazu gehören: |
| |
| |
| |
===== Kommunikationsprotokoll ===== | ==== Kommunikationsprotokoll ==== |
| |
Die Kommunikation mit dem RCU, d.h. dem Mikrocontroller, folgt einem bestimmten Protokoll, das wir im Folgenden beschreiben. Jeder Befehl, der übertragen wird, muss mit einem Semikolon (**;**) enden. Einige Befehle werden den Zustand einer der beiden Kalibrierungslampen ändern. Die folgende Auflistung sollte einen Überblick über die möglichen Befehle zur Steuerung der Kalibrierungslampen geben. | Die Kommunikation mit dem RCU, d.h. dem Mikrocontroller, folgt einem bestimmten Protokoll, das wir im Folgenden beschreiben. Jeder Befehl, der übertragen wird, muss mit einem Semikolon (**;**) enden. Einige Befehle werden den Zustand einer der beiden Kalibrierungslampen ändern. Die folgende Auflistung sollte einen Überblick über die möglichen Befehle zur Steuerung der Kalibrierungslampen geben. |
| |
===== Ein-Lampen-Befehle ===== | === Ein-Lampen-Befehle === |
| |
Die Befehle beginnen normalerweise mit einem Großbuchstaben (F für die Flat-Field-Lampe oder W für die Wellenlängenkalibrierungslampe). Wir verwenden ''#'' als Platzhalter, der in einem praktischen Beispiel durch den jeweiligen Buchstaben F oder W ersetzt werden sollte. | Die Befehle beginnen normalerweise mit einem Großbuchstaben (F für die Flat-Field-Lampe oder W für die Wellenlängenkalibrierungslampe). Wir verwenden ''#'' als Platzhalter, der in einem praktischen Beispiel durch den jeweiligen Buchstaben F oder W ersetzt werden sollte. |
* ''#''<fc #4682b4>get</fc>: Evaluiert den aktuellen Zustand der jeweiligen Kalibrierungslampe. Die Ausgabe wird entweder **true** oder **false** sein. | * ''#''<fc #4682b4>get</fc>: Evaluiert den aktuellen Zustand der jeweiligen Kalibrierungslampe. Die Ausgabe wird entweder **true** oder **false** sein. |
| |
===== Sicherheitsmodus ===== | === Sicherheitsmodus === |
| |
Die Wellenlängenkalibrierungslampe für viele Spektrographen-Kalibrierungseinheiten ist normalerweise eine Bogenlampe (z.B. Th-Ar oder Ne-Ar). Diese Lampen haben typischerweise eine vergleichsweise kurze Lebensdauer, weshalb der RCU einen Sicherheitsmechanismus standardmäßig aktiviert hat. Dieser Modus kann mit der Variablen force''#'' gesteuert werden und ist standardmäßig auf **false** gesetzt. Die Idee ist, die Lampen nach einer bestimmten Zeit auszuschalten, nach der sie als "versehentlich" eingeschaltet angesehen werden kann. Je nach Variablen maxtime''#'' kann diese Zeit individuell festgelegt werden. Standardmäßig ist sie jedoch auf 600 Sekunden gesetzt. Der numerische Wert wird in Sekunden interpretiert. | Die Wellenlängenkalibrierungslampe für viele Spektrographen-Kalibrierungseinheiten ist normalerweise eine Bogenlampe (z.B. Th-Ar oder Ne-Ar). Diese Lampen haben typischerweise eine vergleichsweise kurze Lebensdauer, weshalb der RCU einen Sicherheitsmechanismus standardmäßig aktiviert hat. Dieser Modus kann mit der Variablen force''#'' gesteuert werden und ist standardmäßig auf **false** gesetzt. Die Idee ist, die Lampen nach einer bestimmten Zeit auszuschalten, nach der sie als "versehentlich" eingeschaltet angesehen werden kann. Je nach Variablen maxtime''#'' kann diese Zeit individuell festgelegt werden. Standardmäßig ist sie jedoch auf 600 Sekunden gesetzt. Der numerische Wert wird in Sekunden interpretiert. |
* ''#''<fc #4682b4>getmaxtime</fc>: Gibt die maximale Einschaltzeit für die ausgewählte Lampe zurück. Der zurückgegebene numerische Wert entspricht der Zeit in Sekunden. | * ''#''<fc #4682b4>getmaxtime</fc>: Gibt die maximale Einschaltzeit für die ausgewählte Lampe zurück. Der zurückgegebene numerische Wert entspricht der Zeit in Sekunden. |
| |
===== Beispiele für Befehle ===== | === Beispiele für Befehle === |
| |
Die folgenden Beispiele zeigen, wie die Befehle in einem praktischen Kontext aussehen. Zeilen, die mit ">>> " beginnen, stellen eine Antwort des RCU dar, die durch den vorherigen Befehl ausgelöst wurde. Alles nach dem Doppelpunkt wird in diesem Kontext als Kommentar betrachtet und erscheint nicht im realen Kommunikationsprotokoll. | Die folgenden Beispiele zeigen, wie die Befehle in einem praktischen Kontext aussehen. Zeilen, die mit ">>> " beginnen, stellen eine Antwort des RCU dar, die durch den vorherigen Befehl ausgelöst wurde. Alles nach dem Doppelpunkt wird in diesem Kontext als Kommentar betrachtet und erscheint nicht im realen Kommunikationsprotokoll. |
| |
===== Flat-Field-Lampe ein- und ausschalten ===== | == Flat-Field-Lampe ein- und ausschalten: == |
| |
<code c> | <code c> |
</code> | </code> |
| |
===== maxtimeW-Variable anpassen ===== | == maxtimeW-Variable anpassen: == |
| |
<code c> | <code c> |