PID

Dependents:   zerotorque_final

Committer:
nylon0212
Date:
Fri Nov 23 04:43:14 2018 +0000
Revision:
0:d2c5f7d65d0d
20181123

Who changed what in which revision?

UserRevisionLine numberNew 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*/