Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
calamaridudeman
Date:
Sun Nov 24 19:04:01 2013 +0000
Revision:
28:21773a6fb6df
Parent:
26:53b793b7a82f
Child:
29:33c5c61f1068
Child:
35:a4e89e78d034
Motor class is wrong, but motor encoders work so far

Who changed what in which revision?

UserRevisionLine numberNew contents of line
calamaridudeman 23:112c0be5a7f3 1 #include "mbed.h"
calamaridudeman 23:112c0be5a7f3 2 #include "QEI.h"
calamaridudeman 23:112c0be5a7f3 3
calamaridudeman 23:112c0be5a7f3 4 #ifndef MOTOR_HPP
calamaridudeman 23:112c0be5a7f3 5 #define MOTOR_HPP
calamaridudeman 23:112c0be5a7f3 6
calamaridudeman 23:112c0be5a7f3 7 class Motor {
calamaridudeman 23:112c0be5a7f3 8
calamaridudeman 23:112c0be5a7f3 9 public:
calamaridudeman 28:21773a6fb6df 10 Motor(PinName aPin, PinName fPin, PinName bPin, PinName pwmPin, QEI &enc);
calamaridudeman 23:112c0be5a7f3 11
calamaridudeman 23:112c0be5a7f3 12 void start();
calamaridudeman 23:112c0be5a7f3 13 void stop();
calamaridudeman 23:112c0be5a7f3 14 void setTorque(float t);
calamaridudeman 23:112c0be5a7f3 15 void Control();
calamaridudeman 28:21773a6fb6df 16 int getPos();
calamaridudeman 23:112c0be5a7f3 17 float getCurrent();
calamaridudeman 23:112c0be5a7f3 18 static float filterLowPass(float old, float currentIn, float alphar);
calamaridudeman 23:112c0be5a7f3 19 void setPos(float pos);
calamaridudeman 23:112c0be5a7f3 20 void setVel(float vel);
calamaridudeman 23:112c0be5a7f3 21 void setPosVel(float pos, float vel);
calamaridudeman 23:112c0be5a7f3 22 void zero();
calamaridudeman 23:112c0be5a7f3 23
calamaridudeman 23:112c0be5a7f3 24 float kp;
calamaridudeman 23:112c0be5a7f3 25 float kd;
calamaridudeman 23:112c0be5a7f3 26
calamaridudeman 23:112c0be5a7f3 27 private:
calamaridudeman 23:112c0be5a7f3 28 Ticker t;
calamaridudeman 23:112c0be5a7f3 29 AnalogIn aIn;
calamaridudeman 23:112c0be5a7f3 30 DigitalOut Forward;
calamaridudeman 23:112c0be5a7f3 31 DigitalOut Backward;
calamaridudeman 23:112c0be5a7f3 32 PwmOut pwmOut;
calamaridudeman 23:112c0be5a7f3 33 QEI encoder;
calamaridudeman 23:112c0be5a7f3 34
calamaridudeman 23:112c0be5a7f3 35 float speed;
calamaridudeman 23:112c0be5a7f3 36 float freq;
calamaridudeman 23:112c0be5a7f3 37 float pos;
calamaridudeman 23:112c0be5a7f3 38 float angle;
calamaridudeman 23:112c0be5a7f3 39 float voltage;
calamaridudeman 23:112c0be5a7f3 40 int mode;
calamaridudeman 23:112c0be5a7f3 41
calamaridudeman 23:112c0be5a7f3 42 float dAngularVelocity;
calamaridudeman 23:112c0be5a7f3 43 float dAngle;
calamaridudeman 23:112c0be5a7f3 44 float dTorque;
calamaridudeman 23:112c0be5a7f3 45 };
calamaridudeman 23:112c0be5a7f3 46
calamaridudeman 23:112c0be5a7f3 47 #endif