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.

MCF8316DEVM: Repeated MPET Failures using MCF8316DEVM

Part Number: MCF8316DEVM
Other Parts Discussed in Thread: MCF8316A

Tool/software:

I'm working on replacing the MCF8316A with the 8316D in design that's in production and running in to trouble. I've wired my motor to the eval kit for this new suffix and cannot get my motor to spin, possibly because of repeated MPET failures. 

As I mess with settings and attempt to reproduce the set up that's working with the 8316A, I get the following errors repeatedly: 

  • CONTROLLER_FAULT - (Seems to be a logical OR of others)
  • MPET_BEMF_FAULT
  • MPET_IPD_FAULT
  • IPD_T1_FAULT - (occurs briefly and clears quickly)

I'm looking for guidance on how to resolve MPET issues so that I can characterize my motor and get it spinning. 

Thank you!

  • Below is an image of my motor driver circuit: 

    I'm working with a SunnySky V3 X2304 V3 Brushless drone motor. 

  • Hi Taylor,

    What is the DRVOFF pin status? Is it high? It should be kept low for inverter to work.

    In the schematic, the resistor used for Buck is very low wattage, is it 1/ 16W? We recommend minim 0.5W or 1W is much safer since the closed loop current required buck is 150mA, this is not external load current.

    Can you share JSON file?

    Thanks and Best regards

    Venkatadri S

  • Venkatadri, 

    The DRVOFF switch should be low--we have followed the configuration instructions from the GUI which I believe instruct us to put the toggle switch so that the signal is low. 

    Wow, regarding the buck resistor, I was not aware it needed that much current with no external load. We will update that resistor. Could that be related to any issues we are seeing on our hardware? 

    I believe our motor is stalling when connected to the motor driver GUI and dev kit. We can see it going through start up and attempting to start open loop, but the motor never spins which I believe leads to the BEMF failures we're seeing as no spinning would mean no back EMF. 

    See our .json attached. We have gone through the GUI recommendations several times in an attempt to dial things in but have never gotten the motor to start.  

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0xA1F34CAA",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0xA08AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0xA5EE1595",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x288A6014",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x103881B8",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x0BADA344",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x80A65190",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x64590A1D",
    "addr":"0x0000008E"
    },
    {
    "idx":8,
    "id":"REF_PROFILES1",
    "value":"0x00000000",
    "addr":"0x00000094"
    },
    {
    "idx":9,
    "id":"REF_PROFILES2",
    "value":"0x00000000",
    "addr":"0x00000096"
    },
    {
    "idx":10,
    "id":"REF_PROFILES3",
    "value":"0x80000002",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x80068000",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x80000010",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x00000000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0xBED9909E",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0xF55349F8",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0x8BF50005",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x800001A3",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x08200309",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00100002",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0x83E8E000",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x83085C00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x9C461900",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00840000",
    "addr":"0x000000AE"
    }
    ],
    [
    {
    "idx":0,
    "id":"GATE_DRIVER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E0"
    },
    {
    "idx":1,
    "id":"CONTROLLER_FAULT_STATUS",
    "value":"0x81000000",
    "addr":"0x000000E2"
    },
    {
    "idx":2,
    "id":"EEPROM_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x0000024C"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_STATUS",
    "value":"0x00000004",
    "addr":"0x000000E4"
    },
    {
    "idx":1,
    "id":"MTR_PARAMS",
    "value":"0x00000000",
    "addr":"0x000000E6"
    },
    {
    "idx":2,
    "id":"ALGO_STATUS_MPET",
    "value":"0x0A000000",
    "addr":"0x000000E8"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_CTRL1",
    "value":"0x20000000",
    "addr":"0x000000EA"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_DEBUG1",
    "value":"0x80000000",
    "addr":"0x000000EC"
    },
    {
    "idx":1,
    "id":"ALGO_DEBUG2",
    "value":"0x00000000",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x0150029A",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x00000000",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x00000000",
    "addr":"0x000000F4"
    },
    {
    "idx":5,
    "id":"DAC_2",
    "value":"0x00000000",
    "addr":"0x000000F6"
    },
    {
    "idx":6,
    "id":"EEPROM_SECURITY",
    "value":"0x000F0000",
    "addr":"0x000000F8"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000018",
    "addr":"0x0000018E"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x7FFFFFFF",
    "addr":"0x00000194"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x00000000",
    "addr":"0x0000040C"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0x00000000",
    "addr":"0x00000444"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x00000000",
    "addr":"0x00000446"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0x00000000",
    "addr":"0x00000448"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00010000",
    "addr":"0x0000046C"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000000",
    "addr":"0x00000477"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x01240001",
    "addr":"0x0000047C"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x000B4221",
    "addr":"0x00000484"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x000B4221",
    "addr":"0x00000486"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x0006ED9E",
    "addr":"0x00000488"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004BC"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0x00000000",
    "addr":"0x000004BE"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x00000000",
    "addr":"0x000004DC"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0x00000000",
    "addr":"0x000004DE"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x00000000",
    "addr":"0x000004E0"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0x00000000",
    "addr":"0x000004E2"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0x00000000",
    "addr":"0x000004EC"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0x00000000",
    "addr":"0x000004EE"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x00000000",
    "addr":"0x000004F0"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0x00000000",
    "addr":"0x000004F2"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x00000000",
    "addr":"0x0000052A"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x00000540"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x00000550"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x000005D2"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000612"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000614"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000000",
    "addr":"0x000006AE"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x000006B8"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x00000000",
    "addr":"0x000006EA"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x00000000",
    "addr":"0x0000072E"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0x00000000",
    "addr":"0x00000772"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0x00000000",
    "addr":"0x00000774"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0xFC7FA2B6",
    "addr":"0x00000782"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x00000786"
    }
    ]
    ]
    }


  • Hi Taylor,

    In the tuning file motor parameters are updated and why MPET is triggered? Are you giving MPET command?

    The MPET configuration seems to be not proper and the for the DC bus voltage shows 8.5V is this correct?

    Open loop acceleration also very less 0.5Hz/S , can you confirm is this chosen?

    Can you probe FB_BK pin , we can see if there is any instability there.

    Thanks and Best regards

    Venkatadri S

  • Thanks for the reply, we determined that a big source of our problems was a bad motor wire, leaving one phase unconnected. Now that we have rectified that, we can get the motor spinning in open loop, but the closed loop hand off is failing with a MOTOR_UNALIGNED error every time. Do you have any suggestions on what parameters we can modify to fix that issue? 

  • Hi Taylor,

    Disable IQ RAMP in open loop , increase A1 to 10Hz, A2 to 0 to start with.

    Thanks and Best regards

    Venkatadri S