Control of VoiceCoil Lab#7
Dependencies: mbed
PID_Cntrl.h@2:91678e836872, 2019-05-24 (annotated)
- 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?
User | Revision | Line number | New 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 |