build an augmented PID control model for a DC servo motor in Simulink
조회 수: 15 (최근 30일)
이전 댓글 표시
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
Sam Chak
2023년 4월 13일
편집: Sam Chak
2023년 4월 13일
Hi @Tony Cheng
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1354588/image.png)
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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1354593/image.png)
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
채택된 답변
Sam Chak
2023년 4월 15일
편집: Sam Chak
2023년 4월 15일
Hi @Tony Cheng
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1357023/image.png)
댓글 수: 2
Sam Chak
2023년 4월 15일
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1357123/image.png)
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.
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 PID Controller Tuning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!