Script voor het aansturen van de motor met behulp van twee potmeters. Potmeter 1 wordt gebruikt om de draairichting te bepalen en potmeter 2 wordt gebruikt om de snelheid te bepalen. Het script werkt en heeft een snellere reactie op de potmeters dan bij het vorige script.

Dependencies:   HIDScope mbed Encoder MODSERIAL

Fork of motor_met_potmeters_en_aanuit by Projectgroep 20 Biorobotics

Revision:
9:9a356a676a7c
Parent:
8:432f6d4669e1
--- a/main.cpp	Mon Oct 09 14:33:20 2017 +0000
+++ b/main.cpp	Mon Oct 09 15:04:23 2017 +0000
@@ -64,20 +64,24 @@
 {
     //Deze functie neemt de potmeter positie waar, leidt hier een referentie snelheid vanaf en controleert de motor 
     //met een eenvoudige feed-forward controller. Deze functie wordt aangeroepen met behulp van de ticker Treecko
-    float B = motor1.getPosition();
-    float Potmeterwaarde = potMeter1.read();
-    int positie = B%4096;
-    if(B <= 4096)
+    float Huidigepositie = motor1.getPosition();
+    float Potmeterwaarde = potMeter2.read();
+   
+    if(Huidigepositie <= 4096)
     {
-     
-    float refV = GetReferenceVelocity();
-    float motorValue = FeedForwardControl(refV);
+    int maxwaarde = 4096;
+    float Potrefposition = Potmeterwaarde*maxwaarde;
+    float kp = 50;
+    float motorValue = kp*(Potrefposition - Huidigepositie);
+    //float refV = GetReferenceVelocity();
+    //float motorValue = FeedForwardControl(refV);
     SetMotor1(motorValue);
     }
-    else
+    /* else
     {
         SetMotor1(0);
         }
+        */
 }
 
 int main ()
@@ -88,7 +92,9 @@
   while(1) {
       wait(0.2);
       pc.baud(115200);
-          
-     pc.printf("pos: %d, speed %f, potmeter = %f V, p=%i \r\n",motor1.getPosition(), motor1.getSpeed(),potMeter2.read()*3.3,positie); //potmeter uitlezen. tussen 0-1. voltage, dus *3.3V
+  float B = motor1.getPosition();
+    float Potmeterwaarde = potMeter2.read();
+//    float positie = B%4096;
+     pc.printf("pos: %d, speed %f, potmeter = %f V, \r\n",motor1.getPosition(), motor1.getSpeed(),(potMeter2.read()*3.3)); //potmeter uitlezen. tussen 0-1. voltage, dus *3.3V
   }
 }
\ No newline at end of file