How do I reverse the effect of an integral block?
Mostra commenti meno recenti
Quick summary of the system I'm designing. This is a model of a PID speed controller for a motor driving a lead screw. The problem comes with modelling the encoder which reads the rotor position, and differentiates it to get the speed for the feedback loop.

The reason I'm calculating the speed like this is because it's a more accurate representation of the actual system.
The controller works fine when I take the speed feedback directly (before the "convert to rotations" integral block), but for some reason when I take the output of the integral block and differentiate it, it completely breaks the controller.
Shouldn't taking the derrivative of the position give me the speed at that point, or at least a close approximation of it? Is there something fundamentally wrong that I am doing with this setup?
4 Commenti
Can you measure and compare the two signals marked by the red dots? Show the graph later.

Janith Wijekoon
il 19 Apr 2022
Thanks for showing the comparison.
Without the derivative block, you are measuring the angular speed directly. If you look closely at the 1 second (horizontally stretched image), you can see the original output is a high-frequency oscillatory signal that quickly dies down in that split second. This effect is caused by the setpoint jump at 1 second and the selection of the 'aggressive' PID gains.
Naturally, when the derivative block is used on the angular position signal to recover the angular speed, the high-frequency oscillatory signal will cause the excitation effect in the derivative block, and amplified by the 60-Gain block. This excitation effect is sufficient to cause a degradation in the motor performance, if it isn't sufficient to destabilize the motor system.

Janith Wijekoon
il 20 Apr 2022
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Programmatic Tuning in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




