Reduce time to stable value in PID

I am working with PID controlled temperature controller (SELEC TC544) . I have set P = 5 / I = 0 / D = 3.

System get long time to stable at my set point. How to reduce that time?

• Obviously your "Plant" transfer function is needed, not just the controller variable. How to get you to explain all the details? – Sunnyskyguy EE75 Jan 25 '18 at 4:17
• How can I determine transfer function. This is a real machine. Is there some PID tuning method for my problem? – user_fs10 Jan 25 '18 at 4:21
• Thermal systems are typically first or second order systems – laptop2d Jan 25 '18 at 4:28
• @NSiri It's as if you want to win the contest of vaguest question of the month. Either way, there's something called Lambda-tuning. It looks really complicated but it's reasonably simple to perform. – Harry Svensson Jan 25 '18 at 4:35
• upload.wikimedia.org/wikipedia/commons/3/33/… – Andy aka Jan 25 '18 at 11:36

Before you mess with the system make sure it's safe before you start playing with gains. If it overshoots it could have disastrous consequences if the system isn't bounded (either physically or with the controller output).

Try turning up your gain, realize that if you do so you will sacrifice stability. If you need to, then increase the integral term. Rarely do you need to use integral, but a small amount can help reduce noise in a first or second order system.

I'll bet that your system could benefit from some integral.

Below shows a graph of a system that shows an example of what different gains do.

There are also a few methods like Ziegler-Nichols that can be used to efficiently tune PIDs.

You may also be limited by control authority, meaning if your system hits the limits or rails (like if the thermal system is warming up and your PID is output 100%, or if your heater or peltier is at max power) then you will need to increase the control authority (or heater power).

Fast answer, you need some integral action. The I in the PID usually gives a faster response but less stable.

I have seen in the data sheet of your controller that they provide some default values for the PID, where P is 10, I is 120 and D is 30. Have you tried those values? If it safe to try they may be suitable. Note that I and D correspond to time values. So, when you say you set P=5, I=0 and D=3, are I and D representing time as shown in the data sheet? Since it is not the same Ki and Ti.

Either way, I recommend some integral action and compensate it with the derivative, since most likely it will not be a high order system.

For the record, the correct way would be to get the transfer function and apply some easy method like Ziegler-Nichols like other colleagues suggested. But if you do not know how to get the transfer function or the response graph of your system. You can just first tried as I said.

• There is no way to say whether the default control parameters are suitable or not, without knowing something about the system it's supposed to control. As mentioned by @laptop2d, if the system is not bounded at some rate, you run the risk that the system state for the given parameters will have critical consequences. – MrGerber Jan 25 '18 at 11:36
• I believe you have not read my answer. As I said, based on the fact that most likely he is facing a first or second order, he would have to add some integral action compensated with the proportional and derivative, that was my recommendation. I did not give any values since I cannot know them without knowing the system. Regarding the default values, it was just an idea, since those parameters are given based on some evidence, it would be just interesting to know what response they give, as long as it is safe to try of course. Just to get more information, but that was never my final answer. – user175624 Jan 25 '18 at 11:51
• I don't have the intention to argue over this, I simply disagree. Although you didn't make the numbers up, you gave the numbers from the manual How would you expect OP to be able to assess if they are safe to apply to the system, without knowing it? If OP does not know more about control theory than what is shown in the question, I don't expect him/her to be able to know this on his/her own. Apart from that, questions to OP to elaborate on his question should IMO be a comment, not an answer. – MrGerber Jan 25 '18 at 12:02

You should really understand how a PID system works, if you don't know.

Anyway, that I=0 (integral component) is probably wrong. I took a look at the manual of your controller, but I can't understand what is the effect of having I=0. Consider that without integral component, a system can not reach the setpoint (the target). If the I component is too aggressive, the system gets unstable. You should at minimum tell us whether your system is unstable (too much integral part / too quick) or if it always heats too little (in this case, more I is needed). Giving that in your controller the I parameter is given in seconds (time), and heating systems are fairly slow, I would suggest to set something like 120-240 seconds, or even more.

The P parameter can be fairly high in this case (heating system): the manual suggests 10, it is a starting point, but you can try to augment it.

The D component is used to stabilize the system - leave it alone or set it pretty high (long times): only if you see excessive response from the system you can diminish the time, giving the D component more importance. But usually it is easier to not use it, at least at the beginning.