2 losse EMG signalen van de biceps en deltoid

Dependencies:   HIDScope MODSERIAL mbed-dsp mbed Encoder

Fork of Lampje_EMG_Gr6 by Jesse Kaiser

Files at this revision

API Documentation at this revision

Comitter:
irisl
Date:
Sat Nov 01 12:52:52 2014 +0000
Parent:
25:a12d51345aa4
Child:
27:691779624530
Commit message:
Aansturing werkt weer (lag aan de sample frequentie van EMG). Kan alleen niet motor meerdere keren aansturen

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sat Nov 01 11:34:33 2014 +0000
+++ b/main.cpp	Sat Nov 01 12:52:52 2014 +0000
@@ -64,15 +64,15 @@
 
 arm_biquad_casd_df1_inst_f32 lowpass_biceps;
 arm_biquad_casd_df1_inst_f32 lowpass_deltoid;
-//lowpass filter settings: Fc = 5 Hz, Fs = 500 Hz, Gain = -3 dB
-float lowpass_const[] = {0.0009446914586925257, 0.0018893829173850514, 0.0009446914586925257, 1.911196288237583, -0.914975054072353};
+//lowpass filter settings: Fc = 2 Hz, Fs = 500 Hz, Gain = -3 dB
+float lowpass_const[] = {0.00015514839749793376, 0.00031029679499586753, 0.00015514839749793376, 1.9644602512795832, -0.9650808448695751};
 //state values
 float lowpass_biceps_states[4];
 float lowpass_deltoid_states[4];
 arm_biquad_casd_df1_inst_f32 highnotch_biceps;
 arm_biquad_casd_df1_inst_f32 highnotch_deltoid;
-//highpass filter settings: Fc = 20 Hz, Fs = 500 Hz, Gain = -3 dB, notch Fc = 50, Fs =500Hz, Gain = -3 dB
-float highnotch_const[] = {0.9149684297741606, -1.8299368595483212, 0.9149684297741606, 1.8226935021735358, -0.8371802169231065 ,0.969531252908746, -1.18733334554802E-16, 0.969531252908746, -1.18733334554802E-16, 0.939062505817492};
+//highpass filter settings: Fc = 10 Hz, Fs = 500 Hz, Gain = -3 dB, notch Fc = 49-51, Fs =500Hz, Gain = -3 dB (van Melvin)
+float highnotch_const[] = {0.9149684297741606, -1.8299368595483212, 0.9149684297741606, 1.8226935021735358, -0.8371802169231065 ,0.7063988100714527, -1.1429772843080923, 0.7063988100714527, 1.1429772843080923, -0.41279762014290533};
 //state values
 float highnotch_biceps_states[8];
 float highnotch_deltoid_states[8];
@@ -90,8 +90,8 @@
     static float number=0;
     total = total + filtered_biceps;
     number = number + 1;
-    if ( number == 500) {
-        *average = total/500;
+    if ( number == 250) {
+        *average = total/250;
         total = 0;
         number = 0;
     }
@@ -103,8 +103,8 @@
     static float number=0;
     total = total + filtered_input;
     number = number + 1;
-    if ( number == 500) {
-        *average_output = total/500;
+    if ( number == 250) {
+        *average_output = total/250;
         total = 0;
         number = 0;
     }
@@ -538,7 +538,7 @@
     * The looper() function will be called every 0.01 seconds.
     * Please mind that the parentheses after looper are omitted when using attach.
     */
-    log_timer.attach(looper, 0.001);
+    log_timer.attach(looper, 0.002);
 
     Ticker looptimer;
     looptimer.attach(looper_motor,TSAMP);
@@ -556,21 +556,21 @@
                 BlinkGreen();
                 while (1) {
                     pc.printf("In de loop.\n");
-                    if (filtered_average_bi > 0.05 && filtered_average_del > 0.05) {
+                    if (filtered_average_bi > 0.05 && filtered_average_del > 0.045) {
                         stopblinkgreen();
                         pc.printf("ShineGreen.\n");
                         ShineGreen();
                         wait (4);
                         break;
                     }
-                    if (filtered_average_bi < 0.05 && filtered_average_del > 0.05) {
+                    if (filtered_average_bi < 0.05 && filtered_average_del > 0.045) {
                         stopblinkgreen();
                         pc.printf("ShineBlue.\n");
                         ShineBlue();
                         batje_hoek = 2;
                         wait(4);
                         break;
-                    } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.05)
+                    } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.045)
 
                     {
                         stopblinkgreen();
@@ -584,7 +584,7 @@
                 BlinkGreen();
                 while (1) {
                     pc.printf("In de loop.\n");
-                    if (filtered_average_bi > 0.05 && filtered_average_del > 0.05) {
+                    if (filtered_average_bi > 0.05 && filtered_average_del > 0.045) {
                         stopblinkgreen();
                         pc.printf("ShineGreen.\n");
                         ShineGreen();
@@ -592,14 +592,14 @@
                         wait (4);
                         break;
                     }
-                    if (filtered_average_bi < 0.05 && filtered_average_del > 0.05) {
+                    if (filtered_average_bi < 0.05 && filtered_average_del > 0.045) {
                         stopblinkgreen();
                         pc.printf("ShineBlue.\n");
                         ShineBlue();
                         arm_hoogte = 1;
                         wait(4);
                         break;
-                    } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.05)
+                    } else if (filtered_average_bi > 0.05 && filtered_average_del < 0.045)
 
                     {
                         stopblinkgreen();
@@ -610,8 +610,7 @@
                         break;
                     }
                 }
-                batje_hoek = 0;
-                arm_hoogte = 0;
+
             }
 
         }