-
SMU 2612B Help with Timer Based Measurements
Hi all,
I am looking for help with a measurement using a Keithley 2612B. What I want to do is
1. Apply a set voltage (typically ~4V)
2. Immediately begin recording current data to a buffer
3. After a set amount of time/counts of measurements turn off the voltage
Here is my Lua code:
function run_experiment(voltageLevel, voltageApplicationTime, samplingInterval) chargingTimer = trigger.timer[1] chargingTimer.count = voltageApplicationTime / samplingInterval chargingTimer.delay = samplingInterval smub.reset() smub.source.func = smub.OUTPUT_DCVOLTS smub.source.rangev = voltageRange smub.nvbuffer1.appendmode=1 smub.measure.rangei = 0.01 -- Set current range for measurement smub.measure.autozero = smub.AUTOZERO_OFF smub.measure.autorangei = smub.AUTORANGE_OFF smub.measure.count = voltageApplicationTime / samplingInterval smub.trigger.measure.i(smub.nvbuffer1) -- Measure current into buffer1 smub.trigger.measure.action = 1 smub.trigger.measure.stimulus = chargingTimer.SOURCE_COMPLETE_EVENT_ID chargingTimer.stimulus = smub.trigger.ARMED_EVENT_ID smub.source.levelv = voltageLevel smub.source.output = smub.OUTPUT_ON waitcomplete() if smub.nvbuffer1.n > 0 then printbuffer(1, smub.nvbuffer1.n, smub.nvbuffer1.readings) else print("No data in nvbuffer1.") end end
What am I doing wrong? No data is being created in the buffer and I do not understand why. No errors are being created either. For first tests I set samplingInterval = 0.1 to make things simple but always there is nothing in the buffer!
Additionally, voltageApplicationTime is set to 5.0 so values generally are sensible.
Any help is greatly appreciated thanks!!!