08-25-2023 12:57 PM
Hello, I am new to LabVIEW. I want to measure the IV characteristics of my memristor device using Keithley 2400 SMU. For this measurement, I need to sweep voltage gradually from 0 to 3V, then 3V to -3V, and then -3V to 0V and collect the current value. Does anyone have the program for this?
08-25-2023 01:24 PM
Hi Dipon,
Dipon.Kumar.Ghosh@inrs.ca wrote:
I want to measure the IV characteristics of…
I need to…
Does anyone have the program for this?
Maybe someone else has a program for exactly your requirements - but the probability might be low…
Why don't you create that program on your own?
What have you tried and where are you stuck?
Did you start with the example VIs that come with the device driver for your Keithley SMU?
08-25-2023 01:59 PM
Download Keithley 24XX Meter - IEEE 488.2 (GPIB), Serial Driver for LabVIEW and extract the content to <LabVIEW>\instr.lib
Open the Keithley 24XX.lvproj and there is one example on sweeping and measurement.
08-28-2023 10:54 AM
Yes, download and install the driver. Look at the examples, make sure the simple sweep and acquire works for a simple sweep.
Since you want 3 sweeps and not just one, you would need to use a loop to measure all 3. But, you should consider the more versatile Output List and Acquire example, which would allow you to setup a list with all three sweeps included and do the measurement all at once.
As Gerd said - post your code and we can help if you get stuck!
Craig
05-28-2024 04:48 AM
Which loop will help me achieve something similar to this, sweeping from negative to zero and zero to positive(dual sweep)?
Also, is it possible to set two different compliance levels for these two sweeps? If so, how do I do it?
05-28-2024 05:07 AM
Hi beginner,
@beginner1234 wrote:
Which loop will help me achieve something similar to this, sweeping from negative to zero and zero to positive(dual sweep)?
Sounds like a "two step approach", so first loop will handle the sweep from -X1 to 0 and the second step/loop will handle 0 to +X2.
Or you create just one sweep/ramp, you "just" need to make sure the "0" value is included…
@beginner1234 wrote:
Also, is it possible to set two different compliance levels for these two sweeps? If so, how do I do it?
Sure. Use the "two step approach" as described above. Switch the compliance level when the first step/loop has finished…
05-28-2024 05:19 AM
Can I use two while loops one after the other (like you mentioned) from sweep voltage, check if it is greater or lesser than zero, then use configure output to set compliance levels to the two in while loops? Is this the right approach?
06-05-2024 02:40 AM
Though it is not a dual sweep, I tried to make a block diagram such that it sweeps from negative to zero and zero to positive with two different compliance levels based on a sweep example from the instrument drivers, but there are few doubts and errors I would like to get clarified.
1. What should I place in loop terminals (all three loops) such that the outer 'while loop' stops after one iteration (after the sweep from negative to positive) and the 'for loops' work properly for negative to zero and zero to positive sweep?
2. Which function can I use to see that the delay between the two 'for loops' for sweeping negative to positive is almost negligible?
3. What is the best way to collect data from both loops and combine it into one and make it into an XY graph as current vs voltage?
4. How do I correct the errors for closing communication from the loops?
06-05-2024 03:06 AM - edited 06-05-2024 03:08 AM
Hi beginner,
@beginner1234 wrote:
1. What should I place in loop terminals (all three loops) such that the outer 'while loop' stops after one iteration (after the sweep from negative to positive) and the 'for loops' work properly for negative to zero and zero to positive sweep?
2. Which function can I use to see that the delay between the two 'for loops' for sweeping negative to positive is almost negligible?
3. What is the best way to collect data from both loops and combine it into one and make it into an XY graph as current vs voltage?
4. How do I correct the errors for closing communication from the loops?
Your approach shows several misunderstandings/misconceptions…
I guess it would make more sense to learn LabVIEW basics and to solve the other problem of receiving useful measurement data first! (Discussing the same code in more than one thread quickly becomes annoying…)
06-05-2024 04:13 PM - edited 06-05-2024 04:15 PM
Here's a better way to do multiple sweeps on a Keithley 2400 without a pause between them. Upload a list or bias points and step between them at a given interval. This is called a "List Sweep". There's even an example in the NI driver on how to do this. Here I expand on that and provide a sweep building VI and show you how to save data files and PNGs.
Hope that helps.
Craig