#%% initialization import numpy as np from pylab import * # Import instruments from amcc.instruments.srs_sim970 import SIM970 from amcc.instruments.srs_sim928 import SIM928 from amcc.instruments import Switchino # Setup instruments dmm = SIM970('GPIB0::4', sim900port=7) vs1 = SIM928('GPIB0::4', sim900port=3) vs2 = SIM928('GPIB0::4', sim900port=4) vs3 = SIM928('GPIB0::4', sim900port=5) switch = Switchino('COM7') #import functions from vt__meas_util import iv_sweep_srs__current_bias, flux_purge_srs, sq_voltage_vs_incoil_current #%% measurement specifics #squid ports incoil_v_source_srs = vs1 squid_v_source_srs = vs2 addflux_v_srs = vs3 squid_v_meas_srs = dmm squid_v_meas_srs_dmm_channel = 4 dmm.set_impedance(gigaohm=False, channel=squid_v_meas_srs_dmm_channel) #resistors in series with voltage sources
heater_output = [-1, 1] + [-1] * 510 marker_output = [0, 1] + [0] * 510 awgw.create_waveform(voltages=heater_output, filename='heater.wfm', marker1_data=marker_output) awgw.load_file('heater.wfm', channel=1) awgw.set_vhighlow(vlow=0, vhigh=0.1) awgw.set_marker_vhighlow(vlow=0, vhigh=1) awgw.set_trigger_mode(trigger_mode=True) awgw.set_lowpass_filter() awgw.set_output(True) awgw.trigger_now() # Setup bias source vs = SIM928('GPIB0::4', 3) vs.reset() vs.set_output(True) dmm = SIM970('GPIB0::4', 7) #%%============================================================================ # High-speed latching device 2D map - pulse time & amplitude # # For latching devices - Applies a single pulse to the resistor, then measures # an attached DMM to see if the device was triggered (latched) #============================================================================== # Connector AWG520 Marker1 output to AWG610 ext. trigger input # Manually load 'sin.wfm' on CH1 of AWG520 # Manually set trigger to "External" on AWG610
data = locals() return data #%%============================================================================ # Setup instruments #============================================================================== #lecroy = LeCroy620Zi("TCPIP::%s::INSTR" % '192.168.1.100') #awg = RigolDG5000('USB0::0x1AB1::0x0640::DG5T171200124::INSTR') switch = Switchino('COM7') counter1_snspd = Agilent53131a('GPIB0::12::INSTR') counter2_readout = Agilent53131a('GPIB0::10::INSTR') vs1_snspd = SIM928('GPIB0::4', 3) vs2_readout = SIM928('GPIB0::4', 4) #%%============================================================================ # TCI counts vs bias measurement setup # # For nonlatching devices - The bias is constant. The bias is set for both # the readout nanowire and the SNSPD, then counts vs time are measured # Switch 1 / Counter 1 = SNSPD # Switch 2 / Counter 2 = Readout #============================================================================== trigger_voltage = 0.05 count_time = 0.1 # Setup counter
T = 1 / (-0.319941226 + 5.74884E-8 * pow(R, 2) * np.log(R) - 8.8409E-11 * pow(R, 3)) return T #%%============================================================================ # Setup instruments #============================================================================== # Close all open resources rm = visa.ResourceManager() [i.close() for i in rm.list_opened_resources()] # Connect to instruments counter = Agilent53131a('GPIB0::8::INSTR') vs = SIM928('GPIB0::13', 3) dmm = SIM970('GPIB0::13', 7) att = Agilent81567('GPIB0::10', slot=9) att2 = Agilent81567('GPIB0::10', slot=12) att3 = Agilent81567('GPIB0::10', slot=15) switch = Switchino('COM12') #srs_temp_sensor = SIM921('GPIB0::6', sim900port = 5) # Setup SRS voltage source and DMM vs.reset() vs.set_output(True) # Setup counter counter.basic_setup() counter.set_impedance(ohms=50) counter.setup_timed_count()
import time import pandas as pd import numpy as np import datetime import visa # c = Agilent53131a('GPIB0::10') # c.basic_setup() # c.set_trigger(-0.075) # Close all open resources #rm = visa.ResourceManager() #[i.close() for i in rm.list_opened_resources()] counter = Agilent53131a('GPIB0::12::INSTR') vs = SIM928('GPIB0::4', 5) switch = Switchino('COM7') att = JDSHA9('GPIB0::15::INSTR') #from unittest.mock import Mock; att = Mock() #from unittest.mock import Mock; switch = Mock() # Setup parameters counter.basic_setup() counter.set_impedance(ohms=50) counter.setup_timed_count() counter.set_trigger(trigger_voltage=0.030, slope_positive=True, channel=1) vs.reset() vs.set_output(True) R_bias = 10e3
mask = (V < voltage_range) & (V > -voltage_range) p = np.polyfit(V[mask], I[mask], deg=1) resistance = 1 / p[0] print('Resistance around zero %0.2f Ohm)' % (resistance)) #%% OPTIONAL: Set up SRS-based high-impedance IV curve from amcc.instruments.srs_sim970 import SIM970 from amcc.instruments.srs_sim928 import SIM928 vs_slot = 4 dmm_slot = 7 dmm_channel = 2 dmm = SIM970('GPIB0::4', dmm_slot) vs = SIM928('GPIB0::4', vs_slot) dmm.set_impedance(gigaohm=True, channel=dmm_channel) dmm.set_impedance(gigaohm=True, channel=4) def run_iv_sweep_srs(voltages, R_series, delay=0.75): vs.reset() vs.set_output(True) time.sleep(2) V = [] I = [] for v in voltages: vs.set_voltage(v) time.sleep(delay) v1 = dmm.read_voltage(channel=4)
#%% # Import instruments from amcc.instruments.srs_sim970 import SIM970 from amcc.instruments.srs_sim928 import SIM928 from amcc.instruments import Switchino # Setup instruments dmm = SIM970('GPIB0::4', sim900port=7) vs = SIM928('GPIB0::4', sim900port=4) switch = Switchino('COM7') dmm.set_impedance(gigaohm=False, channel=2) dmm.set_impedance(gigaohm=False, channel=3) #%% def run_iv_sweep_srs(voltages, R_series, delay=0.75): vs.reset() vs.set_output(True) time.sleep(2) V = [] I = [] for v in voltages: vs.set_voltage(v) time.sleep(delay) # v1 = dmm.read_voltage(channel = 1) v1 = v v2 = dmm.read_voltage(channel=2) v3 = dmm.read_voltage(channel=3) V.append(v3)