auto-sync
This commit is contained in:
parent
94b719e951
commit
eacbf308ba
|
@ -38,8 +38,8 @@ static msg_t AltCtrlThread(int param) {
|
||||||
|
|
||||||
currentAltDuty = altPid.getValue(14, getVBatt(engineConfiguration), 1);
|
currentAltDuty = altPid.getValue(14, getVBatt(engineConfiguration), 1);
|
||||||
if (boardConfiguration->isVerboseAlternator) {
|
if (boardConfiguration->isVerboseAlternator) {
|
||||||
scheduleMsg(logger, "alt duty: %f/vbatt=%f/p=%f/i=%f", currentAltDuty, getVBatt(engineConfiguration),
|
scheduleMsg(logger, "alt duty: %f/vbatt=%f/p=%f/i=%f/d=%f int=%f", currentAltDuty, getVBatt(engineConfiguration),
|
||||||
altPid.getP(), altPid.getI());
|
altPid.getP(), altPid.getI(), altPid.getD(), altPid.getIntegration());
|
||||||
}
|
}
|
||||||
|
|
||||||
alternatorControl.setSimplePwmDutyCycle(currentAltDuty / 100);
|
alternatorControl.setSimplePwmDutyCycle(currentAltDuty / 100);
|
||||||
|
|
|
@ -36,7 +36,6 @@ float Pid::getValue(float target, float input, float dTime) {
|
||||||
} else if (result < minResult) {
|
} else if (result < minResult) {
|
||||||
integration += minResult - result;
|
integration += minResult - result;
|
||||||
result = minResult;
|
result = minResult;
|
||||||
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -61,6 +60,10 @@ float Pid::getI(void) {
|
||||||
return iFactor;
|
return iFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float Pid::getIntegration(void) {
|
||||||
|
return integration;
|
||||||
|
}
|
||||||
|
|
||||||
float Pid::getD(void) {
|
float Pid::getD(void) {
|
||||||
return dFactor;
|
return dFactor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ public:
|
||||||
void reset(void);
|
void reset(void);
|
||||||
float getP(void);
|
float getP(void);
|
||||||
float getI(void);
|
float getI(void);
|
||||||
|
float getIntegration(void);
|
||||||
float getD(void);
|
float getD(void);
|
||||||
private:
|
private:
|
||||||
float pFactor;
|
float pFactor;
|
||||||
|
|
|
@ -48,5 +48,14 @@ void testPidController(void) {
|
||||||
assertEquals(10, pid.getValue(14, 16, 0.1));
|
assertEquals(10, pid.getValue(14, 16, 0.1));
|
||||||
assertEquals(10, pid.getValue(14, 16, 1));
|
assertEquals(10, pid.getValue(14, 16, 1));
|
||||||
|
|
||||||
|
pid.updateFactors(29, 0, 0);
|
||||||
|
assertEquals(10, pid.getValue(14, 16, 1));
|
||||||
|
assertEquals(68, pid.getIntegration());
|
||||||
|
|
||||||
|
assertEquals(10, pid.getValue(14, 16, 1));
|
||||||
|
assertEquals(68, pid.getIntegration());
|
||||||
|
|
||||||
|
assertEquals(10, pid.getValue(14, 16, 1));
|
||||||
|
assertEquals(68, pid.getIntegration());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue