Goed werkende PID, vanaf nu dit script gebruiken.

Dependencies:   Encoder HIDScope MODSERIAL mbed

Revision:
5:cd1c63ffdc1a
Parent:
4:6d88a281192f
--- a/main.cpp	Fri Oct 23 07:49:51 2015 +0000
+++ b/main.cpp	Fri Oct 23 08:24:04 2015 +0000
@@ -174,6 +174,12 @@
     //reference2 = potmeter2.read()*4200;                     //draaiknop uitlezen, tussen 0 en 1
     float hoek2 = bereken_hoek2(countsX,countsY);
     reference2=hoek2;
+    if (reference2 <500) {
+        reference2=500;
+    }
+    if (reference2 > 2100) {
+        reference2 = 2100;
+    }
     double position =(encoder2.getPosition());              // waarde tussen 0 en 4200
     
     scope.set(2,reference2);
@@ -231,8 +237,8 @@
     }
 }
 
-void motor1_PID_Controller_activate(){ 
-    motor1_PID_Controller_go = true; 
+void motor2_PID_Controller_activate(){ 
+    motor2_PID_Controller_go = true; 
 }
 
 void countStepX_activate(){
@@ -263,7 +269,7 @@
     buttonStateCheckX.attach( &checkButtonStateX,0.001f);
     buttonStateCheckY.attach( &checkButtonStateY,0.001f);
     */
-    myControllerTicker1.attach( &motor1_PID_Controller_activate, 0.01f);   // Function@ hz
+    myControllerTicker1.attach( &motor2_PID_Controller_activate, 0.01f);   // Function@ hz
     countStepTickerX.attach( &countStepX_activate, 1.0f);                 // Function@ hz
     countStepTickerY.attach( &countStepY_activate, 1.04f);                 // Function@ hz
     buttonStateCheckX.attach( &checkButtonStateX_activate, 0.001f);         // Function@ hz
@@ -275,9 +281,9 @@
         pc.printf(" 1: pos: %d, ref: %d, dif: %d, Ki: %.5f, Kd: %.5f, countsX: %d, countsY: %d \r\n", encoder1.getPosition(), reference1,difference1,m1_Kd,m1_Ki,countsX,countsY);
         //pc.printf(" 2: pos: %d, ref: %d, dif: %d \r\n", encoder2.getPosition(), reference2,difference2);
         
-        if(motor1_PID_Controller_go) { 
-            motor1_PID_Controller_go = false;
-            motor1_PID_Controller();
+        if(motor2_PID_Controller_go) { 
+            motor2_PID_Controller_go = false;
+            motor2_PID_Controller();
         }
         if(countStepX_go) {
             countStepX_go = false;