1 #ifndef PID_CONTROLLER_H 2 #define PID_CONTROLLER_H 110 float Error,
float ErrorDiff,
float TimeDelta);
114 #endif // PID_CONTROLLER_H float PreviousErrorDiff
ErrorDiff on the previous iteration for differential part calculation.
float IntegralCoeff
Coefficient for integral part of controller. Equal to K/Ti from standard formula. ...
float ProportionalCoeff
Coefficient for proportional part of controller. Equal to K from standard formula.
PID controller instance data.
float IntegralValue
Variable holding current integral value.
float PidFunc(struct pid_controller_t *Pid, float Error, float ErrorDiff, float TimeDelta)
Calculate PID function.
void PidReset(struct pid_controller_t *Pid)
Reset PID controller.
float MinIntegral
Minimal allowed integrated part value.
float DifferentialCoeff
Coefficient for differential part of controller. Equal to K*Td from standard formula.
float MaxIntegral
Maximal allowed integrated part value.
void PidInit(struct pid_controller_t *Pid, float K, float Ti, float Td, float MinIntegral, float MaxIntegral)
Initialize PID controller data. Function gets standard coefficients from PID formula: f(n) = K * ( Er...