I_p1 = float(vmeas.query('READ?')) / M1b_total_gain ivvi.RampVoltage(S3b_dac, -p*V_bias/S3b_range*1e3,tt=1., steps = 5) #biasing at reverse Voltage I_p2 = float(vmeas.query('READ?')) / M1b_total_gain p*=-1 R = (2*V_bias/np.absolute(I_p1-I_p2))-R_cal I_leakage = float(v_gateleakage.query('READ?'))*1e3 #leakage current [nA] resistance_array = np.append(resistance_array,R) applied_gate_array = np.append(applied_gate_array,Vg) I_leakage_array = np.append(I_leakage_array,I_leakage) current_time = time.time() line = [V_bias, np.absolute(I_p1-I_p2), R, Vg, T, current_time - last_time, I_leakage] stlab.writeline(myfile, line) myfile.write('\n') stlab.metagen.fromarrays(myfile, Vglist, range(count+1), xtitle='Iset (A)',ytitle='Index_Voltage ()',colnames=colnames) plt.rcParams["figure.figsize"] = [16,9] plt.subplot(2, 1, 1) plt.plot(applied_gate_array,resistance_array, '--r', marker='o') plt.title(prefix+'$I_{max}$:{:.1f}nA, $I_{mmin}$:{:.1f}nA'.fomrat(1e-9*V_bias/np.Minimum(resistance_array),1e-9*V_bias/np.Maximum(resistance_array))) plt.ylabel('resistance [$\Omega$]') plt.xlim(Vgmin,Vgmax) plt.subplot(2, 1, 2) plt.plot(applied_gate_array,I_leakage_array, '--r', marker='o') plt.ylabel('leakage current [nA]')
out_channel=measure_output_channnel, in_channel=measure_input_channnel, time_constant=demodulation_time_constant, frequency=measure_frequency, poll_length=deamodulation_duration, device=device, daq=daq, out_mixer_channel=out_mixer_channel, bias_resistor=bias_resistor) measured[0] *= (np.cos(math.radians(measured[1])) * calibration_factor) line = [count, gate_voltage, leakage_current] + measured if save_data: stlab.writeline(my_file_2, line) print('LEAKAGE CURRENT: {:6.4f}'.format(1e9 * leakage_current), 'nA') print('RESISTANCE: {:6.2f}'.format(measured[0]), 'kOhms') print('PHASE {:4.2f}'.format(measured[1])) plt_Vg = np.append(plt_Vg, gate_voltage) plt_resistance = np.append(plt_resistance, measured[0]) plt_leak_curr = np.append(plt_leak_curr, leakage_current) plt.rcParams["figure.figsize"] = [16, 9] plt.subplot(2, 1, 1) plt.plot(plt_Vg, plt_resistance, '--r', marker='o') plt.ylabel('Resistance (k$\Omega$)') plt.title(prefix + '_' + sample_name)
measured = R_measure(device_id, amplitude=measure_amplitude, out_channel = measure_output_channnel, in_channel = measure_input_channnel, time_constant = demodulation_time_constant, frequency = measure_frequency, poll_length = deamodulation_duration, device=device, daq=daq, out_mixer_channel=out_mixer_channel, bias_resistor=bias_resistor) measured[0]*=(np.cos(math.radians(measured[1])*calibration_factor) line = [count,gate_voltage, leakage_current] + measured + mytriton.GetTemperature(8) + time if save_data: stlab.writeline(my_file_2,line) plt_Vg = np.append(plt_Vg,gate_voltage) plt_resistance = np.append(plt_resistance,measured[0]) plt_leak_curr = np.append(plt_leak_curr,leakage_current) plt.rcParams["figure.figsize"] = [16,9] if (count-1)//monitor_ratio == (count-1)/monitor_ratio: plt.subplot(3, 1, 1) plt.plot(plt_Vg,plt_resistance, '--r',marker='o') plt.ylabel('Resistance (k$\Omega$)') plt.title("Resitance = %4.2f k$\Omega$" %measured[0])
poll_length=deamodulation_duration, device=device, daq=daq, out_mixer_channel=out_mixer_channel, bias_resistor=bias_resistor, in_range=in_range, out_range=out_range, diff=diff, add=add, offset=offset, ac=ac) measured[0] = calibration_factor * np.abs(measured[0]) + shift if save_data: stlab.writeline(my_file, [freq] + measured) plt_resistance = np.append(plt_resistance, measured[0]) plt_phase = np.append(plt_phase, measured[2]) Freq = np.append(Freq, freq) plt.rcParams["figure.figsize"] = [12, 6] plt.subplot(2, 1, 1) plt.plot(Freq * 1e-6, plt_resistance * 1e-3, '--r', marker='o') plt.ylabel('Resistance ($k\Omega$)') # plt.yscale('log') # plt.xscale('log') plt.title("Resistance = %4.2f k$\Omega$" % (measured[0] * 1e-3))