mutsuki imai / Mbed 2 deprecated bipolarmotor

Dependencies:   mbed

Committer:
prime
Date:
Mon Jun 30 23:05:26 2014 +0000
Revision:
0:ec10125e8317
Bi polar motor pwm control by transistor & FET.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
prime 0:ec10125e8317 1 #include "mbed.h"
prime 0:ec10125e8317 2
prime 0:ec10125e8317 3 #if defined(TARGET_LPC1114)
prime 0:ec10125e8317 4 Serial sr(dp16, dp15);
prime 0:ec10125e8317 5
prime 0:ec10125e8317 6 PwmOut BMotorCCW(dp18);
prime 0:ec10125e8317 7 PwmOut BMotorCW(dp24);
prime 0:ec10125e8317 8 DigitalOut BMotorCCWSW(dp9);
prime 0:ec10125e8317 9 DigitalOut BMotorCWSW(dp10);
prime 0:ec10125e8317 10 #elif defined(TARGET_STM32F401RE)
prime 0:ec10125e8317 11 Serial sr(D1, D0);
prime 0:ec10125e8317 12
prime 0:ec10125e8317 13 PwmOut BMotorCCW(D6);
prime 0:ec10125e8317 14 PwmOut BMotorCW(D5);
prime 0:ec10125e8317 15 DigitalOut BMotorCCWSW(D4);
prime 0:ec10125e8317 16 DigitalOut BMotorCWSW(D3);
prime 0:ec10125e8317 17 #endif
prime 0:ec10125e8317 18
prime 0:ec10125e8317 19 int main() {
prime 0:ec10125e8317 20
prime 0:ec10125e8317 21 sr.baud(19200);
prime 0:ec10125e8317 22
prime 0:ec10125e8317 23 wait(5);
prime 0:ec10125e8317 24
prime 0:ec10125e8317 25 while(1) {
prime 0:ec10125e8317 26 for (int i = 38; i < 40; i++) {
prime 0:ec10125e8317 27 #if defined(TARGET_LPC1114)
prime 0:ec10125e8317 28 BMotorCCW = (float)i / 100.0;
prime 0:ec10125e8317 29 #elif defined(TARGET_STM32F401RE)
prime 0:ec10125e8317 30 BMotorCCW = (double)i / 100.0;
prime 0:ec10125e8317 31 #endif
prime 0:ec10125e8317 32 BMotorCW = 0.0;
prime 0:ec10125e8317 33 BMotorCCWSW = 1;
prime 0:ec10125e8317 34 BMotorCWSW = 0;
prime 0:ec10125e8317 35 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 1, 0);
prime 0:ec10125e8317 36 wait(3);
prime 0:ec10125e8317 37 BMotorCCW = 0.0;
prime 0:ec10125e8317 38 BMotorCW = 0.0;
prime 0:ec10125e8317 39 BMotorCCWSW = 0;
prime 0:ec10125e8317 40 BMotorCWSW = 0;
prime 0:ec10125e8317 41 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 0);
prime 0:ec10125e8317 42 wait(1);
prime 0:ec10125e8317 43 BMotorCCW = 0.0;
prime 0:ec10125e8317 44 #if defined(TARGET_LPC1114)
prime 0:ec10125e8317 45 BMotorCW = (float)i / 100.0;
prime 0:ec10125e8317 46 #elif defined(TARGET_STM32F401RE)
prime 0:ec10125e8317 47 BMotorCW = (double)i / 100.0;
prime 0:ec10125e8317 48 #endif
prime 0:ec10125e8317 49 BMotorCCWSW = 0;
prime 0:ec10125e8317 50 BMotorCWSW = 1;
prime 0:ec10125e8317 51 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 1);
prime 0:ec10125e8317 52 wait(3);
prime 0:ec10125e8317 53 BMotorCCW = 0.0;
prime 0:ec10125e8317 54 BMotorCW = 0.0;
prime 0:ec10125e8317 55 BMotorCCWSW = 0;
prime 0:ec10125e8317 56 BMotorCWSW = 0;
prime 0:ec10125e8317 57 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 0);
prime 0:ec10125e8317 58 wait(1);
prime 0:ec10125e8317 59 }
prime 0:ec10125e8317 60 for (int i = 40; i <= 100; i += 10) {
prime 0:ec10125e8317 61 #if defined(TARGET_LPC1114)
prime 0:ec10125e8317 62 BMotorCCW = (float)i / 100.0;
prime 0:ec10125e8317 63 #elif defined(TARGET_STM32F401RE)
prime 0:ec10125e8317 64 BMotorCCW = (double)i / 100.0;
prime 0:ec10125e8317 65 #endif
prime 0:ec10125e8317 66 BMotorCW = 0.0;
prime 0:ec10125e8317 67 BMotorCCWSW = 1;
prime 0:ec10125e8317 68 BMotorCWSW = 0;
prime 0:ec10125e8317 69 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 1, 0);
prime 0:ec10125e8317 70 wait(3);
prime 0:ec10125e8317 71 BMotorCCW = 0.0;
prime 0:ec10125e8317 72 BMotorCW = 0.0;
prime 0:ec10125e8317 73 BMotorCCWSW = 0;
prime 0:ec10125e8317 74 BMotorCWSW = 0;
prime 0:ec10125e8317 75 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 0);
prime 0:ec10125e8317 76 wait(2);
prime 0:ec10125e8317 77 BMotorCCW = 0.0;
prime 0:ec10125e8317 78 #if defined(TARGET_LPC1114)
prime 0:ec10125e8317 79 BMotorCW = (float)i / 100.0;
prime 0:ec10125e8317 80 #elif defined(TARGET_STM32F401RE)
prime 0:ec10125e8317 81 BMotorCW = (double)i / 100.0;
prime 0:ec10125e8317 82 #endif
prime 0:ec10125e8317 83 BMotorCCWSW = 0;
prime 0:ec10125e8317 84 BMotorCWSW = 1;
prime 0:ec10125e8317 85 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 1);
prime 0:ec10125e8317 86 wait(3);
prime 0:ec10125e8317 87 BMotorCCW = 0.0;
prime 0:ec10125e8317 88 BMotorCW = 0.0;
prime 0:ec10125e8317 89 BMotorCCWSW = 0;
prime 0:ec10125e8317 90 BMotorCWSW = 0;
prime 0:ec10125e8317 91 sr.printf("BCCW = %d/100 BCW = %d/100 BCCWSW = %d BCWSW = %d\r\n", i, i, 0, 0);
prime 0:ec10125e8317 92 wait(2);
prime 0:ec10125e8317 93 }
prime 0:ec10125e8317 94 }
prime 0:ec10125e8317 95 }