Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@9:76e4808df4cb, 2017-12-01 (annotated)
- Committer:
- x58alex41
- Date:
- Fri Dec 01 21:20:29 2017 +0000
- Revision:
- 9:76e4808df4cb
- Parent:
- 7:edd065946e9b
- Child:
- 10:4a825f818432
motor problems;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| x58alex41 | 0:9c49bdc7e402 | 1 | #include "mbed.h" |
| x58alex41 | 0:9c49bdc7e402 | 2 | #include "PID.h" |
| x58alex41 | 0:9c49bdc7e402 | 3 | #include "controls.h" |
| x58alex41 | 0:9c49bdc7e402 | 4 | #include "globals.h" |
| x58alex41 | 0:9c49bdc7e402 | 5 | |
| x58alex41 | 0:9c49bdc7e402 | 6 | AnalogIn LL_t (PC_0); |
| x58alex41 | 0:9c49bdc7e402 | 7 | AnalogIn L_t (PC_1); |
| x58alex41 | 0:9c49bdc7e402 | 8 | AnalogIn R_t (PA_4); |
| x58alex41 | 0:9c49bdc7e402 | 9 | AnalogIn RR_t (PA_0); |
| x58alex41 | 0:9c49bdc7e402 | 10 | |
| x58alex41 | 0:9c49bdc7e402 | 11 | DigitalOut LL_e (PB_7); |
| x58alex41 | 0:9c49bdc7e402 | 12 | DigitalOut L_e (PB_0); |
| x58alex41 | 0:9c49bdc7e402 | 13 | DigitalOut R_e (PC_11); |
| x58alex41 | 0:9c49bdc7e402 | 14 | DigitalOut RR_e (PC_10); |
| x58alex41 | 0:9c49bdc7e402 | 15 | |
| x58alex41 | 0:9c49bdc7e402 | 16 | InterruptIn cM1_1(PB_3); //interrupt from encoders |
| x58alex41 | 0:9c49bdc7e402 | 17 | InterruptIn cM1_2(PA_15); |
| x58alex41 | 0:9c49bdc7e402 | 18 | InterruptIn cM2_1(PA_1); |
| x58alex41 | 0:9c49bdc7e402 | 19 | InterruptIn cM2_2(PC_4); |
| x58alex41 | 0:9c49bdc7e402 | 20 | |
| x58alex41 | 7:edd065946e9b | 21 | PwmOut M1F(PC_7); //motor direction and speed control |
| x58alex41 | 7:edd065946e9b | 22 | PwmOut M2B(PA_7); |
| x58alex41 | 7:edd065946e9b | 23 | PwmOut M1B(PB_10); |
| x58alex41 | 7:edd065946e9b | 24 | PwmOut M2F(PB_6); |
| x58alex41 | 0:9c49bdc7e402 | 25 | Serial pc(SERIAL_TX, SERIAL_RX); |
| x58alex41 | 0:9c49bdc7e402 | 26 | |
| x58alex41 | 0:9c49bdc7e402 | 27 | volatile unsigned long counterM1 = 1; // counter for hall sensors |
| x58alex41 | 0:9c49bdc7e402 | 28 | volatile unsigned long counterM2 = 1; |
| x58alex41 | 0:9c49bdc7e402 | 29 | |
| x58alex41 | 0:9c49bdc7e402 | 30 | void incrementM1() |
| x58alex41 | 0:9c49bdc7e402 | 31 | { |
| x58alex41 | 0:9c49bdc7e402 | 32 | ++counterM1; |
| x58alex41 | 0:9c49bdc7e402 | 33 | } |
| x58alex41 | 0:9c49bdc7e402 | 34 | void incrementM2() |
| x58alex41 | 0:9c49bdc7e402 | 35 | { |
| x58alex41 | 0:9c49bdc7e402 | 36 | ++counterM2; |
| x58alex41 | 0:9c49bdc7e402 | 37 | } |
| x58alex41 | 0:9c49bdc7e402 | 38 | |
| x58alex41 | 0:9c49bdc7e402 | 39 | int main() |
| x58alex41 | 0:9c49bdc7e402 | 40 | { |
| x58alex41 | 0:9c49bdc7e402 | 41 | M1B.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 42 | M2B.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 43 | M1F.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 44 | M2F.write(0); |
| x58alex41 | 0:9c49bdc7e402 | 45 | |
| x58alex41 | 0:9c49bdc7e402 | 46 | LL_e=1; |
| x58alex41 | 0:9c49bdc7e402 | 47 | RR_e=1; |
| x58alex41 | 0:9c49bdc7e402 | 48 | |
| x58alex41 | 0:9c49bdc7e402 | 49 | cM1_1.rise(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 50 | cM1_1.fall(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 51 | cM1_2.rise(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 52 | cM1_2.fall(&incrementM1); |
| x58alex41 | 0:9c49bdc7e402 | 53 | |
| x58alex41 | 0:9c49bdc7e402 | 54 | cM2_1.rise(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 55 | cM2_1.fall(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 56 | cM2_2.rise(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 57 | cM2_2.fall(&incrementM2); |
| x58alex41 | 0:9c49bdc7e402 | 58 | |
| x58alex41 | 9:76e4808df4cb | 59 | move(.8, 1000000, forward, forward, &PID_e ); |
| x58alex41 | 0:9c49bdc7e402 | 60 | |
| x58alex41 | 0:9c49bdc7e402 | 61 | } |
| x58alex41 | 0:9c49bdc7e402 | 62 | |
| x58alex41 | 0:9c49bdc7e402 | 63 | |
| x58alex41 | 0:9c49bdc7e402 | 64 | |
| x58alex41 | 0:9c49bdc7e402 | 65 | |
| x58alex41 | 0:9c49bdc7e402 | 66 | |
| x58alex41 | 0:9c49bdc7e402 | 67 |