br3ttb / Arduino-PID-AutoTune-Library

416 stars 225 forks source link

Ziegler Nichols 2nd Method - Isn't it for Series Algorithm? (PID library uses ISA form) #20

Open edgsc opened 5 years ago

edgsc commented 5 years ago

Hi Guys,

Isn't Ziegler-Nichols 2nd Method (Frequency Response Method or Oscillation Method or Ku/Pu Method etc) for Series PID Algorithm? image From https://www.pidtuning.net/pid-algorithm.php

image

From Autotuning of PID Controllers A Relay Feedback Approach_, 2nd edition, Cheng-Ching Yu (2007), page 30?

Bret's PID library uses ISA (Ideal) PID Algorithm, right?

So, shouldn't we transform Kp, Ki, Kd from Series to Parallel form?

image from http://www.acsysteme.com/en/serial-or-parallel-pid

Or from ISA slides: image

from ISA Effective Use of PID Controllers 3-7-2013, https://pt.slideshare.net/sarodp/isa-effective-use-of-pid-controllers-372013 @br3ttb

Thanks!

br3ttb commented 5 years ago

interesting! the library is a straight-up port of another library so it's possible that there's a mistake there that I wasn't aware of.

The pid library uses parallel form that's listed on your table.

On Fri, Apr 12, 2019, 6:15 PM edgsc notifications@github.com wrote:

Hi Guys,

Isn't Ziegler-Nichols 2nd Method (Frequency Response Method or Oscillation Method or Ku/Pu Method etc) for Series PID Algorithm? [image: image] https://user-images.githubusercontent.com/32095476/56068791-82878180-5d56-11e9-9b34-c32f38e3e806.png

[image: image] https://user-images.githubusercontent.com/32095476/56068931-18bba780-5d57-11e9-99b5-5355df2bc5cf.png

From Autotuning of PID Controllers A Relay Feedback Approach_, 2nd edition, Cheng-Ching Yu (2007), page 30?

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/br3ttb/Arduino-PID-AutoTune-Library/issues/20, or mute the thread https://github.com/notifications/unsubscribe-auth/AAWL8lzWYsATnwGL7TO4GgmMewiTQuOHks5vgQWJgaJpZM4ctif5 .

edgsc commented 5 years ago

interesting! the library is a straight-up port of another library so it's possible that there's a mistake there that I wasn't aware of. The pid library uses parallel form that's listed on your table. On Fri, Apr 12, 2019, 6:15 PM edgsc @.**> wrote: Hi Guys, Isn't Ziegler-Nichols 2nd Method (Frequency Response Method or Oscillation Method or Ku/Pu Method etc) for Series PID Algorithm? [image: image] https://user-images.githubusercontent.com/32095476/56068791-82878180-5d56-11e9-9b34-c32f38e3e806.png [image: image] https://user-images.githubusercontent.com/32095476/56068931-18bba780-5d57-11e9-99b5-5355df2bc5cf.png From Autotuning of PID Controllers* A Relay Feedback Approach_, 2nd edition, Cheng-Ching Yu (2007), page 30? Thanks! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#20>, or mute the thread https://github.com/notifications/unsubscribe-auth/AAWL8lzWYsATnwGL7TO4GgmMewiTQuOHks5vgQWJgaJpZM4ctif5 .

Thanks for your reply, Bret!

Just as an example, here's what it looks like after conversion from Series Kp-Ki-Kd to ISA Ideal (or ISA Standard Form):

Ku: 155,839 Pu: 269,617 Series:
Kp: 91,67
Ki: 0,68
Kd: 3085,77

ISA Ideal: kp: 114,56
Ki: 0,68
Kd: 3085,77

Only Kp changed, about +24%; making the parameters a bit more aggressive.

xlla commented 3 years ago

hi @edgsc, I have work out a set of parameters using autoTune lib for dc motor. this is original PID and response curve.

pid1

this is Kp scale up to 1.24

pid2

its aggressive and take a little more time to convergence.