Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to Measure Correct Current Using B1500A (Parameter Analyzer) with PyMeasure API #1041

Open
NabilaTasnim opened this issue Feb 3, 2024 · 1 comment

Comments

@NabilaTasnim
Copy link

from pymeasure.instruments.agilent import AgilentB1500

import time
b1500 = AgilentB1500("GPIB0::8::INSTR", read_termination='\r\n', write_termination='\r\n', timeout = 60000)
print(id(b1500))
print(b1500)
b1500.reset()
b1500.initialize_all_smus()
b1500.data_format(21, mode=1)
print(b1500.check_errors())
# #b1500.smu_references
b1500.smu4.enable() #enable SMU
print(b1500.check_errors())
b1500.meas_mode('STAIRCASE_SWEEP', b1500.smu4)
#b1500.smu4.adc_type = 'HRADC' #set ADC to high-resoultion ADC
b1500.smu4.meas_range_current = '1 uA'
b1500.smu4.meas_op_mode = 'Current'
b1500.adc_setup('HRADC','AUTO',6)
#b1500.sweep_timing(0,0,step_delay=0) #hold,delay
b1500.sweep_auto_abort(False,post='START') #disable auto abort, set post measurement output condition to stop value of sweep
# # # Sweep Source
nop = 31
b1500.smu4.staircase_sweep_source('VOLTAGE','LINEAR_DOUBLE','Auto Ranging',-2,2,nop,0.1)
#b1500.smu4.force('VOLTAGE', 'Auto Ranging', 4, comp=0.1)
# #
# # #Start Measurement
# print(b1500.check_errors())
b1500.clear_buffer()
b1500.clear_timer()
b1500.send_trigger()
# b1500.write("XE")
b1500.check_idle()
#time.sleep(10)
# #session.write("*OPC?")
meas = []
for i in range(nop*2):
    data = b1500.read_channels(1+1)
    #print(data)
    meas.append(data)
print(meas)

I've used the above code to measure current across a resistor connected between SMU4 and manual ground. The resistance is about 500 k ohm, so the current should be in uA range, but the code always returns current in nA range. That means it's not actually measuring current, rather it's returning noise. Another issue is if I want to connect SMU1, then the code returns an error - "153 No module for the specified channel. Module is not installed in the slot specified by the channel number".

Why am I not getting the correct current? Can anyone please help?

@BenediktBurger
Copy link
Member

Sorry for the late answer.

I do not have such a device, such that I do not know, what is happening.

When I have the possibility, I will look at the code, maybe I'll find anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants