From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID Control Toolkit Help- How does one make a linear temperature ramp?

Greetings.

 

We are looking for help in building a PID temperature controller on LabVIEW 8.5 for ramping and soaking of a platinum sample in an ultra-high vacuum chamber.  Using the PID Setpoint VI, the PID Autotuning VI, and the PID Output Rate Limiter VI, we were able to create a VI to control the heating of the sample through the use of a programmable DC power supply.  Our goal is to refine this controller so it will ramp the temperature in a linear fashion using five selectable temperature rates.  However, we cannot seem to get the ramp to increase in a straight, linear fashion; the temperature oscillates around the increasing setpoint.  So far, we have programmed the VI to change the output rate to the Output Rate Limiter after it reaches certain temperatures.  This works well for some selected temperature rates, but not for others.  Is there any other way to set this up without setting different rates at different temperature intervals?  Also, we tried using different PID gains for the ramp, but it did not seem to improve it that much.

 

Any suggestions would be greatly appreciated. 

 

0 Kudos
Message 1 of 6
(5,473 Views)
Can you clarify a little.  Are you having trouble generating the setpoint ramp?   Or are you having trouble keeping your process under control during the ramp? 
 
It sounds like you are having trouble controlling the process during the ramp.  Using just the basic PID can be difficult in some temperature control applications because these applications are typically very non-linear.  You can still get away with using PID if you implement some "fixes" around the PID.  In general this is a tuning problem.  You can get good control with one set of PID gains in one temperature range, but the same PID gains don't work well in another range.  If you try and find a "happy" medium set of gains for all ranges, then your response may suffer.  The answer for many temperature controll applications is to use gain scheduling.  There is a vi in the PID toolkit that will do this for you.  Take a look at it and give it a try.
SteveA
CLD

-------------------------------------
FPGA/RT/PDA/TP/DSC
-------------------------------------
0 Kudos
Message 2 of 6
(5,472 Views)

Thanks for the quick reply.

Yes, you are correct; our main problem is controlling the process during the ramp.  We did try gain scheduling, but we will try it again.

Thanks again.

-mphh0911

0 Kudos
Message 3 of 6
(5,446 Views)
Ahhh.... the joys of tuning. Smiley Happy  I was just wondering what PID vi you are using?  Also, you can try doing gain scheduling in different ways depending on your system.  The gain scheduling vi is generic in that you could use whatever variable you want to determine the gains to use.  For example, I have used the error (difference between setpoint and process) to determine my gains, or you could use the setpoint.  Do you know what the time constant is for your system?   Many temperature control systems have different time constants for heating vs cooling.  You want to make sure your not running your control loop too fast and overdriving your system.  Also, be careful with the rate limiter, as it can induce un-intended lag in the system that the PID may not be able to compensate for. 
SteveA
CLD

-------------------------------------
FPGA/RT/PDA/TP/DSC
-------------------------------------
0 Kudos
Message 4 of 6
(5,429 Views)

I spot welded a K-Type Thermocouple on the surface of platinum foil (0.007mm thickness) I want to heat up from 20K-300K by Kepco power supply by using DC current from 0-6A.

I don't have any heater behind my target just by DC current ( by using Kepco Power supply) , platinum foil has very low resistance so I need initial current 5.12A for start heating from 20K I need to use Ramp heating for example 10 degree/minute et...

I used PID tool kit from Labview to drive kepco power supply and also I have linearized amplifier for thermocouple with 0-10v output. I attached a copy of my labview programme.

Anybody can help me to add an ramp voltage to PID toolkit ?

if you complete your project is that possible to provide me with your pid controller code ?

thanks TPD.jpg

0 Kudos
Message 5 of 6
(4,021 Views)
Hi Ela,

why do you create a double post instead of sticking with your own thread???
Best regards,
GerdW


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