PID/PWM question

Narlin

Lifetime Supporting Member
Join Date
Mar 2010
Location
phoenix
Posts
320
- - My question relates to using a PID to control an ON/OFF valve by pulse width modulation. I know how to code the solution. I don’t know what the solution is that needs to be coded !
- - I have been asked to control temperature at a spot in a pipe. The pipe has water flowing through it at 1 to 3 gpm. There is a Temp Element at the spot.
- - I have control over a VFD and am allowed to control flow within the range above.
- - The incoming water through the VFD controlled pump is variable temperature, but cold compared to the control setpoint. The control setpoint will be 122 deg C.
- Heat is delivered to the system via raw steam injection into the pipe. I have control over an ON/OFF valve for the steam. . TOO hot is an issue only because if the pipe flashes over to steam, the apparent flow goes way over 3 gpm and is no longer water. The incoming steam heat source must be modulated.
- - The engineer on the job has asked that I use a PID to control temperature by modulating the on/off valve. He uses the term PWM to describe the valve modulation.
- - Clearly, I can create a PID and get CV% as an output. If I were controlling an SSR, it would be obvious enough to set. However, I have to control this very slow valve, which after about 100,000 cycles is going to wear out.
- - If the PWM period was set to 300 sec and the CV% was 60%, the pulse would be 180sec (on) and 120sec (off). If prior to the expiration of the 180sec then CV% were to change (likely), should the pulse duration be instantly modified?
- Can the PID tuning parameters be set so that the CV% will not change during the PWM period? This whole system just seems way to slow to me.
.
- - Is this the correct approach? Please don’t recommend a proportional I/P valve, that doesn’t solve the problem within the constraints.
 
You haven´t mention what plc you are using. anyway using a time proportional output (PWM) is ok in this case. How are you measuring water flow are you using a flow meter ?? Where is that flow meter located after steam injection or before. If you using controllogix or compactlogix from AB there is an instruction that does exactly wht you want.
 
I am using a Micrologix 1400. Flow is measured downstream from the temp sensor with a flow transmitter. although i can't change to the compactlogix, what instruction are you referring too?
HOw do i go about selecting the valve cycle period? My example of 300 sec is painfully arbitrary. Should there be automated logic for changing that period?
 
Thank you. That little bit doesn't seem to be in the corresponding 1400 instruction set manual. All of those manuals are very very similar, but the example sets do vary.
 
HOw do i go about selecting the valve cycle period?
How fast does the water heat up per second of steam valve open time? You can make a ballpark estimate of BTUs. For a given GPM and temperature of water, you will need some number of BTUs to raise the water temperature to where you want it to be. Your steam feed line will provide some number of BTUs per second of valve opening.
 
"How fast does the water heat up per second of steam valve open time?"

I have those calcs, and will have to dig them out. You are correct that i can estimate the heat up time and that will help. If it is too fast, i can cut back on the steam pressure or add an orifice to the steam line to reduce the BTU. I anticipate the problem is going to be too hot too fast.

In the SLC500 PID instruction manual (last page of the chapter), the example used has a DDV (double divide) instruction. Thought that was curious since that instruction manual excludes the DDV instruction! I went to google and found it. It must be an obsolete instruction and the example in the manual was just carried forward. Last page of Ch 9. I haven't been doing this PLC stuff long enough to have encountered that instruction, but of course google knows.

The link is HERE
 
The other question is how fast does the water cool off the pipe?
You seem to have two things you can control. There have been similar problems in the past on this forum.

My intuition tells me that if the VFD is running at 3 gpm the steam will have a harder time changing the temperature and the steam valve will need to be open a larger percent of the time.

The PWM period will need to be much faster than the time constant for heating or cooling.
5 minutes is too long. If opening and close the steam valve more often will wear it out too quickly then the design is flawed to start with.

Is there any preference for how many gpm the VFD is providing? Is lower better?

I just love it when the engineer simply tells the PLC programmer to use a PID and walks away without providing any guidance on how the system should work.
 
"The PWM period will need to be much faster than the time constant for heating or cooling."

That is the part that has me concerned. A key piece of info that i am missing is the size of the steam boiler in lb/hr. I know the steam pressure, but i need to go back and find out how big the boiler is so that i can estimate the heat delivery. The 3 gpm max flow is a constraint because we want the water to stay in a pipe of fixed size for at least 3 minutes and the back calculation showed that 3 gpm was the fastest you could flow and keep it there. I am less concerned about the pipe cooling off the water because (holding back info), i can actually circulate the water with multiple steam injection if need be to reach temperature.

I don't think getting hot enough will be the issue. Instead i am worried about getting too hot. Wearing out the valve is an issue and a possible resolution may be to vary the PWM period. Once the system is running, i have as long as is needed to reach temperature equilibrium, but once there i would like it to hold essentially forever.

"I just love it when the engineer simply tells the PLC programmer to use a PID and walks away without providing any guidance on how the system should work."

You and me both.
 
I can't understand how time proportional steam injection into a continuous flow stream will not produce alternating slugs (volumes) of heated water, then unheated water, then heated water, then unheated water etc, which the in-line temp sensor sees as hot, then cold, then hot, then cold. How is the injected steam supposed to distribute heat beyond the injection point (upstream or downstream).

I can't see this working at all.
 

Similar Topics

Hello Friends, I am looking for a way to take my PID Output( it is the result of my PI Algorithm in Real format) and generate a PWM Signal in...
Replies
16
Views
2,667
I have an application where I will be opening and closing an actuated ball valve to humidify a space. The valve is a pneumatically actuated...
Replies
11
Views
3,583
how can i use pid+pwm to control brightness of the ac light
Replies
4
Views
2,263
in micrologix 1400 we have to enter duty cycle to get particular duty cycle.But i want my duty cycle changes according to values coming from pid...
Replies
2
Views
2,634
It is very difficult to find the syntax for calling Library function in PL7 for TSX Micro and other PLC's. All simple sintaxes are available in...
Replies
1
Views
6,278
Back
Top Bottom