TMS320F2800157: MOTOR IS NOT RUNNING SMOOTHLY AND OSCILLATING IN OPPSITE DIRECTION IN CUSTOM BOARD

Part Number: TMS320F2800157
Other Parts Discussed in Thread: DRV8353

Hello team,

As we work on developing the custom board, we tested it with the DRV8353 and the f2800157 launchpad to ensure that the motor operates properly before moving on to the custom board.

1) encountering problems when using a motor. The motor makes one complete spin in the opposite direction before running at the specified speed on the first try when we set a positive speed_ref value. What criteria must be followed in order to lessen this rotation in the other direction?

2) Another problem I'm having is that the motor won't start when I set the speed_ref value to zero, even though it's drawing greater current from the supply—more than 19 amps—and I have the same problem when I set the negative speed_ref value.

3)We are seeing the same problem as before, where the motor starts and rotates fully in the other way. I have activated POT in the UMC, and I can now control the motor speed using POT.

What parameters should we calibrate for this, in your opinion?

3)is there any way to control motor torque and which are the calibration parameter is required to change motor torque.

4)if motor parameters are updated and make motor_identifications = true, no need to identify again but still expression windows not showing the updated value from user_mtr.h .

 every time need to enter the motor parameter values in expression window. Which is not updated directly from user_mtr.h

Thanks in Advance

Regards

Kirana H P

  • Kirana,

    1. Refer to my answer in the other thread.
    2. A speed_ref value of 0 means the motor should not be moving. This behavior is correct. The fact that this is showing up for negative speed as well is more concerning. Check to see if the issue is still present after resolving issue (1).
    3. See (1)
    4. Ensure "#define USER_MOTOR1 NAME_OF_YOUR_MOTOR" is set to the correct motor.
      1. Ensure the adjustments to user_mtr1.h are being beneath the appropriate motor elif
        1. "#elif (USER_MOTOR1 == NAME_OF_YOUR_MOTOR)"

    Regards,
    Jason Osborn

    • Note: The CCS "folding" functionality is very useful to see what's active in user_mtr1.h. In the window->preferences menu, show advanced settings. Use the filter box to search for "fold" and enable the folding functionality. Check the first 3 boxes and the final box.
  • Hello Jason,

    1. I have referred the E2E query you have mentioned, and I have set flagEnableAlignment = false, now the motor is not running in the opposite direction, and   it is running in the mentioned direction. 

    2. I have checked the user_mtr1.h and I have set the proper motor parameters.

    3. When I set the speed_ref = 0 motor is not stopping and suddenly it is running with the negative high frequency like speed_ref = -250f.

    4. When I set the negative speed_ref value motor is not running, and it is taking motor current (more than 19A) in without load condition.

    5. Now I am running the motor by using the POT and it is running fine, but I am facing issue like motor is not responding suddenly to the POT (throttle).

     When I give the throttle motor is responding after 3 seconds and I need to hold the throttle for few seconds. Can you please suggest me that any calibration need to do for this issue and motor should respond to the throttle immediately without any delay.

    Regards,

    Kirana H P

  • Kirana,

    Quick note while I look into the rest of the issue- are you adjusting the value of speedRef_Hz or speed_ref_Hz ? Make sure you're adjusting speedRef_Hz !

    Regards,
    Jason Osborn

  • Hello Jason,

    1. I am adjusting the value of speedRef_Hz by using throttle (POT).

    2. Currently, the motor stops when I set the speed_ref = 0, however it tries to start again after five seconds and experiences an under-voltage problem. for this I have adjusted the Kp and Ki values.

    3. The motor is not operating and is using more than 19 amps of motor current without a load when I set the negative speed_ref value.

    4. We are changing the torque_Nm value in motor_common.c using the MOTOR1_FAST function here, but not for other methods like HALL and ENCODER. I need to read the motor torque (torque_Nm) value in the debugger window. I have gone through the Universal motor code (UMC).

    Could you kindly advise me on the things we need to take care of in order to read this motor torque value for the MOTOR1_HALL method in BUILD_LEVEL_4?

    5. Still, we are facing the throttle delay issue, it is not responding suddenly. Can you please suggest me that any calibration need to do for this issue and motor should respond to the throttle immediately without any delay.

    Regards,

    Kirana H P

  • Hello Jason,

    I have checked the motor torque (torque_Nm) updation in MOTOR1_FAST method but torque_Nm value is oscillating and not giving the proper value. Below I have shared the video of the debugger window for the torque oscillation. what are the things we need to take care for proper torque updation in UMC.

    I need to check motor torque (torque_Nm) in MOTOR1_HALL but in UMC we are reading motor_torque value for only MOTOR1_FAST method. can you please suggest some method to read the motor torque (torque_Nm) in MOTOR1_HALL method.

    Regards,

    Kirana H P


  • Kirana,

    Going through each of your posts:

    • Setting speedRef_Hz to 0.0f is not something I recommend. This does not properly bring the motor to a halted state in the Universal Motor Control Lab. I would recommend taking a look at the flagEnableRunAndIdentify flag for bringing the motor to a halted/idle state.
    • I'm not certain why a negative speed would be nonfunctional. I've not seen this before. Please post a video of this behavior.
    • In the UMCL, the only observer which allows you to view torque is FAST. If you want one of the other observers to include this functionality, you would need to write any necessary math & code to do so.
      • For FAST, I've noticed the torque has seemed to be inconsistent before, but when I've viewed the torque value on the DAC, it's actually not as inconsistent as it appears. Averaging the torque value over a few cycles should be sufficient.
    • If your system is not exiting the startup state quickly enough, there's still a delay being utilized somewhere.

    Regards,
    Jason Osborn