aaa
Dependencies: HCSR04_2 MPU6050_2 mbed SDFileSystem3
Fork of AutoFlight2017_now2 by
pid/pid.h@0:92024886c0be, 2017-08-01 (annotated)
- Committer:
- TUATBM
- Date:
- Tue Aug 01 12:27:13 2017 +0000
- Revision:
- 0:92024886c0be
??????????????????????; ????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TUATBM | 0:92024886c0be | 1 | #ifndef PID_MBED_H |
TUATBM | 0:92024886c0be | 2 | #define PID_MBED_H |
TUATBM | 0:92024886c0be | 3 | |
TUATBM | 0:92024886c0be | 4 | |
TUATBM | 0:92024886c0be | 5 | #include "mbed.h" |
TUATBM | 0:92024886c0be | 6 | |
TUATBM | 0:92024886c0be | 7 | class PID |
TUATBM | 0:92024886c0be | 8 | { |
TUATBM | 0:92024886c0be | 9 | public: |
TUATBM | 0:92024886c0be | 10 | double kp, ki, kd, max, min, dt; |
TUATBM | 0:92024886c0be | 11 | |
TUATBM | 0:92024886c0be | 12 | //コンストラクタ |
TUATBM | 0:92024886c0be | 13 | PID(); |
TUATBM | 0:92024886c0be | 14 | PID(double Pgain, double Igain, double Dgain); |
TUATBM | 0:92024886c0be | 15 | PID(double Pgain, double Igain, double Dgain, double Max, double Min); |
TUATBM | 0:92024886c0be | 16 | //デストラクタ |
TUATBM | 0:92024886c0be | 17 | ~PID(); |
TUATBM | 0:92024886c0be | 18 | |
TUATBM | 0:92024886c0be | 19 | void initialize(void); |
TUATBM | 0:92024886c0be | 20 | void setPIDgain(double Pgain, double Igain, double Dgain); |
TUATBM | 0:92024886c0be | 21 | void setMaxMin(double Max, double Min); |
TUATBM | 0:92024886c0be | 22 | void switchMaxMin(bool Maxcheck, bool Mincheck); |
TUATBM | 0:92024886c0be | 23 | double calcPID(double nowval, double targetval, double dt); |
TUATBM | 0:92024886c0be | 24 | |
TUATBM | 0:92024886c0be | 25 | |
TUATBM | 0:92024886c0be | 26 | private: |
TUATBM | 0:92024886c0be | 27 | double integral; |
TUATBM | 0:92024886c0be | 28 | double oldval[2], diff[2]; |
TUATBM | 0:92024886c0be | 29 | bool maxcheck, mincheck; |
TUATBM | 0:92024886c0be | 30 | }; |
TUATBM | 0:92024886c0be | 31 | |
TUATBM | 0:92024886c0be | 32 | #endif |