aaa

Committer:
yuki0108
Date:
Thu Mar 18 12:23:00 2021 +0000
Revision:
1:ce6f0674ab0d
Parent:
CalPIDF.h@0:76fdba038ca7
Child:
2:0668932f9d5d
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 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