Saya tidak mengerti bagian integral dari kontroler PID. Mari kita asumsikan kodesemu ini dari Wikipedia:
previous_error = 0
integral = 0
start:
error = setpoint - measured_value
integral = integral + error*dt
derivative = (error - previous_error)/dt
output = Kp*error + Ki*integral + Kd*derivative
previous_error = error
wait(dt)
goto start
Integral diatur ke nol di awal. Dan kemudian dalam loop itu mengintegrasikan kesalahan dari waktu ke waktu. Ketika saya membuat perubahan (positif) dalam setpoint, kesalahan akan menjadi positif dan integral akan "memakan" nilai-nilai dari waktu ke waktu (dari awal). Tapi apa yang saya tidak mengerti adalah, ketika kesalahan menstabilkan kembali ke nol, bagian integral masih akan memiliki beberapa nilai (kesalahan terintegrasi dari waktu ke waktu) dan masih akan berkontribusi pada nilai output pengontrol, tetapi seharusnya tidak, karena jika kesalahan adalah nol, output PID harus nol juga, bukan?
Adakah yang bisa menjelaskannya pada saya?