MCT8329A: The motor runs for one second and then stops.

Part Number: MCT8329A

Hello esteemed technical team!
I use MCT8329A designed high power circuit board, I tried to debug it by myself for 60 working hours, and I always fail to reach the normal operation.

My brushless motor has a rated power of 1KW, a maximum design speed of 1500RPM, and an internal resistance of 0.09 ohm in any two of the three wires of the motor coil. The motor is powered by a lithium battery with a maximum voltage of 50V.
My current situation is that no matter how much duty cycle command is given to the motor, the motor can only rotate for 1 second and then stop. It's about 10 revolutions or so.

E2H faults are as follows:  LOSS_OF_SYNC=1H,MTR_LCK=1H.
E0H has no faults.
I made the following adjustments to the default registers:
1.MTR_STARTUP=2H.
2.CSA_GAIN=3H.
3.VREF_SEL=0H.
4.CLOSED_LOOP_MODE=1H.
5.MAX SPEED=400HZ.
6.OL_DUTY=6H.
7.OL_ILIMIT=CH.
1.I don't know how to continue modifying the registers, the out of sync fault will keep on occurring, please help me to find out what the problem is?
2. hypothetically what happens if the batteries are not able to charge at the rate required to maintain the closed loop?

Since I did not purchase EVM, please forgive me for not being able to provide the configuration file in file form.

0x80,0x04,0x4D,0x40,0x7F;

0x84,0x95,0X32,0x2D,0x66;

0X8E,0x01,0X00,0x01,0x30; 

0x90,0x40,0x06,0xC8,0x00;

0xAC,0xFF,0x00,0x02,0x00;
Here is the default register configuration I found.

  • I was just browsing the forums and came across the following link:

    https://e2echina.ti.com/support/machine-translation/mt-motor-drivers/f/mt-motor-drivers-forum/776409/faq-faq-mcx


    I made the following adjustments:
    1.ALIGN_TIME=B;
    2.OL_ACC_A1=6;
    3.OL_ACC_A2=5;
    I increased some alignment time and turned up the open loop acceleration A1,A2, the symptoms didn't get better, then I turned A1,A2 down and it would spin for about two seconds then stop again, the fault is still as follows:
    1.LOSS_OF_SYNC=1;
    2.MTR_LCK=1.

  • Right! Also I can't quite wrap my head around the following formula. Suppose A1=1HZ,A2=0.5HZ, can you help me to make an example of the operation? What should be the exact SPEED(T)?

  • I would like to add some information.
    My motor is 14 pole.
    I use an oscilloscope to detect the FG output under the following conditions.
    FG_SEL=1H;
    fg_div_factor=7H;
    The result is no waveform. However, when FG_SEL=0H, you will see the motor stop at about 7HZ.
    This seems to establish that the motor is not in closed loop, right?

  • I think I should have found out where the problem is, no matter which mode I use to run the motor, the motor can't run at low speeds, my motor is running on regulated speeds with an operating range of 500-1500 RPM, and I can never run it stably below 750 RPM no matter how much I try to debug it, assuming that I set it to 1500 RPM directly, and then gradually drop it down to 750 RPM. Unable to synchronise fault, if I directly drive the motor to accelerate from stop to run at 750 RPM, then it will stop instantly just after the closed loop has intervened in the motor, and also report an unable to synchronise fault. But although I know that it is the low speed running condition that the closed loop can't run properly, but I have no way to solve this problem, please help me!