final
Dependencies: Encoder HIDScope MODSERIAL TouchButton mbed-dsp mbed
Fork of Robot1_11 by
Diff: main.cpp
- Revision:
- 40:207eb8ab507a
- Parent:
- 39:7d36e1219707
- Child:
- 41:f2478822cee9
--- a/main.cpp Sun Nov 02 12:33:11 2014 +0000 +++ b/main.cpp Sun Nov 02 12:55:26 2014 +0000 @@ -434,7 +434,7 @@ pid(0,0,true); Ticker looptimer3; - looptimer3.attach(motor1aansturingdeel2,TSAMP1); + looptimer3.attach(motor1aansturingdeel2,TSAMP1); //of TSAMP2?.... wait(5); ////is aan te passen (tijd die nodig is om balletje te slaan looptimer3.detach(); pc.printf("detachMotor1\n"); @@ -696,22 +696,6 @@ toestand = WACHTEN; pc.printf("if1\n"); } - if (snelheidsstand != 0 && toestand == WACHTEN && stop == 0) { // stop = 0 in het begin let op dat dit na reset nog zo is - toestand = SLAAN; - pc.printf("slaan \n"); - if ( snelheidsstand==3) { - setspeed = V3; - pc.printf("Snel 3 \n"); - } - if ( snelheidsstand==2) { - setspeed = V2; - pc.printf("Snel 2\n"); - } - if ( snelheidsstand==1) { - setspeed = V1; - pc.printf("Snel 1 \n"); - } - } if (toestand == SLAAN && motor1.getPosition() <= ANGLEMAX) { toestand = TERUGKEREN; //motor1.setPosition(0); @@ -720,8 +704,7 @@ stop = 1; //zorgt dat hij niet weer gaat slaan tot er gereset is... pc.printf("toestand = terugkeren\n\r"); } - switch(toestand) - { + switch(toestand) { case SLAAN: pidpositie(ANGLEMAX, motor1.getPosition());//dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch //?? motor1.getPosition(nieuwe positie); @@ -729,45 +712,64 @@ pwm_motor1.write(new_pwm); motordir1 = 1; pc.printf("SLAAN\n"); - break; + break; case WACHTEN: pidpositie(ANGLEMIN,motor1.getPosition()); //dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch //?? motor1.getPosition(nieuwe positie); pwm_motor1.write(0); pc.printf("ifwachten\n"); - break; - } + if (snelheidsstand != 0 && stop == 0) { + toestand = SLAAN; + pc.printf("slaan \n"); + if ( snelheidsstand==3) { + setspeed = V3; + pc.printf("Snel 3 \n"); + } + if ( snelheidsstand==2) { + setspeed = V2; + pc.printf("Snel 2\n"); + } + if ( snelheidsstand==1) { + setspeed = V1; + pc.printf("Snel 1 \n"); + } + } //end if + break; + + /*if (snelheidsstand != 0 && toestand == WACHTEN && stop == 0) { // stop = 0 in het begin let op dat dit na reset nog zo is + toestand = SLAAN; + pc.printf("slaan \n"); + if ( snelheidsstand==3) { + setspeed = V3; + pc.printf("Snel 3 \n"); + } + if ( snelheidsstand==2) { + setspeed = V2; + pc.printf("Snel 2\n"); + } + if ( snelheidsstand==1) { + setspeed = V1; + pc.printf("Snel 1 \n"); + } + }*/ + + } //eind van switch scope.set(0,motor1.getPosition()); scope.set(1,motor1.getPosition()); scope.send(); - /*if (toestand == WACHTEN) { - pidpositie(ANGLEMIN,motor1.getPosition()); //dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch - //?? motor1.getPosition(nieuwe positie); - pwm_motor1.write(0); - pc.printf("ifwachten\n"); - } - if (toestand == SLAAN) { - pidpositie(ANGLEMAX, motor1.getPosition());//dit is nu alleen een waarde, moet vervolgens in een functie terugkomen toch - //?? motor1.getPosition(nieuwe positie); - new_pwm = pid(setspeed, motor1.getSpeed(),false); - pwm_motor1.write(new_pwm); - motordir1 = 1; - pc.printf("SLAAN\n"); - } - - if (toestand == TERUGKEREN) { - pidpositie(ANGLEMIN, motor1.getPosition()); - } + /* if (toestand == TERUGKEREN) { + pidpositie(ANGLEMIN, motor1.getPosition()); + } - if (toestand == TERUGKEREN) { - new_pwm = pid(setspeed, motor1.getSpeed(),false); - pwm_motor1.write(new_pwm); - motordir1 = 0; - pc.printf("motor gaat terugkeren\n\r"); - pc.printf("new pwm %f\r\n",new_pwm); - }*/ + if (toestand == TERUGKEREN) { + new_pwm = pid(setspeed, motor1.getSpeed(),false); + pwm_motor1.write(new_pwm); + motordir1 = 0; + pc.printf("motor gaat terugkeren\n\r"); + pc.printf("new pwm %f\r\n",new_pwm); + }*/ } void motor1aansturingdeel2() @@ -788,22 +790,15 @@ pc.printf("motor2.getPosition %d\r\n", motor2.getPosition()); } - switch(toestand) - { - case WACHTEN: - pwm_motor1.write(0); - //pidpositie(ANGLEMIN, motor1.getPosition()); - pc.printf("new position %f\r\n", new_pos); - //pc.printf("ifwachten2\n"); - break; + switch(toestand) { + case WACHTEN: + pwm_motor1.write(0); + //pidpositie(ANGLEMIN, motor1.getPosition()); + pc.printf("new position %f\r\n", new_pos); + //pc.printf("ifwachten2\n"); + break; } scope.set(0,motor1.getPosition()); //ruwe data scope.set(2,motor1.getPosition()); //filtered scope.send(); - /*if (toestand == WACHTEN) { - pwm_motor1.write(0); - //pidpositie(ANGLEMIN, motor1.getPosition()); - pc.printf("new position %f\r\n", new_pos); - //pc.printf("ifwachten2\n"); - }*/ } \ No newline at end of file