MODSERIAL PID controller edit

Dependencies:   HIDScope MODSERIAL QEI biquadFilter mbed

Fork of PID_controller_Motor by BioBitches TN

Files at this revision

API Documentation at this revision

Comitter:
MBroek
Date:
Fri Oct 28 09:19:48 2016 +0000
Parent:
29:2b711fc9a5b2
Commit message:
robot testing

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Fri Oct 28 08:53:37 2016 +0000
+++ b/main.cpp	Fri Oct 28 09:19:48 2016 +0000
@@ -105,13 +105,13 @@
 double error1_int = 0.00000;                 // Initiele error integral waardes
 double error2_int = 0.00000;
 
-const double T_motor_function = 0.002;           // Periode van de frequentie van het aanroepen van onder andere positiechecker (get_position) en de rest vd motor functie
+const double T_motor_function = 0.01;           // Periode van de frequentie van het aanroepen van onder andere positiechecker (get_position) en de rest vd motor functie
 
 volatile bool flag1 = false, flag2 = false;   // De flags voor de functies aangeroepen door de tickers
 
-const double Kp_1 = 0.1;                    // De PID variablen voor motor 1
-const double Kd_1 = 0.15;
-const double Ki_1 = 0.07;
+const double Kp_1 = 0.2;                    // De PID variablen voor motor 1
+const double Kd_1 = 0.01;
+const double Ki_1 = 0.01;
 
 const double Kp_2 = 1.0;                    // De PID variablen voor motor 2
 const double Kd_2 = 0.4;
@@ -262,10 +262,10 @@
             ref_pos = ref_pos_prev;
             break;
         case 1 :
-            ref_pos = ref_pos_prev + T_motor_function*vrijheid_rad*0.1;         // Dit dwingt af dat de ref pos veranderd met ong 0.5 rad/s
+            ref_pos = ref_pos_prev + T_motor_function*vrijheid_rad*0.3;         // Dit dwingt af dat de ref pos veranderd met ong 0.5 rad/s
             break;
         case -1 :
-            ref_pos = ref_pos_prev - T_motor_function*vrijheid_rad*0.1;
+            ref_pos = ref_pos_prev - T_motor_function*vrijheid_rad*0.3;
             break;
     }
     if(ref_pos >= vrijheid_rad){
@@ -390,6 +390,8 @@
     position_motor1 = initial_pos_m1;
     position_motor2 = initial_pos_m2;
     position_motor2_prev = initial_pos_m2;
+    PID_output_1 = 0.0;                      
+    PID_output_2 = 0.0;
     ledgreen.write(0);
     ledred.write(0);
     encoder_motor1.reset();