aaa

Committer:
shatari
Date:
Fri Dec 10 14:02:27 2021 +0000
Revision:
3:634166991b10
Parent:
2:0668932f9d5d
a

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:
shatari 3:634166991b10 15 double present_parameter;
shatari 3:634166991b10 16
yuki0108 1:ce6f0674ab0d 17 CalPID(double kp_, double ki_, double kd_,double dt, double max);//PIDの係数3つ(PDの場合でもI=0とかにして3つ)制御周期、、最大値
yuki0108 0:76fdba038ca7 18 void setParameter(double kp_, double ki_, double kd_);
yuki0108 0:76fdba038ca7 19 void setMaxValue(double max);
yuki0108 0:76fdba038ca7 20 void setDELTA_T(double delta_time);
yuki0108 0:76fdba038ca7 21 double calPID(double devia_present);
shatari 3:634166991b10 22 double getPresentPID();
yuki0108 0:76fdba038ca7 23 double calPD(double devia_present);
yuki0108 0:76fdba038ca7 24 double calPI_D(double devia_present,double present_value);//微分先行型PID
yuki0108 0:76fdba038ca7 25 double calP_D(double devia_present,double present_value);//微分先行型PD
yuki0108 0:76fdba038ca7 26 void resetIntegral();
yuki0108 0:76fdba038ca7 27 };
yuki0108 0:76fdba038ca7 28
yuki0108 0:76fdba038ca7 29 #endif