Script voor aansturen motoren
Dependencies: Encoder HIDScope MODSERIAL mbed-dsp mbed
Diff: main.cpp
- Revision:
- 15:7d142004b400
- Parent:
- 14:affdb0636f24
- Child:
- 16:f4df06bf58ab
diff -r affdb0636f24 -r 7d142004b400 main.cpp --- a/main.cpp Tue Oct 28 13:16:00 2014 +0000 +++ b/main.cpp Wed Oct 29 11:15:59 2014 +0000 @@ -64,7 +64,8 @@ float error; float out_p = 0; static float out_i = 0; - error = setpoint - motor1.getPosition(); + setpoint = 126; + error = setpoint - measurement; out_p = error*K_P; out_i += error*K_I; clamp(&out_i,-I_LIMIT,I_LIMIT); @@ -74,8 +75,9 @@ int main() { + //motor1 - speed1 = 0.7; + /*speed1 = 0.7; hoek1 = 0.09; //in seconde wait(1); pwm_motor1.write(0.1); @@ -99,25 +101,25 @@ pwm_motor1.write(speed1); wait(hoek1); pwm_motor1.write(0); - + */ //motor2 - /*wait(1); + wait(1); speed2 = 1; motordir1=1; - pwm_motor1.write(0.1); //Deze snelheid kan lager worden ingesteld om accurator te zijn. - wait(2.7); //naar 140 graden + pwm_motor1.write(0.3); //Deze snelheid kan lager worden ingesteld om accurator te zijn. + wait(0.26); //naar 140 graden pwm_motor1.write(0); //CCW wait(1); motordir1=0; pwm_motor1.write(speed2); //Deze snelheid moet maximaal om het balletje te slaan. - wait(0.2); //balletje slaan, 160 graden + wait(0.16); //balletje slaan, 160 graden pwm_motor1.write(0); wait(1); motordir1=1; //CW pwm_motor1.write(0.1); //Deze kan lager worden ingesteld om accurater terug te gaan. - wait(0.5); //terug naar begin positie, 20 graden - pwm_motor1.write(0); */ + wait(0.87); //terug naar begin positie, 20 graden + pwm_motor1.write(0); Ticker log_timer; Ticker timer;