jkfodk

Dependencies:   Encoder MODSERIAL mbed

Files at this revision

API Documentation at this revision

Comitter:
Tess
Date:
Wed Oct 30 10:10:29 2013 +0000
Parent:
4:8344a3edd96c
Child:
6:2cfdda6721ab
Commit message:
version 4; do while loop made but not working

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Oct 30 08:54:12 2013 +0000
+++ b/main.cpp	Wed Oct 30 10:10:29 2013 +0000
@@ -69,11 +69,10 @@
 
     //START OF CODE
 
-    /*Set the baudrate (use this number in RealTerm too! */
+    /*Set the baudrate (use this number in RealTerm too!) */
     pc.baud(921600);
 
-
-    // in dit stukje code zorgen we ervoor dat de startpositie wordt bereikt. Eerst B botsen dan A botsen
+    // in dit stukje code zorgen we ervoor dat de arm gaat draaien naar rechts en stopt als het tegen het frame komt. Eerst motor B botsen dan motor A botsen
     motordirB.write(0);
     pwm_motorB.write(.08);
     positionmotorB_t0 = motorB.getPosition();
@@ -98,70 +97,41 @@
     motorA.setPosition(0);
     pwm_motorA.write(0);
 
-    // motor A moet als eerst naar x-as, moet 4.11 graden naar links om op de x-as te staan
-    // motor B moet 21.6 graden naar links.
-    // eerst motor A en dan motor B
+    // Hierna willen we de motor van zijn aller uiterste positie naar de x-as hebben. Hiervoor moet motor A eerst op de x-as worden gezet. Hiervoor moet motor A 4.11 graden (63) naar links.
+    // Hierna moet motor B 21.6 (192) graden naar links. Dus eerst motor A en dan motor B.
 
-    // motordirA.write(1);
-    //setpoint_beginA = 63.5; // naar x-as gaan
-    //pwm_to_begin_motorA = setpoint_beginA *.001;
-    //keep_in_range(&pwm_to_begin_motorA, -1,1);
-    //pwm_motorA.write(abs(pwm_to_begin_motorA));
-    //motorA.setPosition(0);
-    //pwm_motorA.write(0);
+    Ticker looptimer;
+    looptimer.attach(setlooptimerflag,0.01);
 
-    //motordirB.write(1);
-    //setpoint_beginB = 192; // naar x-as gaan
-    //pwm_to_begin_motorB = setpoint_beginB *.001;
-    //keep_in_range(&pwm_to_begin_motorB, -1,1);
-    //pwm_motorB.write(abs(pwm_to_begin_motorB));
-    //motorB.setPosition(0);
-    //pwm_motorB.write(0);
-    Ticker looptimer1;
-    looptimer1.attach(setlooptimerflag,0.01);
-
-    while(pwm_to_begin_motorA >= 0) {
+    do {
+       //pwm_to_begin_motorA = abs((setpoint_beginA - motorA.getPosition()) *.001);
+    } while(pwm_to_begin_motorA <= 0.001); {
         while(looptimerflag != true);
-
         looptimerflag = false;
-
-        setpoint_beginA = 63;     // naar x-as gaan
-        pwm_to_begin_motorA = (setpoint_beginA - motorA.getPosition()) *.001;
+        setpoint_beginA = -1000;     //-63 negatief omdat de motor op zijn kop hangt
+        pwm_to_begin_motorA = abs((setpoint_beginA - motorA.getPosition()) *.001);
         keep_in_range(&pwm_to_begin_motorA, -1, 1 );
-
-        //if(pwm_to_begin_motorA <= 0) {
-        //  motordirA.write(0);
-        // motorA.setPosition(0);
-        //pwm_motorA.write(0);
-        //} else {
         motordirA.write(0);
-        pwm_motorA.write(abs(pwm_to_begin_motorA));
+        pwm_motorA.write(pwm_to_begin_motorA);
     }
     motorA.setPosition(0);
     pwm_motorA.write(0);
 
-    //Ticker looptimer2;
-    //looptimer2.attach(setlooptimerflag,0.01);
-
-    while(pwm_to_begin_motorB >= 0) {
+    do{
+    pwm_to_begin_motorB = abs((setpoint_beginB - motorB.getPosition()) *.001);
+    }
+    while(pwm_to_begin_motorB <= 0.001); {
         while(looptimerflag != true);
         looptimerflag = false;
-
-        setpoint_beginB = 192; //192
-        pwm_to_begin_motorB = (setpoint_beginB - motorB.getPosition()) *.001;
+        setpoint_beginB = 1000;      //192
         keep_in_range(&pwm_to_begin_motorB, -1,1);
-        //if(pwm_to_begin_motorB <= 0) {
-        //  motordirB.write(0);
-        //motorB.setPosition(0);
-        //pwm_motorB.write(0);
-        //} else {
         motordirB.write(1);
-        pwm_motorB.write(abs(pwm_to_begin_motorB));
+        pwm_motorB.write(pwm_to_begin_motorB);
     }
     motorB.setPosition(0);
     pwm_motorB.write(0);
 
-// nu naar positie rechtsonderhoek A4 deze is motor A 531.6 en motor B 460
+// nu naar positie rechtsonderhoek A4 deze is voor motor A 532 en voor motor B 460
 
 //while(0) ///1
 //{
@@ -194,25 +164,17 @@
 
 //}
 
-    //Ticker looptimer3;
-    //looptimer3.attach(setlooptimerflag,0.01);
-    //looptimer3.detach();
-    
-
     while((pwm_to_begin_motorA >= 0)&&(pwm_to_begin_motorB >= 0)) {
         while(looptimerflag != true);
-
         looptimerflag = false;
 
         setpoint_beginA = 1000;//532     // naar rechteronderhoek A4
         pwm_to_begin_motorA = (setpoint_beginA - motorA.getPosition()) *.001;
         keep_in_range(&pwm_to_begin_motorA, -1, 1 );
-
         motordirA.write(0);
         pwm_motorA.write(abs(pwm_to_begin_motorA));
 
         while(looptimerflag != true);
-
         looptimerflag = false;
 
         setpoint_beginB = 1000; //460
@@ -228,8 +190,6 @@
 
     /*Create a ticker, and let it call the     */
     /*function 'setlooptimerflag' every 0.01s  */
-    //Ticker looptimer;
-    //looptimer.attach(setlooptimerflag,0.01);
 
 //INFINITE LOOP
     while(1) {