Electronic – Cascade Control System – Multi-Stage Temperature Control

controlcontrol systempid controllertemperature

I am new to the forum, hopefully you can help 🙂

I am a software engineer trying to put together a control system. My controls background is not strong, I have really only tuned PID loops via trial and error – understand the concepts but not the theory or practice.

Here it goes…

I have a temperature control system where constantly moving fluid must be heated via heat exchanger to keep a process chamber at constant temperature. Find a simple diagram of the system here: https://www.dropbox.com/s/5f784pexc1z1w08/Tank%20Chamber%20Temp%20control.png?dl=0

  1. Fluid enters from reservoir at ambient temperature (20-26 deg C).
  2. Hose passes through a peristaltic pump that can operate from 50 to 400 mL per min.
  3. The fluid passes through a heat-exchanger in a heated water bath ("Tank"). The tank is about 750 mL and heat-exchanger is about 1.5m in length. The Tank temperature is controlled by a "Heater Output" signal (0-100% PWM) and has a "Tank Temp" sensor
  4. Out of the Tank heat exchanger, the fluid flows through a section of about 20" of hose, outfitted with an "Infrared Temp" sensor to the "Chamber".
  5. The Chamber is about 400 mL in volume, insulated, and where the experiment is taking place. "Chamber Temp" is the ultimate process variable we are trying to control. It should stay at the "Chamber SP", typically 37 deg C +/- 0.5 deg C, with a critical limit of never going above 37.5 deg C. This set point of 37 can be set anywhere between 30 and 37 deg C.

The "experiments" are expected to have a warm-up time, then can run anywhere from 30-90 minutes, keeping Chamber Temp at the Chamber SP.

Right now we have a PID-based control process running. There are two stages:

(1) Warm Up – Here, we use the Tank Temp as the process variable and warm up the tank to somewhere near the Chamber SP. Through experimentation, we have found the dead time (time to see any change in PV, when MV is changed) is about 150 seconds. And the time constant is much greater – it takes about 800 seconds to stabilize from 34 deg C to 37 deg C. This stage is relatively straight forward and we can tune a PID loop to keep the tank at a certain SP when pump is off and everything is static…

(2) Chamber Control – Here, is where things get more complicated. When the pump starts running, fluid passes through the water bath, through the Infrared Temp sensor, then in to the Chamber. The goal is to control the Chamber Temp by controlling the Heater Output of the Tank. It has been a challenge to tune the PID loop, as the pump may be at different rates, the tank may be warmer or cooler than the Chamber, and it takes soo long for a change in Heater Output to affect the Chamber Temp. due to the mass of the Tank, time lag, and mass of the Chamber.

My question is around the Chamber Control stage described above:
– Is PID appropriate here? It is VERY slow, long delays, and hard to tune.

  • Is it best to have one loop using Chamber Temp to manipulate Heater Output? Or to have two "stacked" or cascaded loops where one can observe the Chamber Temp to set a desired Infrared Temp, then a second to use the Heater Output to control Infrared Temp? Or even three?
    PV-MV

    1. Chamber Temp – Infrared Temp
    2. Infrared Temp – Tank Temp
    3. Tank Temp – Heater Output
  • Is there a way I can characterize the system more quantifiably to help tune the loop or give you guys more information?

Thanks,
Peter

Best Answer

In a former life, I designed and built automated test stands for engineered fluid handling components and systems. PID control is the way to go, I always started with a manual method and tweaked later and of course we did plenty of system testing to validate before turning the thing loose.

I'd stick with one active PID loop at a time, though depending in the state of your system, you might switch between them. Say one for warmup and another for operation.

I think you're going to have a hard time with the system as it's set up now, I have some questions you might consider.

  • Is there a reason the fluid circuit is open loop?
  • could you recirculate?
  • could you have a bypass loop and when ready to run, simply switch a valve?