PID block and manual PID
45 次查看(过去 30 天)
显示 更早的评论
Hi:
I'm having a hard time understanding the difference between the PID block and the "manual" PID. For better understanding see the enclosed image. The gains are the same for both systems (same transfer function) but for some reason the result is not the same. What could be wrong?
采纳的回答
Arkadiy Turevskiy
2014-2-14
First of all, the gains are not the same.
PID Controller block has a parameter called Filter Coefficient, N. By default this parameter is set to 100. Based on your results, looks like you left this value unchanged. The transfer function of PID Controller block is:
P+I/s+D*N/(1+N/s)
N is the bandwidth of lowpass filter on the derivative. Pure derivative is not a good idea - it amplifies measurement noise, so a practical implementation should avoid pure derivatives and use a low pass filter, which is what PID Controller block does. If you look under the mask, that's how it does it:
The transfer function of you PID Controller you implemented with a derivative block is P+I/s+D*s.
So some difference is to be expected due to the fact that transfer functions are different. But again, the main point is not to use the pure derivative in your simulation. If you want to approach the pure derivative as high as possible, set N high, say at 1,000 or 10,000.
HTH.
2 个评论
dila
2018-11-20
"Coefficient c in the transfer function approximation s/(c*s + 1) used for linearization — Specify the time constant c to approximate the linearization of your system"
But then shouldn't it give the same response with the pid block, when c is set to 0.01 i.e. for N=100 ?
更多回答(1 个)
Ogulcan Sisman
2019-5-16
hey there, currently i am researching about this subject too and i know the N coefficient effects the difference between PID Block and Manual PID. But teacher said there is another thing that effects the difference between them. Does anyone know the other one ?
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!