def startup(self):
        log.info("Setting up Multimeters")
        self.mm1 = Keithley2000(self.mm1_address)
        self.mm2 = Keithley2000(self.mm2_address)
        self.mm3 = Keithley2000(self.mm3_address)
        self.mm4 = Keithley2000(self.mm4_address)

        if self.mm1_measurement:
            self.mm1.measure_voltage(self.mm1_range)
        else:
            self.mm1.measure_current(self.mm1_range)

        if self.mm2_measurement:
            self.mm2.measure_voltage(self.mm2_range)
        else:
            self.mm2.measure_current(self.mm2_range)

        if self.mm3_measurement:
            self.mm3.measure_voltage(self.mm3_range)
        else:
            self.mm3.measure_current(self.mm3_range)

        if self.mm4_measurement:
            self.mm4.measure_voltage(self.mm4_range)
        else:
            self.mm4.measure_current(self.mm4_range)

        log.info("Setting up Thermocouple")

        self.mm2.voltage_nplc = 1  # Integration constant to Medium
        self.mm3.voltage_nplc = 1  # Integration constant to Medium
        self.mm4.voltage_nplc = 1  # Integration constant to Medium
        sleep(2)
Пример #2
0
    def startup(self):
        log.info("Setting up instruments")
        self.meter = Keithley2000("GPIB::25")
        self.meter.measure_voltage()
        self.meter.voltage_range = self.voltage_range
        self.meter.voltage_nplc = 1  # Integration constant to Medium

        self.source = Keithley2400("GPIB::1")
        self.source.apply_current()
        self.source.source_current_range = self.max_current * 1e-3  # A
        self.source.compliance_voltage = self.voltage_range
        self.source.enable_source()
        sleep(2)
Пример #3
0
##This is a generic code to measure resistance using DC Keithley 2400 and nvm, it does not record any other values
## It will sweep a current from the set min current to the set max current with the given steps

"""

### Import ###

#Required packages
import numpy as np
import time

#Drivers
from pymeasure.instruments.keithley import Keithley2400
from pymeasure.instruments.keithley import Keithley2000

nvm = Keithley2000("GPIB::15")
source = Keithley2400("GPIB::21")

### Setup nvm ###

### Setup 2400 ###

currentmax = 1e-6
currentmin = 0
currentstep = 1e-8
currentrange =  int((currentmax-currentmin)/currentstep+1)

source.apply_current()
print(nvm.voltage) #Test the nvm connection
nvm.beep_state = 'disabled'
Пример #4
0
        timeinterval = args.interval
    else:
        timeinterval = 1  # this corresponds to 1 measurement / second

    df = pd.DataFrame(
        dict(time=[],
             temp=[],
             tempres=[],
             rho=[],
             resistivity=[],
             read_pressure=[],
             read_pvoltage=[],
             pressure_sample=[]))

    LS = LS350(None, 'GPIB::9::INSTR')
    KTmult = Keithley2000('GPIB::14::INSTR')
    KTmult.measure_voltage(max_voltage=10, ac=False)

    fig = plt.figure()
    grid = gridspec.GridSpec(2, 2, figure=fig)

    ax1 = fig.add_subplot(grid[0, 0])
    ax1.set_xlabel("T (K)")
    ax1.set_ylabel(r"$\rho$ ($\Omega$ m)")
    ax1.ticklabel_format(axis='y', style='sci', scilimits=(0, 2))
    line0, = ax1.plot(df['temp'], df['rho'], 'k.-')

    ax2 = fig.add_subplot(grid[1, 0])
    ax2.set_xlabel("time")
    # ax2.set_ylabel(r"$\rho$ ($\Omega$ m)")
    ax2.set_ylabel(r"R ($\Omega$)")