4 directional EMG control of the XY table. Made during my bachelor end assignment.
Dependencies: C12832_lcd HIDScope mbed-dsp mbed
Revision 37:3b9b18450612, committed 2015-05-27
- Comitter:
- jessekaiser
- Date:
- Wed May 27 14:55:50 2015 +0000
- Parent:
- 36:d6e0a835bb2d
- Child:
- 38:c592354f5080
- Commit message:
- Setpoint is now maximum speed. It can't go higher, even if you use more force.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed May 27 14:49:14 2015 +0000 +++ b/main.cpp Wed May 27 14:55:50 2015 +0000 @@ -3,7 +3,7 @@ #include "arm_math.h" #include "HIDScope.h" -#define K_Gain 8 //Gain of the filtered EMG signal +#define K_Gain 16 //Gain of the filtered EMG signal #define Damp 4 //Deceleration of the motor #define Mass 1 // Mass value #define dt 0.002 //Sample frequency @@ -84,12 +84,19 @@ acc = force/Mass; speed = speed_old + (acc * dt); D = speed * Damp; + if (speed > 1) { + speed = 1; + step_freq = setpoint; + } + else { step_freq = (setpoint*speed); + } Step.period(1.0/step_freq); speed_old = speed; + if (step_freq < MIN_freq) { - Enable = 1; + Enable = 1; } else { Enable = 0; }