PID tuning (Ziegler–Nichols)

Have the ultimate gain from an oscillation test, or the parameters of the process step response? Enter them to get settings and a chart of how the loop handles a set-point step.

Step response (K, L, T)

change in output / change in control signal

s
s

Result

Kp2.7
Ti16.67s
Td—
Overshoot (simulated)
65.5%
Settling time (±2%)
74.5 s
Final value
1
00.511.5050100150200set pointprocess outputtime [s]output
Methods compared
MethodKpTi [s]Td [s]Ki [1/s]Kd [s]
Ziegler–Nichols2.716.67—0.162—
CHR1.0536—0.02917—
SIMC1.530—0.05—

Simulation: process K·e^(−Ls)/(Ts+1), ideal controller (Kp, Ti, Td), derivative on the measurement with a Td/10 filter. Ki = Kp/Ti and Kd = Kp·Td are the parallel-form settings.

Embed on your site

Paste this code into your page’s HTML. The tool sets its own height, and the link to Kalkio has to stay visible.

Calculator by Kalkio · kalkio.app

The Ziegler–Nichols method

The first version is the oscillation test: turn off integral and derivative action and raise the P gain until the loop oscillates with constant amplitude. That gain is Ku and the period is Tu. A classic PID then has Kp = 0.6·Ku, Ti = Tu/2, Td = Tu/8.

The second version uses the open-loop step response. Step the control signal and read the gain K, dead time L and time constant T. Ziegler–Nichols rules aim for quarter-amplitude decay (each oscillation is ¼ of the previous one), so they are aggressive and overshoot a lot. CHR and SIMC are gentler.

Reading the chart

The chart shows the simulated response to a set-point step from 0 to 1 for the model K·e^(−Ls)/(Ts+1). A real process will behave a little differently, so treat the settings as a starting point for tuning on site.

Common questions

What is the difference between ideal and parallel form?

In the ideal (ISA) form, integral and derivative depend on Kp: Kp·(e + 1/Ti∫e + Td·de/dt). In the parallel form each term has its own gain: Kp·e + Ki∫e + Kd·de/dt, where Ki = Kp/Ti and Kd = Kp·Td. Check which one your controller uses.

How do I read L and T from a step response?

Draw a tangent at the steepest point. L is the time from the step to where the tangent crosses the starting value, and T is the time from there to where it crosses the final value.