Carlo Collodi / kangaroo

Dependencies:   QEI mbed

Committer:
calamaridudeman
Date:
Tue Nov 26 04:42:39 2013 +0000
Revision:
38:922f2584bdfd
Parent:
37:bf257a0154db
Child:
44:3566c5699ba6
motors now move!  Unknown cause, pwm freq is now being set just before every setting of duty cycle, not sure why this is needed

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 37:bf257a0154db 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 37:bf257a0154db 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 37:bf257a0154db 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 38:922f2584bdfd 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