Script voor aansturen motoren

Dependencies:   Encoder HIDScope MODSERIAL mbed-dsp mbed

Revision:
7:697293226e5e
Parent:
6:f260176f704b
Child:
8:0bbbe93bd1c4
Child:
18:fb85c58a4106
--- a/main.cpp	Thu Oct 23 10:26:25 2014 +0000
+++ b/main.cpp	Thu Oct 23 10:47:35 2014 +0000
@@ -8,70 +8,51 @@
 #define K_D (0.001 /TSAMP)
 #define I_LIMIT 1.
 
-#define M1_PWM PTC8 //blauw
-#define M1_DIR PTC9 //groen
-#define M2_PWM PTA5 //blauw
-#define M2_DIR PTA4 //groen
+#define M1_PWM PTC8
+#define M1_DIR PTC9
+#define M2_PWM PTA5
+#define M2_DIR PTA4
+
+//Groene kabel moet op de GROUND en blauw op de 3.3v aansluiting
 
 Serial pc(USBTX, USBRX);
 DigitalOut led1(LED_RED);
-
-
-void clamp(float * in, float min, float max);
-float pid(float setpoint, float measurement);
-volatile bool looptimerflag;
 HIDScope scope(2);
 
+//motor 25D
+Encoder motor1(PTD3,PTD5); //wit, geel
+PwmOut pwm_motor1(M2_PWM);
+DigitalOut motordir1(M2_DIR);
 
-void setlooptimerflag(void)
+//motor2 37D
+Encoder motor2(PTD2, PTD0); //wit, geel
+PwmOut pwm_motor2(M1_PWM);
+DigitalOut motordir2(M1_DIR);
+
+bool flip=false;
+
+void attime()
 {
-    looptimerflag = true;
+    flip = !flip;
 }
 
+void looper()
+{
+    motordir1=0;
+    pwm_motor1.write(1);
+    scope.set(0, motor1.getPosition());
+    scope.set(1, motor2.getPosition());
+    scope.send();
+}
 
 
 int main()
 {
-    //Let op dat de jumpers goed staan als het motortje niet wilt draaien. De E1 jumper moet onder de nummer 7 pin. De locatie van de M1 pin
-    //bepaalt of de motor CW of CCW draait.
-    //start Encoder-> first pin should be PTDx or PTAx, second pin doesn't matter
-
-    //motor 25D
-    Encoder motor1(PTD3,PTD5); //wit, geel
-    PwmOut pwm_motor1(M2_PWM); //
-    pwm_motor1.period_us(75); //10kHz PWM frequency
-    DigitalOut motordir1(M2_DIR);
-
-//motor2 37D
-    Encoder motor2(PTD2, PTD0); //wit, geel
-    PwmOut pwm_motor2(M1_PWM);
-    pwm_motor2.period_us(75);
-    DigitalOut motordir2(M1_DIR);
-
-    //char c ='0';
+    Ticker log_timer;
+    Ticker timer;
+    log_timer.attach(looper, TSAMP);
+    timer.attach(&attime, 7);
     while(1) {
-        wait(13);
-        pwm_motor1.write(1);
 
-
-
-
-        wait(0.01);
-        scope.set(0, motor1.getPosition());
-        scope.set(1, motor2.getPosition());
-        scope.send();
-        /*do {
-
-            if(pc.readable()) {
-                c = pc.getc();
-            }
-        } while((c !='1'));
-
-        c = '0';
-        pwm_motor1.write(0.5);
-        motordir1.write(0);
-        wait(3);
-
-        }*/
     }
 }