Group 9 BioRobotics
/
motor_calibration
V0.1
Fork of motor_calibration by
main.cpp
- Committer:
- kweisbeek
- Date:
- 2018-10-26
- Revision:
- 1:53bb5928adcf
- Parent:
- 0:1045216da12e
- Child:
- 2:ea985bb173f6
File content as of revision 1:53bb5928adcf:
#include "mbed.h" //initial allocations DigitalOut dirpin(D4); PwmOut pwmpin(D5); QEI Encoder(D12,D13,NC,64,QEI::X4_ENCODING); //volatiles volatile counts_prev=0; //functions (4 functions not finished) int counts(){ int counts=Encoder.getPulses(); //MAAK NOG AF MET PREVIOUS COUNTS ONTHOUDEN. return counts; int pos_store(a){} //store position in counts to know count location of the ends of bridge void rotate_start(){} //start rotation of disk void rotate_stop(){} //stop rotation of disk //main function int main(){ pwmpin.period_us(60); //parameters int caltime=30; //calibration time until condition has been met, caltime=(time/0.1) float speed=0.50f; int dir=0; int counts_end=; //amount of counts for 360 degrees rotation of main disk --> many revolutions of motor //move towards end for (m=1;2;m++){ dirpin.write(dir); pwmpin = speed; //when motor counts do not change anymore, change direction int n=1; while(n=1){ for (n=1;caltime;n++){ if (counts()!=counts_prev){ n=0;} else {} wait(0.1);} int position=counts();} dir=dir+1; pos_store(position);} //stores position integer //Check if a full circle can be made without obstruction //Try adding a timer as well, you know how long it should take, how long does it actually take? Does that matter? rotate_start(); while(1){ if counts2_zero()>=counts2_end{ break;} else {} wait(0.01);} rotate_stop(); pos_store(counts2()); //End sequence? }