Eu não entendo parte integrante do controlador PID. Vamos assumir esse pseudocódigo da 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 é definido como zero no início. E então, no loop, ele integra o erro ao longo do tempo. Quando eu faço uma alteração (positiva) no ponto de ajuste, o erro se torna positivo e a integral "come" os valores ao longo do tempo (desde o início). Mas o que eu não entendo é que, quando o erro estabilizar de volta a zero, a parte integral ainda terá algum valor (erros integrados ao longo do tempo) e ainda contribuirá para o valor de saída do controlador, mas não deve, porque se o erro for zero, a saída do PID também deve ser zero, certo?
Alguém pode me explicar isso, por favor?