build an augmented PID control model for a DC servo motor in Simulink
    15 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Tony Cheng
 el 12 de Abr. de 2023
  
    
    
    
    
    Comentada: Sam Chak
      
      
 el 15 de Abr. de 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 comentarios
  Sam Chak
      
      
 el 13 de Abr. de 2023
				
      Editada: Sam Chak
      
      
 el 13 de Abr. de 2023
  
			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

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
Respuesta aceptada
  Sam Chak
      
      
 el 15 de Abr. de 2023
        
      Editada: Sam Chak
      
      
 el 15 de Abr. de 2023
  
      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.

2 comentarios
  Sam Chak
      
      
 el 15 de Abr. de 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.
 directly in this section of the code. 
 directly in this section of the code.
 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.
Más respuestas (1)
Ver también
Categorías
				Más información sobre Classical Control Design en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

