PID用ライブラリ ※位置型PIDと速度型PIDの選択式

Dependents:   Tourobo2022_TBCMotorDriver

Pid.h

Committer:
YutaTogashi
Date:
2021-12-30
Revision:
6:4074aded9b9d
Parent:
4:3c2651359136

File content as of revision 6:4074aded9b9d:

#ifndef PID_H
#define PID_H

#include "mbed.h"

enum MODE_NUMBER{
    POSITION_PID,
    SPEED_PID,
};

class Pid {
    public:
        void setup(float Kp,float Ki,float Kd,short PidMode = 0,float period = 0.01f);
        
        void setupLimit(float UpperLimit,float FallLimit);
        
        void calculate(float targetValue,float nowValue,bool enableErrorIntegration=true);
        
        void reset();
        
        float getDuty();
  
    private:
        
        float KP,KI,KD,PERIOD,duty,now,before,upperLimit,fallLimit;
        float p,i,d,e,e1,e2;
        short MODE;
        //Timer pid;
};

#endif