PID Control: Varying saturation range?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
0 comentarios
Respuesta aceptada
Fangjun Jiang
el 4 de Nov. de 2020
2 comentarios
Fangjun Jiang
el 4 de Nov. de 2020
PID itself is linear. Any nonlinear behavior you have to do it outside of it.
Más respuestas (0)
Ver también
Categorías
Más información sobre Engines & Motors en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!