10-19-2017 09:12 AM
Hey Craig,
I found these before but unfortunately all of the links are missing or broken.
There has been an update, apparently this file includes everything I'll need to set up the measurements. I'm just not seeing how it's working.
I tried yours but got an overflow of voltage, and I'm scared that attaching it to my resistor will blow it up as there's no box to put voltage at a constant. (very nice and neat design btw)
10-19-2017 10:34 AM - edited 10-19-2017 10:39 AM
>> The 4 wires would be difficult if there's only one circuit wouldn't it?
The VI you supplied shows measurements of 40mOhms. If that's the case then you definitely want a 4-wire setup to compensate for cable loses!
Is it difficult? No, its just a second wire on either side of the resistor going back to the Keithley 2400. Notice that there are 4 inputs front and rear on the K2400? They are labeled Sense and Force, those are for the Hi/Lo sides of the resistor where force applies current and sense measures voltage across the resistor.
You might want to watch - https://www.youtube.com/watch?v=kqkluABmJhQ
Edit - Now, for the code. Small update and re-attached my code with the driver so it should fix all dependency issues and find all subvis. If you have installed the driver already and all subvis were found then just delete the Keithley_24XX folder in my version since you have it installed.
If you run the code and see "OVERFLOW" it means you haven't plugged a resistor in and you are trying to measure and open circuit or infinite resistance and it just can't do that. Don't fear running it!
My VI is showing a plot where I plugged a 808 Ohm into rear and a 685 Ohm into the front.
Craig
10-21-2017 10:00 AM
Hey Craig,
I've had marginal success with your script! This is awesome! (I had a friend look who said it's a very good script btw).
I've modified your script so that I can set a constant voltage of 1 and measure the current vs time. This is so that when I introduce something externally that should change the current (use as a sensor), I'll measure it.
There are currently two problems :-
- I have no idea what the units are or how to change them
- The graphs do not clear the previous data (even when doing it manually)
Attached is the setup I'm using. A Dil8 package with two CMOS devices on a chip carrier that is wirebonded to the Dil8. I'm not sure if I can get a 4-wire setup? There are 4 contact pads in an |-| formation, where - is the channel and | has a pad at each end. My belief is that you need the contact formation to be
A-B-Channel-B-A
to have a four-point measurement?
The current contact formation would be
(AB)-Channel-(AB)
Best wishes,
Jason
10-21-2017 11:09 AM
Update: The units are G for GigaOhm and M for MegaOhm with respective values of NanoAmp and MicroAmp for current. Athough I'm unfamiliar with the string.
10-23-2017 12:03 PM
Hi Jason,
It seems your requirements have changed. You are now sourcing a voltage and measuring current? Based on that change you will need to change the code. What I supplied only sets up the meter to measure resistance in a very specific manner.
You are sourcing 1V, is that needed? It is perfectly acceptable to source 0V and measure the current with a SMU. This is exactly the way a DMM works.
Now you're code is still taking readings of resistance. But I think you would be better off measuring current, you can record all 3 measurements I,V and R. You should also add a short delay between front and back as I showed in the 2nd program I posted. I found that switching too fast didn't let the measurement autoscale and settle properly unless the front and rear measurements were already close. (i.e. if one resistance was 10Ohms, the other 1MOhm, it wouldn't get the 10Ohm resistance accurately. But if both were the same order of magnitude then it was no problem.)
The graph clear is just a matter of initializing the shift registers before the while loop. Try this code. You will need to also download the subvi attached.
10-23-2017 12:42 PM - edited 10-23-2017 12:44 PM
Dear Craig,
Sorry about the miscommunication!
I think changing the voltage would matter as I'm working with graphene and adjusting it nearer the Dirac point would give different results.
I'm having difficulty finding "Set_NPLC.vi", my only NPLC driver is the "Configure Caching NPLC.vi".
I think the measurements will be nA to mA, what would you recommend as a "short delay", 1 second?
Thank you,
Jason
P.S. I'm also getting different reading if I choose 4 wire or 2 wire, even though there is no wire for the 3rd and 4th port?
10-23-2017 01:16 PM
Yeah, I didn't understand your 4wire comments. If you are using only 2 wires, then make sure the measurements settings are set to 2 wire. Otherwise you are compensating for lead resistance without being able to determine it.
I think you "should" use a 4wire setup. For that just read the manual sections I suggested earlier. Then wire it up accordingly and switch to 4-wire in software as well.
Attached is NPLC vi. Its not part of the Keithley driver for some unknown reason.
10-23-2017 01:48 PM
That looks incredible Craig thank you!
I'm assuming the 0.5V for front and rear is just a standard one and I need to change them both to 1V to source 1V for both resistors.
This works like a treat. I'd like to acknowledge you in my future paper, so please send me any details you'd like to be known for!
Many Many Thanks,
Jason
10-23-2017 02:14 PM
Yeah, that was just for my testing purposes.