de:ost:spektrograph:dados_calibration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:ost:spektrograph:dados_calibration [2024/12/11 09:30] rhainichde:ost:spektrograph:dados_calibration [2024/12/11 09:51] (aktuell) rhainich
Zeile 1: Zeile 1:
-Hier ist der konvertierte Text in die Doku-Wiki-Syntax: 
- 
 ===== 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:
  
Zeile 26: Zeile 24:
  
  
-===== 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.
Zeile 38: Zeile 36:
   * ''#''<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. 
 + 
 +   * ''#''<fc #4682b4>forceon</fc>: Überschreibt den Sicherheitsmodus und ignoriert die maximale zulässige Einschaltzeit. Dieser Befehl sollte vorsichtig verwendet werden, da man so den Sicherheitsmodus verlässt. Es ist ratsam, stattdessen die Variable maxtime''#'' zu erhöhen. Wenn die Variable force''#'' vorher bereits auf true gesetzt war, passiert nichts nach der Ausführung dieses Befehls. 
 +   * ''#''<fc #4682b4>forceoff</fc>: Aktiviert den Sicherheitsmodus (wie bereits im vorherigen Abschnitt beschrieben) für die jeweilige Lampe. Wenn die Variable force''#'' vorher bereits auf false gesetzt war, passiert nichts nach der Ausführung dieses Befehls. 
 +   * ''#''<fc #4682b4>forceget</fc>: Gibt einen **true**- oder **false**-Wert zurück, je nachdem, ob der Sicherheitsmodus aktiviert ist. 
 +   * ''#''<fc #4682b4>setmax</fc>: Passt die maximale Einschaltzeit der ausgewählten Lampe an. Die Zeit kann durch direktes Eingeben der entsprechenden ganzen Zahl nach dem Befehl festgelegt werden. Ein Beispiel könnte lauten: ''Fsetmax600'';, um die Variable maxtimeF auf 600 Sekunden zu setzen. 
 +   * ''#''<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 === 
 + 
 +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: == 
 + 
 +<code c> 
 +Fget; // ask for the current state of the flat field lamp 
 +>>> 0 // flat field lap is OFF (i.e. the result is 0), OFF is the default state for any calibration lamp with which it is initialized in the beginning 
 +Fon; // switch the flat field lamp on 
 +Fget; // ask for the current state of the flat field lamp 
 +>>> 1 // now, the flat field lamp is switched ON (i.e. the response is a 1) 
 +Foff;  // switch the flat field lamp off again 
 +</code> 
 + 
 +== maxtimeW-Variable anpassen: ==
  
 +<code c>
 +Wforceget; // queries the current state of the forced operation mode
 +>>> 0 // is initialized with False (i.e. the response is 0) by default
 +Wgetmaxtime; // asks for the current maximum allowed on-time for the wavelength calibration lamp
 +>>> 600.00 // default is 600 seconds
 +Wsetmax60; // sets the maxtimeW to 60. We can check whether the command was successful with ...
 +Wgetmaxtime;
 +>>> 60.00 // now the maxtimeW variable is indeed fixed at 60 seconds after which the wavelength calibration lamp will automatically switch off if forced operation mode is disabled (recommended)
 +</code>
  • de/ost/spektrograph/dados_calibration.1733909404.txt.gz
  • Zuletzt geändert: 2024/12/11 09:30
  • von rhainich