lknds
Dependencies: mbed TrapezoidControl Pulse QEI
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_ */
Generated on Sun Jul 17 2022 15:33:13 by 1.7.2