Poah als je je encoder in je motor wil aflezen en de beweging van je motor wilt aanpassen is dit programma echt voor jou!

Dependencies:   mbed QEI HIDScope biquadFilter MODSERIAL FastPWM

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?

UserRevisionLine numberNew 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 }