kalibratie, slag en terug naar "0-positie" - kp en ki (1,2 en 3) moeten nog beter bepaald worden

Dependencies:   Encoder HIDScope mbed

Revision:
12:eb2c7103a439
Parent:
11:51e29f3d4545
Child:
13:017aa9316f92
--- a/main.cpp	Thu Oct 30 13:41:44 2014 +0000
+++ b/main.cpp	Thu Oct 30 14:11:21 2014 +0000
@@ -32,6 +32,7 @@
 float integral = 0;
 float batjeset = 0; //een if statement wordt "true" wanneer batje voor een bepaalde tijd de juiste hoek heeft behouden
 float balhit = 0;  //balhit wordt 1 wanneer arm een bepaalde hoek heeft afgelegd
+float calibration = 0; //heeft er een kalibratie plaatsgevonden?
 
 float setpoint1 = 8; // te behalen speed van motor1 (37D)
 float dt1 = 0.01;
@@ -57,7 +58,26 @@
     looptimer.attach(setlooptimerflag,TSAMP);
     pwm_motor1.period_us(100); //10kHz PWM frequency
     pwm_motor2.period_us(100); //10kHz PWM frequency
-
+/*
+if(calibration==0){
+    //calibration motor 2
+    pwm_motor2.write(1); //lage PWM
+    motor2dir = 1;
+    wait(1);                // anders wordt de while(1) meteen onderbroken 
+    while(1) {
+        if(motor2.getSpeed > -0.5 || motor2.getSpeed < 0.5) { // ik weet niet of het rechtsom of linksom zal gaan en misschien is de speed bij de gekozen pwm wel binnen dit bereik
+            pwm_motor2.write(0); 
+            motor2.setPosition(0);
+        }
+        break;   
+    scope.set(0, motor2.getSpeed());
+    scope.send();
+    wait(0.1);
+    }
+    //kalibration motor 1
+    calibration = 1;
+}
+*/
 // nog een goto motor2control;
 // motor2control:
     while(1) {      // loop voor het goed plaatsen van motor2 (batje hoek)
@@ -149,7 +169,7 @@
 
         //controleert of arm terug in positie is
         if(batjeset < 200) {
-            if (motor1.getPosition()*omrekenfactor1 > 0.1 || motor1.getPosition()*omrekenfactor1 < -0.1) {
+            if (motor1.getPosition()*omrekenfactor1 > 0.03 || motor1.getPosition()*omrekenfactor1 < -0.03) {
                 batjeset = 0;
             } else {
                 batjeset++;