Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Encoder MODSERIAL mbed-dsp mbed
Fork of motor1aansturing by
Diff: main.cpp
- Revision:
- 21:6412e24cef74
- Parent:
- 20:322499ae6dd1
- Child:
- 22:93d32c57bac8
--- a/main.cpp Fri Oct 10 10:02:19 2014 +0000 +++ b/main.cpp Fri Oct 10 12:09:34 2014 +0000 @@ -3,7 +3,7 @@ #include "MODSERIAL.h" #define TSAMP 0.01 -#define K_P (0.01) +#define K_P (0.01) //aanpassen Ki Kp en Kd vóór motortest! #define K_I (0 *TSAMP) #define K_D (0 /TSAMP) #define I_LIMIT 1. @@ -20,7 +20,7 @@ AnalogIn potmeter(PTC2); volatile bool looptimerflag; float potsamples[POT_AVG]; -float EMG(float biceps, float triceps); // waarschijnlijk niet float omdat input functies zijn, geeft problemen met de void functie hieronder... +int EMG(float biceps, float triceps); // waarschijnlijk niet float omdat input functies zijn void setlooptimerflag(void) { @@ -37,7 +37,7 @@ DigitalOut motordir(PTD1); int toestand = TERUGKEREN; - //moet hier wel int voor staan? want terugkeren is al gedifined alszijnde 3 + //moet hier wel int voor staan? want terugkeren is al gedifined alszijnde 3 (waarschijnlijk wel want toestand is hier voor het eerst benoemd...) Ticker looptimer; looptimer.attach(setlooptimerflag,TSAMP); @@ -47,16 +47,16 @@ while(!looptimerflag); looptimerflag = false; - if (motor1.getPosition()<ANGLEMIN && toestand = TERUGKEREN) + if (motor1.getPosition()<= ANGLEMIN && toestand != SLAAN) { - toestand = WACHTEN; + toestand = WACHTEN; if (EMG(readbiceps, readtriceps) != 0) { toestand = SLAAN; // potmeter.read() wordt waarschijnlijk output EMG functie (0,1,2,3) - if ( EMG(readbiceps, readtriceps)=3 && motor1.getPosition()<ANGLEMAX) //angle<ANGLEMAX moet ergens anders staan (iets met toestand) + if ( EMG(readbiceps, readtriceps)=3) { - setpoint = v3; //experimenteel bepaald, snelheid(?) om bovenste goal te raken + setpoint = v3; //experimenteel bepaald, snelheid(?)>>>=pulsewidthmodulation! geclampt tussen -1/1. om bovenste goal te raken } else if ( EMG(readbiceps, readtriceps)=2) { @@ -85,7 +85,7 @@ else motordir = 1; pwm_motor.write(abs(new_pwm)); - if(motor1.getPosition()>ANGLEMAX && toestand=SLAAN) + if(motor1.getPosition()>= ANGLEMAX && toestand=SLAAN) { toestand = TERUGKEREN; // pc.printf ("Toestand = terugkeren!");