12-06-2017 01:52 PM
Hi Guys,
I'm working on developing a measurement system to measure resistance as a function of time. I am measuring samples with resistances on the order of a few hundred Mohms, which are out of the range of the Keithley 2400 (can only measure resistances up to 200 Mohms). Since I can't measure resistance "directly", I can get resistance "indirectly" by producing an IV curve (sweeping voltage (V) sweep and measuring current (I)). I need to be able to measure quickly, on the order of 10 IV curves / per second. These 10 curves are then averaged, so for each second, I have one resistance data point.
I have a working program where I am able to continuously sweep V and measure I, and I am able to adjust the measurement speed by changing the Power Line Cycles (PLC). The user specifies the desired number of IV curves per second (sample rate more or less) and the number of steps in the IV curve. Using this info and an EU cycle of 50 hz, I can calculate the required PLC (see attached picture). The lower the PLC, the faster the measurements takes (at a potential cost of accuracy).
After calculating the PLC, I configure the Keithley, but next problem is the continuous voltage sweeps. In order to do the voltage sweeps, I use a for loop within a while loop (see attached). I use data buffering to speed up the data acquisition loop. A few things aren't shown, but might be helpful to know:
The for loop runs the number of times specified by the user ( number of IV curves per second)
The input to the Keithley read subVI is the number of steps in the IV curve
The outputs from the Keithley read subVI are the voltages, current measurements, and the time stamp of each measurement
The loop where I process the data
I have autozero off to speed up measurements
After testing, I noticed that it takes longer than 1 second to complete one measurement cycle (x amounts of voltage sweeps in one second), and thinking about it now, I need to account for the time delay between LabVIEW sending Keithley the read command and Keithley sending the data back to LabVIEW (communication to/from computer). What would be the best way to do it?
One option I have thought of would be programming a PID controller at the beggining to adjust PLC so that every 1 second, I have exactly x voltage sweeps taken each second. Basically, I calculate the PLC using the inputed info and run the measurment (x sweeps in one second). Then, taking the difference between the first time stamp and the last time stamp outputed by the Keithley, I calculated the actual time it took to complete x voltage sweeps. Using this time I calculated, I feed it into a PID controlled, that adjust the PLC until it I get x voltage sweeps in one second. Does that make sense?
I hope I have made myself clear, and if anyone else has any suggestions on a better way to do continuous voltage sweeps, I would greatly appreciate it!
Solved! Go to Solution.
12-06-2017 10:50 PM
You were trying to use the K2400 Auto-Ohms method which has a limit of 200MOhms, but you can get a resistance reading >200GOhms (source is 5pA/20V) with the K2400 "directly" without needing to do an I-V sweep. You just need to setup the resistance measurement in Manual rather than Auto mode, specify the voltage or current you want to source and you can do a one shot DMM-like resistance measurement. See pg 111, section 4 of the K2400 manual - http://research.physics.
As for speeding things up, the NPLC is not the only consideration. There's source delay, measure delay, auto-settle, auto-zero and auto ranging. You most likely want to disable most of those since you know the range of your resistance ahead of time. I see you have included a few in your code. Try the attached VI to play with the settings and do a manual measurement of Resistance.
Now the real question is this "Is the Keithley 2400 the right tool for the job?". What are you measuring?
Do you need this high resistance to be extremely accurate? If YES then K2400 isn't really suitable. It uses BNC cables which are prone to leakage with high voltage and very low current thus they self limit the Auto-Ohms feature accordingly. You really want triax cables and a suitable SMU (Keithley 26xx) or an electrometer for really high resistance low current measurements. Here's a good example of the leakage in BNC vs. Triax - https://www.google.ca/search?q=triax+cable+leakage&safe=active&dcr=0&source=lnms&tbm=isch&sa=X&ved=0...:
12-07-2017 07:14 AM
Wow, cstorey, thanks so much for your insightfulness! You answer has helped me a lot. You are totally right, I was using the auto-ohms method, I didn't realize I could manually setup the resistance measurement. I will take a look into that!
I realize there are other settings I can tweek, but I'm not 100% familiar with all these settings (maybe I should read the manual).
As for whether the Keithley is the best tool for the job, I am not sure. We are measuring organic semiconductors with low electrical conductivity. The idea was to try to see if we could study how resistivity changes when light iluminates a sample. We have a few K2400s lying around, so the first step was to measure resistance with the Keithley. Accuracy is important, but we don't need it to be extremely accurate at the moment. I realize speeding up the measurements with the Keithley can lead to more inaccuracies. I wasn't aware of voltage leakage in the K2400s since I'm pretty new when it comes to using Keithleys, but I'll definitely keep that in mind.
12-07-2017 09:33 AM
Ah, I've measured some organic transistors. In our case a K24xx wasn't suitable. We found the resistances were 1-100GOhms, which is on the order of the input impedance of the K2400 on certain ranges but the big measurement killer was the BNC cables. Leakage is inside the cables not the instrument! The K2400 is a great multipurpose SMU but it can't be used for everything. A K26xx or an electrometer have higher input impedance, and triax cables, which would greatly increase measurement accuracy of low current high resistance applications.
Your sort of mid range at "hundreds of ohms" so maybe you'll be fine with the K2400. But I would verify the resistance with another meter equipped with triax just to be sure. Are you really looking at dynamics on a short time scale? If so then I'd talk to Keithley and Keysight about the best equipment for the job.
At the very least hopefully the VI helps you sort out the settings and you can see some effects.