V0.1

Dependencies:   mbed QEI

Fork of motor_calibration by Kenneth Weisbeek

Committer:
kweisbeek
Date:
Mon Oct 22 11:11:15 2018 +0000
Revision:
0:1045216da12e
Child:
1:53bb5928adcf
V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kweisbeek 0:1045216da12e 1 #include "mbed.h"
kweisbeek 0:1045216da12e 2
kweisbeek 0:1045216da12e 3
kweisbeek 0:1045216da12e 4 //initial allocations
kweisbeek 0:1045216da12e 5 DigitalOut dirpin(D4);
kweisbeek 0:1045216da12e 6 PwmOut pwmpin(D5);
kweisbeek 0:1045216da12e 7 QEI Encoder(D12,D13,NC,64,QEI::X4_ENCODING);
kweisbeek 0:1045216da12e 8
kweisbeek 0:1045216da12e 9 //volatiles
kweisbeek 0:1045216da12e 10 volatile counts_prev=0;
kweisbeek 0:1045216da12e 11
kweisbeek 0:1045216da12e 12 //functions
kweisbeek 0:1045216da12e 13 int counts(){
kweisbeek 0:1045216da12e 14 int counts=Encoder.getPulses(); //MAAK NOG AF MET PREVIOUS COUNTS ONTHOUDEN.
kweisbeek 0:1045216da12e 15 return counts
kweisbeek 0:1045216da12e 16
kweisbeek 0:1045216da12e 17
kweisbeek 0:1045216da12e 18 int main(){
kweisbeek 0:1045216da12e 19 pwmpin.period_us(60);
kweisbeek 0:1045216da12e 20
kweisbeek 0:1045216da12e 21 //parameters
kweisbeek 0:1045216da12e 22 int caltime=30; //calibration time until condition has been met, caltime=(time/0.1)
kweisbeek 0:1045216da12e 23 float speed=0.50f;
kweisbeek 0:1045216da12e 24 int dir=0
kweisbeek 0:1045216da12e 25
kweisbeek 0:1045216da12e 26 //move towards end
kweisbeek 0:1045216da12e 27 for (m=1;2;m++){
kweisbeek 0:1045216da12e 28 dirpin.write(dir);
kweisbeek 0:1045216da12e 29 pwmpin = speed;
kweisbeek 0:1045216da12e 30 int n=1
kweisbeek 0:1045216da12e 31 //when motor counts do not change anymore, change direction
kweisbeek 0:1045216da12e 32 while(n<(caltime+1)){
kweisbeek 0:1045216da12e 33 for (n=1;caltime;n++){
kweisbeek 0:1045216da12e 34 if (counts()!=counts_prev){
kweisbeek 0:1045216da12e 35 n=0;}
kweisbeek 0:1045216da12e 36 else {}
kweisbeek 0:1045216da12e 37 wait(0.1);}
kweisbeek 0:1045216da12e 38 dir=dir+1;}
kweisbeek 0:1045216da12e 39
kweisbeek 0:1045216da12e 40
kweisbeek 0:1045216da12e 41
kweisbeek 0:1045216da12e 42