Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Every time a component of the monochromator (MC) is adjusted (light source, input slit, output position, etc), the feed from the MC requires calibration anew. 

The Python scripts used in this calibration are included in the InstrumentScripts repository of the Stubbs lab: 
https://github.com/stubbslab/InstrumentScripts/tree/main/sampleMonochromitorCalData 

Calibrating MC requires three steps

  1. Calibrate spectrograph (not necessary if spectrograph is already calibrated)
  2. Take MC data on spectrograph
  3. Use gathered data to calibrate spectrograph

We detail an example below.  In this example, we use the StellarNet Inc Black Comet spectrograph, which we calibrate with the Ocean Optics KR-1 calibration light source.  Future re-calibrations of MC can use the same calibration of the StellarNet spectrograph, which we include in sampleMonochromatorCalData directory. 

Here are the steps in our example:

STEP 0: If running this analysis on a new computer, you must download the StellarNet drivers for the black comet spectrograph. See the Black Comet Instrument Page here: 

StellarNet Black Comet Spectrograph

STEP 1: Calibrating Spectrograph with KR-1 Light Source

  1. You need to determine your wavelength solution (reported wavelength vs true wavelength) of your calibrating spectrograph.  
    1. This step does not need to be repeated every time MC requires new calibration, provided the old spectrograph calibration data can be used. 
    2. Usable calibration data files are included on the InstrumentsScripts GitHub page.
  2. Pick a very small optical fiber to connect your calibration light and the spectrograph
    1. Very small as the raw KR-1 source is too bright for the spectrograph if not attenuated
  3. Take an image of KR1 lamp with spectrograph

STEP 2: Take monochromator data with spectrograph

  1. Plug optical fiber from monochromator output into Black Comet spectrograph
    1. MC end of fiber SHOULD NOT BE MOVED
  2. Move monochromator to 700 nm, and set spectrograph exposure time to ~10ms
  3. Place an ND filter in spectrograph input path, selected to make Black Comet peak intensity at this exposure time and wavelength ~10-20k
    1. The spectrograph sensitivity with the ThorLabs halogen light peaks around 700nm.  So we make a minimal exposure time give good S/N at that wavelength.
    2. We have found that an ND filter of 2.5 is about right. 
  4. Take a data series, starting from ~350 nm and ending at ~1050 nm. 
    1. Use Python to step MC forward (see the Monochromator operation instructions for details: Monochromator Operations)
    2. Use Black Comet to save the data. 
    3. This requires manually saving the black comet files, and so cannot be automated (see Black Comet page: StellarNet Black Comet Spectrograph
    4. Run the following loop in Python to walk through wavelengths and pause to allow time to save the Black Comet spectra:
      $ cd Documents/PythonScripts/CBP
      $ python
      >>> import monochromator as mono
      >>> my_mono = mono.CornerStone260('COM3') #Need to check which COM port mono is read at
      >>> waves = list(range(350, 1051, 50))
      >>> for wave in waves:
      my_mono.GoWave(wave)
      input('Monochromator at wavelength ' + str(wave) + ' nm. Press any key to move to next wavelength (SAVE THE FILE FIRST THOUGH!!!!)')
      *** Save the file, such as BC_mono_XXXnm_XXXms.SSM.  Then press a button ****
    5. You will need to adjust the Black Comet exposure time to keep the number of counts in a good range (~5k-40k).

STEP 3: Run the wavelength solution

  1. The Python script that solves the wavelength solution is: MonochromatorCalibration.py 
  2. Edit the following elements of this script: 
    1. The dir_base variable should point to directory in which all Monochromator data is stored 
    2. The mono_date_str variable should be set to the date on which the data were taken 
    3. [OPTIONAL] The ref_lamp_date_str can be adjusted to the date on which the desired reference spectra were taken 
    4. The MC_measurement_files variable should be updated to include the names of the files actually included. 
    5. [OPTIONAL] The ref_lamp_data_files variable can be adjusted if you want to use a different calibration file 
  3. Run the script from the command line - no arguments necessary
    1. $ python MonochromatorCalibration.py
  4. This will fit the peaks in each of the provided data files, and solve the wavelength solutions from reference lamp to Black Comet and Black Comet to MC
  5. The final printout lists how much the monochromator wavelengths should be shifted.  For example, when running the code on 04/13/2022, we got the following solution: 

Mono claimed: 300 nm  =====> is actually: 302.377 nm

Mono claimed: 400 nm  =====> is actually: 402.683 nm

Mono claimed: 500 nm  =====> is actually: 502.732 nm

Mono claimed: 600 nm  =====> is actually: 602.523 nm





Mono claimed: 700 nm  =====> is actually: 702.057 nm


Mono claimed: 800 nm  =====> is actually: 801.333 nm


Mono claimed: 900 nm  =====> is actually: 900.352 nm


Mono claimed: 1000 nm  =====> is actually: 999.114 nm

6.  Based on these results, the monochromator appears to be underestimating the true center wavelength by about 2nm, though that offset is not uniform.

7.  We adjusted the monochromator by about 2nm, though there will be a small systematic error in our final wavelength solution due to that non-uniformity 

        $ cd Documents/PythonScripts/CBP
        $ python
        >>> import monochromator as mono
        >>> my_mono = mono.CornerStone260('COM3') #Need to check which COM port mono is read at
        >>> my_mono.GoWave(700) 
        >>> my_mono.Calibrate(702) 
        >>> exit() 

   


   


  • No labels