homing

Dependencies:   mbed

Committer:
kweisbeek
Date:
Thu Nov 01 10:34:03 2018 +0000
Revision:
1:555373c1b9be
Parent:
0:49f7a745f758
Child:
2:ff77628098e4
homing;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kweisbeek 0:49f7a745f758 1 #include "mbed.h"
kweisbeek 0:49f7a745f758 2
kweisbeek 0:49f7a745f758 3 //positie van start punten in counts
kweisbeek 0:49f7a745f758 4 double rotation_end_position=1;
kweisbeek 0:49f7a745f758 5 double tower_1_position=1;
kweisbeek 0:49f7a745f758 6 double tower_end_position=1;
kweisbeek 1:555373c1b9be 7 const int revcounts = 25*8400;
kweisbeek 1:555373c1b9be 8 int counts1=1;
kweisbeek 1:555373c1b9be 9 int counts2=1;
kweisbeek 0:49f7a745f758 10
kweisbeek 0:49f7a745f758 11 //
kweisbeek 1:555373c1b9be 12 void translation_start(int a,int b){}
kweisbeek 1:555373c1b9be 13 void translation_stop(){}
kweisbeek 1:555373c1b9be 14 void rotation_start(int a, int b){}
kweisbeek 1:555373c1b9be 15 void rotation_stop(){}
kweisbeek 1:555373c1b9be 16 int main(){
kweisbeek 0:49f7a745f758 17 //translation home
kweisbeek 1:555373c1b9be 18 if (counts2 > ((tower_end_position - tower_1_position)/2)){
kweisbeek 0:49f7a745f758 19 translation_start(0,1);
kweisbeek 0:49f7a745f758 20 }
kweisbeek 0:49f7a745f758 21 else {
kweisbeek 0:49f7a745f758 22 translation_start(1,1);
kweisbeek 0:49f7a745f758 23 }
kweisbeek 1:555373c1b9be 24 if (counts2 > ((tower_end_position - tower_1_position)/2 - 100)){
kweisbeek 1:555373c1b9be 25 if (counts2 < ((tower_end_position - tower_1_position)/2 + 100)){
kweisbeek 1:555373c1b9be 26 translation_stop();
kweisbeek 0:49f7a745f758 27 }
kweisbeek 0:49f7a745f758 28 else{}
kweisbeek 0:49f7a745f758 29 }
kweisbeek 0:49f7a745f758 30 else{}
kweisbeek 0:49f7a745f758 31
kweisbeek 0:49f7a745f758 32 //rotation home
kweisbeek 1:555373c1b9be 33 if ((counts1 - (revcounts * (counts1 / revcounts))) > (rotation_end_position)){
kweisbeek 1:555373c1b9be 34 rotation_start(0,1);
kweisbeek 1:555373c1b9be 35 }
kweisbeek 1:555373c1b9be 36 else{
kweisbeek 1:555373c1b9be 37 rotation_start(1,1);
kweisbeek 1:555373c1b9be 38 }
kweisbeek 1:555373c1b9be 39 if ((counts1 - (revcounts * (counts1 / revcounts))) > (rotation_end_position - 100)){ //check if motor 1 is in the right position within 100 counts range
kweisbeek 1:555373c1b9be 40 if ((counts1 - (revcounts * (counts1 / revcounts))) < (rotation_end_position + 100)){
kweisbeek 0:49f7a745f758 41 rotation_stop();
kweisbeek 0:49f7a745f758 42 }
kweisbeek 0:49f7a745f758 43 else {}
kweisbeek 0:49f7a745f758 44 }
kweisbeek 0:49f7a745f758 45 else {}
kweisbeek 0:49f7a745f758 46 }
kweisbeek 0:49f7a745f758 47