Does anyone know how PIDs work?

Joined
Oct 18, 2021
Messages
50
I appreciate that this is an outside shot but I've spoken to the manufacturer and can't quite believe what I'm being told... if any of you use an electric oven I'd appreciate your experience. Here goes.

My oven has an XMTG-7000 PID, and a typical K-type Thermocouple setup.

xmtg-7000-programmable-thermo-controller.jpg

PV is the Actual Temperature in the chamber, SV is the Target Temperature.

The instructions state that I program a Target Temperature, a time to reach that Temperature, plus a time to hold that Temperature. Simple so far.

However the oven/PID doesn't monitor that the Actual Temperature (PV) has actually been reached! It simply raises the Target Temperature (SV) so that the Target Temperature (SV) reaches the desired value by the end of the heating time period. It assumes that the Actual Temperature (PV) will keep up, (or I guess regulates it to stop it overshooting as it raises the Target temp..)

I ran a quick test.

Heat to 190c in 1 min (impossible, but easy to monitor)
Hold at 190c for 1 min
Off

So what happened? It got to the 190c Target Temperature (SV) and about 100c Actual Temperature (PV) in 1 min.

By the end of the second min the Actual Temperature (SV) had only reached 160c and then it switched off.

Technically it worked since the Target Temperature (PV) of 190c was reached in 1 min, however the Actual Temp (SV) was only ever as high as 160c.

What I expected was it to get to 190c no quicker than 1 min (probably closer to 20mins), but to only start the holding time once the actual temperature had been reached.

This seems backwards to me. A normal basic kitchen oven has a Target Temperature (PV) on the dial and it heats up until the Actual Temperature (SV) meets this (I know it overshoots, but that's another issue)

The manufacturer didn't understand the question. They told me to simply "run multiple tests to check how long it takes to get from room temperature to the actual temperature and then use that time from now on!". He ended up yelling at me that I was asking too much from my kiln and this is how they all work... The manufacturer spoke to me like I was trying to put a man on the moon with a paperclip

This seems ass backwards. I'm basically burning through ££'s of electricity to run multiple tests to figure out how long my oven takes to reach a certain Actual temperature so that I can use that time moving forwards. When I asked how do I calculate a ramp up time from an already hot (eg 400c) oven he couldn't answer other than to suggest that I open the oven and let it drop back down to room temp and start the program over again.

Am I taking crazy pills???

Thanks in advance!!!

Jim
 
Last edited:
I'm no expert. I have a PID on a tempering kiln that looks like that but has a different name. I set the SV and leave it until the PV stabilizes. I don't do timer functions with it. I don't care how long it takes but do care about temperature stability.
 
I'm no expert. I have a PID on a tempering kiln that looks like that but has a different name. I set the SV and leave it until the PV stabilizes. I don't do timer functions with it. I don't care how long it takes but do care about temperature stability.

100% Jesse, sadly I have to enter Target Temperature, a time to reach that Temperature, plus a time to hold that Temperature before the oven will start.....
 
I am really confused by this. Your description does not seem at all like the way a PID would operate .... so it makes me wonder whether this is in fact a PID controller. Finding the manual for this thing is not straightforward on the web, but I THINK this is the manual ( chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Fwww.finglai.com%2Fatt%2Fcomp%2Ffl-en%2Finstruments%2Fdigital-temperature-controllers%2FXMT-7%2FXMT-7_en.pdf&clen=1805249&chunk=true ).

However, in this manual, there is no mention of either multi-stage operation, and no mention of setting a time to heat to a given setpoint.

Are you able to point us to the manual you are using to program your controller?
 
I think the deal is something like this: the term PID stands for proportional/integral/derivative and it is simply an algorithm used to, for example, drive an oven to a particular set point with a controlled amount of overshoot, or dampening, depending on how the P, I, and D coefficients are selected. I have a PID controller on my espresso machine and, when turned on, it drives the boiler to 202F and does it's best to hold that. Extending that basic capability are soak/ramp programmable PID controllers sometimes called programmable logic controllers (see e.g. https://control.com/technical-artic...he-Allen-Bradley-Ramp-Soak-Controller-System/ ) that ramp up/down from one temperature to another over a specified time interval, and then hold (soak) that temperature. I think the idea there is that you need to specify ramp times that are longer than the minimum transient time. Thus, if your oven took, say, 5 mins to go from room temp to 200C and you wanted it to ramp up to 200 and then hold for 5 mins, you'd need to select a ramp period longer than 5 mins (the controller can slow down the ovens heating/cooling process, but it can't speed it up).

-Phil
 
I am really confused by this. Your description does not seem at all like the way a PID would operate .... so it makes me wonder whether this is in fact a PID controller. Finding the manual for this thing is not straightforward on the web, but I THINK this is the manual ( chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/viewer.html?pdfurl=https%3A%2F%2Fwww.finglai.com%2Fatt%2Fcomp%2Ffl-en%2Finstruments%2Fdigital-temperature-controllers%2FXMT-7%2FXMT-7_en.pdf&clen=1805249&chunk=true ).

However, in this manual, there is no mention of either multi-stage operation, and no mention of setting a time to heat to a given setpoint.

Are you able to point us to the manual you are using to program your controller?

Hi, thanks for the reply!

You can see a demo of the control unit being programmed by the manufacturer here:

 
I think the deal is something like this: the term PID stands for proportional/integral/derivative and it is simply an algorithm used to, for example, drive an oven to a particular set point with a controlled amount of overshoot, or dampening, depending on how the P, I, and D coefficients are selected. I have a PID controller on my espresso machine and, when turned on, it drives the boiler to 202F and does it's best to hold that. Extending that basic capability are soak/ramp programmable PID controllers sometimes called programmable logic controllers (see e.g. https://control.com/technical-artic...he-Allen-Bradley-Ramp-Soak-Controller-System/ ) that ramp up/down from one temperature to another over a specified time interval, and then hold (soak) that temperature. I think the idea there is that you need to specify ramp times that are longer than the minimum transient time. Thus, if your oven took, say, 5 mins to go from room temp to 200C and you wanted it to ramp up to 200 and then hold for 5 mins, you'd need to select a ramp period longer than 5 mins (the controller can slow down the ovens heating/cooling process, but it can't speed it up).

-Phil

Thanks Phil - this makes complete sense, however

a) what if I don't care how long it takes to get to the temperature - but I do care how long it holds it for? I tested a 1 min ramp up, fully expecting it to actually take 30-40mins, what confused me is that it skipped to the hold cycle before waiting for the target temp to actually be reached..
b) if I have to specify a 'minimum' time - without running numerous tests from and to the different start/end temps - how do I know that 30mins or 45mins is enough time?

The manufacturer couldn't/wouldn't answer these questions.... they just said "add more time"...
 
I can't claim to be an expert, but I use PID controllers every now and then for work and I've built a few Heat-Treat ovens.

I think, from the description, that the issue is with the "ramp/soak" part of the programming.

Without spending time watching the video or searching for manuals, I assume that you have an industrial ramp/soak controller, as distinct from kiln controller. It's not clear whether the "manufacturer" referred to is the manufacturer of the complete kiln, or the manufacturer of the controller, which has been used by the manufacturer of the kiln? The manufacturer of the kiln is really the one you should be talking to.

An industrial controller will usually be intended for setup by a process engineer: someone who has a pretty intimate knowledge of their process and equipment and who understands the limitations. Such a person can reasonably be expected not to tell the controller to tell the process to do something it cannot do.

A kiln controller, on the other hand, is intended for use by "anyone" and will need to assume complete ignorance on the part of the person programming the ramp/soak (most of these controllers have an operator level that will allow the operator to input settings that will result in lousing up of the workpiece, but that will not louse up the oven/kiln/furnace. Things like thermocouple type, PID terms, etc, are usually on the "God" level menu, available only to the manufacturer of the equipment, or others with the appropriate password).

Often kiln controllers will include a "guaranteed soak" capability, precisely to deal with the situation in which you find yourself. In your case, this would keep trying to ramp to 190c at full power in the ramp stage until it actually reached 190c, regardless of how long it actually took. As soon as the 190c was reached, it would start the soak.

In most industrial applications, this is unlikely to be a particularly useful feature and it is quite rare to find it on industrial controllers. It is much more common on kiln controllers, but the need to have an operator-proof system tends to make such controllers expensive.

The best approach is probably to log temperature against time for a "heat-at-full-power, then switch off and cool down" cycle, draw a graph and refer to it every time you set up a program: don't tell it to heat faster than it is able, or to cool faster than it is able.

You will find that the heating and cooling curves are indeed curved, so you will need to take this into account. Under full power, the heating rate between 100 degC and 200 degC will be MUCH greater than the heating rate between 1100 degC and 1200 degC. Under zero (heating) power, the cooling rate will be MUCH greater between 1200 degC and 1100 degC than between 200 degC and 100 degC.
 
I saw that video - and it was really hard to follow. Is there a written manual?
sadly not...

I understand the programming, what I don;t get is why it's time prioritised rather than temperature.... what I really want is the most basic kitchen oven style control - "get to 800c and stay there!!!!"

The programmable soaks and ramps are... great I guess as long as the actual temperatures reached aren't important....
 
...

The best approach is probably to log temperature against time for a "heat-at-full-power, then switch off and cool down" cycle, draw a graph and refer to it every time you set up a program: don't tell it to heat faster than it is able, or to cool faster than it is able.

...

100%, this is now what I'm doing. Just kinda perplexed that I have to spend literally hours mapping various temperature thermal cycles and ramp times instead of simply specifying a box to heat up to a specific temperature!!!
 
sadly not...

I understand the programming, what I don;t get is why it's time prioritised rather than temperature.... what I really want is the most basic kitchen oven style control - "get to 800c and stay there!!!!"

The programmable soaks and ramps are... great I guess as long as the actual temperatures reached aren't important....
PID's are not really all that expensive. Are you able to buy one that is more understandable and better documented, and swap the old one out for the new?
 
If you go that route - come back to this thread. There are definitely differnces in PID's in terms of quality of documentation and reliability.
 
100%, this is now what I'm doing. Just kinda perplexed that I have to spend literally hours mapping various temperature thermal cycles and ramp times instead of simply specifying a box to heat up to a specific temperature!!!
If you run in "normal" PID mode, without the ramp/soak, that's exactly what it will do: go straight to the set temperature and stay there.

The ramp/soak programming is an add-on that allows you to do other, more complex, things with the system, but relies on you having enough understanding of the system as a whole to be able to tell it to do something that is actually possible.

I have built a number of HT ovens that have gone to knifemakers. I use the Automation Direct 4848VR or Omega CN7823 controllers (same controller, different badges. Both AD and Omega provide good manuals and exemplary technical support, though here in the UK, I'd say Omega probably have better telephone support for "normal" folk). The controllers have ramp/soak programming capability, but I suspect that the ramp/soak only really gets used for annealing, with most normal operation being in plain vanilla PID mode.
 
If you run in "normal" PID mode, without the ramp/soak, that's exactly what it will do: go straight to the set temperature and stay there.

The ramp/soak programming is an add-on that allows you to do other, more complex, things with the system, but relies on you having enough understanding of the system as a whole to be able to tell it to do something that is actually possible.

I have built a number of HT ovens that have gone to knifemakers. I use the Automation Direct 4848VR or Omega CN7823 controllers (same controller, different badges. Both AD and Omega provide good manuals and exemplary technical support, though here in the UK, I'd say Omega probably have better telephone support for "normal" folk). The controllers have ramp/soak programming capability, but I suspect that the ramp/soak only really gets used for annealing, with most normal operation being in plain vanilla PID mode.

Thanks, makes sense. I guess that there's no easy way to set my PID controller to normal/basic mode.

I'll look into a new controller next year, the other complication is that the HT oven comes with a hydraulic door opening mechanism which is controlled via a small radio control unit.... you *can* force it open/shut in an emergency but it's not easy. This remote control also has the on/off switch on it.

I guess I'm paying the price of not spending the extra on a proper knifemaking kiln like an Evenheat or Paragon.. however I really only had a £1,000 budget.
 
It is likely that controller is generic and put on any number of things that need temp control. It may help to understand the concept of "thermal mass". The ramp rate of a big industrial oven, like a powder coat room, will be slower (fewer degrees per minute) to reach the SV than a small heat treat oven because of the massive amount of thermal mass in the larger oven.

The controller does not know this.

Some experimenting on your part will help. Then use a time to ramp that you know will allow enough time for the heating element to do the job.

If it still bugs you a small investment will get you a more sophisticated controller that does this automatically.
 
It is likely that controller is generic and put on any number of things that need temp control. It may help to understand the concept of "thermal mass". The ramp rate of a big industrial oven, like a powder coat room, will be slower (fewer degrees per minute) to reach the SV than a small heat treat oven because of the massive amount of thermal mass in the larger oven.

The controller does not know this.

Some experimenting on your part will help. Then use a time to ramp that you know will allow enough time for the heating element to do the job.

If it still bugs you a small investment will get you a more sophisticated controller that does this automatically.

I understand this, however whilst generic the controller DOES know the Target Temperature as well as the Actual Temperature. It just prioritises Ramp Time over Temperature - which I find odd. It actually seems like I need downgrade the controller since it's doing far more than I need it to (but sadly not the one thing I use it for!!!)

I'll have to replace the PID at some point...
 
I understand this, however whilst generic the controller DOES know the Target Temperature as well as the Actual Temperature. It just prioritises Ramp Time over Temperature - which I find odd. It actually seems like I need downgrade the controller since it's doing far more than I need it to (but sadly not the one thing I use it for!!!)

I'll have to replace the PID at some point...
It could be we are missing a perspective here. For pottery, isnt ramp time very important (to reduce cracking?). If so, then instead of talking about "better or worse" controllers, we should be talking in terms of the wrong "type" of controller.

Im having some trouble referring to this particular controller as a PID controller. PID's are really intended as steady state controllers. Yes, there are some controllers out there that are meant to create temperature ramps (upwards and downwards), but it becomes really hard to even talk about or understand them in the context of PID (which remember, is inherently a steady state control), and it also becomes non trivial to make the combination of controller and furnace actually work well (if you think about it, you need a combination of powerful heating elements to allow for a faster heat rate, and a relatively low thermal mass/poorly insulated wall to allow for both fast heating and faster cooling). You cant take any old ramp controller and throw it on any old oven and expect it to perform.

In this case, i suspect you might just plain have the wrong controller for your needs ... and that you will get more understandable and controllable performance, and have less frustration, if you swap the thing out for a reasonable quality, single stage pid (hint, stay away from the chinese ones...)
 
Back
Top