Library version for DC_Stepper_Controller_Lib with PWM speed control

Dependencies:   mbed QEI PID

Dependents:   DR-ArmServoTest Auto_DC_pick_class MBed_TR1 ros_button_2021

Committer:
howanglam3
Date:
Mon Aug 16 15:42:30 2021 +0000
Revision:
20:a0d027b80d2c
library_version

Who changed what in which revision?

UserRevisionLine numberNew 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 }