by ECC on Tue Jul 13, 2010 9:24 pm
Yeah, I should probably document that a little better. As soon as v3.0 is released (hopefully soon), I'm going to spend some time updating the wiki.
First up, PID Sample Period. This is the time between updates to the PID algorithm. Its based on the time constant of the system. Its best to use an example to explain. If the PID Period is set to 10sec, the PID will read the temperature once every 10sec, and use that to calculate an output percent. Adjusting the PID period faster will allow the BCS to react faster to temperature changes. Setting it slower will keep the changes to a minimum for systems that don't react quickly to heat. For the sake of argument, lets say that the PID spits out 25%. It will hold the 25% until the next update 10sec later, at which time it spits out a different %.
Which brings us to Output Period. This describes how the PID percentage is translated to the actual on/off times. If the output period is set at 4sec, the BCS will use the output percentage of 25% to turn the output 1second ON and 3 seconds OFF. It will continue to run at this rate until it gets a new % from the PID.. In previous firmware revisions, Output Period and PID were tied together, such that the PID Sample Period directly set the pulsewidth of the outputs. However, many people requested that they be separated because there were systems that wanted the PID Period to be slow, but the actual pulse rate to be fast. For instance, think of an 20gal+ electric brew system, which would be quite slugglish, which perhaps had a PID period set at 20sec... But when the PID commands 10%, it might be better to have 0.5sec ON, 4.5sec OFF (out per=5) instead of 2sec ON 18sec OFF (out period=20sec=PID period).
So to answer your question, the Min/Max Pulse percent directly limit the PID output percent.. Min Pulse percent is exactly the setting that you need to adjust to get the behavior that you describe. It will set a minimum threshold to turn the output on. If its below that threshold, it won't turn on. If you want a minimum of 2sec, set the min pulse to your 2sec/Output Period. If you have an output period of 10sec, set the min pulse % to 20%. Because 20% of the 10sec period would be a minimum of 2sec.
It gets a little confusing, and I apologize for all of the vaguely documented settings. I want to make sure that every user can set the BCS to behave exactly how they want it, since every system is completely different.