Humidistat
Arduino firmware for a humidistat (humidity controller)
|
Base class for a controller. Owns a PID instance, and holds a reference to a ConfigStore instance. More...
#include <Controller.h>
Public Member Functions | |
Controller (const ConfigStore *cs, double Kp, double Ki, double Kd, double Kf, uint16_t dt, double cvMin, double cvMax, double defaultSP, double defaultCV) | |
Constructor. | |
void | getTerms (double &pTerm, double &iTerm, double &dTerm) const |
Get the three PID terms by reference. | |
void | update () |
Run the controller: Typically reads a sensor, runs a cycle of the PID loop and drives some actuator. | |
void | updatePIDParameters () |
Update the PID parameters from the configStore. | |
const ConfigStore * | getConfigStore () |
Get a pointer to the ConfigStore instance. | |
Public Attributes | |
bool | active = false |
double | pv = 0 |
Process variable. | |
double | sp |
Setpoint. | |
double | cv |
Control variable. | |
Protected Attributes | |
PID | pid |
const ConfigStore & | cs |
unsigned long | sensorLastRead = 0 |
Base class for a controller. Owns a PID instance, and holds a reference to a ConfigStore instance.
Definition at line 11 of file Controller.h.
Controller::Controller | ( | const ConfigStore * | cs, |
double | Kp, | ||
double | Ki, | ||
double | Kd, | ||
double | Kf, | ||
uint16_t | dt, | ||
double | cvMin, | ||
double | cvMax, | ||
double | defaultSP, | ||
double | defaultCV ) |
Constructor.
cs | Pointer to a ConfigStore instance |
Kp | Proportional gain |
Ki | Integral gain (in 1/s) |
Kd | Derivative gain (in s) |
Kf | Feed-forward gain |
dt | Timestep (in ms) |
cvMin | Lower limit for control value |
cvMax | Upper limit for control value |
defaultSP | Default value for the setpoint |
defaultCV | Default value for the control variable |
Definition at line 3 of file Controller.cpp.
const ConfigStore * Controller::getConfigStore | ( | ) |
Get a pointer to the ConfigStore instance.
Definition at line 13 of file Controller.cpp.
void Controller::getTerms | ( | double & | pTerm, |
double & | iTerm, | ||
double & | dTerm ) const |
Get the three PID terms by reference.
pTerm | |
iTerm | |
dTerm |
Definition at line 7 of file Controller.cpp.
void Controller::update | ( | ) |
Run the controller: Typically reads a sensor, runs a cycle of the PID loop and drives some actuator.
void Controller::updatePIDParameters | ( | ) |
Update the PID parameters from the configStore.
bool Controller::active = false |
Definition at line 19 of file Controller.h.
|
protected |
Definition at line 14 of file Controller.h.
double Controller::cv |
Control variable.
Definition at line 23 of file Controller.h.
|
protected |
Definition at line 13 of file Controller.h.
double Controller::pv = 0 |
Process variable.
Definition at line 21 of file Controller.h.
|
protected |
Definition at line 16 of file Controller.h.
double Controller::sp |
Setpoint.
Definition at line 22 of file Controller.h.