1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Lesson Mastering PID control "PID without PhD"

Discussion in 'Miscellaneous' started by RacingMat, Sep 28, 2013.

  1. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    RacingMat submitted a new resource:

    Mastering PID control "PID without PhD" - PID explanation and tuning method

    Read more about this resource...
    • Like Like x 2
    • Informative Informative x 1
  2. bsft

    bsft

    Balance:
    Coins
    Ratings:
    +0 / 0 / -0
    thanks Mat, It does depend on the device of control. Each PID will be different with different motors
    If its a JRK, we have base settings to get you moving, I helped Erwan960 with some base settings and the change from his were instantly better.
    • Like Like x 1
  3. RacingMat

    RacingMat Well-Known Member Gold Contributor

    Joined:
    Feb 22, 2013
    Messages:
    2,236
    Location:
    Marseille - FRANCE
    Balance:
    20,963Coins
    Ratings:
    +2,089 / 21 / -2
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Yes! it's great: with yours and Rob's parameters, Erwan got very quickly a working setup on JRK!... and without worries
    (I haven't bought JRKs but I'm sure now it's a very good solution!)

    And if someone intend to understand what are the meaning of the parameters you gave, or design its own PID program (Ard?)
    this document will offer answers :)
    • Like Like x 1
  4. tadythefish

    tadythefish Active Member

    Joined:
    Jul 8, 2009
    Messages:
    148
    Occupation:
    Process automation engineer
    Location:
    Slovenia
    Balance:
    677Coins
    Ratings:
    +95 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    • Informative Informative x 2
  5. tadythefish

    tadythefish Active Member

    Joined:
    Jul 8, 2009
    Messages:
    148
    Occupation:
    Process automation engineer
    Location:
    Slovenia
    Balance:
    677Coins
    Ratings:
    +95 / 1 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino
    the first thing you need to properly tune a PID system is something that you can measure the set point and process (output) of the system, so you can see the step response. I made some servo drives to power my CNC machine and i don't how to calculate the variables for a given system. So i used the old fashioned trial and error approach :p so i started with P I and D variables at zero and i started to increase the P gain. The higher the gain the faster the system will respond to changes ( think of it as an amplifier). the P number tells us how many timer the error signal is amplified. we do this until the output of the process (in my case the shaft of the servo) starts to oscillate around the set point. but care must be taken not to make the system unstable.
    Next we move on to the I variable. the integral variable is increased to stop the oscillations. The integral term reduces the steady state error, but increases overshoot. Some amount of overshoot is always necessary for a fast system so that it could respond to changes immediately. The integral term is tweaked to achieve a minimal steady state error.
    Next we increase the derivative gain until the loop is acceptably quick to its set point. Increasing derivative term decreases overshoot and yields higher gain with stability but would cause the system to be highly sensitive to noise. So care must be taken with the D variable.

    I hope someone can use this simple instructions in solving their problems :)
    • Like Like x 1