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.

MCF8316A: BLDC Motor suddenly stops in closed loop at high-speed reference

Part Number: MCF8316A
Other Parts Discussed in Thread: MCF8315A,

Hi team,

We have a fan design project. Based on MCF8316EVM board design of TI, we  designed own MCF8316AEVM board with a GUI connection for the first design version.

We tested our motor that had parameters below. We don't run MPET, instead, we imported directly motor parameters that is available before: 

The maximum motor's speed is 240rpm. PWM is 10kHz in continuous mode and speed control via I2C

After learning and testing, our motor runs smoothly from open loop to closed loop when low-speed reference (less than 85% of maximum speed reference). 

Here is our results about ground-to-phase current (red), ground-to-phase voltage (green), and FG (yellow) 

Our recent problem is that when the speed reference is set to more than 85% of maximum speed (high-speed reference), our motor still runs well in closed loop quickly, but it automatically stops without any fault alarm, and then its state returns to IDLE. Sometimes, when we set to more than 85% of the maximum speed, the power suddenly shut down because of an overcurrent error.

In order to fix our fault, we increased the power voltage Vm and the Lock current limit (in Control Fault Settings) up to the max value (8A) but the motor is still stopped without any fault alarm.

We hope your team to explain our problem and give us the solutions.

Regards,

Vuong N.T

  • Here is the result when motor suddenly stops below:

  • Hi Vuong N.T,

    Thanks for posting your question in MD forum. In the GUI, is the Auto-read enabled to read any registers? if so, can you please disable auto-read and try again? This is a known issue in the device and has been fixed in MCF8315A.

    Regards,

    Vishnu

     

  • Hi Vishnu,

    Thanks for your responses about our problems. We set up GUI and tested the motor and I am sure that the Auto-read was disabled but it not ok. At 85% of maximum speed, the auto-read was disabled and motor spined very well, but it suddenly shut down when the speed reference is set to more 85%.

    So we still have this problem. I hope you show us another explanation. 

    Regards,

    Vuong N.T

  • Hi Vuong N.T,

    Thanks for the details. Can you check what fault is getting triggered? Also, in the motor status window, can you check the % voltage magnitude at 85% speed? If this is close to 100% then the motor has reached the modulation limit. Can you also make sure slew rate is set to 200V/us? Please make sure you don't auto read any registers while the motor is spinning. 

    Regards,

    Vishnu

  • Hi Vishnu,

    Thanks for your support.

    I am sure that slew rate is set to 200V/us with 10kHz PWM and I didn't auto read any registers. Here is the % voltage magnitude (62%) at 85% speed:

    Here is the % voltage magnitude (73%) at 95% speed

    1. Can you explain about % voltage magnitude and how it affects the modulation limit?

    2. When we run motor at 95% speed, the fault status is triggered as "HARDWARE LOCK CURRENT LIMIT". In order to fix that, we disabled the fault and the motor ran very well, but sometimes it suddenly stops and the power is shut down. We have thoroughly checked the cause of this error but we still couldn't find it. Can you help me check the fault "HARDWARE LOCK CURRENT LIMIT" in our project?

    We hope your team to explain our problem and give us the solutions.

    Regards,

    Vuong N.T

  • In order to fix our fault, we increased the power voltage Vm and the Lock current limit (in Control Fault Settings) up to the max value (8A) but the motor is still stopped without any fault alarm.

    Hi Vuong,

    Do you expect the motor current is higher than 8A? 

    Sometimes, when we set to more than 85% of the maximum speed, the power suddenly shut down because of an overcurrent error.

    How do you know if the shut down was caused by overcurrent error, without seeing nFAULT going low?

    but the motor is still stopped without any fault alarm.

    When driver shut down with nFAULT=1, this means the fault is one of these: VM or AVDD or Buck regulator. Do you use AVDD or Buck regulator to drive any parts on the board? If not then the shut down fault is due to VM under voltage lock out which does not trigger the nFAULTpin.

    What is your VM=? What is your power supply or batt  current rating? Can you post the board schematic?

    Brian

  • Hi Brian Dang,

    Thanks for your response

    1. When we ran the motor at over 95% speed, the motor suddenly stops even when the motor current is shorter than 8A (at about over 5A, it stopped). Therefore we didn't understand the details of the problems.

    2. We noticed the overcurrent fault by seeing the % voltage magnitude in Motor Status and we are sure that it was between from 0 to 0.95 (shorter than 1).

    Can you explain about % voltage magnitude and how it affects the modulation limit?

    3. We didn't use Buck regulator for our project. Our VM is 15V by the power supply. However, we can post the board schematic below that help you can check better about our project.

    Regards,

    Vuong N.T

  • Hi Vuong N.T,

    Can you increase ILIMIT (Torque loop PI current limit) and check if this helps?

    Regards,

    Vishnu 

  • 2. We noticed the overcurrent fault by seeing the % voltage magnitude in Motor Status and we are sure that it was between from 0 to 0.95 (shorter than 1).

    High voltage magnitude doesn't mean overcurrent shutdown problem. For example: a motor with high phase to phase resistance might need very high voltage magnitude but the current is still low and will not trigger overcurrent protection. 

    Also an overcurrent shutdown will not reset the driver (it is still in active state).

    Our recent problem is that when the speed reference is set to more than 85% of maximum speed (high-speed reference), our motor still runs well in closed loop quickly, but it automatically stops without any fault alarm, and then its state returns to IDLE.

    Since the driver was reset to IDLE state, this means it was not caused by OCP shutdown, but under voltage shutdown.

    3. We didn't use Buck regulator for our project. Our VM is 15V by the power supply.

    You should use scope probe the VM at the driver pin and set trigger to 5v falling edge, and capture the VM when the driver shutdown by repeat the high speed test. 

    Can you explain about % voltage magnitude and how it affects the modulation limit?

    I will follow up on this.

    Brian

  • Here is your board schematic:

  • Hi Brian Dang,

    After reading and consulting your explain and solution,we tested and set trigger to 5V falling edge, the Torque loop PI current limit is set to max (8A)and then we ran motor with 2 cases:

    Case 1: Motor ran in close loop at 85% max speed and the hardware lock current limit fault is set below 

    And the result is the motor ran very well and it didn't stop:

    And then we continuously increased speed up to 90% of the max reference, motor suddenly stops and the result is below (FG, ground-to-phase-current and trigger 5V) and ONLY the fault "HARDWARE LOCK CURRENT LIMIT" is still triggered

    Case 2: We disabled the hardware lock current limit fault:

    And speed reference is set to 95% of max value, and the result is motor ran very well and it didn't stop.

    Can you help us check the problems ?

    Regards,

    Vuong N.T

  • Hi Vuong N.T,

    What is the peak motor current at 85% and 95% speed? Can you set the HW_LOCK_ILIMIT to 8A and see if you can spin the motor at 95% speed with HW lock enabled?

    Regards,

    Vishnu

  • If you set the  HW_ LOCK_ILIMIT_MODE = 0000b: All MOSFETs are turned OFF (as shown in one pic with the HARDWARE LOCK CURRENT causes latched fault with FETs in recirculation mode), the nFAULT should be pulled low as quoted below. So I don't understand why you didn't see the nFAULT alarm.

    7.3.22.8.1 HW_LOCK_ILIMIT Latched Shutdown (HW_LOCK_ILIMIT_MODE = 00xxb) When a HW_LOCK_ILIMIT event happens in this mode, the status of MOSFET will be configured by HW_LOCK_ILIMIT_MODE and nFAULT is driven low.

    Your GUI shows the Ilimit is set to 7A, not 8A as you wrote. Obviously the motor high current triggered the 7A HW_ILIMIT. Do you expect the motor can draw more than 7A? If not, then perhaps the FETs are not driven properly. Can you capture the GHA, GLA, and SHA so we can see if dead time is properly set? Bad dead time can cause high FET current.

    The maximum motor's speed is 240rpm. PWM is 10kHz in continuous mode and speed control via I2C

    How many pole pairs, and how do you calculate the MAX_SPEED=28hz for 240rpm? 

    I suggest to set pwm to  discontinuous (saddle wave instead of sine wave at the phase output). This reduces switching loss in the FETs.

    Brian

  • Hi Brian Dang,

    We make sure that nFAULT alarm worked well during testing the motor. After reading and consulting your explanation and solution, we tested the motor in order to check Hardware lock current limit fault. PWM is 10kHz, discontinuous mode

    Our motor's parameter: 7 pole pairs - 240 rpm max speed

    Case 1: Disabled Hardware lock current limit (HW_LOCK_ILIMIT_MODE=1xx1b. Here is your result when speed motor is 85% and 95% of max speed respectively:

    And motor didn't stops at 95% speed, it was ok.

    Case 2: Enabled Hardware lock current limit

    We tested motor in order to check fault in 6 cases:

    -Case 2.1: HW_LOCK_ILIMIT_MODE=0000b

    Motor suddenly stops with nFault alarm

    -Case 2.2: HW_LOCK_ILIMIT_MODE=0001b

    Motor suddenly stops and there is a spike in the phase current, but I didn't see nFault alarm.

    -Case 2.3: HW_LOCK_ILIMIT_MODE=0010b

    Motor suddenly stops with nFault alarm

    -Case 2.4: HW_LOCK_ILIMIT_MODE=0011b

    Motor suddenly stops with nFault alarm

    -Case 2.5: HW_LOCK_ILIMIT_MODE=0100b

    Motor suddenly stops with nFault alarm

    -Case 2.6: HW_LOCK_ILIMIT_MODE=0101b

    Motor suddenly stops and there is a spike in the phase current, but I didn't see nFault alarm.

    So I have trouble in our problem and I didn't know why our motor suddenly stopped when I enabled Hardware lock current limit mode.

    Could you help me check your problems?

    I followed by datasheet of MCF8316A .

    Regards,

    Vuong N.T

  • Hi Vuong N.T,

    What is the peak phase current at 85% and 95% speed? Can you provide details on the end application that you are working on? Looks like the load increases rapidly above 85% duty cycle.

    Regards,

    Vishnu 

  • Hi Vuong,

    So I have trouble in our problem and I didn't know why our motor suddenly stopped when I enabled Hardware lock current limit mode.

    Could you help me check your problems?

    Please do as suggested below:

    Can you capture the GHA, GLA, and SHA so we can see if dead time is properly set? Bad dead time can cause high FET current.

    Brian

  • -Case 2.1: HW_LOCK_ILIMIT_MODE=0000b

    Motor suddenly stops with nFault alarm

    Don't see the nFAULT (Blue signal?)  going low here. Why?

    Also the FG (yellow) frequency (motor speed) stayed the same until f=0 without showing any slowdown, with all FETs hi-Z. How can this possible with the fan inertial and angular momentum? It acted like there is a mechanical brake stopping the fan motor. 

    Brian

  • I'm sorrry, only  in case 2.2 and case 2.6, I didn't see Fault alarm, and another case, I saw it!

  • I knew that FET is integrated in MCF8316A GUI, so I don't know how to measure GHA, GLA, SHA and capture for you

  • We tested our motor that had parameters below. We don't run MPET, instead, we imported directly motor parameters that is available before: 

    The maximum motor's speed is 240rpm.

    This motor has low BEMF: 40mv/hz, so total BEMF at 240rpm (28hz) = 40 * 28 = 1.1v, and phase resistance of R=0.4 ohms

    At 15v VDRAIN and 73% pwm duty cycle for 95% max speed, the motor current is roughly  (73%*15v - BEMF) / 0.4 = 24A!!!!

    I think you are using the wrong motor for this application. Try to select a motor with higher BEMF constant (also means stronger torque with  higher Kt) for this lower speed 240rpm application. If you need to use more than 73% pwm duty for this low resistance motor, then it will be overheated. 

    Brian

  • Hi Brian Dang,

    About BEMF constant and motor's parameter, we will check and measure on next Monday.

    So I still have 2 questions about your fault" Hardware lock current limit " that I mentioned above:

    1. Only in case 2.2 and case 2.6, I didn't see Fault alarm, and in another case, I saw it. Therefore I didn't know why

    2. When I disabled " Hardware lock current limit " Fault, the motor (with my parameter 40mV/Hz ) still ran very well and didn't stops.

    Could you explain for me?

    Thank you!

    Regards,

    Vuong N.T.

  • 1. For Hardware Lock Current Mode 00xx, when shut down triggered , pin nFAULT should be low. so I don’t know why you didn’t see it. Can you add nFAULT to scope signal?

    2. If you disable the Hardware Lock Current, then even when the CSA detected very high current it still let the driver continues to run. But this might cause motor damages or burnt FETs.

  • Hi Brian Dang,

    We tried a higher BEMF constant (over than 100mV/Hz) but it caused same this fault.

  • Hi Vuong,

    What is the peak phase current at 85% and 95% speed? Can you provide details on the end application that you are working on? Looks like the load increases rapidly above 85% duty cycle.

    Did you get a chance to check above questions?

    Regards,

    Vishnu

  • We tried a higher BEMF constant (over than 100mV/Hz) but it caused same this fault.

    What do you mean? Did you just change the BEMF parameter in the GUI, or swap out the motor with another motor with higher BEMF Kb and higher torque constant Kt?

    Only changing the GUI parameter doesn't do any good.

    Brian

  • Hi Vishnu,

    Here is your results at 85% speed. The ground-to-phase current is red with peak phase is 3.8A

    And 95% speed below. The ground-to-phase current is red with peak phase is 5A

    When disabled "Hardware lock current limit mode", our motor only ran at up to 95% speed.

  • Hi Brian Dang,

    This motor has low BEMF: 40mv/hz, so total BEMF at 240rpm (28hz) = 40 * 28 = 1.1v, and phase resistance of R=0.4 ohms

    At 15v VDRAIN and 73% pwm duty cycle for 95% max speed, the motor current is roughly  (73%*15v - BEMF) / 0.4 = 24A!!!!

    We checked your motor current's calculator but 73%*15V is only line voltage, you didn't divide by sqrt(3). So the motor current is roughly 

    (73%*15V/sqrt(3) - BEMF ) / 0.4 = 13A, and of course it is high value!

    I think you are using the wrong motor for this application. Try to select a motor with higher BEMF constant (also means stronger torque with  higher Kt) for this lower speed 240rpm application

    What good advice! We checked and measured BEMF constant and its value is 140mV/Hz, R = 0.475 Ohm, L = 1.9mH, 7 pole pairs, 240rpm max speed.

    This is our BLDC motor we tested during this time. 

    So at 95% the motor current is roughly (73%*15V/sqrt(3) - BEMF ) / 0.4 = 6A

    With this parameter, we still got the same fault Hardware lock current limit.

    Could you help me with another solution to that?

    Regards,

    Vuong N.T.

  • Vuong,

    Hardware lock current limit in MCF8316A is comparator based. hen the sensed phase current exceeds the programmed threshold, device triggers the fault. Looks like there are some current spikes at higher loads. Can you monitor all three phase currents and check if there is any spike?

    Regards,

    Vishnu 

  • Hi Vishnu,

    Yesterday we continuously read the datasheet (about Integrated Current Sensoring) and ran motor.

    Can you monitor all three phase currents and check if there is any spike?

    Here are our latest results for discussion below:

    ** Three phase current and SOX output pin (green) at 85% speed:

    There was any spike in three phase current. However, we suspected SOX output because our SOX's measurement is irregular (both in amplitude and frequency). And there was spike at SOX pin:

    This lead to the fact that at any given closed loop's time, SOX is interrupted and motor suddenly stops:

    So we have questions for you and your team:

    1. What is the correct output pin SOX's shape ?

    2. What is the cause of SOX's spike? How does it affect motor shutdown?

    3. What is the shunt resistor's position? I didn't see it in the MCF8316A datasheet and think it affects ISEN and SOX.

    4. What is supply power's value for Integrated current sensing? Is it from BUCK circuit ? And what is the max voltage of SOX output?

    Regards,

    Vuong N.T.

  • Vuong N.T.,

    I will get back to you on Monday.

    Regards,

    Vishnu

  • Hi Vuong,

    SOx output should look like below plot. Spikes in the current samples are triggering HW current limit. Did you enable Dynamic CSA gain? Did you set the current PI controller gains to zero? Setting them to zero will enable auto-calculation of current PI controller gains. Did you get the speed controller gains through MPET? 

    Regards,

    Vishnu

  • Hi Vishnu,

    We tested MCF8316A GUI with our motor for a long time. For the motor's parameters, it required a large phase current at high speed. When it ran in close-loop at high speed (over than 90%), the peak's phase current is 4A and up to 5A at 95% speed. There were spikes in SOX pinout, which led to HW_LOCK_ILIMIT_MODE (we set up to 8A) being active. We could find 2 main causes of our problems as follow:

    1. There were spikes in the power supply of the current Op-Amp

    (When the power supply is only active, the motor is not running, there had been spikes at the SOX pinout (red))

    2. The shunts are set in the low-side FETs, this led there were spikes (EMI).

    When the motor ran at 90% speed, PWM 10kHz is set and you can see it in SOX pinout.

    So we consider MCF8316AEVM never allows the motors that could run with the large phase current (over 5A). What do you think about this conclusion?

    We didn't know if your teams have tried motors that need the large phase current (over 5A) at high speed or not ? If yes, did you see any spike in the SOX pinout? And how did you solve this problem? Could you send me pictures about phase current when MCF8316A work with the value of peak phase current above 5A ?

    Regards,

    Vuong N.T.

  • Let me get back to you tomorrow.

  • Vuong,

    I'm not sure which current Op-Amp power supply and shunts you are referring to. Entire current sensing circuit is integrated inside the chip. We have spun motors with phase currents above 5A and haven't had any issues. I think this is a tuning issue. Did you try tuning the current PI controller gains manually? 

    Regards,

    Vishnu

  • Hi Vishnu,

    I think this is a tuning issue. Did you try tuning the current PI controller gains manually?

    Because we couldn't run MPET Tool for our motor, we directly entered BEMF to GUI. Therefore, we have to enter directly the speed PI controller gains, and we haven't adjusted the current PI controller. 

    Could you check with us how to tun the current PI controller gains if you don't run MPET? We will try the controller again and let me back tomorrow.

    Regards,

    Vuong N.T.

  • Vuong,

    Can you refer to section 3.6.1 in tuning guide to manually measure the motor parameters and program them? After manually programming R, L and Ke, device will run the MPET to calculate the Speed PI controller gains. Make sure current and speed PI controller gains are programmed to zero.  

    Regards,

    Vishnu

  • We tested MCF8316A GUI with our motor for a long time. For the motor's parameters, it required a large phase current at high speed. When it ran in close-loop at high speed (over than 90%), the peak's phase current is 4A and up to 5A at 95% speed.

    Hi Vuong,

    what is the setting of  OCP_LVL? 1: 10A and 0: 15A current protection in the FETs. 

    What is the value of  HW_LOCK_ILIMIT at the FAULT_CONFIG1 register?

    These setting affect the high current protection shutdown. 

    (When the power supply is only active, the motor is not running, there had been spikes at the SOX pinout (red))

    The noise at the SOx pin must be from the VM or ground noise and picked up by the scope. This spike noise might not be real between the SOx and AGND.

    Brian

  • Hi Brian Dang,

    what is the setting of  OCP_LVL? 1: 10A and 0: 15A current protection in the FETs. 

    What is the value of  HW_LOCK_ILIMIT at the FAULT_CONFIG1 register?

    1. OCP_LVL is set 10A, and we still with 15A but nothing new

    2. HW_LOCK_ILIMIT is max 8A

    Vuong N.T.

  • 1. When we ran the motor at over 95% speed, the motor suddenly stops even when the motor current is shorter than 8A (at about over 5A, it stopped). Therefore we didn't understand the details of the problems.

    Hi vuong,

    It seems the driver current sense amp detected the phase current was higher than 8A, but your measurement was about 5A. How did you measure the phase current of 5A? I am just pointing out the possibility of the error in your measurement. 

    Brian

  • How did you measure the phase current of 5A?

    To measure, I got the Current Probe (HCP8050).

    Besides, I also used another driver board (external FETs, IC driver, and MCU). Our motor spins well at any high speed). And I confirm with my BLDC motor, 95% max speed corresponds to about 5A phase current.

     Vuong N.T.

  • Hi Vuong, 

    Thanks for the additional info. I would like to give a quick update here: Vishnu is out of office on business travel for this week - but should be returning next week. 

    Best Regards,
    Andrew 

  • Hi Andrew,

    Thanks for your update about your team. I look forwards to hearing from him and your team.

    Regards,

    Vuong N.T.

  • Vuong,

    Can you summarize on the current status? Please share the list of open questions.

    Regards,

    Vishnu

  • Hi Vishnu,

    After a few days of testing the current status, for my BLDC motor, the phase current could be up to 4.7A at 85% of max speed. However, when running at 95% speed, the phase current is up to over 5A, and the motor is stopped. We have consulted your suggestions from you and your team but now it's still not OK.

    When running at a high phase current above 5A and up to 8A, what are their requirements for the application? And for my problems, could you help me check again about controllers?


    Regards,

    Vuong N.T.

  • Vuong,

    With MCF8316A, we have seen that the Hardware current limit trigger point is inaccurate when the HW current limit threshold is configured above 6A peak. Device triggers hardware current limit at a value lower than the configured threshold. E.g. Device triggers HW current limit fault at 5.3A when the threshold is set to 8A. This is a known issue and we have documented this issue in the E2E FAQ (item #9). Unfortunately, this issue cannot be fixed in MCF8316A. We will be releasing a new version of the same device in future which will have this problem fixed.

    Regards,

    Vishnu

  • Vishnu,

    we have seen that the Hardware current limit trigger point is inaccurate when the HW current limit threshold is configured above 6A peak. Device triggers hardware current limit at a value lower than the configured threshold.

    I would like to thank your team for supporting us during this time. That is the information we have been looking for for a long time about HW current limit affects high phase current.

    We will be releasing a new version of the same device in future which will have this problem fixed.

    We are preparing to put this system into mass production, so could you tell me exactly when you will be releasing a new version of the same device?

    Regards,

    Vuong N.T.

  • With MCF8316A, we have seen that the Hardware current limit trigger point is inaccurate when the HW current limit threshold is configured above 6A peak. Device triggers hardware current limit at a value lower than the configured threshold. E.g. Device triggers HW current limit fault at 5.3A when the threshold is set to 8A. This is a known issue and we have documented this issue in the E2E FAQ (item #9). Unfortunately, this issue cannot be fixed in MCF8316A. We will be releasing a new version of the same device in future which will have this problem fixed.

    This information should be automatically linked to any threads related to the MCF8316A. We all spent a good amount of times debugging the driver with a bad spec, and this information should be pointed out a month ago.

    So for Vuong and his team, they need to disable the current protection of the driver, then add an external current sensor to trigger the driver if high current protection is required for the product.

    Brian

  • Hi Vuong,

    The new version is planned to be released by end of 2Q 2023. 

    Regards,

    Vishnu

  • Brian,

    Thanks for your feedback. This information is linked to the Datasheet of MCF8316A on the first page (E2E FAQ).

    Regards,

    Vishnu