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:
Sun Feb 10 22:08:10 2013 +0000
Revision:
30:021e13b62575
Parent:
29:8b7362a2ee14
Child:
33:fd98776b6cc7
newest changes because of the needed faster refresh rate for the ESCs 495Hz and the new build of the same hardware in X-configuration.; ; RC angle steering not yet finished

Who changed what in which revision?

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