Afgesplitste versie van motor control waarbij we ook iets met EMG gaan doen
Dependencies: mbed QEI HIDScope biquadFilter MODSERIAL FastPWM
main.cpp@1:68f74b2ceb7d, 2019-09-20 (annotated)
- Committer:
- freek100
- Date:
- Fri Sep 20 13:56:03 2019 +0000
- Revision:
- 1:68f74b2ceb7d
- Parent:
- 0:1843eec2b552
- Child:
- 2:6f5f300f0569
Nu ook graden van output shaft
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
freek100 | 0:1843eec2b552 | 1 | #include "mbed.h" |
freek100 | 0:1843eec2b552 | 2 | //#include "HIDScope.h" |
freek100 | 0:1843eec2b552 | 3 | #include "QEI.h" |
freek100 | 0:1843eec2b552 | 4 | #include "MODSERIAL.h" |
freek100 | 0:1843eec2b552 | 5 | //#include "BiQuad.h" |
freek100 | 0:1843eec2b552 | 6 | //#include "FastPWM.h" |
freek100 | 0:1843eec2b552 | 7 | |
freek100 | 0:1843eec2b552 | 8 | DigitalOut ledr(LED_RED); |
freek100 | 0:1843eec2b552 | 9 | DigitalOut ledg(LED_GREEN); |
freek100 | 0:1843eec2b552 | 10 | DigitalOut ledb(LED_BLUE); |
freek100 | 0:1843eec2b552 | 11 | PwmOut led1(D10); |
freek100 | 0:1843eec2b552 | 12 | DigitalIn button1(D2); |
freek100 | 0:1843eec2b552 | 13 | AnalogIn potmeter(A1); |
freek100 | 0:1843eec2b552 | 14 | DigitalIn sw(SW2); |
freek100 | 0:1843eec2b552 | 15 | MODSERIAL pc(USBTX, USBRX); |
freek100 | 0:1843eec2b552 | 16 | DigitalIn encA(D13); |
freek100 | 0:1843eec2b552 | 17 | DigitalIn encB(D12); |
freek100 | 0:1843eec2b552 | 18 | QEI encoder(D13,D12,NC,64,QEI::X4_ENCODING); |
freek100 | 0:1843eec2b552 | 19 | |
freek100 | 0:1843eec2b552 | 20 | int counts; |
freek100 | 1:68f74b2ceb7d | 21 | float degreein; |
freek100 | 1:68f74b2ceb7d | 22 | float factorin= 5.625; |
freek100 | 1:68f74b2ceb7d | 23 | float degreeout; |
freek100 | 1:68f74b2ceb7d | 24 | float gearratio= 131.25; |
freek100 | 0:1843eec2b552 | 25 | int main() |
freek100 | 0:1843eec2b552 | 26 | { |
freek100 | 0:1843eec2b552 | 27 | pc.baud(115200); |
freek100 | 0:1843eec2b552 | 28 | pc.printf("\r\nStarting...\r\n\r\n"); |
freek100 | 0:1843eec2b552 | 29 | while (true) { |
freek100 | 0:1843eec2b552 | 30 | counts= encoder.getPulses(); |
freek100 | 1:68f74b2ceb7d | 31 | degreein= counts*factorin; |
freek100 | 1:68f74b2ceb7d | 32 | degreeout= degreein/gearratio; |
freek100 | 1:68f74b2ceb7d | 33 | //pc.printf("%f \r\n", degreein); //draaigraden van inputgear en zo ook encoder. |
freek100 | 1:68f74b2ceb7d | 34 | pc.printf("%f \r\n", degreeout); |
freek100 | 1:68f74b2ceb7d | 35 | wait(0.5); |
freek100 | 0:1843eec2b552 | 36 | } |
freek100 | 0:1843eec2b552 | 37 | } |