build an augmented PID control model for a DC servo motor in Simulink

24 vues (au cours des 30 derniers jours)
Tony Cheng
Tony Cheng le 12 Avr 2023
Commenté : Sam Chak le 15 Avr 2023
Hi there,
I am going to build an augmented PID control model for a DC servo motor in Simulink.
The state-space model of the DC motor has been built already.
Here I want to find a way to realise the augmented PID control, with the block of PID in simulink.
Are there any ways to realise it?
Many THX!
  5 commentaires
Tony Cheng
Tony Cheng le 13 Avr 2023
Hi Sam, I want to control the speed of the motor using this comtroller.
Sam Chak
Sam Chak le 13 Avr 2023
Modifié(e) : Sam Chak le 13 Avr 2023
I think the ordinary PID block can also control the speed of the motor. For the augmented PID, do you mean to "group" the PID block and the Motor block together under a single Block Mask?
I have also searched online and found these two configs. Which one are you referring to?
Config #1
Efe, M. O. (2015). An augmented PID control scheme for robust control. 2015 International Workshop on Recent Advances in Sliding Modes (RASM). https://doi.org/10.1109/rasm.2015.7154582
Config #2
di Capaci, R. B., & Scali, C. (2018). An augmented PID control structure to compensate for valve stiction. IFAC-PapersOnLine, 51(4), 799–804. https://doi.org/10.1016/j.ifacol.2018.06.181

Connectez-vous pour commenter.

Réponse acceptée

Sam Chak
Sam Chak le 15 Avr 2023
Modifié(e) : Sam Chak le 15 Avr 2023
I'm unfamiliar with your system, but the Augmented PID Control Scheme should look like the following diagram in Simulink. If the model reference is a linear system, then the S-function can be replaced by a State-Space block.
  2 commentaires
Tony Cheng
Tony Cheng le 15 Avr 2023
Sam, thanks so much! I think this diagram is what I want. I will try to realise it in simulink.
Sam Chak
Sam Chak le 15 Avr 2023
You are welcome, @Tony Cheng. The S-Function block is preferred because it can send the acceleration output directly in this section of the code.
function sys = mdlOutputs(t, x, u)
sys(1) = ... % xd
sys(2) = ... % xd'
sys(3) = ... % xd''
end
However, the block requires a bit of programming skill. If you are familiar with ode45(), then I think you should be okay with it.

Connectez-vous pour commenter.

Plus de réponses (1)

Tony Cheng
Tony Cheng le 13 Avr 2023

Hi Sam, thx for providing the 2 choices. the term augmented means the actuating torques of a motor for a predefined trajectory are feedforwarded into the pid controller. if u can find the paper

and fig.4 in this paper, u can easily get the meaning.

Cheers Chen

Community Treasure Hunt

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

Start Hunting!

Translated by