Digital PID

pinworm21

Member
Join Date
Jul 2003
Location
New York
Posts
31
I have an application that requires a Digital output to control an electric heater using PID Does anyone know of any information on digital PID loops..... I have done PID loops in the past but using an analog control signal which is easy, I am just not sure on exactly how to setup the digital output. My thoughts have been to take the digital output and two variable timers to give the output an ON/OFF time in the same fashion of a PWM output But ony controlling the duty cycle and leaving the Frequency constant. I would love to hear any Ideas anyone has. My customer is using a Omega SRFG Series Flexible Silicone Rubber Heater to control the temperature of a liquid and is looking to maintain that temperature between a range of 150-190 degrees C.

Thank you,

Dave
 
Hello pinworm21;
Siemens' S7-300/400 CPUs have access to a specialized function block (FB58) that is dedicated to temperature control. It is basically a PID position algorithm with tuning capabilities; the output can be direct (an analog value) or processed through a pulse generator to create a PWM control, for SCRs.
For more info, go to the siemens Support website (www4.ad.siemens.de) and search for the "PID Temperature Control" manual. In the meantime, here is a diagram of the control structure, so you can decide if you would like to pursue this issue.
Hope this helps,
Daniel Chartier

fb58.jpg
 
With that type of range (150 to 190°C) I wouldn't think that PID control is necessary. A simple ON/OFF control should suffice with a few ° of hysteresis. Turn the heater on until temperatures reaches 170°C and then OFF until temperature falls to 165°C.
 
I bet the simple solution would work.

ronboom said:
With that type of range (150 to 190°C) I wouldn't think that PID control is necessary. A simple ON/OFF control should suffice with a few ° of hysteresis. Turn the heater on until temperatures reaches 170°C and then OFF until temperature falls to 165°C.

I too would go for the simple option. I say this only because the described system should be easy to control. If that doesn't work then I would use the technique used in Keith's thread. Another good option is to just buy a temperature controller. They have the autotuning and the right form of PID for the job.

A PID related comment.

If the temperature system is like the T0P4 PID spread sheet of last week there would be NO WAY that it could be controlled with a simple on-off system. I dare Tom Jenkins to try. I did just for kicks.

A simple system like the T0P1 PID.xls system would can contolled nicely with simple on-off control. Pinworm21's system should be like the T0P1 system.
 
Sorry I should have been more clear....I think I will have to go with PID loop because I need to maintain 190 degrees for most of the day and at a certain time bring the temperature down to 150 degrees.


Thank you,

David
 
Hi David-
Based ojn your last response it seems you are mixing three different but related functions together:
setpoint selection
command generation
process variable control

Your last response seems to indicate that you need PID (a process variable control item) because you will be changing the temperature at various times (a setpoint selection item). These two items are only loosely tied together. Furthermore, if you don't need a ramp functionality you don't need command generation at all. Think of it like cruise control in your car. You are the setpoint selector. Your car's cruise control is the process variable controller. You don't need to know how the car controls speed any more than the car needs to know how you decided what speed to go. These two things are only loosely related.
So back to process variable control. You need to decide what level of control you need by determining how much temperature swing around the setpoint you can live with. If you can live with a couple of degrees of swing a simple on/off system like ronboom describes will work. The on time will automatically adjust itself as temperature increases just due to cooling rates.
The sliding mode control idea I linked you to in my first post is a much more predictive control method and will result in much better control that simple on/off with hysteresis. Unless your process is exothermic OR the thermal mass changes VERY significantly sliding mode control would probably work for you.
If you do decide you need PID control, a PWM ooutput driver is probably your best bet. Tark's idea will certainly work if your process time constant is long enough. If your heater is an AC resistance heater you could also add a phase angle relay and drive it with an analog signal. This would allow you to use the analog control methods you are more familiar with. Take a look at this link for a supplier of phase angle control relays.

Keith
 

Similar Topics

i have a control valve that is used to heat a tank of water. the steam valve only has digital signal to control it and no position feed back. when...
Replies
4
Views
2,726
Hey guys, I want to use 4 digital outputs for cooling a room. Each digital outputs activates a fan with predefined speed. I use a PID algorithm...
Replies
9
Views
3,242
I have a Micrologix 1500. Need to control with PID for digital outputs open/close. There is no SRTP function (Split Range Time Proportional) in...
Replies
2
Views
3,271
Hello everybody; I have a project entitled "design and implementation of a programmable logic controller based digital...
Replies
8
Views
3,680
here is an excerpt of a question I got today as a Private Message: since variations of this question come up fairly often, I decided to...
Replies
6
Views
5,423
Back
Top Bottom