LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Predicting Temperature Rise Curve

I have to be a little vague due to NDA but I'll do my best to try to convey my current conundrum. 

 

I am a self taught Labview user in an R&D environment and am curious if anyone has some suggestions on the best approach to do as the subject says.

 

I have some large mechanical components that need to have measurements taken at a certain temperature. I can control variables to bring the temperature up or down on the equipment, but seeing that it can be very large components it can take over 24hrs to thermally stabilize. This can create a long test time if I have to wait a day to see if I ended up at my target temperature. If I undershoot or overshoot I manually have to guess again to see if I get to my target temp.

 

I'm looking for a way to predict the stable temperature of the equipment after x amount of time. I've tried extrapolating data after a certain amount of time, and that works to some degree, but I'm curious if anyone has any better ideas. 

 

Is there a way to implement Newton's Law of Cooling formula in some way?

 

I'm open to anyone's suggestions that would be a better approach than what I'm currently doing.

0 Kudos
Message 1 of 7
(2,993 Views)

It sounds like a Control Theory question.  Do you know about PID controllers, where you use feedback to adjust your output so as to maintain a set of conditions (like temperature)?  To be very crude, the idea is that you "see how you are doing", and as you get closer to your goal, you adjust downward the amount of "drive" so as to smoothly attain your set point, minimizing overshoot, "ringing", etc.  With a very slow system such as you have, the control should be fairly stable and robust ...  Do a little Google research, maybe start with "Feedback Control".

 

Bob Schor

0 Kudos
Message 2 of 7
(2,963 Views)

I do have a bit of experience with PID controls, albeit not a ton, but a basic understanding. My reasoning for not trying PID with this current setup is that I'm concerned with changing my parameters for increase/decrease of temp regularly.

As of right now you manually take an educated guess and after you get a good idea of where you'll start to level out (temperature-wise) you can adjust from there. My experience with PID loops is an instantaneous correction. With this setup you need to make a change, see where you're at in say 3hrs and then possibly change from there. My concern is that with such large thermal mass if I were to do PID it could take an incredible amount of time to tune the system for one setup, and as soon as I change setups I need to go through the tuning process again. This could possibly defeat the purpose of trying to speed up the testing.

 

Please correct me if I have a misunderstanding of PID controls.

 

Thanks!

0 Kudos
Message 3 of 7
(2,958 Views)

Because your system is so slow, you probably won't have "timing" problems.  You can probably do something "crude" like the following:

  • Turn on the heat.
  • Record temperature over a 4 hour period, measuring once every 10 minutes.
  • Look at the resulting graph.  See if a straight line or a second-degree polynomial fits reasonably well.
  • Turn off the heat.
  • Do another 4 hour measurement, get some idea of the "coasting" time, and when/if the temperature starts to come down.
  • You now should have enough data to make a simple model of your system and design a simple Proportional (P) system.  Since you seem to be concerned with speed, you may want to add a non-linear (i.e. "on/off") system where you leave the heater on "high" until you get close enough to "coast" into the final temperature, then use simple feedback to keep it near the control position.  It might be fun/instructive to design a "thermal model" of your Plant and play with building a Controller for it.

Doesn't LabVIEW have a Toolbox for such things?

 

Bob Schor

0 Kudos
Message 4 of 7
(2,953 Views)

Thanks for the suggestion, I will definitely look into this and see if it bears any fruit.

0 Kudos
Message 5 of 7
(2,951 Views)

If you're working with temperature, have a look at the Smith Predictor PID example. 

---------------------
Patrick Allen: FunctionalityUnlimited.ca
0 Kudos
Message 6 of 7
(2,934 Views)

Hi Masony

While it is true that better temperature control would be the ideal solution you say that isn't practical and your question was:

"I'm looking for a way to predict the stable temperature of the equipment after x amount of time"

You don't say what you mean by 'extrapolation' but linear extrapolation won't work because the temperature change isn't linear. All things being equal (no change in ambient temperature or in your variables), the temperature will follow a simple exponential decay up to equilibrium. So you can fit the temperature readings by an exponential curve using curve fitting and get the final temperature. If you already have the data in LabVIEW that should be not difficult, however even Excel will do it in a snap: Graph; add trendline; show equation.

David

0 Kudos
Message 7 of 7
(2,919 Views)