Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Adaptive PID controller implementation

  1. Jun 10, 2015 #1
    Hello,

    I am trying to implement a simple adaptive PID controller paper. However, I am having some problems which I could not find out due to what..

    Paper is the following;
    http://www.aedie.org/9CHLIE-paper-send/337_CHAINHO.pdf

    Quite simple. Using the Tagaki-Sugeno fuzzy system, in accordance with the error percentage, P and I parameters are adjusted. I implemented everything conforming to the paper. However, my control signal blows up immediately.

    I have been looking for days where I am doing wrong but could not find any mistake.

    I would really appreciate if you check the simulation files and make comments.

    Attached the simulation files.
    P.S. initialize.m must be run before running the simulink model.

    Thank you.
     

    Attached Files:

  2. jcsd
  3. Jun 11, 2015 #2

    donpacino

    User Avatar
    Gold Member

    what do you mean by your control system blows up. please provide screen shots or a more detailed explanation
     
  4. Jun 11, 2015 #3
    Hello,

    What I mean is, given reference signal is not tracked as expected.

    Here is the reference signal. Just a square wave.
    in.png

    And the output of the plant as the response (I just limited it to 1 second, it goes with the same fashion up to 10 seconds)
    out.png

    So the tracking is way out of the reference signal.
     
  5. Jun 12, 2015 #4

    donpacino

    User Avatar
    Gold Member

    post a screenshot of your code and the model
     
  6. Jun 12, 2015 #5
    All the files related to simulation were already attached my first post but anyways here's the screenshot of the model

    model.png

    Here's the function that runs inside the interpreted matlab function block

    And those are the initializations;

     
  7. Jun 13, 2015 #6

    donpacino

    User Avatar
    Gold Member

    Why do you set the derivative gain to 1? try setting it to zero
    also you initial values for your P and I values should not be zero.

    try using zeiger-nicolas to set the initial values, and strip the adaptive part.
    once you get that working, add the adaptive portion
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Adaptive PID controller implementation
  1. PID Control (Replies: 3)

  2. PID control doubt (Replies: 1)

Loading...