• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

PID overshoot under shoots

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Imnobarista

Member
Joined
Feb 25, 2025
Messages
13
Reaction score
3
Location
nowhere
I have a PID controller connected to two elements and my drying/kiln cabinet.

Currently, I'm drying my DIY malt. I aim for a temperature of 30 °C for the first hour to quickly halt all germination processes. Through my experiences, I’ve noticed that if I set the temperature any lower, germination continues, as the acrospire doubles in length—in other words, twice the length of the grain kernel. If i dont. I have another technique. I’m gonna try the next time. I do some malt but for the time being that’s on the back burner.

I’ve utilized the auto-tune option on my PID, specifically the Inkbird ITC-106VH, which operates between 100V and 240V. I’ve also reviewed a video by someone named Doug on YouTube and attempted some of the settings he recommended, but to no avail.

I consistently overshoot my target temperature by 15 to 30 °C, depending on the amount of forced air I’m using. It seems like the PID isn’t accurately calculating the power output needed to prevent the overshoot. Although I’m not too concerned about undershooting—my green bed typically only drops about 2 to 3 °C for every 10 °C in my cabinet—I want to adjust my PID to minimize the overshoot as much as possible. Any assistance in this matter would be greatly appreciated. Thank you!
 
Last edited:
Sounds like you might either have a long time lag between when you apply power, and when the thermo probe senses an increase in temperature, and/or you are over powered and can apply too much heat too fast. I had this problem with some hot plates at work many years ago. I solved the issue by rewiring what had been two elements in parallel (I assume that is your configuration) to two elements in series. This cut the power input by a factor of 4, so heat up was slower, but the oscillations stopped.

What is your operating voltage, and what are the power ratings of your heating elements? When you did the autotune, was the oven loaded the same as when you are actually operating? If not, then the autotune probably picked sub-optimal parameters. Can you provide a sketch of your system showing where the heating elements are, where the temp probe is placed, and the fan configuration?

Brew on :mug:
 
I have this PID originally on my HLT and BK but now it is relegated to monitoring my MT. The Inkbird instructions suck. I recall having to watch a video to get some settings at least somewhat close and I think it was probably the Doug on Youtube video you mentioned. If I recall correctly, it involved setting the P, I, D values on the Inkbird? I was completely clueless regarding how these worked at the time and I set the values to those I saw in the video. Those won't work in all likelihood for you because the video was heating water/beer. You are heating air, which heats much more rapidly than water. If you know this, my apologies, but the PID stands for Proportional, Integral, and Derivative, all mathematical terms. Some time ago I read up on this but it's faded a bit so I am going to cheat and use a little AI below.

Doug sounds like he's zeroed in on possible issues and in plainer (more coherent than me) language. He's provided a potential physical possibility with the probe response and then the issue of rapid overshoot. I'm just expanding a bit on the settings since the manual for this model is awful. Sounds like maybe P is set too high? And also some adjustment of D maybe is needed? But all Inkbird says is that those values range from 0-9999 and the I & D are based on seconds. I grabbed the equation below just to show how the equation looks and mainly just to show that the component terms aren't simple. Picking say 5000 for I or D probably won't be half the effect of picking 9999. Maybe for P, but I never experimented with changing these parameters.

I learned a lot more about how my Inkbird was working by reading one of the Auber Instrument manuals for a similarly configured model. Sorry though I don't remember the exact model but the instructions discussed many of the same settings available on the Inkbird.

I am not sure if the autotune (selftune) changes the values of P, I, and D that you set or if it stores them in a different spot. You could check that by running a selftune and examining those values afterwards.

And that's about all I know to help, all the following is AI derived. It tracks correctly as much as I remember reading on the topic.
1745455079576.png

The proportional term in a PID controller calculates a correction that's directly proportional to the current error between the desired setpoint and the system's output. This term is responsible for the initial "push" that helps the system move towards the setpoint. The larger the error, the larger the proportional correction, and the faster the system will respond.

Here's a more detailed breakdown:
  • Purpose:
    The proportional term aims to minimize the error between the setpoint and the system's output as quickly as possible.

  • Mechanism:
    It calculates a correction based on the current error by multiplying the error by a proportional gain (Kp).

  • Effect:
    Increasing Kp makes the system respond faster, but can lead to overshoot. Overshoot occurs when the system moves past the setpoint before settling down.

  • Relationship to other terms:
    The proportional term works in conjunction with the integral and derivative terms to provide a more robust and accurate control response. The integral term helps eliminate steady-state errors, while the derivative term helps dampen oscillations and prevent overshoot.
In a PID controller, the integral term, denoted by "I", helps eliminate steady-state error and fine-tunes the system over time. It does this by calculating the sum of all past errors and adding it to the control output. This accumulated error signal ensures that the system converges to the desired setpoint, even with constant loads or disturbances.

Here's a more detailed explanation:
1. Eliminating Steady-State Error:
  • A proportional (P) controller alone may produce a steady-state error, meaning the output stays slightly off the desired setpoint even after settling.

  • The integral term addresses this by considering the history of errors and gradually adjusting the control output to minimize this difference.
2. Accumulating Error over Time:
    • The integral term calculates the integral of the error over time, effectively summing up all past errors.
    • This accumulated error signal is then used to modify the control output, ensuring a more accurate response over time.
3. Fine-Tuning and Stability:
    • By taking into account the cumulative error, the integral term helps to refine the system's behavior and improve its stability.
In essence, the integral term in a PID controller acts as a "long-term memory" of the error, allowing the system to adjust and converge to the desired setpoint more precisely over time.

AI Overview
Learn more

In a PID controller, the derivative (D) term anticipates future errors by considering the rate of change of the error. It helps reduce overshoot and improve stability, especially in systems with rapid changes, by essentially acting as a "dampener" on the control effort.

Here's a more detailed explanation:
  • Predicting Future Errors:
    The D term looks at how quickly the error is changing and uses that information to predict where the process variable is likely to be in the near future.

  • Dampening Effect:
    By anticipating the change, the D term can adjust the control output to counter the potential overshoot or oscillation. This helps the system settle more quickly and stably at the desired setpoint.

  • Improving Stability:
    The D term can improve the stability of a PID controller by reducing oscillations and preventing excessive overshoot, particularly when dealing with systems that are prone to rapid changes.

  • Amplifying Noise:
    It's important to note that the D term can also amplify measurement noise, which is a common consideration in PID tuning, according to Control Station.
 
@ imnobarista - You are really not giving us enough information about your system response to allow us to offer much assistance. You only state that your system consistently overshoots the temperature set point. You don't mention if the system eventually reaches the set point or if there is an offset or if the system stays in oscillation. However since your system consistently overshoots your temperature, it is very likely that your P term needs to be reduced. In creasing the I term will reduce any offset in the system. I will also state that I am not familiar with the Inkbird ITC-106VH.

my green bed typically only drops about 2 to 3 °C for every 10 °C in my cabinet
The above isn't clear to me. Can you elaborate? I assume the "green bed" refers to the sprouted grain that is on a drying rack; but if you are drying the sprouted grain by adding heat, how can the temperature of the sprouted grain drop?
 
However since your system consistently overshoots your temperature, it is very likely that your P term needs to be reduced. In creasing the I term will reduce any offset in the system.
It's been a while since I have reviewed the math used by Proportional Integral Differential controllers, but IIRC, there are two ways that the foundational equations can be expressed, and they differ in whether the control parameter value is in the numerator or denominator. There are controllers that use both forms of the equations as their basis, which means for example changing the P value in one direction can make the response go in the same direction or the opposite direction. So, what works for one class of controllers won't work the same way as the other class of controllers. Manual tuning requires you to understand how the parameters work in your PID, or just blindly doing trial and error - hoping something works eventually.

This is where autotune can help. The autotune algorithm knows which set of foundational equations were used in that particular model of PID controller, and in theory knows the proper way to adjust them. But, for autotune to work well, the system must be loaded the same way for autotuning as it will be loaded in actual operation. Also, sometimes autotune needs to be run several times in succession to get a good set of parameters. Look at the P, I and D parameters after an autotuning run, then do another autotuning run and compare the resulting parameters to the first run. If the parameters have changed significantly, then you should keep doing autotunes until the parameters converge to stable values. If you can't get them to stabilize, then you are going to have to get down in the weeds with manual tuning.

Brew on :mug:
 
Well, thanks guys for your response, Been busy this morning and I have no electrician in any way shape or form so here is my drawing. Hopefully, you can understand it. I drew it as it is laid out
 

Attachments

  • image.jpg
    image.jpg
    2.8 MB
  • 76721523006__55ABF1EB-02A1-4AF1-A92E-0D89E394A316.MOV
    3.2 MB
Also, sorry ”green bed” Was an AutoCorrect for some reason it’s supposed to say grain bed so anything that’s got green supposed to be grain.

The PID parameters in the video is after an auto tune, and I do the auto tune every time I load my dryer as the contents always change in volume i.e. if I use both racks or using one rack and how full the racks are as in my thinking, the more resistance from the fanthat is at the bottom and Under my elements, the temperature obviously at the bottom will be very hot. Compared to the air coming out also to know the parameters of the PID I did change the “I” to 1 as it was at 14. Y’all also see that I have my voltage for my fan set so I can just control how much forced air I’m wanting to Use.

I do not know how to set my elements in series with the current voltage I’m using

I do have a long 5 1/2 minute video on the cycling if you wanna see it
 
Last edited:
@Climb
system stays in oscillation
I have no idea, and I have no idea how to even check if it oscillates.

but if you are drying the sprouted grain by adding heat, how can the temperature of the sprouted grain drop?
ignore that part that is from my other thermal couples I recalibrated them both and two different water temperatures. We got them somewhat close enough that any deviation is only out by maybe 3°c max I had to go get an analog thermometer as my baseline temperature device and that’s how I calibrate everything too now as I feel that that thermometer will have less error versus the electronic or electrical kind that the PID use



@doug293cz
solved the issue by rewiring what had been two elements in parallel (I assume that is your configuration) to two elements in series.
I think you might be right with both those elements. I can get a lot of heat really really fast and maybe my thermal couple that I’m using is not really suited for this application. And maybe if I can figure out how I can put them into series it might allow the PID react a little bit more efficiently.

@Deadalus

thank you for your response very technical and it’ll take me a few reads and some cross referencing to Google to understand it completely but thank you very much.
 

Latest posts

Back
Top