design feedback state controller
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Sam Chak
2023 年 2 月 24 日
編集済み: Sam Chak
2023 年 2 月 24 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Classical Control Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!