hysteresis vs differental

Describe your system and processes, and post your config file.
Post Reply
dobeluvr
Posts: 9
Joined: Thu Jul 29, 2010 2:10 pm
Bot?: No

hysteresis vs differental

Post by dobeluvr »

I see in ver 3.4.2 differential control is replaced with hysteresis control.. Is this used and programmed the same way? My fermenter was controlled simply by differential controlled with a 2 degress offset (or whatever it is called) ie if i set it at 50 it would turn on at 52 and off at 48. Does hysteresis work the same ie it just turn on at a setpoint and then off at a different setpoint? I thought it did but get confused when going to system settings, then to the hysteresis and pid table, it has output period, min pulse and then max pulse. I believe that is for pid control, but want to be sure so I dont mess up the fermenting chamber.
dobeluvr
Posts: 9
Joined: Thu Jul 29, 2010 2:10 pm
Bot?: No

Re: hysteresis vs differental

Post by dobeluvr »

so nobody knows if it is used the same or not?
User avatar
ECC
Posts: 676
Joined: Fri Sep 12, 2008 12:29 pm
Bot?: No
Contact:

Re: hysteresis vs differental

Post by ECC »

Yes, it is different. This changed in v3.4 to make it easier to do dual-stage temp control, and also line up more with industry standards.

In the previous revisions, Differential Control worked like this..
Setpoint: 50, cool
Diff Swing: 2
It would turn on at 51 and off at 49, so basically the temp would stay within the setpoint +- swing/2

New (and improved :) ) Hysteresis is a little different.
Setpoint: 50, cool
Hysteresis: 2
It would turn on at 52 and off at 50, so basically the temp would stay within the setpoint + Hysteresis (or -hyst if heat).

This is arguably better for a few reasons. In most real-world conditions, thermal mass of the system causes some amount of temperature overshoot. So keeping the 'cool' or 'heat' on past the setpoint usually isn't desirable.

Another reason is for dual-stage temp control. With 3.4, we added the ability to ramp multiple outputs to the same setpoint in ramp mode. It makes it much simpler to have non-overlapping ranges using the new hysteresis. For example, say you have both heat and cool in your keezer. With hysteresis, you can make the setpoints of both the heat and cool outputs to 50, which will give you a range of 48-50 for the heating, and 50-52 for cooling. Using the old differential would've required different heat/cool setpoints to make sure they didn't overlap.
JonW
Site Admin
Posts: 1726
Joined: Sun Jul 18, 2010 7:51 am
Bot?: No
Location: Huntington Beach, CA
Contact:

Re: hysteresis vs differental

Post by JonW »

Good explanation of the difference in the way it functions.
flux
Posts: 14
Joined: Sun Aug 21, 2011 9:25 am
Bot?: No

Re: hysteresis vs differental

Post by flux »

why not call dead band?? hysteresis in the oil and gas I&C world is usually used to refer to the systems physical or natural delay or lag, and dead band is the programmed delay or lag. It may simplify things to just add gap to your PID controller and eliminate this.
User avatar
ECC
Posts: 676
Joined: Fri Sep 12, 2008 12:29 pm
Bot?: No
Contact:

Re: hysteresis vs differental

Post by ECC »

Dead band is when the output is off for a specified range. With hysteresis, the output can either be on or off depending on which direction its coming from. So hysteresis is the correct term for this function. (I looked it up :-) ).
KnowItAll
Posts: 8
Joined: Tue Sep 27, 2011 7:56 pm
Bot?: No

Re: hysteresis vs differental

Post by KnowItAll »

Hysteresis is a behavior exhibited by a system. Typically, a hysteresis parameter is used by a controller to compensate for hysteresis in the system being controlled, not as a parameter to cause hysteresis in the controller itself. So while naming the current BCS implementation of temperature control "hysteresis" may accurately describe the hysteretic behavior exhibited by "industry standard" HVAC thermostats as a system unto themselves, naming the input parameter "hysteresis" is not correct. Moreover, it obfuscates the true hysteresis parameter used in other dual stage controllers to compensate for system hysteresis caused by differences in overshoot between heating and cooling.. The correct name for the parameter to create hysteretic behavior in the thermostat itself is "differential".

The root of the issue of this thread was a poor choice for the implementation of "differential" control in the previous version. Having a set point that is neither the activation or deactivation value is confusing, and is why using diff/2 always adds confusion. The new "hysteresis" implementation is just a better implementation of "differential" control.

I understand the need for a new name since it was a paradigm shift in functionality from the previous version, but calling it "hysteresis", and especially naming the input parameter hysteresis, only perpetuates the obfuscation of the term hysteresis.

The current BCS "hysteresis" implementation has no hysteresis control mechanism, especially for dual stage control (heating and cooling) which is where it is needed. There is an implementation that does, and it involves adding a hysteresis parameter in addition to the set point and differential. It functions like this-
The hysteresis value is added to the setpoint to provide early cutoff which compensates for differing overshoot tendencies of heating and cooling (this is system hysteresis). The hysteresis value is a positive value if cooling has more overshoot than heating, and negative if heating has more overshoot. The hysteresis parameter is only valid when its magnitude (abs value) is less than the differential.

While there are many workable temperature control schemes, some being more intuitive than others, how temperature control is implemented is less important than having a manual clearly explaining how to configure it.
Post Reply