Forum Replies Created

AuthorPosts

pidtunerKeymaster
Hey, happy to hear it worked for you with ease.
As you can imagine, the algorithm is rather complex, but generally speaking, it consists of: a series of both linear and nonlinear system identification techniques to identify the models based on your data.
 skogestad’s IMC rules for PID tuning based on the models (https://folk.ntnu.no/skoge/publications/2003/tuningPID/more/tuningpaper_reno2001/tuningpaper_06nov01.pdf)
The PID tuning rules are just given as a tuning starting point. The valuable information are actually the models, you can use any tuning rules over the models to achieve whatever you want with your PID.
Cheers
pidtunerKeymasterHi, have you had a look at the following guide? If so, is it still unclear?
https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdfpidtunerKeymasterThat is correct, the derivative part is:
PID_D = (D/Ts) * (yk – ykm1);Just like in here
pidtunerKeymasterHi, the PID algorithm for simulation is similar to this PID implementation:
pidtunerKeymasterGlad to hear the PDF solved some of your questions.
Regarding the size of the increments, it should be large enough, such that the output signal can be clearly distinguishable from noise.
In other words, the size of the increments should be large enough such that the output signal displays a clear curve that the pidtuner tool can identify, but not too large so you avoid damaging your hardware.
As a rule of thumb, I always try to split my operating range in 3 to 5 levels.pidtunerKeymasterHi, thank you for using pidtuner.
Looking at your test data, it seems that the step response test has not been done properly. Please look at the following guidelines to make a proper step response:
https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdf
pidtunerKeymasterHi, thank you for using pidtuner.
To help us help you better, it would be useful if you share your pidtuner project link with us.
In the meanwhile, take a look at this presentation to check if you have done all the steps correctly:
https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdf
pidtunerKeymasterHi,
Thank you for using pidtuner. Looking at your data, it seems that your step test is not done correctly.
First, the input data does not seem correlated to the output data throughout the experiment, see slide 9 (“Common Mistakes …”) of the following presentation:https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdf
Second, it seems you are saturating your actuator, since the output looks like it achieves a constant growth speed instead of a natural growth curve. Maybe try a smaller step change.
Hope this information helps,
pidtunerKeymasterBut the grayed out text precisely says “Use ctrl+V”, have you tried selecting the cell and then hitting ctrl+v ?
pidtunerKeymasterHi,
We are happy you found the FAQ and tool useful. Let us know if you have an specific question in mind or if you need help with an specific data set that you are willing to share.
Best,
pidtunerKeymasterHi,
Yes, it seems you need to modify the gains as you suggest. Also it seems your implementation does not have Derivative action, so when you choose a model in de pidtuner app, make sure is a first order model as to make sure Derivative action is zero.
Take a look to this presentation if you want more confidence that you are doing PID tuning correctly:
https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdf
pidtunerKeymasterThe error is the setpoint (SP) minus the process output (PV). The output column must contain the process output.
Every system (process and PID) has an input and an output. That is why it can be confusing. The PID has as input the error (SPPV), and the control variable (CV) as output. The process has the CV as input and the PV as output.
What the PID tuner need as “input” is the CV and as “output” the PV. Because it is the input and output of the process. Hope this is clearer.
pidtunerKeymasterThanks for you interest, regarding your questions:
Yes it could, the PID being a linear system, could also be “indentified”. Actually you can exchange the input for the output column and viceversa, and a model will come up trying to match the controller dynamics.
But only some common process models are supported by the tool. There is no “PID model” built into the software, so you won’t be able to “recover PID gains” from data with the software asis. It could be done, but there no common use case for that, so it is not worth development time for me.
The most common case is what is presented, model the process, then use the model to obtain good PID gains as a good starting point for tuning the control loop.
pidtunerKeymasterIt is a common question, and source of confusion. Maybe the following FAQ document can help you clarify the input/output selection:
https://github.com/pidtuner/pidtuner.github.io/blob/master/assets/doc/PID%20Tuner.pdf
The program is modeling the system process, not the controller. Try not to get confused by the names of the variables for any specific implementation, what the PIDTuner considers “input” is the input to the process (output of the PID). And what the PIDTuner considers “output” is the output of the process (input to the PID).
Hope the information above makes things a little clearer.
pidtunerKeymasterHi,
Time is always in seconds. If your PID implementation is nonstandard, you are responsible of converting the PID gains to the nonstandard time frame used by your PID.
Same goes with the gains. The PID Tuner shows both Integral Gain and Integral Time because in industry either one or the other are standard. So if your PID accepts some custom transformed Integral term, you are responsible for converting it to your special PID form.
I have been working on a presentation that I will officially release soon, hopefully with a video. Maybe this will help you clarify some practical concepts:

AuthorPosts