lknds

Dependencies:   mbed TrapezoidControl Pulse QEI

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PID.h Source File

PID.h

00001                /*
00002  * PID.h
00003  *
00004  * Created: 2016/07/01 17:47:45
00005  *  Author: yuuki
00006  */ 
00007 
00008 
00009 #ifndef PID_H_
00010 #define PID_H_
00011 
00012 namespace PID_SPACE
00013 {
00014     class PID
00015     {
00016         private:
00017         double diff[2];
00018         double integral;
00019         double deltaTime;
00020         double dataRangeLower;
00021         double dataRangeUpper;
00022         double kp,ki,kd;
00023         double mv;
00024         
00025         public:
00026         // deltaTime:1サイクル時間( 1 / Process Frequency )
00027         PID(double deltaTime);
00028         PID(double deltaTime, double dataRangeLower, double dataRangeUpper);
00029         PID(double deltaTime, double dataRangeLower, double dataRangeUpper, double KP, double KI, double KD);
00030         
00031         //パラメータを設定
00032         void SetParam(double KP, double KI, double KD);
00033         
00034         //測定量を入力し操作量を取得
00035         double SetPV(double sensorData, double targetData);
00036         
00037         //操作量を取得
00038         double GetMV();
00039         
00040         //入力した値を制限して取得
00041         double limit(double data, double lower, double upper);
00042 
00043         //TODO:速度系PID関数
00044         double SetSpeed(double sensorData,double targetData);
00045     };
00046     
00047     
00048 }
00049 
00050 
00051 
00052 #endif /* PID_H_ */