pidtuner

Forum Replies Created

Viewing 15 posts - 16 through 30 (of 36 total)
  • Author
    Posts
  • in reply to: tuning application #98
    pidtuner
    Keymaster

    Thanks 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 as-is. 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.

    in reply to: questions on criteria for the input and output #94
    pidtuner
    Keymaster

    It 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.

    in reply to: What are the gains #92
    pidtuner
    Keymaster

    Hi,

    Time is always in seconds. If your PID implementation is non-standard, you are responsible of converting the PID gains to the non-standard 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:

    https://www.dropbox.com/scl/fi/sfkz7xx7eqg7uyzu5zpwn/PID-Tuner.pptx?dl=0&rlkey=p0l03h6x6vhexmsbjhyuyqiy6

     

    in reply to: Model identification algorithm #90
    pidtuner
    Keymaster

    Hi,

    Thank you for your interest. The identification algorithm uses this solution:

    https://math.stackexchange.com/questions/1428566/fit-sum-of-exponentials/3808325#3808325

    Basically consists in integrating the inputs and outputs of the system (according to the desired model order) and then solving a couple of (linear) least squares problems.

    The delay in nonlinear, so given that the (linear) least squares problems are “relatively cheap”, the delay is calculated by brute force initially using a grid of values. Then refinement is made using a simple newton method.

    Hope this is helpful.

    in reply to: Scale gains #87
    pidtuner
    Keymaster

    Hi,
    I am happy you like the tool, the “Scale Gains” slider simply implements the Skogestad PID tuning rules.

    Cheers.

    in reply to: Final values of the tuner #84
    pidtuner
    Keymaster

    Hi,

    Yes, they are indeed Ki, Kd and Kp, from the “parallel” or “ideal” form:

    https://en.wikipedia.org/wiki/PID_controller#Standard_versus_parallel_(ideal)_form

    Bear in mind that in most PID implementations, the “standard form” is the most common (the one that uses Ti and Td).

     

    in reply to: Weird results #81
    pidtuner
    Keymaster

    Apart from minimizing disturbances in the data, and making sure time is seconds, also make sure that the data must be the exact same values that go into the PID (process output) and out of the PID (process input).

    I cannot stress this more, it is a very common mistake when using the tool, the data must be exactly what would come in and out of the PID block (of course in open-loop PID is disabled, but this is just to illustrate which are the signals that are needed).

    Have a good tuning!

    in reply to: Scale of things #78
    pidtuner
    Keymaster

    Hi, all time must be in seconds, always. The scale of the axis must the exact same that is used to feed in and read out of the PID block that will be used in your process loop.

    in reply to: Weird results #77
    pidtuner
    Keymaster

    Hi, yes all time must be in seconds. Your input step data is definitively weird.

    It seems you are not introducing an “clean” open loop step response of your process. This can clearly be seen because when your input is zero, your process is responding to something, let’s call it “unmeasured disturbance

    What is even more worrying is that before the first step, the unmeasured disturbance seem to be affecting the process with a positive slope, and after the first step, it is affecting with a negative slope. So it not a disturbance that can be de-trended.

    To get a good model of your process, you need to record a “clean” open loop step (without external disturbances). If there are external forces driving your system, it will be very hard to obtain an accurate description on how your process input drives the process output.

    That being said, this does not mean the pidtuner will not be useful to you. What it means is that you should be careful and realize that the simulation given by it will not be an accurate one, because of the unclean data you gave to it.

    If you have no way of performing a “clean” open loop step response experiment, I would use this data, but then de-tune the gains given by the pidtuner (slider to the left) and use it as a starting point for tuning. Then increase the performance slowly until satisfactory results are obtained. This is the price of uncertainty in control.

    pidtuner
    Keymaster

    Hi,

    I have been thinking of adding this option in the simulation. Will probably add it in the near future as soon as I have the time.

    Regardless, as long as your PID implementation has anti-windup mechanism, the PID tuning given by the tool should give you a very good starting point in spite of the limits. Then you can just fine tune online to achieve the desired response.

    Thanks for the feedback! Let me know if you have more questions.

    in reply to: What PID model is the best? #66
    pidtuner
    Keymaster

    Hi Jacob,

    If you really want to understand how a PID is implemented, I highly recommend you to read the following blog series:

    Improving the Beginner’s PID – Introduction

    They are short and well explained, also is the implementation used in the pidtuner tool.

    Regarding the PID parameters, some PID implementations use PID gains directly (so called parallel or ideal form), other use times (so called standard form). That is why the tool provides both, then the user must use the ones that their PID requires. Read:

    https://en.wikipedia.org/wiki/PID_controller#Standard_versus_parallel_(ideal)_form

    Hope this is helpful.

    in reply to: PID Tuner help tuning my system #64
    pidtuner
    Keymaster

    Hi,

    Sorry for the delay. Was offline for holidays. I tried to load your project, but the data saved seems to be the demo data. Can you please load the data again to that project and save it again? Else you can post the data here directly.

    Cheers.

    in reply to: PID #61
    pidtuner
    Keymaster

    Then your test data is still incorrect, what you need is to do is:

    • Wait until the process output has settled in one operating point
    • Apply one single step in the process input.
    • Wait until the process output settles again into another operating point.

    The data you shared is not useful, because you make many small changes in the input and do not let the output settle. What we need is one single input step and record how the output settles from one stable value into another one caused by the input change.

    in reply to: PID #59
    pidtuner
    Keymaster

    Hi, Sadly your data is not correct, these are the issues:

    • Your data is undersampled. You need to sample faster so the process output response dynamics due to a step change in the process input are clearly visible.
    • Your output process curve does not seem to be correlated to your process output curve. I see no correlation between the input of the process and the output. Are you sure you have selected the correct variables in your data.

    Take a look at the sample data provided by the tool, you can see a clear correlation between a step change in the input and a slow transitioning on the output to another level. This is what you should be able to see on your data.

    Also make sure your PID is turned off during the experiment and that your process input is exactly what would get out of your PID and the process output is exactly what would get in to the PID.

    in reply to: PID #57
    pidtuner
    Keymaster

    Then go and convert your time values to seconds. Then fill up the table in the pidtuner, placing the values on each corresponding column. Once the table is complete, verify the charts display the data as expected to confirm that you introduced the data correctly.

    Then click the “Save” button and copy the link that the pidtuner shows you. Paste that link here and then I can help you move forward.

Viewing 15 posts - 16 through 30 (of 36 total)