the slap
Dependencies: Encoder HIDScope MODSERIAL TextLCD mbed-dsp mbed
Fork of The_SLAP_5_1 by
Diff: main.cpp
- Revision:
- 10:d156dc2efe5c
- Parent:
- 9:9000c5c1a0d6
- Child:
- 11:ea9fe75faf63
--- a/main.cpp Wed Oct 29 19:13:44 2014 +0000 +++ b/main.cpp Wed Oct 29 20:40:14 2014 +0000 @@ -29,9 +29,9 @@ #define K_D_GM (0.003 /TSAMP) #define I_LIMIT 1. #define RADTICKGM 0.003927 -#define THETA0 6.85 //hoe bepaald????? -#define THETA1 7.77 -#define THETA2 9.21 +#define THETADOT0 6.85 +#define THETADOT1 7.77 +#define THETADOT2 9.21 TextLCD lcd(PTE5, PTE3, PTE2, PTB11, PTB10, PTB9); // rs, e, d4-d7 CONTROLEREN!! (Pinnen wel vrij :) )! //TextLCD lcd(p15, p16, p17, p18, p19, p20, TextLCD::LCD16x4); // rs, e, d4-d7 ok @@ -104,7 +104,7 @@ float error_km; static float prev_error_km = 0; float out_p_km = 0; - static float out_i_km = 0; + static float out_i_km = 0; //waarom static float?????? float out_d_km = 0; error_km = setpointkm-measurementkm; out_p_km = error_km*K_P_KM; @@ -222,7 +222,7 @@ }//einde if statement break; }//einde case bicepsmax - case TRICEPSMAX: { //maximale inspanning biceps + case TRICEPSMAX: { //maximale inspanning triceps lcd.cls(); lcd.locate(0,0); lcd.printf("Kalibratie"); //regel 1 LCD scherm @@ -274,7 +274,7 @@ tijdtimer.start(); while( tijdtimer <= 3) { if (kalibratiewaarde_biceps > 0.3 && kalibratiewaarde_triceps < 0.3) { //linker goal! - setpointkm = -127; //11,12graden naar rechts??????? + setpointkm = -127; //11,12graden naar links new_pwm_km = pidkm(setpointkm, motor1.getPosition()); clamp(&new_pwm_km, -1,1); if(new_pwm_km < 0) @@ -287,7 +287,7 @@ } } if (kalibratiewaarde_biceps < 0.3 && kalibratiewaarde_triceps > 0.3) { //rechter goal! - setpointkm = 127; //11,12graden naar links?????? + setpointkm = 127; //11,12graden naar rechts new_pwm_km = pidkm(setpointkm, motor1.getPosition()); clamp(&new_pwm_km, -1,1); if(new_pwm_km < 0) @@ -328,7 +328,7 @@ int16_t setpointgm; float new_pwm_gm; float kalibratiewaarde_biceps; - float theta; + float thetadot; kalibratiewaarde_biceps=(envelop_emg0/max_value_biceps); tijdtimer.start(); while (tijdtimer <=3 ) { @@ -339,9 +339,9 @@ lcd.locate(0,1); lcd.printf("Daar gaat ie!"); //regel 2 LCD scherm tijdslaan.start(); - theta=THETA0; - setpointgm = (theta*tijdslaan/RADTICKGM); - new_pwm_gm = pidgm(setpointgm, motor2.getPosition()); + thetadot=THETADOT0; + setpointgm = (thetadot*tijdslaan/RADTICKGM); + new_pwm_gm = pidgm(setpointgm, motor2.getPosition()); //wat gebeurt hier???? clamp(&new_pwm_gm, -1,1); if(new_pwm_gm < 0) motordir2 = 0; @@ -360,8 +360,8 @@ lcd.printf("MIDDELSTE GOAL"); //regel 1 LCD scherm lcd.locate(0,1); lcd.printf("DAAR GAAT IE!"); //regel 2 LCD scherm - theta=THETA1; - setpointgm = ((theta*tijdslaan)/RADTICKGM); + thetadot=THETADOT1; + setpointgm = ((thetadot*tijdslaan)/RADTICKGM); new_pwm_gm = pidgm(setpointgm, motor2.getPosition()); clamp(&new_pwm_gm, -1,1); if(new_pwm_gm < 0) @@ -380,8 +380,8 @@ lcd.printf("BOVENSTE GOAL"); //regel 1 LCD scherm lcd.locate(0,1); lcd.printf("DAAR GAAT IE!"); //regel 2 LCD scherm - theta=THETA2; - setpointgm = ((theta*tijdslaan)/RADTICKGM); + thetadot=THETADOT2; + setpointgm = ((thetadot*tijdslaan)/RADTICKGM); new_pwm_gm = pidgm(setpointgm, motor2.getPosition()); clamp(&new_pwm_gm, -1,1); if(new_pwm_gm < 0) @@ -425,4 +425,4 @@ } //while } //int main - +}}