design feedback state controller
1 view (last 30 days)
Show older comments
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 Comments
Answers (1)
Sam Chak
on 24 Feb 2023
Edited: Sam Chak
on 24 Feb 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 Comments
See Also
Categories
Find more on Classical Control Design in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!