Tripple Controller for the TLE5206 H Bridge motor controller

Files at this revision

API Documentation at this revision

Comitter:
AjK
Date:
Tue Jul 05 09:27:36 2011 +0000
Parent:
0:e2433ca2ce59
Child:
2:c5fbe0cb8a97
Commit message:
0.3 Beta (made example1.h use sin() rather than saw ramp)

Changed in this revision

inc/example1.h Show annotated file Show diff for this revision Revisions of this file
--- a/inc/example1.h	Tue Jul 05 07:43:28 2011 +0000
+++ b/inc/example1.h	Tue Jul 05 09:27:36 2011 +0000
@@ -48,6 +48,8 @@
     myled = !myled;
 }
 
+#define PI 3.14159265
+
 int main() {
     double speed;
     
@@ -56,51 +58,16 @@
     // Just flashes LED1 similar to a normal initial Mbed program.
     myLedFlasher.attach(myLedFlasherCallback, 0.2);
 
-    // The main loop just demos a linear ramp up/ramp down repeatedly.
+    motorA.setSpeed(0);
+    motorB.setSpeed(0);
+        
     while(1) {    
-        motorA.setSpeed(0);
-        motorB.setSpeed(0);
-    
-        wait(2);
-        
-        // Go from zero to +1.0 (+1.0 is full speed)
-        pc.printf("Going from zero to full CW speed...");
-        for(speed = 0.0; speed <= 1.0; speed += 0.005) {
-            if (speed > 1.0)  speed =  1.0; // Never let the speed go over 1!
-            if (speed < -1.0) speed = -1.0; // Never let the speed go below -1!
+        for (double i = 0; i < 360; i++) {
+            speed = sin(i * PI / 180.0);
             motorA.setSpeed(speed);
             motorB.setSpeed(speed);
             wait(0.05);
         }
-        pc.printf(" done.\n");
-    
-        // Hold the motor at full speed for 5seconds.
-        wait(2);
-        
-        // Now slow the motor down to zero and then reverse direction to -1.0 
-        pc.printf("Going from full CW speed to full CCW speed...");
-        for( ; speed >= -1.0; speed -= 0.005) {
-            if (speed > 1.0)  speed =  1.0; // Never let the speed go over 1!
-            if (speed < -1.0) speed = -1.0; // Never let the speed go below -1!
-            motorA.setSpeed(speed);
-            motorB.setSpeed(speed);
-            wait(0.05);
-        }
-        pc.printf(" done.\n");
-    
-        // Hold the motor at full speed in ccw for 5seconds.
-        wait(2);
-        
-        // Now bring the motor to a stop.
-        pc.printf("Bringing the motor to a halt...");
-        for( ; speed <= 0.0; speed += 0.005) {
-            if (speed > 1.0)  speed =  1.0; // Never let the speed go over 1!
-            if (speed < -1.0) speed = -1.0; // Never let the speed go below -1!
-            motorA.setSpeed(speed);
-            motorB.setSpeed(speed);
-            wait(0.05);
-        }
-        pc.printf(" done.\n");
     }
 }