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.

MCF8316AEVM: What is set by ramp-down during MPET?

Part Number: MCF8316AEVM
Other Parts Discussed in Thread: MCF8316A

Tool/software:

We are looking at the MCF8316AEVM motor controller for a new design, and I am impressed by some of the functionality.  I've read through the 168-page MCF8316A data sheet/manual a couple of times now, but I am left with a couple questions...

1) Are there registers that can be set to adjust the power provided to each phase of the motor?  I see the read-only PHASE_CURRENT_x registers, but I am not clear on how to set the drive.

2) I can not find exactly what is being set during the MPET ramp-down phase. 

- Is it determining the minimum current required for the mechanical load present at the time MPET runs (and therefore setting the read-only registers PHASE_CURRENT_x)?  

- Is it determining the BUS_CURRENT_LIMIT where the chip transitions to constant current mode (reducing torque)?

- Is it setting some other (writeable) registers that set the power level delivered to the motor for each of the phases

Any help is appreciated,

Larry

  • Hi Larry,

    Thanks for appreciating the MCF8316A product and features.

    Answer to your questions

    1) Let me explain what I am understanding about this question.  Are you looking for controlling each phase independently? This balanced three phase drive, power will be common to each phase and voltage /current are phase shifted by 120 degrees angle. PHASE_CURRENT_A/B/C are output variable user can read them through I2C interface. To det the drive register FAULT_CONFIG1 has setting for ILIMIT, the range of ILIMIT is up to 8A peak. Here the ILIMIT is max peak current of a Phase. 

    Example: When we set 4A in ILIMIT configuration, if the motor can demand 4A, device drives 4A peak, and if motor can be further loaded more than 4A then we need to select ILIMIT value appropriately. Please note that this is not total Bus current.

    2. MPET Current ramp down is done by the device while measuring mechanical property of motor. This runs Current profiling, it starts with initial set current level, drives motor to set speed reference and starts reducing the current and monitors speed response.  With the speed torque curve KP, KI for speed loop is calculated. 

    Thanks and Best Regards

    Venkatadri S

  • Hello,

    Thank you for the information.  I believe it is helping me to understand - partly directly and partly by steering me towards the right parts of the manual.

    If I understand correctly by combining what you wrote and what I see in the manual (mostly sections 7.3.10 and 7.3.11), this is the process:

    - ILIMIT sets the maximum current provided to the motor windings while the chip is accelerating the motor (in open loop mode). If mechanical drag is too high for the ILIMIT value, the motor will not reach target speed (?)

    - Once the back EMF is usable, the chip transitions to closed loop and uses back EMF readings to determine the lowest current sufficient to keep the motor spinning at the target speed while not going above ILIMIT.

    - In closed loop mode, current will automatically increase/decrease (up to ILIMIT max) as mechanical load changes

    - The PHASE_CURRENT_A/B/C registers are provided for host software to read through I2C and use for features like predicting battery life or maybe adjusting target speed to prevent stall.

    Does that sound correct?

    I do not completely understand the difference between ILIMIT and BUS_CURRENT_LIMIT unless it is just a different way of expressing the max value with or without an offset for the power use of the rest of the chip.

    In the event the mechanical load is too high for the target speed and the ILIMIT value, will the chip reduce the effective target speed or will the motor stall?

    Thanks again, Larry

  • Hi Larry,

    ILIMIT is when in closed loop. For Open Loop reference is  OL_ILIMIT , which remains constant as long as motor is in open Loop. Once device enters closed loop Phase currents are regulated with ILIMIT reference, max phase current is ILIMIT value programmed.

    Phase current A/B/C on I2C will not be RMS, it is instantaneous. If you need to monitor read IQ or IQ_Ref from the variable which is the DC quantity.

    BUS Current limit is VM current and not the phase current. ILIMIT is used by closed loop whereas BUS_CURRENT_LIMIT is VM(Supply)  current limit monitoring logic which restricts total BUS current not exceeding.  Both ILIMIT and BUS CURRENT LIMIT are independently configurable.

    Thanks and Best Regards

    Venkatadri S

  • I realize I am still unsure of one piece of information about the behavior in closed loop mode... 

    If the ILIMIT value is set too low for the motor to spin the mechanical load at the target speed, will the chip reduce target speed until ILIMIT is enough?

  • Hi Larry,

    Yes, device spins the motor to a speed until ILIMIT level and sets saturation flag. We can enable SATURATION_FLAG in FAULT_CONFIG1.

    Device sets Speed saturation flag which means motor can not reach to set speed.

    Thanks and Best Regards

    Venkatadri S