Movement motor 1 and 2

Dependencies:   Encoder HIDScope mbed

Committer:
JelleH
Date:
Wed Oct 14 20:42:26 2015 +0000
Revision:
0:92c7924a73dc
Motor 1 en motor 2 bewegen beide op dezelfde snelheid als er op de knop wordt gedrukt. Echter is opvallend dat bij motor 1 ccw de direction 1 is, en bij motor 2 ccw de direction 0 is terwijl ze toch beide ccw bewegen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JelleH 0:92c7924a73dc 1 #include "mbed.h"
JelleH 0:92c7924a73dc 2 #include "HIDScope.h"
JelleH 0:92c7924a73dc 3 #include "encoder.h"
JelleH 0:92c7924a73dc 4
JelleH 0:92c7924a73dc 5
JelleH 0:92c7924a73dc 6 //pinverdeling en naamgeving variabelen
JelleH 0:92c7924a73dc 7 Encoder motor1(D13,D12);
JelleH 0:92c7924a73dc 8 Encoder motor2(D11,D10); // telt pulsen bij verdraaiing en zet dit om in de rotatiehoek
JelleH 0:92c7924a73dc 9 PwmOut led(D9);
JelleH 0:92c7924a73dc 10 DigitalOut motor1_direction(D4);
JelleH 0:92c7924a73dc 11 PwmOut motor1_speed(D5);
JelleH 0:92c7924a73dc 12 DigitalOut motor2_direction(D7); // motor direction
JelleH 0:92c7924a73dc 13 PwmOut motor2_speed(D6); // motor speed
JelleH 0:92c7924a73dc 14 DigitalIn button_1(PTC6); // counterclockwise
JelleH 0:92c7924a73dc 15 DigitalIn button_2(PTA4); // clockwise
JelleH 0:92c7924a73dc 16 HIDScope scope(2); // Hidscope met 2channels
JelleH 0:92c7924a73dc 17
JelleH 0:92c7924a73dc 18 const int pressed = 0; //signaal(beweging) bij indrukken
JelleH 0:92c7924a73dc 19
JelleH 0:92c7924a73dc 20 void move_motor1_ccw()
JelleH 0:92c7924a73dc 21 {
JelleH 0:92c7924a73dc 22 motor1_direction = 1;
JelleH 0:92c7924a73dc 23 motor1_speed = 1;
JelleH 0:92c7924a73dc 24 }
JelleH 0:92c7924a73dc 25
JelleH 0:92c7924a73dc 26 void move_motor2_ccw () //beweging ccw motor 2, signaal van linker bovenbeen
JelleH 0:92c7924a73dc 27 {
JelleH 0:92c7924a73dc 28 motor2_direction = 0;
JelleH 0:92c7924a73dc 29 motor2_speed = 1;
JelleH 0:92c7924a73dc 30 }
JelleH 0:92c7924a73dc 31
JelleH 0:92c7924a73dc 32 void move_motor1_cw()
JelleH 0:92c7924a73dc 33 {
JelleH 0:92c7924a73dc 34 motor1_direction = 0;
JelleH 0:92c7924a73dc 35 motor1_speed = 0.2;
JelleH 0:92c7924a73dc 36 }
JelleH 0:92c7924a73dc 37
JelleH 0:92c7924a73dc 38 void move_motor2_cw (){ // beweging cw motor 1, signaal van rechter bovenbeen
JelleH 0:92c7924a73dc 39 motor2_direction = 1;
JelleH 0:92c7924a73dc 40 motor2_speed = 0.2;
JelleH 0:92c7924a73dc 41 }
JelleH 0:92c7924a73dc 42
JelleH 0:92c7924a73dc 43 void read_encoder1() {
JelleH 0:92c7924a73dc 44 scope.set(0,motor1.getPosition());
JelleH 0:92c7924a73dc 45 led.write(motor1.getPosition()/100.0);
JelleH 0:92c7924a73dc 46 scope.send();
JelleH 0:92c7924a73dc 47 wait(0.2f);
JelleH 0:92c7924a73dc 48 }
JelleH 0:92c7924a73dc 49
JelleH 0:92c7924a73dc 50 void read_encoder2 () { // aflezen van encoder via hidscope??
JelleH 0:92c7924a73dc 51 scope.set(1,motor2.getPosition());
JelleH 0:92c7924a73dc 52 led.write(motor2.getPosition()/100.0);
JelleH 0:92c7924a73dc 53 scope.send();
JelleH 0:92c7924a73dc 54 wait(0.2f);
JelleH 0:92c7924a73dc 55 }
JelleH 0:92c7924a73dc 56
JelleH 0:92c7924a73dc 57 void move12() { // beweging van motor 2 cw of ccw d.m.v. button 3 of 4
JelleH 0:92c7924a73dc 58
JelleH 0:92c7924a73dc 59 if (button_1 == pressed) {
JelleH 0:92c7924a73dc 60 move_motor1_cw ();
JelleH 0:92c7924a73dc 61 move_motor2_cw();
JelleH 0:92c7924a73dc 62 }
JelleH 0:92c7924a73dc 63 else if (button_2== pressed) {
JelleH 0:92c7924a73dc 64 move_motor1_ccw();
JelleH 0:92c7924a73dc 65 move_motor2_ccw ();
JelleH 0:92c7924a73dc 66 }
JelleH 0:92c7924a73dc 67 else {
JelleH 0:92c7924a73dc 68 motor1_speed = 0;
JelleH 0:92c7924a73dc 69 motor2_speed = 0;
JelleH 0:92c7924a73dc 70 }
JelleH 0:92c7924a73dc 71 }
JelleH 0:92c7924a73dc 72
JelleH 0:92c7924a73dc 73 //uitvoeren van script
JelleH 0:92c7924a73dc 74 int main() {
JelleH 0:92c7924a73dc 75 while (true) {
JelleH 0:92c7924a73dc 76
JelleH 0:92c7924a73dc 77 read_encoder1();
JelleH 0:92c7924a73dc 78 read_encoder2();
JelleH 0:92c7924a73dc 79 move12();
JelleH 0:92c7924a73dc 80 }
JelleH 0:92c7924a73dc 81
JelleH 0:92c7924a73dc 82 }