Configuration Files¶
Parameters of both the microscope itself and of measurements it will perform are defined in JSON files. These parameters are loaded into memory as an OrderedDict using utils.load_json_ordered()
so that they are accessible to the Microscope
.
Microscope Configuration¶
Example configuration file for a microscope.susceptometer.SusceptometerMicroscope
.
{ "instruments": { "daq": { "model": "NI USB-6363", "name": "Dev1", "channels": { "analog_inputs": { "MAG": 0, "SUSCX": 1, "SUSCY": 2, "CAP": 3, "x": 4, "y": 5, "z": 6}, "analog_outputs": {"x": 0,"y": 1,"z": 2} }, "rate": "1 MHz", "max_rate": { "analog_inputs": { "1 channel": "2 MHz", "multichannel": "1 MHz", "comment": "Multichannel value is aggregate for all ai channels."}, "analog_outputs": { "1 channels": "2.86 MHz", "2 channels": "2.00 MHz", "3 channels": "1.54 MHz", "4 channels": "1.25 MHz", "comment": "Max ao rates are per channel." } } }, "lockins": { "SUSC": { "model": "SR830", "address": "GPIB0::12::7::INSTR"}, "CAP": { "model": "SR830", "address": "GPIB0::28::7::INSTR" } }, "atto": { "name": "atto", "model": "ANC300", "address": "ASRL1::INSTR", "timeout": 5, "terminator": "\r\n", "stopbits": 1, "baud_rate" : 38400, "axes": {"x": 1,"y": 2,"z": 3}, "voltage_limits": { "RT":{"x": "25 V","y": "25 V","z": "40 V"}, "LT":{"x": "60 V","y": "60 V","z": "60 V"} }, "default_frequency": {"x": "100 Hz", "y": "100 Hz", "z": "100 Hz"}, "constants":{ "x": "-0.66 um", "y": "-0.55 um", "z": "0.2 um", "comment": "Approximate um/step at 3 K, 60 V. Sign is relative to scanner sign. 2018/02/22"}, "history": {} }, "ls372":{ "name": "ls372", "address": "GPIB0::13::7::INSTR" }, "ls331":{ "name": "ls331", "address": "GPIB0::30::7::INSTR" }, "scanner": { "name": "benders", "constants": { "x": "17 um/V", "y": "18 um/V", "z": "2 um/V", "comment": "um/V_daq (2018/02)"}, "voltage_limits":{ "RT":{"x": [-2, 2], "y": [-2, 2], "z": [-2, 2]}, "LT":{"x": [-10, 10],"y": [-10, 10], "z": [-10, 10]}, "unit": "V", "comment":"V_daq should never be outside of voltage_limits."}, "voltage_retract":{"RT": "-2 V","LT": "-10 V"}, "speed": { "value": "2 V/s", "comment":"Rate of movement of the scanner (when not scanning)." }, "plane": {}, "cantilever": { "calibration": "326 uV/pF", "comment":"CAP lockin X reading, freq = 6.821 kHz, amp = 1 V" } } }, "SQUID": { "name": "SQUID", "type": "susceptometer", "description": "IBM deep-etched 0.3um susceptometer", "modulation_width": "0.19 V/Phi0", "FC_PU_mutual": "0 Phi0/A", "feedback": { "type": "Red Pitaya + pyrpl" }, "dimensions": { "PU_ri": "0.3 um", "PU_ro": "0.5 um", "FC_ri": "1.0 um", "FC_ro": "1.5 um" } }, "info": { "timestamp_format":"%Y-%m-%d_%H:%M:%S" } }
Measurement Configuration¶
Example configuration file for microscope.susceptometer.SusceptometerMicroscope
measurements.
{ "scan": { "fname": "scan", "surface_type": "plane", "fast_ax": "x", "range": {"x": "5 V", "y": "5 V"}, "center": {"x": "0 V", "y": "0 V"}, "height": "-0.2 V", "scan_rate": "10 pixels/s", "scan_size": {"x": 50, "y": 50}, "channels": { "MAG": { "label": "Magnetometry", "gain": 10, "filters": { "lowpass": {"cutoff": "100 kHz", "slope": "12 dB/octave"}, "highpass": {"cutoff": "0 Hz","slope": "0 dB/octave"} }, "unit": "mPhi0", "unit_latex": "m$\\Phi_0$" }, "SUSCX": { "lockin": { "name": "SUSC", "amplitude": "1 V", "frequency": "131.79 Hz" }, "label": "Susceptibility", "gain": 10, "r_lead": "1 kOhm", "unit": "Phi0/A", "unit_latex": "$\\Phi_0$/A" }, "SUSCY": { "lockin": { "name": "SUSC" }, "label": "Susceptibility (out of phase)", "gain": 10, "r_lead": "1 kOhm", "unit": "Phi0/A", "unit_latex": "$\\Phi_0$/A" }, "CAP": { "lockin": { "name": "CAP", "amplitude": "1 V", "frequency": "6.281 kHz" }, "label": "Capacitance", "gain": 1, "unit": "fF", "unit_latex": "fF" } } }, "td_cap": { "fname": "td_cap", "dV": "0.1 V", "range": ["-9.5 V","9.5 V"], "channels": { "CAP": { "lockin": { "name": "CAP", "amplitude": "1 V", "frequency": "6.281 kHz" }, "label": "Capacitance", "gain": 1, "unit": "fF", "unit_latex": "fF" }, "SUSCX": { "lockin": { "name": "SUSC", "amplitude": "1 V", "frequency": "131.79 Hz" }, "label": "Susceptibility", "gain": 10, "r_lead": "1 kOhm", "unit": "Phi0/A", "unit_latex": "$\\Phi_0$/A" }, "SUSCY": { "lockin": { "name": "SUSC" }, "label": "Susceptibility (out of phase)", "gain": 10, "r_lead": "1 kOhm", "unit": "Phi0/A", "unit_latex": "$\\Phi_0$/A" } }, "constants": { "max_slope": "0.8 fF/V", "max_delta_cap": "5 fF", "max_slope": "3 fF/V", "max_delta_cap": "15 fF", "initial_cap":"0 pF", "nfitmin":10, "nwindow":30, "ntest":8, "wait_factor":2 } } }