design feedback state controller
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi,
I have a pressing system which it's input is the "press velocity" and the output is "exit temperature".SISO system
the matrices for the state space model are scalar and like this: A = [0] B = [16.6] C = [475] D = [0]
I need to design a state controller to keep the exit temperature in a range like 500-600°C by changing the press velocity during the pressing. the desired pole is let say -10.
I appreciate any idea.
0 commentaires
Réponses (1)
Sam Chak
le 24 Fév 2023
Modifié(e) : Sam Chak
le 24 Fév 2023
You can try the following design approach if it works for your application.
A = 0;
B = 16.6;
C = 475;
D = 0;
sys = ss(A, B, C, D)
The design task is to analytically compute the control gain K, or tune it
K = 10/16.6
until the desired pole is obtained
eig(A - B*K) % eigenvalue of compensated system
If you understand the theory behind the design, then this place() function is not needed:
place(A, B, -10) % should return the same value as K
sysD = ss(A-B*K, B, C, D); % dummy
scale = 1/dcgain(sysD) % scale for input signal
Td = 550; % Desired Temperature (input signal)
input = Td*scale % scaled input signal
Compensated System:
sysC = ss(A-B*K, B*(input), C, D);
step(sysC, 1)
S = stepinfo(sysC)
0 commentaires
Voir également
Catégories
En savoir plus sur Classical Control Design dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!