aaa
CalPID.h@2:0668932f9d5d, 2021-03-18 (annotated)
- Committer:
- yuki0108
- Date:
- Thu Mar 18 12:29:04 2021 +0000
- Revision:
- 2:0668932f9d5d
- Parent:
- 1:ce6f0674ab0d
- Child:
- 3:634166991b10
3/18
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yuki0108 | 2:0668932f9d5d | 1 | #ifndef CALPID_H |
yuki0108 | 2:0668932f9d5d | 2 | #define CALPID_H |
yuki0108 | 0:76fdba038ca7 | 3 | |
yuki0108 | 1:ce6f0674ab0d | 4 | class CalPID |
yuki0108 | 0:76fdba038ca7 | 5 | { |
yuki0108 | 0:76fdba038ca7 | 6 | private: |
yuki0108 | 0:76fdba038ca7 | 7 | double kp, ki, kd; |
yuki0108 | 0:76fdba038ca7 | 8 | double delta_t; |
yuki0108 | 0:76fdba038ca7 | 9 | double deviation_old; |
yuki0108 | 0:76fdba038ca7 | 10 | double integral; |
yuki0108 | 0:76fdba038ca7 | 11 | double value_PID; |
yuki0108 | 0:76fdba038ca7 | 12 | double max_pid; |
yuki0108 | 0:76fdba038ca7 | 13 | |
yuki0108 | 0:76fdba038ca7 | 14 | public: |
yuki0108 | 1:ce6f0674ab0d | 15 | CalPID(double kp_, double ki_, double kd_,double dt, double max);//PIDの係数3つ(PDの場合でもI=0とかにして3つ)制御周期、、最大値 |
yuki0108 | 0:76fdba038ca7 | 16 | void setParameter(double kp_, double ki_, double kd_); |
yuki0108 | 0:76fdba038ca7 | 17 | void setMaxValue(double max); |
yuki0108 | 0:76fdba038ca7 | 18 | void setDELTA_T(double delta_time); |
yuki0108 | 0:76fdba038ca7 | 19 | double calPID(double devia_present); |
yuki0108 | 0:76fdba038ca7 | 20 | double calPD(double devia_present); |
yuki0108 | 0:76fdba038ca7 | 21 | double calPI_D(double devia_present,double present_value);//微分先行型PID |
yuki0108 | 0:76fdba038ca7 | 22 | double calP_D(double devia_present,double present_value);//微分先行型PD |
yuki0108 | 0:76fdba038ca7 | 23 | void resetIntegral(); |
yuki0108 | 0:76fdba038ca7 | 24 | }; |
yuki0108 | 0:76fdba038ca7 | 25 | |
yuki0108 | 0:76fdba038ca7 | 26 | #endif |