4 directional EMG control of the XY table. Made during my bachelor end assignment.
Dependencies: C12832_lcd HIDScope mbed-dsp mbed
Diff: main.cpp
- Revision:
- 15:ae8b209e8493
- Parent:
- 13:c4e80f6e7113
- Child:
- 16:cdb6d66c2c4e
- Child:
- 21:dcc0fd9dbb08
- Child:
- 23:4d050e85e863
--- a/main.cpp Tue Apr 28 14:26:30 2015 +0000 +++ b/main.cpp Wed Apr 29 09:42:09 2015 +0000 @@ -1,43 +1,44 @@ #include "mbed.h" #include "C12832_lcd.h" -#define P_GAIN 0.9999 +#define P_GAIN 0.998 DigitalOut Dir(p21); PwmOut Step(p22); +DigitalOut Enable(p14); DigitalOut MS1(p27); DigitalOut MS2(p28); DigitalOut MS3(p29); AnalogIn Pot1(p19); AnalogIn Pot2(p20); -C12832_LCD lcd; +//C12832_LCD lcd; BusIn Joystick(p12,p13,p14,p15,p16); DigitalIn Up(p15); DigitalIn Down(p12); int main() { - float setpoint = 2000; //Frequentie + Enable = 0; + float setpoint = 10000; //Frequentie float step_freq = 1; MS1 = 1; - MS2 = 0; + MS2 = 1; MS3 = 0; float p1; float p2; - - Step.period(1./step_freq); // 1 kHz, vanaf 2,5 kHz doet de motor het niet meer. Step.write(0.5); // Duty cycle van 50% // Dir = Pot1; // Dir 1 is naar boven, Dir 0 naar onder. + Enable = 1; while (1) { p1 = Pot1.read(); - Dir = Pot1; + Dir = 0; float new_step_freq; new_step_freq = ((1-P_GAIN)*setpoint) + (P_GAIN*step_freq); step_freq = new_step_freq; Step.period(1.0/step_freq); - lcd.printf("Pot1 : %f \n", p1); - wait(1); //Hier nog ticker inbouwen + //lcd.printf("Pot1 : %f \n", p1); + wait(0.01); //Hier nog ticker inbouwen } } \ No newline at end of file