Tuning a PI controller with Feedforward for Solderbath Temperature
Tuning a PI controller with Feedforward for Solderbath Temperature
(OP)
I'm really new to control systems but have some basic knowledge...
The problem I have is of a solderbath that is heated by 10 electrical heaters along the sides and bottom. Heaters are controlled by the computer using a duty cycle. The temperature of the solderbath is read at a thermocouple near a solderpump, but is not representitve of the solder nozzle temp. There is a delay (unknown). Right now a permanent offset is in place so the thermocouple reading will be representitive of the solder nozzle temperature(temp of interest) (eg the thermocouple is told that it is actually 5 deg more than it's actually reading, put in manually). Control is done with a PID controller with Feedforward (4 parameters). P=25, I=7500, D=0, F=60, setpoint is 280C and that is all the detail I have unfortunately. I have put in a step input and gotten a response signal. It's a typical second order with an overshoot of about 8 deg. I would like to reduce this temperature variation but have no other details. What is the best way to approach this tuning problem? Can I even do it?
Thanks for any input!!
The problem I have is of a solderbath that is heated by 10 electrical heaters along the sides and bottom. Heaters are controlled by the computer using a duty cycle. The temperature of the solderbath is read at a thermocouple near a solderpump, but is not representitve of the solder nozzle temp. There is a delay (unknown). Right now a permanent offset is in place so the thermocouple reading will be representitive of the solder nozzle temperature(temp of interest) (eg the thermocouple is told that it is actually 5 deg more than it's actually reading, put in manually). Control is done with a PID controller with Feedforward (4 parameters). P=25, I=7500, D=0, F=60, setpoint is 280C and that is all the detail I have unfortunately. I have put in a step input and gotten a response signal. It's a typical second order with an overshoot of about 8 deg. I would like to reduce this temperature variation but have no other details. What is the best way to approach this tuning problem? Can I even do it?
Thanks for any input!!





RE: Tuning a PI controller with Feedforward for Solderbath Temperature
That 5 deg more than it's actually reading is called an "Offset of 5 deg".
Too much I cranks the overshoot.
Is there just one PID controller or multiple ones for the different heaters(a nightmare).
What model PID controller are you using?
Lots of them have auto-tuning modes that would work well on your described system.
Keith Cress
Flamin Systems, Inc.- http://www.flaminsystems.com
RE: Tuning a PI controller with Feedforward for Solderbath Temperature
RE: Tuning a PI controller with Feedforward for Solderbath Temperature
RE: Tuning a PI controller with Feedforward for Solderbath Temperature
might as well put the whole thing down for clarity.
RE: Tuning a PI controller with Feedforward for Solderbath Temperature
To put it simply, you can tune the system using trial and error but that takes a lot of time. The best way is to do a step change in the SP and log the PV as a function of SP. Now you have a few choices. On the controlguru site they explain how to determine the gain, dead time and time constant. You can also buy auto tuning software but you must weigh your time and lost production against the cost of the auto tuning software. A third option is to get a math package like Scilab www.scilab.org and if you have the knowledge you can easily write your own auto tuning software but this will probably not be practical. I have done it.
Can you log your data and save it in a comma separated variable file ( text file )
Time CV PV
0 50 280
1 50 279 ....
This is what you need.
One you have this information one can calculate the Kp ( plant gain ) Tp ( plant time constant ) and dt ( dead time ).
Once you have Kp, Tp and dt calculating Kc and Ti is easy.
The formulas are on the controlguru website.
Feed forward can be used but isn't necessary on a simple temperature control system.