Собираю инкубатор, все работает но есть проблема в подборе параметров.
Для управления нагревом взял код
сейчас параметры P = 11000
I =6.2
D =1.1
Самое интересное, что система выходит на нужный режим через 21 час
подбор параметром по предложенному варианту
Для люто инерционных систем длительный выход на заданную температуру норм или что-то можно поправить?
Для управления нагревом взял код
C++:
// (вход, установка, п, и, д, период в секундах, мин.выход, макс. выход)
int computePID(float input, float setpoint, float kp, float ki, float kd, float dt, int minOut, int maxOut) {
float err = setpoint - input;
static float integral = 0, prevErr = 0;
integral = constrain(integral + (float)err * dt * ki, minOut, maxOut);
float D = (err - prevErr) / dt;
prevErr = err;
return constrain(err * kp + integral + D * kd, minOut, maxOut);
}
I =6.2
D =1.1
Самое интересное, что система выходит на нужный режим через 21 час
подбор параметром по предложенному варианту
- kP = 0.6 * kP1
- kI = kP / T * 2 * dt
- kD = kP * T / 8 / dt
Для люто инерционных систем длительный выход на заданную температуру норм или что-то можно поправить?