Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Your PID controller output should be setting the value of the duty cycle directly.</p> <p>Basically you are going to be controlling the heater settings based on the difference in the actual temperature versus the temperature setpoint. </p> <p>You will need to adjust the values of the PID parameters to obtain the performance you are looking for. </p> <p>First, set I and D to zero and put in a value for P, say 2 to start.</p> <p>Change the setpoint and see what your response is. Increase P and make another setpoint change and see what happens. Eventually you will see the temperature oscillate consistently and never come to any stable value. This value is known as the "ulitmate gain". Pay attention to the frequency of the oscillation as well. Set P equal to half of the ultimate gain.</p> <p>Start with a value of 1.2(ultimate gain)/(Oscillation Frequency) for I and change the setpoint. Adjust the values of P and I from those values to get to where you want to go, tracking the process and seeing if increasing or decreasing values improves things.</p> <p>Once you have P and I you can work on D but depending on the process dynamics giving a value for D might make your life worse.</p> <p><a href="http://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method" rel="nofollow">The Ziegler-Nichols method</a> gives you some guidelines for PID values which should get you in the ballpark. From there you can make adjustments to get better performance.</p> <p>You will have to weigh the options of having overshoot with the amount of time the temperature takes to reach the new setpoint. The faster the temperature adjusts the more overshoot you will have. To have no overshoot will increase that amount of time considerably.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload