Como funciona o algoritmo PID?

Que problema o PID tenta resolver, de modo geral? Em termos simples, o PID é uma forma de responder à pergunta: quanta “força” é preciso aplicar para passar de um estado atual a um estado desejado?

Alguns exemplos:

  1. Ajustar a potência de um ar-condicionado para atingir uma temperatura
  2. Acelerar ou frear para atingir uma velocidade
  3. Ajustar a rotação dos motores de um drone, em RPM, para atingir determinada velocidade de rotação

Alguns conceitos:

  1. A “força”: a saída do sistema PID, também chamada de soma PID, é literalmente a soma dos três componentes P/I/D.
  2. O estado desejado: setpoint

Alguns fatos:

  1. É um algoritmo iterativo: precisamos reavaliar continuamente a saída com base no estado atual.
  2. Quanto maior a frequência, mais suave será o sinal de controle, respeitando os limites do componente que executa o sinal: o atuador.

A seguir está um diagrama de blocos do algoritmo PID

Diagrama do algoritmo PID



A seguir está uma implementação simples do algoritmo

    const dt = time - this._prevTime;
    const error = setpoint - measurement;

    this._i += error * dt;

    const p = this.kp * error;
    const i = this.ki * this._i;
    const d = this.kd * (measurement - this._prevMeasurement) / dt;
    const f = this.kf * (command - this._prevCommand) / dt;

    this._prevCommand = command;
    this._prevTime = time;

    return (p + i + d + f);
Português (Brasil)