Software Proposal
Command Interface
Johnny Esteves, Feb 21st, 2025
Inspired by the gbphot2 command line software, I propose we have a list of fix commands to make the sequence of operations described below:
pb measureSolarCellQE
pb measurePandoraThroughput
pb measureNDTransmission
pb expose
pb spectrographCalib
pb monochromatorCalib
The arguments come after. Here is an example of how the command line would look like:
pb expose --wavelength 500 --dose 1e11 --aperture 10um --filters ND3
pb measureSolarCellQE --lambda0 350 --lambdaEnd 750 --step 10 --repeats 5
pb measureNDTransmission --lambda0 400 --lambdaEnd 700 --filters ND1,ND2
We also have commands to access files, set setups, and set the properties of the instrument.
pb getConfigFilePath
pb setConfigFile --filename
pb getCalibrationFiles
pb setSpectrographCalibrationFile --filename
pb setMonochomatorCalibrationFile --filename
Or more basic commands:
pb home
pb openShutter
pb setWavelength 300
pb getWavelength
Sequences of Operations
Stubbs, Jan 28, 2025
Specific sequences of operations:
Solar cell QE determination. The goal here is to map the precise knowledge of a Hamamatsu photodiode quantum efficiency onto the large format solar cell.
Set up a system with monochromator, shutter, and beam that comes to a focus. Set a wavelength and alternate between photodiode and solar cell. Need to measure dark currents to subtract as well. Take the ratio of (dark-subtracted) photocurrents at different wavelengths, assuming monochromator output is stable over the measurement interval. This allows us to measure the total number of photons emerging from the telescope, using the solar cell. Beam needs to underfill the photodiode.
Measurement sequence:
start a loop that sets desired wavelength, in 10 nm increments.
Set solar cell and diode electronics to current-measuring mode
Measure dark currents with shutter closed. For solar cell measure its dark current with photodiode out of the beam, and measure dark current of photodiode with it inserted into where beam passes.
Store those values.
Now open the shutter and measure current onto photodiode, then flip it out of the beam and measure photocurrent onto solar cell
Close shutter and re-measure dark currents
Iterate through this 5 times per wavelength.
Compute mean and standard deviation of ratio of photocurrents:
Solar cell QE = NIST diode QE * (solar cell current -solar cell dark)/(NIST current - NIST dark).Ensure sigma/mean < 1E-3 otherwise figure out what’s wrong and fix it.
Linking output flux to monitor diode. Our main flux monitor during operations is the photodiode placed in the high-flux transmitted beam. We need to be able to relate that measurement to the output fluxes measured with the solar cell. Set up the solar cell to monitor output from one of the ports on the telescope, and connect second current meter to our monitor diode behind the reflector flat. Remove all ND filters from the beam so we get high flux levels on the solar cell. We’ll want to put identical glass in all 3 output ports, to have same wavelength dependences.
Measurement sequence:
Mask of 2 of the 3 output ports, and do this for each port
start a loop that sets desired wavelength, in 10 nm increments. Be sure to do anti-backlash setting of wavelengths. Always go ~20 nm more, then back up to desired setting so we come at it from same direction each time!
Insert order blocking filter if wavelength is above threshold wavelength
Set solar cell and monitor diode electronics to current-measuring mode
Insert large size aperture (100 microns?) at mask location.
Measure dark currents with shutter closed.
Store those values.
Now open the shutter and simultaneously measure currents from solar cell and monitor photodiode. Do that 5-10 times, 1 sec each.
Close shutter and re-measure dark currents
Compute mean and standard deviation of ratio of photocurrents:
Output flux = (solar cell current - solar cell dark current) * solar cell QEMonitor signal = (monitor diode current - monitor diode dark current)
ThroughputFactor=Outputflux/MonitorSignal
When we operate as an emitter,
delivered photon dose = Monitor diode charge * (ThroughputFactor) *NDcorrection
Ensure sigma/mean < 1E-3 otherwise figure out what’s wrong and fix it.
ND filter characterization: we need to measure the wavelength dependence of the transmission of each ND filter. Then for any combination we use the product of their throughputs.
Set up with one flippable monitor diode upstream of ND filters and one downstream of them. Collimated beam needs to underfill both of the photodiodes. . It’s important that we not have any reflective mirrors in the path, since their contribution was measured in ThroughputFactor above. We need to measure the throughput of each ND filter vs. wavelength for our beam size. Store the throughput vs. wavelength for each individual ND filter in a data file.
Delivering a known photon dose to telescope pupil, at known wavelength
We don’t yet know how often we will have to recalibrate the wavelength selection process for monochromator, using the arc lamp reference. We’ll have to learn that by trial and error. :
- Point our system at desired alt and az setting.Insert appropriate mask (10 micron pinhole?)
Power things on and let them warm up for 30 minutes. This would include light source, electrometers, labjack, spectrograph.
Perform wavelength calibration as described below
Accept command from telescope system that requests a dose of photons at a given wavelength.
Set monochromator to requested wavelength. Put in flip mirror and take confirmation spectrum. Insert order-blocking filter if needed.
Set monitor diode electrometer to measure total charge and not current.
Measure dark current on monitor diode, confirm it’s below some threshold. If not, send error message.
Insert appropriate ND filters in the beam to achieve desired output photon rate.
Compute what collected charge on monitor diode corresponds to desired photon dose. This includes both ThroughputFactor and product of ND filter attenuations.
Let the light fly: Open shutter and monitor accumulated charge on monitor diode. Close the shutter when it reaches desired level. Store final value of (charge - dark charge) where dark charge is dark current times exposure time.
Each requested photon dose generates the following data:
timestamp
Requested wavelength and dose
Aperture mask used
Dark current measured
Total charge measured
Dark-corrected charge
Exposure time
Total number of delivered photons for each output port
Spectrum of delivered light.
Wavelength calibration of spectrograph:
Turn on spectrograph, turn on arc lamp. Take a stack of spectra and associated darks. Construct medians for each of those. The emission lines have large strength variations, so we’ll likely need some long and some short integrations.
Measure centroids of emission lines in dark-substracted spectra, store those values in pixels. Associate lines with known emission wavelengths. Perform a polynomial fit (ideally just linear) to both pixelvalue=f(wavelength) and wavelength=g(pixelvalue).Wavelength calibration of monochromator:
Pick a wavelength, send light into spectrograph. Measure line center in pixels, and compare requested to actual wavelength. Perform a polynomial fit to actual = f(requested) and make appropriate corrections to requested wavelengths as needed. .
Pandora Github Software
…
Related content
Copyright © 2024 The President and Fellows of Harvard College * Accessibility * Support * Request Access * Terms of Use