These are the core files for the Robot at Team conception.

Dependencies:   mbed UniServ

Committer:
obrie829
Date:
Wed Jun 07 11:35:59 2017 +0000
Revision:
17:ec52258b9472
Parent:
0:eba74e7a229b
v18

Who changed what in which revision?

UserRevisionLine numberNew contents of line
obrie829 0:eba74e7a229b 1 /*
obrie829 0:eba74e7a229b 2 * PIDControl.h
obrie829 0:eba74e7a229b 3 *
obrie829 0:eba74e7a229b 4 * Created on: 16.04.2017
obrie829 0:eba74e7a229b 5 * Author: chris
obrie829 0:eba74e7a229b 6 */
obrie829 0:eba74e7a229b 7
obrie829 0:eba74e7a229b 8 #ifndef COMMON_PID_CONTROL_H_
obrie829 0:eba74e7a229b 9 #define COMMON_PID_CONTROL_H_
obrie829 0:eba74e7a229b 10
obrie829 0:eba74e7a229b 11 /**
obrie829 0:eba74e7a229b 12 * This class calculates a PID control
obrie829 0:eba74e7a229b 13 */
obrie829 0:eba74e7a229b 14 class PID_Control
obrie829 0:eba74e7a229b 15 {
obrie829 0:eba74e7a229b 16 public:
obrie829 0:eba74e7a229b 17 PID_Control(); // constructor
obrie829 0:eba74e7a229b 18 virtual ~PID_Control(); //destructor
obrie829 0:eba74e7a229b 19
obrie829 0:eba74e7a229b 20 float calc(float e, float period);
obrie829 0:eba74e7a229b 21 void setPIDValues(float p, float i, float d, float max, float min, float _iMax);
obrie829 0:eba74e7a229b 22
obrie829 0:eba74e7a229b 23 private:
obrie829 0:eba74e7a229b 24 /**
obrie829 0:eba74e7a229b 25 * the proportional gain
obrie829 0:eba74e7a229b 26 */
obrie829 0:eba74e7a229b 27 float kp;
obrie829 0:eba74e7a229b 28
obrie829 0:eba74e7a229b 29 /**
obrie829 0:eba74e7a229b 30 * integral gain
obrie829 0:eba74e7a229b 31 */
obrie829 0:eba74e7a229b 32 float ki;
obrie829 0:eba74e7a229b 33
obrie829 0:eba74e7a229b 34 /**
obrie829 0:eba74e7a229b 35 * differential gain
obrie829 0:eba74e7a229b 36 */
obrie829 0:eba74e7a229b 37 float kd;
obrie829 0:eba74e7a229b 38
obrie829 0:eba74e7a229b 39 /**
obrie829 0:eba74e7a229b 40 * Sum of all the errors
obrie829 0:eba74e7a229b 41 */
obrie829 0:eba74e7a229b 42 float iSum;
obrie829 0:eba74e7a229b 43
obrie829 0:eba74e7a229b 44 /**
obrie829 0:eba74e7a229b 45 * Error value one iteration befor
obrie829 0:eba74e7a229b 46 */
obrie829 0:eba74e7a229b 47 float eOld;
obrie829 0:eba74e7a229b 48
obrie829 0:eba74e7a229b 49 float max;
obrie829 0:eba74e7a229b 50 float min;
obrie829 0:eba74e7a229b 51 float iMax;
obrie829 17:ec52258b9472 52
obrie829 0:eba74e7a229b 53 };
obrie829 0:eba74e7a229b 54
obrie829 0:eba74e7a229b 55 #endif /* COMMON_PID_CONTROL_H_ */