File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -66,10 +66,16 @@ bool QuickPID::Compute()
66
66
error = *mySetpoint - input;
67
67
68
68
/* Working error, Proportional on Measurement and Remaining PID output*/
69
- if (!pOnE) outputSum += FX_MUL (FL_FX (ki) , error) - FX_MUL (FL_FX (kpd), dInput);
69
+ if (!pOnE) {
70
+ if (ki < 31 && kpd < 31 ) outputSum += FX_MUL (FL_FX (ki) , error) - FX_MUL (FL_FX (kpd), dInput);
71
+ else outputSum += (ki * error) - (kpd * dInput);
72
+ }
70
73
71
74
/* Working error, Proportional on Error and remaining PID output*/
72
- if (pOnE) outputSum += FX_MUL (FL_FX (kpi) , error) - FX_MUL (FL_FX (kd), dInput);
75
+ if (pOnE) {
76
+ if (kpi < 31 && kd < 31 ) outputSum += FX_MUL (FL_FX (kpi) , error) - FX_MUL (FL_FX (kd), dInput);
77
+ else outputSum += (kpi * error) - (kd * dInput);
78
+ }
73
79
74
80
if (outputSum > outMax) outputSum = outMax;
75
81
if (outputSum < outMin) outputSum = outMin;
You can’t perform that action at this time.
0 commit comments