Fix #34: Broken PID derivate term calculation. Sign error fixed

This commit is contained in:
Mario Hüttel 2021-07-13 20:32:12 +02:00
parent f4fcaf1e3a
commit 41fbb83b46

View File

@ -85,7 +85,7 @@ float pid_sample(struct pid_controller *pid, float deviation)
}
/* Calculate derivative part */
pid->derivate = pid->k_deriv_t * (deviation - pid->last_in) - pid->k_inv_deriv_t * pid->derivate;
pid->derivate = pid->k_deriv_t * (deviation - pid->last_in) + pid->k_inv_deriv_t * pid->derivate;
output += pid->derivate;
output += pid->integral;