This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCT8316AEVM: MCT8316AEVM motor startup issue

Part Number: MCT8316AEVM
Other Parts Discussed in Thread: MCT8316A, DRV11873,

Hi,

I am designing a large air-gap (more than 10mm or about half inch), low speed (200 rpm at most) axial flux BLDC motor for a specific application. Previously I have tried to use DRV11873 to drive my motor. The startup was extremely fast and reliable. But unfortunately DRV11873 was unable to start my motor under the heaviest load it may encounter. So I switched to MCT8316A, which appears to be the highest current/power BLDC driver TI is offering.

However, MCT8316AEVM was unable to start my motor reliably. My motor just vibrates and makes weird noise without spinning unless I set the open and close loop acceleration coefficients (A1, A2, CL_ACC) all the way to almost the lowest setting. When I got my motor to run by doing that, the motor accelerates extremely slow, taking up to 30 seconds to reach full speed and sometimes the starting is still unsuccessful. Now I am testing without adding any load yet. With DRV11873, the startup is almost instant and successful in every attempt under the same condition.

I tried all startup options. Only align and double align seems to work. IPD just trigger a fault. Slow first cycle sometimes works.

For my application, I don't care about torque ripple or acoustic noise. Is there any settings I can try that may improve startup reliability as well as getting a faster startup? Or is there any driver that works similar to DRV11873 but handles higher power/current?

Thank you

  • Hi Hsin-Che,

    Thanks for posting to the Motor Drives forum.

    How much current do you expect your motor to draw during startup and during steady state? Could you please try increasing the ILIMIT setting using the following page in the GUI's guided tuning page:

    Have you also tried loading the various recommended settings in the GUI's guided tuning section based on different application types?

    Do all the recommended settings result in issues during motor startup?

    Regards,
    Eric C.

  • I already set all current limit to the highest setting (1.5 V, which translates to 10 A if CSA_GAIN is set to 0.15 V/A, right?).

    From previous testing with DRV11873, I know the startup current is around 1-2 A and steady state current is less than 1 A without load (I am currently testing without load)

    No of the recommended settings starts my motor. The first two (ultra slow acceleration and slow acceleration) get my motor to run about a quarter turn and stop.

    I found that using a high PWM frequency appears to help with startup (from default 25 kHz to 100 kHz).

    Now I am using double align, starting from a slow first cycle frequency of 3 or 5 Hz, and with OL_AC_A1 and OL_ACC_A2 set to 0.1 or less. This starts my motor within several seconds, which is acceptable to me, but seems to have very low startup torque. For my application, the motor must startup under full load (although I am now testing without load).

    What is the difference between "120 deg commutation" and "variable between 120 deg and 150 deg commutation" settings? Which one may works better for me?

  • Hi Hsin-Che, 

    Eric will get you a reply shortly.

    Thanks,
    Aaron

  • Hi Hsin-Che,

    When the motor runs a quarter turn then stop, or any other time when motor fails to startup, do you see any faults getting triggered on the GUI? (Please make sure the "Auto Read Fault Status" button is enabled)

    In addition, could you please capture the phase current waveforms when the motor fails to startup or stops running?

    The difference between 120° and 150° commutation is that, with 150 deg commutation, the phase coils of the motor are energized for 150 electrical degrees instead of 120 (shortening the zero-crossing detection window from 60° down to 30°). 150° commutation results in a smoother phase current waveform and lessens the torque ripples compared to 120° commutation. 150° commutation improves noise acoustics and power efficiency, however may become less reliable at high speeds. Please refer to this TI Precision labs video for more details.

    When the commutation mode is configured to "variable commutation between 120° and 150°", the MCT8316A's built in algorithm actually chooses when to drive the phases for 150° when it deems appropriate. You can enable this setting for better noise performance, but it shouldn't impact startup reliability.

    Regards,
    Eric C.

  • When I use the default ultra slow acceleration setting, motor run 2 or 3 complete turns and stop (Sorry not a quarter turn as I mentioned earlier). Abnormal Speed [ABN_SPEED] fault was triggered. When motor stopped running, some weird acoustic noise continued for some time, goes up in frequency and stop after several seconds.

    This the waveform of the failed startup.

    I also have some questions regarding the GUI:

    1. Sometimes I got the motor to start and run by playing with the settings. But when I close the GUI window and/or unplug USB cable and turn on GUI/connect to EVM again the next day, the settings I have changed reverts to default and my motor won't run. Why?

    2. The "I2C Speed Commend Percentage" is a percentage of what? How do I know (or configure) the speed at 100%?

    Thank you

  • Hsin-Che,

    Eric is still working on this and will have a response for you tomorrow Dallas time.

    Regards,

    -Adam

  • Hi Hsin-Che,

    From your waveform, it looks like the open-loop to closed-loop transition isn't very smooth, indicating the rotor may not be in sync with the commutation.

    One thing to try is to make sure that the motor is properly aligned during startup to ensure maximum torque is applied during open loop, so configure to double align with align time of 4s or higher:

    Could you also please ensure the open loop current limit [OL_ILIMIT] is also set to a similar value as the CBC current limit [ILIMIT]:

    Also try increasing the number of Open Loop Handoff Cycles [OL_HANDOFF_CYCLES] to 12 or even 24 and see if it helps.

    Regarding your questions:

    1. Sometimes I got the motor to start and run by playing with the settings. But when I close the GUI window and/or unplug USB cable and turn on GUI/connect to EVM again the next day, the settings I have changed reverts to default and my motor won't run. Why?

    • The settings configured using the GUI are changed in the volatile shadow registers of the MCT8316A, which is a copy of the separate non-volatile EEPROM memory. If you would like the register settings to persist through power cycle, you can write the settings into EEPROM by clicking on the "Write to EEPROM" button in the GUI.
    • On power up, the MCT8316A will copy the content from its EEPROM memory into the shadow registers, but for these to show up in the GUI, you'll need to click on the "Read All Registers" button.

    2. The "I2C Speed Commend Percentage" is a percentage of what? How do I know (or configure) the speed at 100%?

    • With the speed loop disabled, the maximum speed varies and is dependent on the motor and the bus voltage.
    • With the speed loop enabled, the I2C speed command percentage would be a percent of the configured [MAX_SPEED]

    Regards,
    Eric C.

  • I tried the settings you suggested but it doesn't seems to help with startup.

    After much try and error, I found out that if I use default "ultra slow acceleration" setting, the only things that help with startup is setting the PWM output frequency [PWM_FREQ_OUT] to 100 kHz, set the closed loop acceleration rate [CL_ACC] to 0.1 or less and perhaps increase the current limits and minimum operational duty cycle [MIN_DUTY].

    My motor has very small inductance due to the large air gap (up to half inch) necessary for my particular application. Not sure if this is relevant (large air gap is mentioned in the original post).

    Now my motor appears to be able to start reliably, but does not generate the startup torque I need. Is there anything I can do to increase startup torque? The only thing that matters in my application is startup torque. I don't care about anything else.

    I switched from DRV11873 to MCT8316 with the aim of getting higher startup torque, but now it appears that DRV11873 can generate much higher startup torque when driving my large air gap motor. Why? I thought MCT8316 is suppose to be more powerful (DRV11873 rated for 2 A vs. MCT8316 rated for 8 A)

  • Hi Hsin-Che,

    Eric will get you a response tomorrow. 

    Thanks,
    Aaron

  • Hi HSIN-CHE,

    How did you confirm that the startup torque is insufficient ? Does the motor stall after few turns? You mentioned earlier that the motor starts reliably.

    Regards,

    Vishnu

  • Sorry I didn't made things clear in the previous reply. The motor now startup reliably when testing without load. But the motor would not start if any load is added. With previously tested DRV11873, my motor starts reliably when some load is added, but I need the motor to start under more load so I switched to MCT8316 hoping to get more startup torque.

    Thank you

  • Hi HSIN-CHE,

    Can you share the phase current plot with and without load? What is the CBC current limit set to? 

    Regards,

    Vishnu

  • Hi Hsin-Che,

    Has your issue been resolved?

    Thanks,
    Aaron

  • Sorry, I am too busy with other projects recently. No time to work on this in the past few weeks.

    I might be able to capture the startup current waveform under load sometime next week.

  • Thanks for the update! Please get back to us when you have the data ready. 

    Regards,

    Vishnu.

  • Here are the current waveforms of successful startup without load and unsuccessful startup when some load is added.

    This is current of successful startup when no load is added

    This is unsuccessful startup when some load is added

    These are the settings I used when I capture these waveforms. I tried to increase the align time or use a higher input voltage but the results are roughly the same

    For comparison, here is the current waveform of successful startup when the same motor is driven with DRV11873 under same input voltage and slightly heavier load.

    It should be noted that the A/Div of this waveform is different from the waveforms shown above. Time/Div is the same.

    Thanks

  • Hi !

    We will get back to you tomorrow.

    Regards,

    Vishnu

  • Hi HSIN-CHE HSIEH,

    Thanks for sharing the plots. It looks like there is no sufficient open loop current to drive the motor in open loop even though the open loop current limit is set to maximum value.  What is the current limit set on the power supply? What fault is getting triggered under load? 

    Regards,

    Vishnu

  • Hi HSIN-CHE HSIEH,

    Also, can you decrease the PWM output frequency from 100 kHz to 50 kHz and increase the open loop acceleration?

    Regards,

    Vishnu 

  • The power supply current limit was set to 3.2 A and was not tripped during test. I used exactly the same power supply settings when I got successful startup with DRV11873 under slightly heavier load.

    I have already found that if I use a lower PWM frequency or higher open or close loop acceleration, my motor would not start even without load. My motor has very low inductance, not sure if this is relevant.

    Thanks

  • Hi HSIN-CHE-HSIEH,

    What is the inductance of your motor? 

    Regards,

    Vishnu

  • When measuring across line and neutral, its approximately 450 uH. The airgap is also large (half a inch or more).

  • This device should be able to drive 450 uH motor. It looks like something is limiting the Motor driver IC to generate sufficient phase current to drive the motor load. Can you tell us what fault is getting triggered under load? Also, do you see the motor vibrating back and forth under load?

  • Yes, the motor vibrates when it failed to start under load. Abnormal Speed [ABN_SPEED] fault is the only fault triggered. I guess this is triggered after the driver lose sync with the motor.

    I also think the issue is insufficient driving current even though I believe all current limit configurations in the GUI are set to the maximum and my power supply is more than capable of supplying enough current and not tripped. I even test at higher input voltage and get the same result. Something must be limiting the current.

  • This appears to be at least a part of the reason why driving current is limited. The default setting is something like 25%. After I set it to 100%, motor current is much higher under the same input voltage. The startup torque is also higher and the startup is faster.

    But the name of this setting (OL_DUTY) seems to suggest that it only affects open loop. Are there other setting that affects close loop current limit?

  • Ok, so it is the open loop duty cycle that was limiting the open loop current. Closed loop current limit is controlled by the Cycle by cycle current limit [ILIMIT]. Please make sure the CBC limit is set to a value that is slightly greater than the rated current of your motor.   

    Regards,

    Vishnu