Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
include/motor.hpp@49:3aaa790800ad, 2013-12-01 (annotated)
- Committer:
- sherryxy
- Date:
- Sun Dec 01 23:43:58 2013 +0000
- Revision:
- 49:3aaa790800ad
- Parent:
- 44:3566c5699ba6
- Child:
- 53:978b7fa74080
trying to get calibration working
Who changed what in which revision?
User | Revision | Line number | New 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(); |
sherryxy | 49:3aaa790800ad | 17 | float getAngle(); |
calamaridudeman | 23:112c0be5a7f3 | 18 | float getCurrent(); |
calamaridudeman | 23:112c0be5a7f3 | 19 | static float filterLowPass(float old, float currentIn, float alphar); |
calamaridudeman | 23:112c0be5a7f3 | 20 | void setPos(float pos); |
calamaridudeman | 23:112c0be5a7f3 | 21 | void setVel(float vel); |
calamaridudeman | 23:112c0be5a7f3 | 22 | void setPosVel(float pos, float vel); |
calamaridudeman | 23:112c0be5a7f3 | 23 | void zero(); |
sherryxy | 49:3aaa790800ad | 24 | void calibAngle(float ang); |
calamaridudeman | 23:112c0be5a7f3 | 25 | |
calamaridudeman | 23:112c0be5a7f3 | 26 | float kp; |
calamaridudeman | 23:112c0be5a7f3 | 27 | float kd; |
calamaridudeman | 23:112c0be5a7f3 | 28 | |
calamaridudeman | 23:112c0be5a7f3 | 29 | private: |
calamaridudeman | 23:112c0be5a7f3 | 30 | Ticker t; |
calamaridudeman | 23:112c0be5a7f3 | 31 | AnalogIn aIn; |
calamaridudeman | 23:112c0be5a7f3 | 32 | DigitalOut Forward; |
calamaridudeman | 23:112c0be5a7f3 | 33 | DigitalOut Backward; |
calamaridudeman | 23:112c0be5a7f3 | 34 | PwmOut pwmOut; |
calamaridudeman | 37:bf257a0154db | 35 | QEI& encoder; |
calamaridudeman | 23:112c0be5a7f3 | 36 | |
calamaridudeman | 23:112c0be5a7f3 | 37 | float speed; |
calamaridudeman | 23:112c0be5a7f3 | 38 | float freq; |
calamaridudeman | 23:112c0be5a7f3 | 39 | float pos; |
calamaridudeman | 23:112c0be5a7f3 | 40 | float angle; |
calamaridudeman | 23:112c0be5a7f3 | 41 | float voltage; |
calamaridudeman | 44:3566c5699ba6 | 42 | volatile int mode; |
calamaridudeman | 43:68faf056ed5c | 43 | |
calamaridudeman | 44:3566c5699ba6 | 44 | volatile float dAngularVelocity; |
calamaridudeman | 44:3566c5699ba6 | 45 | volatile float dAngle; |
calamaridudeman | 44:3566c5699ba6 | 46 | volatile float dTorque; |
calamaridudeman | 23:112c0be5a7f3 | 47 | }; |
calamaridudeman | 23:112c0be5a7f3 | 48 | |
calamaridudeman | 23:112c0be5a7f3 | 49 | #endif |