Thomas Burgers / Mbed 2 deprecated ZZ-TheChenneRobot

Dependencies:   Encoder HIDScope MODSERIAL QEI biquadFilter mbed

Revision:
13:bcf8ec7120ab
Parent:
12:26759959c960
Child:
14:599896acf576
--- a/main.cpp	Wed Oct 07 13:41:11 2015 +0000
+++ b/main.cpp	Wed Oct 07 13:51:17 2015 +0000
@@ -21,6 +21,14 @@
                     // stel setpoint tussen (0 en 360) en position tussen (0 en 360)
                     // max verschil: 360 -> dan pwm_to_motor 1 tot aan een verschil van 15 graden-> bij 15 moet pwm_to_motor ong 0.1 zijn 
                     // dus     0.1=15*gain      gain=0.0067
+                                                        
+        double Gain_I_turn=0.025;  //(1/2000) //0.00000134
+        // pwm_motor_I=(integrate_error_turn + sample_time*error)*gain;  pwm = (4*0.01 + 4)* Gain => 0.1 pwm gewenst (na 1 seconde een verschil van 4 graden)  
+                        // 0.1 / (4.01) = Gain = 0.025
+        
+        double Gain_D_turn=1;                    
+        // error_derivative_turn=(error - previous_error_turn)/sample_time
+        //   
 
 double conversion_counts_to_degrees=0.085877862594198;
                     // gear ratio motor = 131
@@ -123,13 +131,6 @@
         
         previous_error_turn=error;                                // current error is saved to memory constant to be used in 
                                                                   // the next loop for calculating the derivative error 
-        
-        // pwm_motor_I=(integrate_error_turn + sample_time*error)*gain;  pwm = (4*0.01 + 4)* Gain => 0.1 pwm gewenst (na 1 seconde een verschil van 4 graden)  
-                                                                            // 0.1 / (4.01) = Gain = 0.025
-        //                                                           
-        double Gain_I_turn=0.025;  //(1/2000) //0.00000134
-        
-        double Gain_D_turn=0.1;
 
         pwm_to_motor_turn = error*Gain_P_turn;                     // output P controller to pwm   
 
@@ -137,7 +138,7 @@
         pwm_motor_turn_I = integrate_error_turn*Gain_I_turn;      // output I controller to pwm
         pwm_motor_turn_D = error_derivative_turn*Gain_D_turn;     // output D controller to pwm
 
-        pwm_to_motor_turn = pwm_motor_turn_P + pwm_motor_turn_I;
+        pwm_to_motor_turn = pwm_motor_turn_P + pwm_motor_turn_I + pwm_motor_turn_D;
 
 //        
 //        double pwm_to_motor_turn = pwm_motor_turn_P + pwm_motor_turn_I + pwm_motor_turn_D; // Total output PID controller to pwm