MCF8329A: Optimizing motor efficiency

Part Number: MCF8329A

Tool/software:

Hello TI Expert , my application requires an extremely efficient custom sensorless BLDC motor to operate with the MCF8329A. The motor is currently rotating, and I want to know how to optimize power usage by adjusting the different parameters.
I have a motor that runs at 6000 rpm with 0.6 Nm of torque and 10.27 A of supply current.

According MCF8329A specification"In order to achieve maximum efficiency, the direct axis current is set to zero (Id_ref = 0), which will ensure that stator and rotor field are orthogonal (90o out of phase) to each other. If flux weakening or MTPA is enabled Id_ref can be zero or a negative value during closed loop operation."

I have a motor running at 6000 rpm with 10.27 A of supply current and 0.6 Nm of torque.

On the development board, I tried with both the MTPA function and the flux weakening function, but the current could not be decreased.

How can I increase the motor's efficiency?

  • Hi Nguyen,

    Before getting into details let me first explain MTPA role here.

    As you understood correctly MTPA will improve efficiency by utilizing the Reluctance Torque of the motor. MTPA is effective for motor constructions which has good Saliency.

    The inductance of D-axis and Q-axis should be different. If we know the LD, LQ which are inductance value in D-axis and Q-axis program the values in the Parameter field.

    Just Enabling MTPA in the user configuration will not be sufficient, we also need to program the LD, LQ values so that torque current estimation will be proper.

    If we don't know LD, LQ then there is another way to adjust Saliency factor and see if the efficiency improves.

    The register PERI_CONFIG -> Bit field [SALIENCY_PERCENTAGE], we can program from 1 to 15 which is 1% to 15% along with MTPA enable bit. 

    By doing this we may see for the same speed resulting bus current might reduce if the motor has saliency.

    Do not increase saliency beyond needed, then it may start weakening the flux and efficiency drops.

    Enabling Flux weakening will reduce efficiency at higher speeds which is unnecessary.

    I also would like to provide some corrections for the EVM.

    On the EVM what is the R shunt / RSENSE value used? If 1mohm sometimes soldering contact resistance can add to measurement error, in order to improve the SNR let us change to 3mOhm and above .

    Based on the RSENSE we need to configure BASE CURRENT value.

    How to calculate BASE Current

    • GD_CONFIG2->BASE_CURRENT: This parameter selects maximum current that can be delivered to the motor. The BASE CURRENT is used as reference and current thresholds are derived from the BASE CURRENT reference.
    • Example Open Loop Current Limit (MOTOR_STARTUP2àOL_ILIMIT, Close Loop current Limit FAULT_CONFIG1àILIMIT, LOCK_ILIMIT, HW_LOCK_ILIMIT) are derived from percentage of BASE CURRENT
      • GD_CONFIG1 (0xAC) for CSA_GAIN selection (5V/V, 10V/V, 20V/V, 40V/V)
      • GD_CONFIG2 (0xAE) for BASE_CURRENT value (15 bit filed)

      BASE CURRENT =  {1.5/(RSHUNT*CSA_GAIN)}

      GD_CONFIG2 = BASE CURRENT * 32768 / 1200

      Example:

      If we change to 5mOhm Rshunt, CSA_GAIN = 10V/V

      BASE CURRENT = (1.5) / ( 0.005 * 10) = 30A

      GD_CONFIG2 = 30 * 32768 / 1200 = 820 = Hex value 0x334

    PWM Frequency:

    Try using 15000 OR 20000 Frequency and test it.

    Thanks and Best Regards,

    Venkatadri S

  • Hi Venkatadri S

    Got it. Thanks for your answer.

    Thanks,

    Thao