This commit is contained in:
Vincent van der Wal
2025-12-15 20:52:25 +01:00
parent b60e89f74d
commit a4dd7160aa
6 changed files with 181 additions and 14 deletions
+25
View File
@@ -0,0 +1,25 @@
#ifndef PID_CONTROLLER_H
#define PID_CONTROLLER_H
class PIDController
{
private:
double kp, ki, kd, setpoint, integral, prev_error;
double max_output, min_output, integral_max, dt;
bool first_run;
// Clamp function (C++11 compatible)
double clamp(double value, double min_val, double max_val) const;
public:
PIDController(double Kp, double Ki, double Kd,
double max_out = 100.0, double min_out = 0.0,
double integ_max = 50.0);
void setSetpoint(double sp);
void setDt(double sample_time);
double compute(double current_temp);
void reset();
};
#endif