41 float calculoPID(
float setpoint,
float feedback,
bool debugMSG =
false);
float integral
Acumulador integral.
float Kd
Ganancia derivativa.
bool saturated
Indica si el PID está saturado.
PID(float Kp, float Ki, float Kd, float outputMin, float outputMax, float dt, float outputMaxChanged)
Constructor del controlador PID.
float prevError
Error previo.
void resetPID()
Reinicia el estado interno del PID.
float deltaOutput
Cambio entre salidas.
float outputMax
Límite máximo de salida.
float statedt(float dt)
Valida y corrige el tiempo de muestreo.
float output
Salida final del PID.
float derivative
Término derivativo.
float Kp
Ganancia proporcional.
void printDebugPID(float setpoint, float feedback)
Imprime información de depuración del PID.
float outputMaxChanged
Máximo cambio permitido por ciclo.
void setOutputLimits(float outputMin, float outputMax)
Establece los límites de salida del PID.
float rawOutput
Salida sin limitación de cambio.
float outputMin
Límite mínimo de salida.
float dt
Tiempo de muestreo.
float prevOutput
Salida previa.
float prevFeedback
Feedback previo para derivative-on-measurement.
float Ki
Ganancia integral.
float proportional
Término proporcional.
float pidNoIntegral
PID sin término integral.
void setDt(float dt)
Establece un nuevo tiempo de muestreo.
float calculoPID(float setpoint, float feedback, bool debugMSG=false)
Calcula la salida del controlador PID.
void setKPID(float Kp, float Ki, float Kd)
Establece nuevas ganancias PID.