![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Library version for DC_Stepper_Controller_Lib with PWM speed control
Dependents: DR-ArmServoTest Auto_DC_pick_class MBed_TR1 ros_button_2021
sample_main.cpp@20:a0d027b80d2c, 2021-08-16 (annotated)
- Committer:
- howanglam3
- Date:
- Mon Aug 16 15:42:30 2021 +0000
- Revision:
- 20:a0d027b80d2c
library_version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
howanglam3 | 20:a0d027b80d2c | 1 | /******************************************************* |
howanglam3 | 20:a0d027b80d2c | 2 | DC MODOR CONTROLLER LIBRARY |
howanglam3 | 20:a0d027b80d2c | 3 | ******************************************************* |
howanglam3 | 20:a0d027b80d2c | 4 | IMPORTANT: GO TO README FOR DOCUMENT! |
howanglam3 | 20:a0d027b80d2c | 5 | ********************************************************/ |
howanglam3 | 20:a0d027b80d2c | 6 | |
howanglam3 | 20:a0d027b80d2c | 7 | #include "mbed.h" |
howanglam3 | 20:a0d027b80d2c | 8 | #include "QEI.h" |
howanglam3 | 20:a0d027b80d2c | 9 | #include "DC_Motor_Controller.h" |
howanglam3 | 20:a0d027b80d2c | 10 | |
howanglam3 | 20:a0d027b80d2c | 11 | |
howanglam3 | 20:a0d027b80d2c | 12 | DC_Motor_PID motor(D6,D3,D4,D5,792); //M1, M2, INA, INB, PPR |
howanglam3 | 20:a0d027b80d2c | 13 | DigitalIn but(D7); |
howanglam3 | 20:a0d027b80d2c | 14 | // angle = 412 degree to move from one to another |
howanglam3 | 20:a0d027b80d2c | 15 | // angle = 100 degree to |
howanglam3 | 20:a0d027b80d2c | 16 | |
howanglam3 | 20:a0d027b80d2c | 17 | DigitalOut led1(LED1); |
howanglam3 | 20:a0d027b80d2c | 18 | DigitalOut led2(LED2); |
howanglam3 | 20:a0d027b80d2c | 19 | |
howanglam3 | 20:a0d027b80d2c | 20 | int main() { |
howanglam3 | 20:a0d027b80d2c | 21 | Serial pc(USBTX, USBRX); // tx, rx |
howanglam3 | 20:a0d027b80d2c | 22 | pc.baud(9600); |
howanglam3 | 20:a0d027b80d2c | 23 | motor.set_pid(0.008, 0, 0, 0.10); |
howanglam3 | 20:a0d027b80d2c | 24 | |
howanglam3 | 20:a0d027b80d2c | 25 | but.mode(PullUp); |
howanglam3 | 20:a0d027b80d2c | 26 | |
howanglam3 | 20:a0d027b80d2c | 27 | while(1){ |
howanglam3 | 20:a0d027b80d2c | 28 | |
howanglam3 | 20:a0d027b80d2c | 29 | wait(0.5); |
howanglam3 | 20:a0d027b80d2c | 30 | motor.set_out(0,0.4); |
howanglam3 | 20:a0d027b80d2c | 31 | while(1) |
howanglam3 | 20:a0d027b80d2c | 32 | { |
howanglam3 | 20:a0d027b80d2c | 33 | pc.printf("%g \n", but); |
howanglam3 | 20:a0d027b80d2c | 34 | if(but) { motor.set_out(0,0); pc.printf("\nend: %d \n", motor.get_pulse()); break;} |
howanglam3 | 20:a0d027b80d2c | 35 | } |
howanglam3 | 20:a0d027b80d2c | 36 | |
howanglam3 | 20:a0d027b80d2c | 37 | wait(0.5); |
howanglam3 | 20:a0d027b80d2c | 38 | motor.reset(); |
howanglam3 | 20:a0d027b80d2c | 39 | wait(0.5); |
howanglam3 | 20:a0d027b80d2c | 40 | motor.move_angle(-250); |
howanglam3 | 20:a0d027b80d2c | 41 | wait(2); |
howanglam3 | 20:a0d027b80d2c | 42 | } |
howanglam3 | 20:a0d027b80d2c | 43 | |
howanglam3 | 20:a0d027b80d2c | 44 | } |