Borrar filtros
Borrar filtros

PID Control: Varying saturation range?

5 visualizaciones (últimos 30 días)
Felix Schönig
Felix Schönig el 4 de Nov. de 2020
Comentada: Fangjun Jiang el 4 de Nov. de 2020
Hey folks,
I need your help and/or opinion on this problem:
I am trying to control the shaft speed of a hydro motor by regulating its displacement in Simscape. However, depending on the actual shaft speed, the range in which the displacement is allowed to be set, changes. For a normalized displacement control signal 0...1: At speeds that are higher than the nominal shaft speed of the motor (as described in the motors data sheet), the allowable displacement decreases from 1 to zero (at an actual_speed/nominal_speed ratio of ~ 1.7). How can I implement that logic in e.g. a PID control?
A first attempt consisted of implementing a switch block, which would check if the control signal of the PID block was higher than allowed (by comparing with the speed ratio described above, extracted from a lookup table). However, that´s a bad solution since it does not feed the information about the limitation back to the controller, so the controller might still be trying to set displacement = 1, but only some "allowable" displacement = (e.g.) 0.5 reaches the motor.
Is there a way, for example, to set varying saturation limits for the control signal output?
Looking forward to your replies and solutions!
Kind regards
Felix

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 4 de Nov. de 2020
  2 comentarios
Felix Schönig
Felix Schönig el 4 de Nov. de 2020
Thanks, I did not know this block. However, the way I see it, the controller itself does not get an information about the varying saturation limits. But does he even need that info? I guess you might be right. Controller tries displacement = 1, displacement = .5 reaches the motor block after running through the dynamic saturation block and any knowledge about dynamic saturation limits would not change the controller's behaviour. Is that right?
Fangjun Jiang
Fangjun Jiang el 4 de Nov. de 2020
PID itself is linear. Any nonlinear behavior you have to do it outside of it.

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by