modified 0511
Dependencies: mbed-dev FastPWM3
Diff: main.cpp
- Revision:
- 59:d53a7ccaae9a
- Parent:
- 58:636e46484432
- Child:
- 60:f009e39e913e
--- a/main.cpp Fri Jun 18 15:58:03 2021 +0000 +++ b/main.cpp Tue Dec 14 13:12:16 2021 +0000 @@ -65,6 +65,7 @@ can.read(rxMsg); if((rxMsg.id == CAN_ID)){ controller.timeout = 0; + //printf("%X\n\r",0x55); if(((rxMsg.data[0]==0xFF) & (rxMsg.data[1]==0xFF) & (rxMsg.data[2]==0xFF) & (rxMsg.data[3]==0xFF) & (rxMsg.data[4]==0xFF) & (rxMsg.data[5]==0xFF) & (rxMsg.data[6]==0xFF) & (rxMsg.data[7]==0xFC))){ state = MOTOR_MODE; state_change = 1; @@ -262,6 +263,7 @@ void serial_interrupt(void){ while(pc.readable()){ char c = pc.getc(); + printf("%c\n\r",c); if(c == 27){ state = REST_MODE; state_change = 1; @@ -325,11 +327,9 @@ case 't': CAN_TIMEOUT = atoi(cmd_val); break; - /* case 'p': MOTOR_KP = fmaxf(fminf(atof(cmd_val), KP_MAX), KP_MIN);; break; - */ case 'i': MOTOR_KI = fmaxf(fminf(atof(cmd_val), KI_MAX), KI_MIN);; break; @@ -346,7 +346,7 @@ prefs.close(); prefs.load(); /*----- change new pid controller parameter -----*/ - //controller.kp = MOTOR_KP; + controller.kp = MOTOR_KP; controller.ki = MOTOR_KI; controller.kd = MOTOR_KD; @@ -442,8 +442,8 @@ if(isnan(CAN_MASTER) || CAN_MASTER==-1){CAN_MASTER = 0;} if(isnan(CAN_TIMEOUT) || CAN_TIMEOUT==-1){CAN_TIMEOUT = 0;} //if(isnan(MOTOR_KP) || MOTOR_KP==-1){MOTOR_KP = 50;} - if(isnan(MOTOR_KI) || MOTOR_KI==-1){MOTOR_KI = 0;} - if(isnan(MOTOR_KD) || MOTOR_KD==-1){MOTOR_KD = 1.25;} + //if(isnan(MOTOR_KI) || MOTOR_KI==-1){MOTOR_KI = 0;} + //if(isnan(MOTOR_KD) || MOTOR_KD==-1){MOTOR_KD = 1.25;} spi.SetElecOffset(E_OFFSET); // Set position sensor offset spi.SetMechOffset(M_OFFSET); int lut[128] = {0}; @@ -451,7 +451,7 @@ spi.WriteLUT(lut); // Set potision sensor nonlinearity lookup table init_controller_params(&controller); - pc.baud(921600); // set serial baud rate + pc.baud(115200); // set serial baud rate wait(.01); pc.printf("\n\r\n\r HobbyKing Cheetah\n\r\n\r"); wait(.01); @@ -464,11 +464,11 @@ /*----- set controller parameters -----*/ //controller.kp = MOTOR_KP; - controller.ki = MOTOR_KI; - controller.kd = MOTOR_KD; - printf("PID controller parameters \n\r"); + //controller.ki = MOTOR_KI; + //controller.kd = MOTOR_KD; + //printf("PID controller parameters \n\r"); //printf("KP: %.3f, KI: %.3f, KD: %.3f \n\r", controller.kp, controller.ki, controller.kd); - printf("KI: %.3f, KD: %.3f \n\r", controller.ki, controller.kd); + //printf("KI: %.3f, KD: %.3f \n\r", controller.ki, controller.kd); //printf(" %d\n\r", drv.read_register(DCR)); //wait_us(100); @@ -484,8 +484,8 @@ int counter = 0; while(1) { - drv.print_faults(); - wait(.1); + //drv.print_faults(); + //wait(.1); //printf("%.4f\n\r", controller.v_bus); /* if(state == MOTOR_MODE)