Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Nucleo_spi 2015_denziben_i2c_S2 Nucleo_Motor Nucleo_Motor
Fork of PID by
PID.h
- Committer:
- kikoaac
- Date:
- 2015-09-14
- Revision:
- 4:a3c85727f0f6
- Parent:
- 3:34f4f22b18e7
File content as of revision 4:a3c85727f0f6:
#ifndef PID_H
#define PID_H
#include "mbed.h"
class PID
{
protected:
PID(const PID& p);
PID& operator=(const PID &p) {
return *this;
}
void PIDctrl();
public:
void InputLimits(float max,float min);
void OutputLimits(float max,float min);
PID(float tauKc, float tauKi, float tauKd ,Timer *T);
double s_dErrIntg ,dErr_prev;
void Start();
void pid_reset();
void setInterval(double inter);
//Getters.
void stop();
double dTarget;
double dPoint;
// PI制御ゲイン
double GAIN_P ;//1.5 // 比例ゲイン
double GAIN_I ;//2.8 // 積分ゲイン
double GAIN_D ;//0.2
double data;
private:
double dErr;
double dErrDiff;
float OutMax;
float InMax;
float OutMin;
float InMin;
float OutSpan;
float InSpan;
Timer *timer;
float prev_time;
float gettime() {
float a = timer->read()-prev_time;
//printf("%f ",prev_time);
prev_time=timer->read();
return a;
}
float T;
double dRet;
//Ticker T;
float interval;
};
#endif
