a

Dependencies:   HCSR04_2 MPU6050_2 mbed SDFileSystem3

Fork of AutoFlight2018_Control by 航空研究会

Committer:
TUATBM
Date:
Fri Sep 07 03:42:49 2018 +0000
Revision:
1:09a162f4f6ce
Parent:
0:813f5cd20cf1
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
HARUKIDELTA 0:813f5cd20cf1 1 #ifndef PID_MBED_H
HARUKIDELTA 0:813f5cd20cf1 2 #define PID_MBED_H
HARUKIDELTA 0:813f5cd20cf1 3
HARUKIDELTA 0:813f5cd20cf1 4
HARUKIDELTA 0:813f5cd20cf1 5 #include "mbed.h"
HARUKIDELTA 0:813f5cd20cf1 6
HARUKIDELTA 0:813f5cd20cf1 7 class PID
HARUKIDELTA 0:813f5cd20cf1 8 {
HARUKIDELTA 0:813f5cd20cf1 9 public:
HARUKIDELTA 0:813f5cd20cf1 10 double kp, ki, kd, max, min, dt;
HARUKIDELTA 0:813f5cd20cf1 11
HARUKIDELTA 0:813f5cd20cf1 12 //コンストラクタ
HARUKIDELTA 0:813f5cd20cf1 13 PID();
HARUKIDELTA 0:813f5cd20cf1 14 PID(double Pgain, double Igain, double Dgain);
HARUKIDELTA 0:813f5cd20cf1 15 PID(double Pgain, double Igain, double Dgain, double Max, double Min);
HARUKIDELTA 0:813f5cd20cf1 16 //デストラクタ
HARUKIDELTA 0:813f5cd20cf1 17 ~PID();
HARUKIDELTA 0:813f5cd20cf1 18
HARUKIDELTA 0:813f5cd20cf1 19 void initialize(void);
HARUKIDELTA 0:813f5cd20cf1 20 void setPIDgain(double Pgain, double Igain, double Dgain);
HARUKIDELTA 0:813f5cd20cf1 21 void setMaxMin(double Max, double Min);
HARUKIDELTA 0:813f5cd20cf1 22 void switchMaxMin(bool Maxcheck, bool Mincheck);
HARUKIDELTA 0:813f5cd20cf1 23 double calcPID(double nowval, double targetval, double dt);
HARUKIDELTA 0:813f5cd20cf1 24
HARUKIDELTA 0:813f5cd20cf1 25
HARUKIDELTA 0:813f5cd20cf1 26 private:
HARUKIDELTA 0:813f5cd20cf1 27 double integral;
HARUKIDELTA 0:813f5cd20cf1 28 double oldval[2], diff[2];
HARUKIDELTA 0:813f5cd20cf1 29 bool maxcheck, mincheck;
HARUKIDELTA 0:813f5cd20cf1 30 };
HARUKIDELTA 0:813f5cd20cf1 31
HARUKIDELTA 0:813f5cd20cf1 32 #endif