Volledig besturingssysteem voor de myoelectrische prothese arm van mijn bachelor opdracht
Dependencies: mbed QEI MODSERIAL FastPWM biquadFilter
Diff: main.cpp
- Revision:
- 8:7fd9ac522ea9
- Parent:
- 6:464d2fdfd7de
- Child:
- 9:ad4bd1b16eed
diff -r 464d2fdfd7de -r 7fd9ac522ea9 main.cpp --- a/main.cpp Thu Apr 11 12:32:20 2019 +0000 +++ b/main.cpp Wed Apr 17 14:57:37 2019 +0000 @@ -8,8 +8,8 @@ // Algemeen DigitalIn button3(SW3); DigitalIn button2(SW2); -AnalogIn But2(A5); -AnalogIn But1(A3); +DigitalIn But2(D12); +DigitalIn But1(D13); DigitalOut led1(LED_GREEN); DigitalOut led2(LED_RED); @@ -29,8 +29,8 @@ volatile float pwm2; //Encoder -QEI encoder1 (D15, D14, NC, 1200, QEI::X4_ENCODING); -QEI encoder2 (D1, D0, NC, 4800, QEI::X4_ENCODING); +QEI encoder1 (D1, D0, NC, 1200, QEI::X4_ENCODING); +QEI encoder2 (D3, D2, NC, 4800, QEI::X4_ENCODING); double Pulses1; double motor_position1; double Pulses2; @@ -39,7 +39,7 @@ double u1; //Pot meter -AnalogIn pot(A1); +AnalogIn pot(A5); AnalogIn pot0(A0); float Pot2; float Pot1; @@ -52,7 +52,7 @@ //Servo Ticker ServoTick; DigitalOut myservo1(D8); //Duim -DigitalOut myservo2(D9); //Pink tot Middel vinger +DigitalOut myservo2(D11); //Pink tot Middel vinger DigitalOut myservo3(D10); //wijsvinger float Periodlength = 0.02; // de MG996R heeft een PWM periode van 20 ms @@ -108,7 +108,7 @@ double Kp1 = 12.5; double Ki1 = 0; double Kd1 = 1; -double Kp2 = 12; // Zonder arm: 6,0,1, met rotatie: 10, 0, 1 +double Kp2 = 20; // Zonder arm: 6,0,1, met rotatie: 10, 0, 1 double Ki2 = 0; double Kd2 = 1; double Ts = 0.0005; // Sample time in seconds