aaa

Committer:
yuki0108
Date:
Thu Mar 18 12:19:17 2021 +0000
Revision:
0:76fdba038ca7
3/18

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yuki0108 0:76fdba038ca7 1 #ifndef CALPIDF_H
yuki0108 0:76fdba038ca7 2 #define CALPIDF_H
yuki0108 0:76fdba038ca7 3
yuki0108 0:76fdba038ca7 4 class CalPIDF
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 0:76fdba038ca7 15 CalPIDF(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