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

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 Comments

Have you manually designed the PID already?
What is the DC motor state-space model?
What is desired response time of the motor?
Hi Sam, thx for your interest.
we try to use the pid block in the control toolbox to save time, but we are not sure whether the block can realise the augmented pid or not. The state space model of a dc motor can be found in the control toolbox user'guide (the pdf file is on the mathworks website). we are now not concerning too much about the performance, but try to build the model first.
many thx!
Thanks for your reply, @Tony Cheng. What does the augmented PID controller do?
Hi Sam, I want to control the speed of the motor using this comtroller.
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

Sign in to comment.

 Accepted Answer

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 Comments

Sam, thanks so much! I think this diagram is what I want. I will try to realise it in simulink.
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.

Sign in to comment.

More Answers (1)

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

Asked:

on 12 Apr 2023

Commented:

on 15 Apr 2023

Community Treasure Hunt

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

Start Hunting!