Control of VoiceCoil Lab#7

Dependencies:   mbed

Committer:
altb2
Date:
Fri May 24 10:06:51 2019 +0000
Revision:
2:91678e836872
Parent:
1:92f175969d90
Final G3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb2 0:05dd1de8cc3f 1 #ifndef PID_CNTRL_H_
altb2 0:05dd1de8cc3f 2 #define PID_CNTRL_H_
altb2 0:05dd1de8cc3f 3
pmic 1:92f175969d90 4 // PID Controller Class
altb2 0:05dd1de8cc3f 5 class PID_Cntrl
altb2 0:05dd1de8cc3f 6 {
altb2 0:05dd1de8cc3f 7 public:
altb2 0:05dd1de8cc3f 8
altb2 2:91678e836872 9 PID_Cntrl(float Kp, float Ki, float Kd, float Tf, float Ts, float Min, float Max);
altb2 0:05dd1de8cc3f 10
altb2 0:05dd1de8cc3f 11 float operator()(float error) {
altb2 0:05dd1de8cc3f 12 return update((double)error);
altb2 0:05dd1de8cc3f 13 }
altb2 0:05dd1de8cc3f 14
altb2 0:05dd1de8cc3f 15 virtual ~PID_Cntrl();
altb2 0:05dd1de8cc3f 16
altb2 0:05dd1de8cc3f 17 void reset(float initValue);
altb2 0:05dd1de8cc3f 18 float update(double error);
altb2 0:05dd1de8cc3f 19
altb2 0:05dd1de8cc3f 20 private:
altb2 0:05dd1de8cc3f 21
pmic 1:92f175969d90 22 // controller parameters (member variables)
altb2 2:91678e836872 23 float Kp, Ki, Kd, Tf, Ts, Min, Max;
pmic 1:92f175969d90 24 // storage for signals (member variables)
altb2 2:91678e836872 25 float yI, yD, e_old;
altb2 0:05dd1de8cc3f 26 };
altb2 0:05dd1de8cc3f 27
pmic 1:92f175969d90 28 #endif
pmic 1:92f175969d90 29