TMS320F2800157: Motor phase current oscillation under load condition

Part Number: TMS320F2800157
Other Parts Discussed in Thread: DRV8353

Tool/software:

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.

In our custom board we are not using DRV8353 gate driver IC instead of this we are using opto-coupler based gate driver IC with same capacity which is already proved with 48v motor running under load condition.

I have the motor electrical parameters like stator resistance, inductance, rated flux, inertia and back emf and replicated the same in universal motor code (UMC).

Currently I am running the 48v HALL motor in MOTOR1_HALL with level_4. 

I am maintaining the below parameters in UMC.

      USER_M1_NOMINAL_DC_BUS_VOLTAGE_V   (48.0f)

      USER_M1_ADC_FULL_SCALE_VOLTAGE_V   (250.658) 

      USER_M1_VOLTAGE_FILTER_POLE_Hz    (375.1100618f) 

      USER_M1_ADC_FULL_SCALE_CURRENT_A   (47.14285714f) 

      Kp_Id and Kp_Iq= 0.12488495

      Ki_Id and Ki_Iq= 0.001312

      Kp_spd = 0.224244887

      Ki_spd = 0.00224244887

1. We are phasing the issue like motor phase currents are not same and below I have mentioned the all-phase current when I am running in speed_ref = 100f under load condition.

I have tuned the USER_M1_VOLTAGE_FILTER_POLE_Hz, Kp_Id and Kp_Iq values for above issue but still I am not able to resolve.

I have checked this phase current issue in existing system under load condition and here we are getting almost same current consumption in all phases and only 1A difference is there between the phases but in our system, we are getting more than 15 A difference between phases when we increased the load.

Please suggest which parameters we need to calibrate to fix this issue.

Regards,

Kirana H P

  • Hi Kirana,

    1. We are phasing the issue like motor phase currents are not same and below I have mentioned the all-phase current when I am running in speed_ref = 100f under load condition.

    Does the phase imbalance only occur when running Build level_4 with MOTOR1_HALL? Or if you ran with BL#2 (open-loop) you still see this issue?

    Best,

    Kevin

  • Hello Kevin,

    I tested the motor in build_level 2, but I was only able to operate it at speed_ref = 60 in this instance. Should I attempt to apply the load at the frequency specified above, it will cause an undervoltage fault and use the maximum amount of current from the DC power source.

    However, I am still having trouble with this phase current issue on level 4 under MOTOR1 HALL. Please advise me on how to proceed with this situation.

    I get this problem even when I run the motor in build_level 4 with different speed_ref values when there is no load, but the difference is just about 2A.

    After 30A, the U and W phases' current consumption nearly stays the same, but the V phase's consumption differs by 5A from the other phases'. However, there is a higher phase current differential when I increase the load above 60A.

    I tested the same motor in the DRV8353 using the F2800157 launchpad in build_level 2 for various speed_ref values. In this case, the phase-to-phase current consumption difference is smaller, but it still exists.

    Could you please advise me on how to fix this problem?.

    Regards,

    Kirana H P

  • Hi Kirana,

    What current sensing method are you using? 3-shunt sensing?

    I think you need to validate that your current sensing is working properly for all 3-phases. This can typically be done in BL#2.

    Best,

    Kevin

  • Hello Kevin,

    I am using HALL effect sensor method in our custom board because here we are using HALL sensor.

    Actually I am measuring phase currents in all phases using clamp meter and getting these differences.

    In universal motor code I have checked the Irms_A current here phase difference is less but if we use the clamp meter it is showing more difference and it will damage our driver circuit.

    Actually, I am unable to use the motor in build level 2 above speed_ref = 60 because doing so will cause an undervoltage error and increased current consumption.

    I'm using build level 4 under MOTOR1_HALL with the exact same parameters and settings, but I can apply a load and run the motor at its maximum rpm in this case.

    Could you please let me know what might be the problem?

    We need to determine whether any settings need to be tuned for this phase's current issue in build level 4 under load conditions. Could you please advise me on how to handle this?

    Regards,

    Kirana H P

  • Hello Kevin,

    In our custom board we are using 2 HALL sensors in U and W phase, and we are calculating the V phase current based on U and W phase current values.

    I have modified these things in our code, below I have mentioned the same.

    What differences build levels 2 and 4 is what I want to know. As I was unable to run the motor in build level 2 for longer than 60f using the MOTOR1_HALL technique, I would like to know what the differences are, except from phase current and voltage, as I have referred to the instaSPIN-FOC file.

    Please suggest me what may me the issue here.

    I tried using the F2800157 launchpad with DRV8353, but I am getting a module over current fault in build level 2.

    Please advise me on how to fix this problem.

    Regards,

    Kirana H P

  • Hello Kevin,

    Please tell me how to resolve above issue.

     Regards,

    Kirana H P

  • Hi Kirana,

    In our custom board we are using 2 HALL sensors in U and W phase, and we are calculating the V phase current based on U and W phase current values

    I have some confusion now based on your comments above. Here you mention using 2x HALL based current sensors, which is fine, but the MOTOR1_HALL #define and code is to be used with digital HALL position sensor. You are using both of these then?

    What differences build levels 2 and 4 is what I want to know. As I was unable to run the motor in build level 2 for longer than 60f using the MOTOR1_HALL technique, I would like to know what the differences are, except from phase current and voltage, as I have referred to the instaSPIN-FOC file.

    Please refer to the guide section 3.5 for better understanding of the different build levels: https://www.ti.com/lit/spruj26. The block diagrams are especially helpful for understanding each build level difference.

    BL#2 is open-loop control, it does not utilize the current / voltage or position feedback however they are still sensed / calculated. It's a good way of verifying your sensing and hardware is working properly. V/f control is implemented for this and you need t update the below parameters based on your motor.

    #define USER_MOTOR1_FREQ_LOW_HZ (5.0) // Hz
    #define USER_MOTOR1_FREQ_HIGH_HZ (400.0) // Hz
    #define USER_MOTOR1_VOLT_MIN_V (1.0) // Volt
    #define USER_MOTOR1_VOLT_MAX_V (24.0) // Volt

    I tried using the F2800157 launchpad with DRV8353, but I am getting a module over current fault in build level 2.

    You could also try reducing the acceleration value, it's possible that is causing a fault to occur with your motor.

    BL#4 is closed speed loop. I'd suggest even trying BL#3, closed current loop, before proceeding to BL#4 if you're experiencing issues.

    Best,

    KEvin

  • Hello Kevin,

    I am grateful for your response.

    1. Yes, we are using two HALL effect current sensor to measure the phase current values and now we are using the 48v HALL sensor motor.

    2. I have kept the motor parameters that are gathered from the manufacturer in user_mtr1.h and set the voltage and frequency values based on the motor parameters.

    3. I tried running the motor in build level 3 as you advised, however it consumes twice as much phase current for the same load as is applied in build level 4.

    4. In build level 3, the current consumption is higher in all three phases, even in without the presence of load conditions.

    5. I am now fine-tuning the values of Kp_Id, Kp_Iq, Ki_Id, and Ki_Iq for this problem. Please advise on the appropriate course of action.

    For your information, I've included the dyno phase current reading below. Please review it once and let me know how we can fix this.

    I tried it with a low load; however, it uses more current than the current system when compared. The current controller uses less current for the same load.

    Regards,

    Kirana H P

  • Hello Kevin,

    Our 48-hall motor has a maximum torque of 34 nm; for torques (loads) less than 10 nm, we experience phase current as shown in the above table, and motor speed oscillation does not occur.

    However, there is an oscillation in the motor speed when I apply torque more than 10 Nm due to this phasing of the massive oscillation in the motor phase current side.

    Could you please advise me on how to fix this problem and the phase current imbalance issue?

    Regards,

    Kirana H P

  • Hello Kevin,

    Please advise me on how to resolve the above phase current issue 

    Regards,

    Kirana H P

  • Hi Kirana,

    Sorry for my delay. I was on work travel all last week and just got back today.

    For the phase imbalance issue you can see that the U-phase is higher than V-phase at some speeds and lower at others.

    I think steps to diagnose the root cause of the imbalance need to be taken. Since you said you've had success using the DRV8353 and the f2800157 launchpad eval boards the issue must be related to the (1) custom hardware or (2) the software configuration for your custom hardware.

    1. Can you use a current probe and available plotting tools (DAC output, CCS plotter, etc.) to compare the different phase current sensing? You need to verify that the magnitude and phases are correct for each sensing.
      1. The current sensing needs to be closely validated. Running BL#2 with low load should help with verifying this.
    2. Check if the phase voltages are balanced by probing them.
    3. Does the HW layout for the different phases differ? i.e. length / trace width / etc.
      1. Are the connections to all 3 motor phases properly made?

    Best,

    Kevin

  • Hello Kevin,

    We are unable to share certain things here, so please accept the friend's request in E2E.

    Regards,

    Kirana H P

  • Hello Kevin,

    As you suggested I have tried to run the motor in build level 2 by adjusting acceleration values.

    However, I was able to operate the motor in MOTOR1_HALL and BUILD_LEVEL_2 to speed_ref = 100f this time since I had connected a 48-volt HUB motor in place of a 48-volt mid-drive motor.

    I want to know why it is using so much phase current at 100 f in the absence of a load, therefore I've included all three phase currents below. 

    But for same speed and condition existing controller it is consuming less than 5A across all three phases.

    For future communication, kindly accept the friend request.

    Regards,

    Kirana H P

  • Hi Kirana,

    Seems my reply did not actually post last week...

    I accepted your friend request and messaged you directly. You can share with me directly through that chat.

    However, I was able to operate the motor in MOTOR1_HALL and BUILD_LEVEL_2 to speed_ref = 100f this time since I had connected a 48-volt HUB motor in place of a 48-volt mid-drive motor.

    Ok. The hub motor is working with BL#2, but the mid-drive is still not? What behavior do you see on the mid-drive unit when trying to run it? Does it run at all or does it OC trip immediately?

    I want to know why it is using so much phase current at 100 f in the absence of a load, therefore I've included all three phase currents below. 

    This should be related to the V/f implementation. Higher currents are expected since it's open-loop control, i.e. you are not controlling the current. The DC bus usage will increase linearly with speed in V/f control.

    Best,

    Kevin

  • Hello Kevin,

    When we are running the mid-drive hall motor with drv8353 in build level 2 we are getting module over current fault after enabling the run and indentity flag itself.

    Regards,

    Kirana H P

  • Hello Kevin,

    Please check the thetacalbuff values in positive and negative speed ref values in drv8353 when using 48v HALL mid-drive motor.

    Here I am able to see some different in terms of values but when we are running in the same direction with different trials getting almost same values.

    Please suggest me how to take this values to hallanglebuf.

    Because with this values we are getting module over current fault and motor is not running when we replicate this same in hallanglebuf.

    Positive speed ref value

    Negative speed ref value 

    Regards,

    Kirana H P

  • Hi Kirana,

    When we are running the mid-drive hall motor with drv8353 in build level 2 we are getting module over current fault after enabling the run and indentity flag itself.

    Can you collect and share the start-up current waveform when this happens? i.e. trigger on rising edge.

    Here I am able to see some different in terms of values but when we are running in the same direction with different trials getting almost same values.

    Please suggest me how to take this values to hallanglebuf.

    Because with this values we are getting module over current fault and motor is not running when we replicate this same in hallanglebuf.

    I'm not sure why thetacalbuff values in positive and negative direction are different. I will need to check the reason for this and get back to you.

    Best,

    Kevin

  • Hello Kevin,

    As you know that DRV8353 maximum gate driver current is 1A.

    It is suitable upto 1.5kw motor but in our case we are using 5.5kw hall motor.

    We have modified the universal motor code (drv8353) and using for our custom board (opto-coupler based gate driver IC).

    Here in this customised code we are using drv8353 as a gate driver in software side(in sys_main.c) but actually it is opto-coupler based gate driver and its gate current is sufficient to drive the 5.5kw motor.

    Actually your team members(TI Indian team) only suggested that drv8353 is only suitable for motor up to 1.5kw and it is not suitable for motor with above power rating because gate driver maximum current is 1A.

    So please suggest me in sys_main.c apart from drv8353 which gate driver has the more gate driver current and it is suitable to drive 5.5kw motors in software side.

    Diffidently based on this gate drivers there is changes in the hall algorithm.

    Please suggest me the proper gate driver and verify the above phase current waveforms.

    Regards,

    Kirana H P