NOT FINISHED YET!!! My first try to get a self built fully working Quadrocopter based on an mbed, a self built frame and some other more or less cheap parts.

Dependencies:   mbed MODI2C

Committer:
maetugr
Date:
Sat Dec 15 08:42:36 2012 +0000
Revision:
29:8b7362a2ee14
Child:
30:021e13b62575
gyro only version running ESCs on 490Hz now

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maetugr 29:8b7362a2ee14 1 #include "mbed.h"
maetugr 29:8b7362a2ee14 2
maetugr 29:8b7362a2ee14 3 #ifndef PID_H
maetugr 29:8b7362a2ee14 4 #define PID_H
maetugr 29:8b7362a2ee14 5
maetugr 29:8b7362a2ee14 6 class PID {
maetugr 29:8b7362a2ee14 7 public:
maetugr 29:8b7362a2ee14 8 PID(float P, float I, float D, float Integral_Max);
maetugr 29:8b7362a2ee14 9 float compute(float SetPoint, float ProcessValue);
maetugr 29:8b7362a2ee14 10 void setIntegrate(bool Integrate);
maetugr 29:8b7362a2ee14 11
maetugr 29:8b7362a2ee14 12 private:
maetugr 29:8b7362a2ee14 13 float P,I,D; // PID Values
maetugr 29:8b7362a2ee14 14
maetugr 29:8b7362a2ee14 15 Timer dtTimer; // Timer to measure time between every compute
maetugr 29:8b7362a2ee14 16 float LastTime; // Time when last loop was
maetugr 29:8b7362a2ee14 17
maetugr 29:8b7362a2ee14 18 float SetPoint; // the Point you want to reach
maetugr 29:8b7362a2ee14 19 float Integral; // the sum of all errors (constaind so it doesn't get infinite)
maetugr 29:8b7362a2ee14 20 float Integral_Max; // maximum that the sum of all errors can get (not important: last error not counted)
maetugr 29:8b7362a2ee14 21 float PreviousError; // the Error of the last computation to get derivative
maetugr 29:8b7362a2ee14 22 bool Integrate; // if the integral is used / the controller is in use
maetugr 29:8b7362a2ee14 23 };
maetugr 29:8b7362a2ee14 24
maetugr 29:8b7362a2ee14 25 #endif