how to do 4-20ma variable speed with process controller?

  • Active since 1995, Hearth.com is THE place on the internet for free information and advice about wood stoves, pellet stoves and other energy saving equipment.

    We strive to provide opinions, articles, discussions and history related to Hearth Products and in a more general sense, energy issues.

    We promote the EFFICIENT, RESPONSIBLE, CLEAN and SAFE use of all fuels, whether renewable or fossil.
Status
Not open for further replies.

pybyr

Minister of Fire
Jun 3, 2008
2,300
Adamant, VT 05640
I've heard of process controllers-- such as this one (that is available with one of the control outputs as a 4-20ma analog)--

http://www.automationdirect.com/adc/Shopping/Catalog/Process_Controls/Temperature_-z-_Process_Controllers/1-z-16_DIN_Size_(SL4848_-z-_PM_-z-_TC_-z-_PC_Series)/SL4848-CR

being used to drive a variable speed motor control such as the Nimbus. I understand the aspects relating to how a 4-20ma signal is ued to vary the output of the speed control-- but what I have not yet been able to find (despite reading the manual at

http://www.automationdirect.com/static/manuals/solocontrolm/solocontrolm.pdf )

is how you set the control to have upper and lower temperature 'bounds' for the 4-20ma variable speed. Can anyone please give me or point me towards a tutorial (need not be for this specific process controller, which I am just using as an example) to help me get a better understanding of putting that function to use? My current possible application is to vary a pump speed for boiler return protection when the boiler is faced with the tremendous thermal mass of water storage that has begun at low (55 F) temperature.

Thanks
 
I think you need to look into PID control if using a 4-20 mA output control. A google search will give enough info to work with. You can tune your P, I and D variables to match your application.

If you are talking about "bounds" as you describe you may not need as much precision control. Look into a temperature controller with simple relay ouputs. You can tune the hysteresis variable in the controller to match your limits or band.
 
pybyr said:
I've heard of process controllers-- such as this one (that is available with one of the control outputs as a 4-20ma analog)--

http://www.automationdirect.com/static/manuals/solocontrolm/solocontrolm.pdf )

is how you set the control to have upper and lower temperature 'bounds' for the 4-20ma variable speed. Can anyone please give me or point me towards a tutorial (need not be for this specific process controller, which I am just using as an example) to help me get a better understanding of putting that function to use? My current possible application is to vary a pump speed for boiler return protection when the boiler is faced with the tremendous thermal mass of water storage that has begun at low (55 F) temperature.

The particular controller you're looking at here is a PID controller, as are most all of the little-box-with-Sv-Pv-and-shiny-numbers controllers out there. So you just need to read up on PID controller theory to the point that you can wade through literally hundreds of parameters to find the ones that will make it do more or less what you need it to. Wikipedia's article is a good place to start, and there's bajillions of others, it's hard to say just which article will make the light come on for you.

So let's suppose we've got a loop pumping with a constant-speed pump from boiler supply straight to boiler return with a temperature sensor near the return port. Upstream of the temperature sensor we've got closely space tees for pulling hot water out of the loop and to injecting cold water into the loop. And we've got a variable speed pump controlling the rate at which cold water is being injected. We want to inject water at a rate that will cool the return temperature down to -- for example -- 145F, but no cooler.

PID discussions start with error. Some will state authoritatively that error is setpoint value minus 'plant' -- or 'control' -- value. Others will state that it's the other way around, namely control minus setpoint. Welcome to PIDs! Fortunately I'm here to tell you that it's control minus setpoint. If the control, or plant, value is 155F in our example, the error is 155F - 145F, or 10 degrees F of positive error, which is positive as in too hot.

And now to get back to your question, in the PID controller there's a parameter called proportional band, which relates to error and pump speed percent:

Code:
pump_percent_output = (error_degF * 100%) / proportional_band_degF

Which means that if you set the controller for proportional control only, i.e., I and D terms set to zero, and if you set the proportional band to 10F, if the setpoint was 145F and the control (return port) temperature was 150F then:

Code:
pump_percent_output = (150F - 145F) * 100% / 10F
                    = 5F * 100% / 10F
                    = 50%

Any return temperature above 155F and pump runs 100%, below 145F and pump runs 0% -- in our example.

Which might be good enough, but -- with proportional control only-- we see that we're going settle at some temperature above 145F. And if the proportional band is too narrow we're going to fish-tail all the way down the front straightaway as well. To resolve these problems we need some integral control and a smidgen of derivative control. So read up on those as well. Most of these controllers have an auto-tune mode that will get you to a very good starting point that is generally left well enough alone.

--ewd
 
Yeah, the short answer is that you need a closed loop control system, with a controller that will in some way translate a measured temperature into a control signal. In my never-so-humble opinion, this is where everyone will eventually end up if they work on these systems long enough.

The most comprehensive and sophisticated way to do that is a PID controller (and within that world there are many variations).

There are simpler approaches such as selecting from a range of possible outputs based on the measured temperature. Whatever the case, there's a need for some math.

You can but simple little self-contaned PID controllers on eBay. My NoFossil controller also does PID, though that's in unreleased 'beta' test at the moment. I think the Nimbus controller has a rudimentary ability to close the loop as well.

I have a copy of the Nimbus Controller Manual on my site. They only sell them in batches of 10, but I have several individual units if you're interested.

If you're interested in the mathematics, the most useful discussion of closed loop control that I've found is this one.
 
Status
Not open for further replies.