Ziegler Nichols PID Method
Afficher commentaires plus anciens
Hi,
I have a problem ,this is my G(s)=59000/(s^2+59000)
I want to apply the tangent method of Ziegler-Nichols, but my step is a sinusoid undumped. How I can approximate my G(s) to apply this method? Thanks very much.
5 commentaires
Sam Chak
le 1 Mar 2024
Could you please clarify the performance requirements for your control design problem? Specifically, what is the desired response you aim to achieve in the closed-loop feedback control system? This desired response can be further divided into the transient response and steady-state response.
To put it simply, how "smooth" or "desirable" do you want the trajectory of the response to be? For instance, you may have a specific limit on the percent overshoot that the response should not exceed. Additionally, you might want the response to settle within a certain time frame of t seconds.
LORIS IACOBAN
le 1 Mar 2024
However, the response of your system G(s) is oscillatory, which deviates from the typical response of a First Order Plus Dead Time (FOPDT) model.
By the way, have you identified the desired performance requirements for the control design problem? It's important to establish specific performance goals that you wish to achieve. Even when applying Ziegler-Nichols tuning rules, it is crucial to have defined performance requirements; otherwise, the tuning may be considered unsuccessful.
G = tf(59000, [1, 0, 59000])
step(G, 1e-1), grid on
Réponses (1)
I revisit your problem. I'm unsure if you are looking for something like this:
%% original system (marginally stable)
a = 59000;
G = tf(a, [1, 0, a])
%% stabilizer
Kd = 2*sqrt(a)/a;
Gc = pid(0, 0, Kd);
%% closed-loop system (exponentially-stabilized dynamic process)
Gcl = feedback(G, Gc)
tfin= 0.04;
step(Gcl, tfin), grid on
hold on
t = 0:1e-5:tfin;
sol = @(t) exp(-10*sqrt(590)*t).*(exp(10*sqrt(590)*t) - 10*sqrt(590)*t - 1);
m = 89.3576; % max slope
tm = 0.00411693; % time where max slope is
c = - (m*tm - sol(tm)); % offset
y = m*t + c; % line equation
td = 0.00116027; % time delay
plot(t, y)
xline(td, '-.', sprintf('Dead Time: %.5f sec', td), 'color', '#7F7F7F')
ylim([-0.2, 1.2])
hold off
Catégories
En savoir plus sur PID Controller Tuning dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

