LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Keithley 2400 smooth change of output range

Solved!
Go to solution

Hello,

 

I use a Keithley 2400 current source to drive a Peltier module to control temperature (multilayer temperature shielded object inside a vacuum chamber) using PID. The process value (PV) is measured with a Keithley nanovoltmeter connected to a special balanced thermistor bridge. With this setup I can reach standard deviation of 2-3 nanoV of the thermistor bridge output, which is approximately the reachable level with this nanovoltmeter (this is equivalent to ~ 30 nanoKelvin temperature stability, sensor has a 0.1 V/K sensitivity). So this setup works as it should, with a properly tuned PID control.

 

However, after sample change (vacuum venting) the process load is different, so the Keithley is started automatically in the 1A output range. The LabView application automatically checking the output demand of the PID using a buffer and calculating min/max output values. When for example after a few hours, the PID output demand goes below 10 mA, the VI automatically changing the output range of the Keithley to 10 mA (using *RCL command to recall setting). So we have higher step-resolution in order to reach the ultimate temperature stability. The only problem is that, the real current offsets (lets call it output error, or step error) obviously are different at 1A and at 1mA range. So this automatic transition is not "smooth" enough, I can see that the PID control loses its "grip" on the control, and the process value makes a little oscillation. Of course, this oscillation is damped after some time, and the PID can reach the ultimate stability after some hours again.

 

I would like to avoid such "bump" in my control, what would you advice to do so? How could I make this range transition to be smoother?

thanks for any advice,

best regards,

0 Kudos
Message 1 of 7
(3,547 Views)

Hi Blokk,

 

devices like your Keithley usually switch measurement ranges by orders of power of 10. So you get ranges like 1A, 0.1A, 10mA, 1mA.

There are no ranges in between and so you cannot switch "smoother" than what your device is offering…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 7
(3,538 Views)

hmm, maybe I did not explain properly my problem. I do not want to have another range value for the Keithley. I know, and it is obvious, there are 4 range levels.

My problem is the caused disturbance in the PID control. For example:

the PID is running at the range level 1 Ampere for hours. The app decides to change the range to 10 mA since the current (or the last N number in a buffer) output of the PID is below this range level. My VI puts the last output value at the range 1A into a shift register, does the range change (it requires an Enable output command too), and sets the output current level to the same value which was the last previous value at 1A range. and the PID control goes on. Also, I do NOT reinitialize the PID control at this range change, since I want a smooth transition, as nice as possible. But when the VI does this transition, I get a "bump", the PV starts a little oscillation with decreasing amplitude, and finally after some time it is Ok again.

 

My goal is to try to avoid such a oscillation, since I have a huge thermal heat capacity, and this bumpy transition increases stabilization time.

 

EDIT1: I guess the main problem is that, if for example I have an output current value for example 7 mA at the range of 1A, and I change to the 10 mA range and set the same 7 mA value, it is actually not the same! So the real output currents do not match...

0 Kudos
Message 3 of 7
(3,531 Views)

Hi Blokk,

 

7 mA at the range of 1A, and I change to the 10 mA range and set the same 7 mA value, it is actually not the same!

Well, you could have a discussion with Keithley on why their device has a measurement error that changes with the measurement range.

(And that is mentioned in the manual).

 

Or you could buy a much more expensive device with less mesurement errors…

 

That's life! 😄

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 4 of 7
(3,519 Views)

@GerdW wrote:

Hi Blokk,

 

7 mA at the range of 1A, and I change to the 10 mA range and set the same 7 mA value, it is actually not the same!

Well, you could have a discussion with Keithley on why their device has a measurement error that changes with the measurement range.

(And that is mentioned in the manual).

 

Or you could buy a much more expensive device with less mesurement errors…

 

That's life! 😄


yep, of course it is true what you say, but I was hoping someone had experience how to deal with such an offset difference between the output current ranges.

I started to think about the following what I could try: at different current outputs I could measure the voltage drop on the Peltier with an additional multimeter (for example a Keithley 2010 which I have at hand). Or even better, I connect a precision Ohmic resistor serial between the 2400 and the Peltier, and I measure the voltage drop on this (and calculating the flowing current).

For all of the 4 current ranges of the Keithley I could measure a characteristic curve which describes the real current differences for a certain current setpoint at the 4 different current range. In this way I could use a kind of offset transformation, so I would use the "real" required current what the PID demands...

 

0 Kudos
Message 5 of 7
(3,506 Views)
Solution
Accepted by topic author Blokk

its that darn *RCL

 

The Kiethley does have a range command  there is no reason to recall an entire set of settings to change 1 parameter.

 

That being said. The resolution will also change and there will be a bump - it is unavoidable.


"Should be" isn't "Is" -Jay
Message 6 of 7
(3,495 Views)

Right, I will just eliminate the *RCL command (and use the proper range command), I just used the same procedure as it was in the old software, without thinking 🙂

Actually I just realized, if I do not go directly from 1A to 10 mA, but first stay for a while at 100 mA, the oscillation decreased a bit 🙂

0 Kudos
Message 7 of 7
(3,485 Views)