PID
PID.h@0:d2c5f7d65d0d, 2018-11-23 (annotated)
- Committer:
- nylon0212
- Date:
- Fri Nov 23 04:43:14 2018 +0000
- Revision:
- 0:d2c5f7d65d0d
20181123
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nylon0212 | 0:d2c5f7d65d0d | 1 | #ifndef PID_H |
nylon0212 | 0:d2c5f7d65d0d | 2 | #define PID_H |
nylon0212 | 0:d2c5f7d65d0d | 3 | |
nylon0212 | 0:d2c5f7d65d0d | 4 | #include "mbed.h" |
nylon0212 | 0:d2c5f7d65d0d | 5 | |
nylon0212 | 0:d2c5f7d65d0d | 6 | class PID{ |
nylon0212 | 0:d2c5f7d65d0d | 7 | public: |
nylon0212 | 0:d2c5f7d65d0d | 8 | |
nylon0212 | 0:d2c5f7d65d0d | 9 | PID(float setKp, float setKi, float setKd, float setSampletime); |
nylon0212 | 0:d2c5f7d65d0d | 10 | void SetOutputLimits(float setoutputLimits_H, float setoutputLimits_L); |
nylon0212 | 0:d2c5f7d65d0d | 11 | void SetInputLimits(float setinputLimits_H, float setinputLimits_L); |
nylon0212 | 0:d2c5f7d65d0d | 12 | void Compute(float setreference, float setfeedbackvalue); |
nylon0212 | 0:d2c5f7d65d0d | 13 | void PID::EnableAntiWindUp(float Ka_); |
nylon0212 | 0:d2c5f7d65d0d | 14 | |
nylon0212 | 0:d2c5f7d65d0d | 15 | float Kp; |
nylon0212 | 0:d2c5f7d65d0d | 16 | float Ki; |
nylon0212 | 0:d2c5f7d65d0d | 17 | float Kd; |
nylon0212 | 0:d2c5f7d65d0d | 18 | float Ka; |
nylon0212 | 0:d2c5f7d65d0d | 19 | |
nylon0212 | 0:d2c5f7d65d0d | 20 | float error[3]; |
nylon0212 | 0:d2c5f7d65d0d | 21 | float output; |
nylon0212 | 0:d2c5f7d65d0d | 22 | float reference; |
nylon0212 | 0:d2c5f7d65d0d | 23 | |
nylon0212 | 0:d2c5f7d65d0d | 24 | |
nylon0212 | 0:d2c5f7d65d0d | 25 | |
nylon0212 | 0:d2c5f7d65d0d | 26 | |
nylon0212 | 0:d2c5f7d65d0d | 27 | float sampletime; |
nylon0212 | 0:d2c5f7d65d0d | 28 | |
nylon0212 | 0:d2c5f7d65d0d | 29 | |
nylon0212 | 0:d2c5f7d65d0d | 30 | |
nylon0212 | 0:d2c5f7d65d0d | 31 | private: |
nylon0212 | 0:d2c5f7d65d0d | 32 | |
nylon0212 | 0:d2c5f7d65d0d | 33 | bool Outputlimit_bool; |
nylon0212 | 0:d2c5f7d65d0d | 34 | bool Inputlimit_bool; |
nylon0212 | 0:d2c5f7d65d0d | 35 | bool AntiWindUp_bool; |
nylon0212 | 0:d2c5f7d65d0d | 36 | |
nylon0212 | 0:d2c5f7d65d0d | 37 | float outputLimits_H; |
nylon0212 | 0:d2c5f7d65d0d | 38 | float outputLimits_L; |
nylon0212 | 0:d2c5f7d65d0d | 39 | float inputLimits_H; |
nylon0212 | 0:d2c5f7d65d0d | 40 | float inputLimits_L; |
nylon0212 | 0:d2c5f7d65d0d | 41 | |
nylon0212 | 0:d2c5f7d65d0d | 42 | float feedbackvalue; |
nylon0212 | 0:d2c5f7d65d0d | 43 | // Ticker PID_timer; |
nylon0212 | 0:d2c5f7d65d0d | 44 | |
nylon0212 | 0:d2c5f7d65d0d | 45 | }; |
nylon0212 | 0:d2c5f7d65d0d | 46 | |
nylon0212 | 0:d2c5f7d65d0d | 47 | #endif /* PID_H*/ |