robot positie error test ding

Dependencies:   MODSERIAL mbed EMG_Input QEI biquadFilter

Committer:
kbruil
Date:
Mon Oct 31 12:32:54 2016 +0000
Revision:
14:d0e5894aa352
Parent:
10:27fdd43f3b85
Code biorobotics 31-10-2016

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kbruil 9:19dafcb4a098 1 #include "mbed.h"
kbruil 9:19dafcb4a098 2 #include "QEI.h"
kbruil 9:19dafcb4a098 3 #include "BiQuad.h"
kbruil 9:19dafcb4a098 4 #ifndef M_PI
kbruil 9:19dafcb4a098 5 #define M_PI 3.141592653589793238462643383279502884L // Pi
kbruil 9:19dafcb4a098 6 #endif
kbruil 9:19dafcb4a098 7
kbruil 9:19dafcb4a098 8 class motor {
kbruil 9:19dafcb4a098 9 private:
kbruil 10:27fdd43f3b85 10 PwmOut pwm; // pwm port
kbruil 9:19dafcb4a098 11 DigitalOut dir; // direction port
kbruil 9:19dafcb4a098 12 QEI sense; // encoder
kbruil 9:19dafcb4a098 13
kbruil 9:19dafcb4a098 14 BiQuad bq1, bq2; // Declare biquads for filtering D
kbruil 9:19dafcb4a098 15 BiQuadChain bqc; // Declare biquad chains for filtering D
kbruil 9:19dafcb4a098 16
kbruil 9:19dafcb4a098 17 double integral;
kbruil 9:19dafcb4a098 18 double olderr;
kbruil 9:19dafcb4a098 19 double P, I, D;
kbruil 9:19dafcb4a098 20 bool flip;
kbruil 9:19dafcb4a098 21
kbruil 9:19dafcb4a098 22
kbruil 9:19dafcb4a098 23 public:
kbruil 9:19dafcb4a098 24 motor(PinName p_pwm, PinName p_dir, PinName p_senseA, PinName p_senseB, double p, double i, double d, bool flipped);
kbruil 9:19dafcb4a098 25 void setSpeed(float val);
kbruil 9:19dafcb4a098 26 double getPosition(void);
kbruil 9:19dafcb4a098 27 void PID(double setpoint, double dt);
kbruil 9:19dafcb4a098 28 ~motor();
kbruil 9:19dafcb4a098 29
kbruil 9:19dafcb4a098 30 };