Werkend aansturingsscript voor 2 motoren, incl werkende program switch. Motoren oscilleren nog iets. Vuur mechanisme ontbreekt nog.

Dependencies:   HIDScope MODSERIAL QEI biquadFilter mbed

Fork of frdm_Motor_V2_2 by Margreeth de Breij

Files at this revision

API Documentation at this revision

Comitter:
Rvs94
Date:
Tue Sep 29 16:58:52 2015 +0000
Parent:
13:a6770307a5d2
Child:
15:7fbee317af2d
Commit message:
Aansturing met pc toegevoegd. Waardes voor Kp, Ki en Kd zijn nog niet gevonden, systeem reageert nog vrij instabiel.

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Sep 29 16:48:08 2015 +0000
+++ b/main.cpp	Tue Sep 29 16:58:52 2015 +0000
@@ -18,6 +18,7 @@
 double Aantal_pulses;
 double reference;
 double position;
+double m2_ref;
 
 void ScopeSend()//Functie die de gegevens voor de scope uitleest en doorstuurt
 {
@@ -33,7 +34,7 @@
 const double m2_Ts = 0.01;
 
 // Controller gain
-const double m2_Kp = 0.07,m2_Ki = 0.005, m2_Kd = 0.005;
+const double m2_Kp = 0.07,m2_Ki = 0.005, m2_Kd = 0.001;
 double m2_err_int = 0, m2_prev_err = 0;
 
 //Derivative filter coeffs
@@ -69,7 +70,7 @@
 // Motor control
 void motor2_Controller() 
 {
-    reference = potmeter2.read()*360;
+    reference = m2_ref;
     position = Encoder.getPulses()*360/(0.5*128*131); // Aantal Degs
     double P2 = PID( reference - position, m2_Kp, m2_Ki, m2_Kd, m2_Ts, m2_err_int, m2_prev_err, m2_f_v1, m2_f_v2, m2_f_a1, m2_f_a2, 
     m2_f_b0, m2_f_b1, m2_f_b2);
@@ -94,8 +95,16 @@
     myControllerTicker.attach( &motor2_Controller, 0.01f ); // 100 Hz
     while(true)
     {
+       char c = pc.getc();
+       if(c == 'r')
+        {
+           m2_ref = m2_ref + 5;
+        }
+        if(c == 'f')
+        {
+            m2_ref = m2_ref - 5;
+        }
        pc.printf("position = %f aantal degs = %f \n",reference,position);
-       wait(0.2f);
     }
 
 }
\ No newline at end of file