aaa

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?

UserRevisionLine numberNew 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