Posted Fri, 27 Oct 2023 12:14:14 GMT by Guitart, Daniel
Hi, my laboratory just added a 2470 SourceMeter but we can't figure out how to measure Varistor Alpha with it. Does anyone know how to do it? Thank you!
Posted Mon, 30 Oct 2023 15:56:11 GMT by C, Andrea
Check out pg 9 in this component mfg document:
Varistor and extracting alpha - pg 9

Or this one, figure 10 on pg 7, shows log-log graph.  The alpha is taken from 1/slope in normal operation zone between 1mA and a higher current.
alpha of varisstor - 1/slope of log-log plot


With 2470, it can supply 1Amp, but only at voltages up to 20V.  If your DUT need higher voltages, you'll need to settle for less current, e.g., up to 100mA with max 200V from 2470.


 
Posted Fri, 10 Nov 2023 12:11:51 GMT by Guitart, Daniel
Hi Andrea, thank you for the answer. Currently im trying to make a script on TSB but I'm not a programmer myself so I'm having a little bit of trouble. I managed to write a code that can measure a voltage value on 1mA and another voltage value on 10mA. These voltage values are stored on 2 different buffers. Is there any way I can make a mathematical expression using values from 2 different buffers?


This is my code as of now:
-- Reset the instrument, which also clears the buffer.
reset()

--PRIMER VALOR DE VOLTAJE (1mA)
miliampx = buffer.make(10, buffer.STYLE_FULL)
-- Set up the source function.
smu.source.func = smu.FUNC_DC_CURRENT
smu.source.vlimit.level = 1100
smu.source.level = 1e-3
-- Set up measure function.
smu.measure.func = smu.FUNC_DC_VOLTAGE
smu.measure.terminals = smu.TERMINALS_FRONT
smu.measure.autorange = smu.ON
smu.measure.nplc = 1
-- Turn on the output and initiate readings.
trigger.model.load("DurationLoop", 1, 1, miliampx )
trigger.model.initiate()
-- Wait for the trigger model to complete.
waitcomplete()
smu.source.output = smu.OFF
-- Math?.
buffer.math(miliampx, buffer.UNIT_NONE, buffer.EXPR_LOG10)
for x = 1,1 do
print("Reading: ", smu.measure.read(miliampx))
end



--SEGUNDO VALOR DE VOLTAJE (10mA)
miliampy = buffer.make(10, buffer.STYLE_FULL)
-- Set up the source function.
smu.source.func = smu.FUNC_DC_CURRENT
smu.source.vlimit.level = 1100
smu.source.level = 10e-3
-- Set up measure function.
smu.measure.func = smu.FUNC_DC_VOLTAGE
smu.measure.terminals = smu.TERMINALS_FRONT
smu.measure.autorange = smu.ON
smu.measure.nplc = 1
-- Turn on the output and initiate readings.
trigger.model.load("DurationLoop", 1, 1, miliampy)
trigger.model.initiate()
-- Wait for the trigger model to complete.
waitcomplete()
smu.source.output = smu.OFF
-- Math?.
buffer.math(miliampy, buffer.UNIT_NONE, buffer.EXPR_LOG10)
for y = 1,1 do
print("Reading: ", smu.measure.read(miliampy))

end


alpha = (1/(miliampy[1]/miliampx[1]))

print(alpha)
 
Posted Mon, 13 Nov 2023 15:00:42 GMT by Guitart, Daniel
Basically what I'm trying to get is to show the alpha value on the screen, but I can't even make the print function to work.
Posted Tue, 14 Nov 2023 02:39:46 GMT by C, Andrea
check out the display.text commands
There are two lines available to you.

elapsedTime = some computed value
display.changescreen(display.SCREEN_USER_SWIPE)
display.settext(display.TEXT1, "Test pass")
display.settext(display.TEXT2, string.format("Time elapsed: %.0f sec" , elapsedTime))
Posted Tue, 14 Nov 2023 10:47:15 GMT by Guitart, Daniel
Thank you for the answer! We managed to make it work! 

You must be signed in to post in this forum.