Feature Request: slow descend


 

Darren C.

TVWBB Pro
I was wondering how difficult it would be to add an option to override the PID settings when a certain dT was hit. For example, if I overshoot my target by several degrees, the fire will often snuff itself out trying to descend back to target. I realize with more practice that I can avoid that. But, let’s say I’m shooting for 225, but I hit 280. It would be nice to limit the descend back to 225 to a max dT rate. I’ve found that if I allow my dT to get to descend faster than about -.50, I’m dangerously close to snuffing out the fire.

So, if there was a way to set a max descend rate of say, -.25, I could depend on the PID to be ignored when the rate of descend exceeded. Then, the output would be sufficient to maintain the negative dT. The max descend rate would take precedence and not impact the logic for the PID.

Does this sound useful, practical and not excessively difficult to code?
 
Previously when I've done this, I've changed my setpoint to a couple of degrees below the current overshoot temp and then keep adjusting the SP lower as the temps drop. I'm sure this could probably be coded or scripted, but I find that it doesn't happen enough to make me sit down and try and solve it with a script :)
 
Sounds like something that could be coded, but it would be better to get the pid settings corrected so you don’t have an overshoot like that.
 
Not arguing that better technique is what one should strive for. It just seemed like it might be a useful feature, even if it is compensating for poor technique. Sealing it would definitely help too. I think I can probably maintain 225 with the top vent fully closed. How did you seal yours, add Nomex? I used rtv gasket material around the bottom vent already. I don’t think I have leaks there.
 
I'm not sure how this would work because what you're looking for is the D term in the PID algorithm. It would add more output the faster the temperature is descending. A higher D term also helps to prevent overshoot on startup because it starts backing off the output before it gets to the setpoint.

How would one maintain a <0.5 degree dT though? You'd need another option which is an Integral sum of the derivative which is accumulated only when deltaT exceeds some value (so two floating point options). Perhaps it would be just one value that is multiplied by dT but only when dT is negative? It gets really difficult to figure out how the controller is supposed to respond the more variables you add in, especially since primarily it is already running a PID algorithm on the first order results of output. That's not exactly true either, because we're just adding more air and a secondary effect of that is that the fire should get hotter. Now this would be adding air to control a second order observation, the derivative of the temperature, which almost makes it a third order control. It's almost too far removed from the source (our output) to be controlled, but certainly you should not try to run a first order control algorithm *and* an second order control algorithm at the same time.

If you're getting a 55 degree overshoot on startup then you've definitely got to look at resolving that though rather than adding another set of knobs to make things more complicated while ignoring the existing knobs. I hear what you're saying though, the characteristic of the curve when we're over the setpoint is different than when we're under it generally because it is easier to make more fire than to take it away once the charcoal is ignited. I feel like there almost could be two D terms depending on the sign of the delta T, due to the asymmetry of the reaction. although I'd worry that if you set the negative delta T Kd higher to slow descents like you're asking then the problem becomes "argh, why does it take an hour to unwind my overshoot!" It is probably better to deal with the other issue which is the overshoot (light less charcoal, increase the regular D, lower the max startup blower speed, or better seal the smoker) than to try to fix it after the fact.
 
If the idea is to prevent a complete choke of the fire during a long descent in temperature, perhaps a little burp routine would be effective. I've done this manually in the past by lifting the lid briefly after the pit has been locked down for a while. You could automate this with the HM by adding some "burp" settings to the HM config like "if the output is 0% for X minutes" "set the output to xx% for XX seconds"... This would give the fire a little air to prevent choke, more or less depending on the variables you set.

I have an akorn and have been there with this issue, I got over it by improving my technique and see no need to over complicate the HM with more settings. However, if coding a burp routine something like above isn't too hard it would help beginners a bit, then again, it might stunt their learning about fire management.
 
I was thinking something more like an independent P term. If the dT became more negative than the max descend, then temporarily add to an independent term (maybe similar to the bias you used to have, although I don't know how the bias worked). I can see that adding another parameter would be throwing a wrench into things, though.

Earlier this month, I started running some tests. I lit a fire every morning and every evening for close to 2 weeks, tweaking the PID settings and tweaking the technique for lighting the fire each time to see the differences. In most cases, I barely overshot 225 (maybe 5 to 15 degrees) and the fire still snuffed itself out. But, there was one case where it never even reached 225 and the fire snuffed itself out. See the screenshot. There was only one case where the fire went to 280. That was when I tried lighting the coals in 3 places to even out the burn. I recall reading where you said that you did that with your egg and thought that might help.

I learned a lot running those tests. I learned the importance of the "I" term. And, I believe I learned my Akorn is leaky. I also noticed that the "I" term cuts itself in half when it reaches target temp.

I starred at the PID debug output during startup. On probably every test, I noticed the D term spike to 100% negative for what I assume was one iteration of the PID loop. But, it immediately returned to its previous state. I think that was due to some erroneous high pit temp reading, but wonder if there could be a bug. That could have happened in the screenshot below. The temp might have spiked for one moment, caused it to jump across the pit target, cut the "I" term in half and then just ran out of gas. So, I bought a new Thermoworks thermocouple, which I just received last night and haven't tried it yet. The thermocouple I've been using was the cheap one that Auber sells.

0XrZXtCl.png


Here's a screenshot of 2 of the inflections on another test.

541Jnh8l.jpg
 
Last edited:
You've got something going wrong with your physical setup if you snuffed out the fire in the first graph posted, your HM output never went to zero so you HM never actually cut off air flow. IDK if it is due to improper servo damper calibration? Maybe the valve is closing before the HM output is at zero?
 
Strange question, but what kind of charcoal are you using? My fire has never snuffed out in my Akorn. I light it with 1 lighter cube, and let the HM bring it up to temp. Hardly any overshoot.
 
I use Royal Oak lump. Most of the time, I used one wax cube to light. But, during my tests, I also started using a torch.
 
Before you used the HM, how did your smoker behave? Did it keep a somewhat stable temperature?.

Use a chimney starter at about half full or so and get it up to smoking temps without the HM attached, regardless of temperature, just get a stable temperature. Once stable, attach the HM and then increase the temperature by about 20 from where it's at.

If the temperature decreases, then there is to much air going into the smoker. So you decrease the percentage of the blower until the temperature starts to climb.

If the temperature climbs to the new set point then you can rule out the HM for the most part.
 
In my experience you will never be able to hit low and slow temps in an Akorn with half a chimney full of lit charcoal, you will soar past 300F in short order and choke it out trying to cool it down.
The problem as described here by the OP is an odd one, because the graph shows the HM not going to zero output, so the fire should not have choked. That seems to point to insufficient air flow or perhaps wet/bad charcoal, or maybe too much coal dust and small pieces choking out air flow around the fire?
 
@John - I already owned my HM before buying the Akorn. So, I haven't really done much with it without the HM attached. And, it's difficult to switch back and forth between using the HM because I replaced the sliding vent with a piece of aluminum with a 1" hole to accept a pipe nipple. To remove it, I'd have to remove screws. I might could make it happen by sliding the adapter plate to allow air around it. After getting the temp stable, you kinda lost me with your plan though.

I have a small chimney and have put a few lumps in it to use as a starter. The results are probably very close to what you'd get lighting a wax cube. I tried that during my testing.

I'm in agreement with Ralph, except that I'd include one detail. The temp in the graph I posted never reached target temp at all. That's the only time that's happened. I have other examples of where I only overshot by 5 or 10 degrees though and the results were the same. That's why I thought the "slow descend" option might be a good feature. I have a piece of expanded metal welded to my charcoal grate. That could be changing the airflow dynamics more than I expect.

I've only done one L&S cook since my tests. It did pretty good with one exception. I had the pit probe under the ribs and as soon as the ribs went on, the graph went ape**** crazy. So, I relocated the probe and everything went back to normal. I think my biggest problem during the tests was that I was starting out with too low of an "I" value. So, when the target temp was reached, "I" was cutting in half and the P and D parms weren't able to make up the difference. I need to run a few more tests again to see. I'll try and do that soon and post back.
 
Regardless how much charcoal is started without the HM attached, the idea is just get a stable temperature without having the blower or anything attached to the inlet so that air can enter the smoker unaided.

Once the temp is stable to where ever it may be, add the HM and then add 20 or so degrees to the stable temperature. This should let the heatermeter raise the temperature without any other influences other then it's blower.

As long as you have any air inlet open and have the air outlet open all the way, no smoker should go out on it's own, unless you have an issue with air getting to the charcoal.

Example test.

I had a UDS. It has a ball valve.

If have no HM attached and I have the ball valve at 50% open, it would settle at a temperature of about 250. Once it's settled at 250°, I then install the blower and set the Heatermeter to 270°. The blower should turn on and the temperature should rise to 270. The Heatermeter only needs to work a little bit and raise the temperature by 20°.

But if you install the blower and the temperature starts to drop then you know something is not correct, regardless of the PID settings. If that happens it's most likely that the blower is pushing to much air into the smoker and cooling the Thermocouple, this will at first make the temperature drop and once the coals over come the cooling effect will overshoot the setpoint by a large amount.

In my case on the UDS. I had to lower my blower percentage to 30%. That the point at which the temperature will rise as soon as the blower turns on.

This is just a controlled test to let the heatermeter do a little work in raising the temperature, a small amount to see if there are any issues.
 
Thank you for clarifying, John. I did another test run last night. It wasn't as pretty as some graphs I've seen posted. But, I'd say it is pretty reasonable, none the less.

I started my PID at 4, .0012, 31. After the first couple of oscillations (around 8:45 or 20:45), I lowered the P to 3. It smoothed out for a short time. But, it later started oscillating again before smoothing out on its own.

Although, I didn't intend for this thread to be request for help, I appreciate all of the interest in helping me determine why my fires have snuffed out. However, I still think having a "parachute" on the descend is a might be a good addition. It would help when lowering the temperature under other circumstances, not just to compensate for poor configuration choices.

qpB4JPil.jpg
 
Variation of less than 10-20 degrees will not affect normal cooks and you are well under that. I wouldn’t worry too much more.

You can’t get perfect PID settings. The optimum values will change with your set point and other factors, so the important part is to find settings that will work well enough over a range of conditions, and not obsess over posting the smoothest graphs. Just graph your home oven for a bit and you will appreciate how well you are controlling your grill already.

Snuffing out the fire is not a big risk for most users. It can happen most easily near the initial startup, like your initial overshoot and clamp down. That problem is best solved by not allowing the overshoot. Once the fire is established, it will not snuff out as easily. Even with the servo holding the damper full closed for an extended period, the coals will usually reignite.

If your acorn is so well sealed that you still have a problem, try setting the servo minimum to a point where the damper is slightly open. I mean the tiniest of tiny slivers, or it may struggle to keep an efficient insulated grill at lower temps. Once a hot bed is established, even the slightest of air flow will keep it lit.
 

 

Back
Top