not working yet

Dependencies:   Motor_with_encoder MODSERIAL mbed HIDScope

Revision:
2:7c6391c8ca71
Parent:
1:f3fe6d2b7639
Child:
3:e888f52a46bc
--- a/main.cpp	Mon Oct 16 09:43:57 2017 +0000
+++ b/main.cpp	Mon Oct 16 10:15:23 2017 +0000
@@ -21,9 +21,9 @@
 volatile double angle = 0;//set the angles
 
 double setpoint = 180;//I am setting it to move through 180 degrees
-double Kp = 0.15;// you can set these constants however you like depending on trial & error
-double Ki = 1;
-double Kd = 0.5;
+double Kp = 0.216;// you can set these constants however you like depending on trial & error
+double Ki = 1.8;
+double Kd = 0;
 
 float last_error = 0;
 float error1 = 0;
@@ -36,7 +36,7 @@
 volatile double position = 0.0;
 /*void readpot()
 {
-    
+
 }
 */
 void PIDcalculation()
@@ -46,17 +46,14 @@
     setpoint = potvalue*setpoint;
     //pc.printf("pos: %d, speed %f reference position = %.2f\r ",motor1.getPosition(), motor1.getSpeed(), setpoint);
     //motorpid = PID(potvalue - position, M1_KP, M1_KI, M1_KD, M1_TS, m1_err_int, m1_prev_err, m1_f_v1, m1_f_v2, M1_F_A1, M1_F_A2, M1_F_B0, M1_F_B1, M1_F_B2);
-    
+
     if (angle <= setpoint) {
         dir1 = 1;// Forward motion
     } else {
         dir1 = 0;//Reverse motion
     }
-    
+
     error1 = setpoint - angle;
-    if (error1 <= 0.2) {
-        speed1 = 0;
-    }
 
     changeError = error1 - last_error; // derivative term
     totalError += error1; //accumalate errors to find integral term
@@ -79,11 +76,8 @@
     speed1.period(PwmPeriod);
 
     while(true) {
-
-
-
+  
         speed1 = pidTerm_scaled;
-
         pc.printf("WHEEL ANGLE:%d, PID_scaled = %f, error = %f\r", angle, pidTerm_scaled, error1);
 
     }