I just tried to record the warm-up drift of my Keithley 236 SMU using an HP/Agilent/Keysight 34401A DMM as a verification device and had trouble getting a reasonable result from the DMM.
I have tried variations of the following sequence in which I tried to measure the 1V output of the Keithley over time but the result was always the same:
It looks like either SweepMe is requesting the same constant voltage (1V) again for every step and the DMM catches the output when the SMU is trying to adjust its output. Or the SMU ouput is switched of for a fraction of the time that overlaps with the measuerment of the DMM, leading to the visible drop in the measured voltage in some measurement points.
If I remove the K236 SMU out of the sequence and programm it locally to output constant 1V, using SweepMe just to trigger the DMM measurements, the results are as expected, e.g. constant 1V with minor deviations around 1mV.
How can I integrate the SMU into the sequencer so that it really constantly (read: without any interruption) outputs one constant voltage? This should be of relevance for integrating a PSU as well, but that may be to slow to show similar effects.
Your sequence is fine and makes sure that all instrument are active at the same time.
The “apply” phase of a driver is only called if a set value (or “sweep value”) changes. If it is constant it should not be called again and thus output a stable value.
Can you write which SweepMe! version you are using?
Can you check the IO Trace output to see whether a voltage is changed inbetween?
→ You should only see read commands for the Keithley 236 while the loop is running.
If this is case, could it be that this is a real signal, e.g. because the instrument has some hardware problems or the cable connection to DMM is loose?
I checked the GPIB communication again and it is always just the trigger of the SMU MEASURMENT (not the sourcing) followed by the trigger for the DMM measurement, followed then by the transfer of the measurement values for the SMU and the DMM.
However, while taking a nip of a scotch and thinking about the differences I observed, my memory striked me with a detail, which I just confimed via an oscilloscope analysis: the drops in voltage occur everytime autoranging switches ranges. When using the 236 via local control outside SweepMe, I noticed the flickering of the display because it was constantly changing current range and because it kind of made me nervous once I noticed it, I had deactivated autoranging for the following measurement via the 34401A in sweepme, where the effect wasn’t visible anymore.
Over the weekend, I will have a look into the driver and see if I can implement a manual range selection similar to the one in the HP 4141B (which is scheduled to be on my desk again tomorrow for driver verification BTW).
Hi Christian,
sounds a bit strange if reading with auto-ranging influences the sourcing. I have not checked the manual, but often there are commands to also set the source range. Maybe one can fix this at 2 V or at 20 V in a first test. If sourcing and sensing are both at auto-ranging there might be an unwanted interference.
If that works one could add options to the driver to select the voltage range.
I found the reason and it is inherent to the Keithley 236/237/238. The SMU is quite new in my collection, I just found out by trying to adjust the measurement range and seeing that the SMU just has one single button for compliance as well as measurement range, the latter being written in brackets.
The manual explains the reasoning for this: the measurement readout seems to be used for the check against the compliance limit. Therefore, measurement can only be performed in the same range as the compliance is being set. The exception from the rule is the AUTORANGE feature. This is facilitated with a trick: while autorange is activated, the compliance is momentarily lowered to the maximum of the measurement range. A switch of range causes the compliance momentarily to be altered as well.
I assume that for protection purposes, a current overshot has to be prevented in all circumstances which means that for the time of the change of the measurement range, the current is limited by dropping the voltage until it can be re-measured in the newly chosen measurement range. As in my tests, I was just forcing 1V on the 10MOhm internal resistor of the 34401A voltage measurement circuit with corresponding low currents via unshielded cables, EMC noise was picked up and caused a random change of measuring ranges on the SMU, which led to the drops explained in my previous post.
Funny enough, I experience less EMC noise today so it does well via SweepMe with autorange still enabled.
So the autorange feature is required for the SMU to adapt its measurement resolution independently from the set compliance and should be kept active. One should just be aware of the effects that a repeated change of ranges can cause.
Thanks for reporting your solution to this problem and good to know the driver is basically ok.
I thought about to add a “Known issues” section the instrument driver page of the Keithley 236 here:
but now I think it is not a problem of the instrument as all SMUs change the applied voltage once the compliance is reached. Such effects probably occur also with other SMU modules when the current for a short moment exceeds the compliance.
Do you agree or do you think the instrument is not handling the situation correctly?
I think the SMU did as good as she could considering she is operating with 80s processing power. Newer SMUs will probably be just considerably faster so that one does not notice the switch in range. I agree with your conclusion that an additional section will not be necessary.