Ziegler Nichols PID Method

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 Comments

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.
I want that G(s) is in FOPDT form so i can apply the tangent method of Ziegler so I can obtain the deley time L and T the time costant. It's possible?
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])
G = 59000 ----------- s^2 + 59000 Continuous-time transfer function.
step(G, 1e-1), grid on
Fani
Fani on 17 May 2024
Moved: Sam Chak on 18 May 2024
kontrol servo berdasarkan pembaacan suhu dimana degan target setpoin suhu 63
Fani
Fani on 17 May 2024
Moved: Sam Chak on 18 May 2024
make a Ziegler nicho 1 pid tuning or s curve where to set the servo to find the set poi temperature which is 63, the pid output on the servo is to control the temperature so that it is stable at 63 degrees

Sign in to comment.

Answers (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])
G = 59000 ----------- s^2 + 59000 Continuous-time transfer function.
%% stabilizer
Kd = 2*sqrt(a)/a;
Gc = pid(0, 0, Kd);
%% closed-loop system (exponentially-stabilized dynamic process)
Gcl = feedback(G, Gc)
Gcl = 59000 --------------------- s^2 + 485.8 s + 59000 Continuous-time transfer function.
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

Asked:

on 1 Mar 2024

Answered:

on 18 May 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!