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: Motor stops at closed loop

Part Number: MCF8316AEVM

Tool/software:

Hi,

I had previously created the following ticket, in which it turned out that the motor is too weak for its purpose: https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1418325/mcf8316aevm-increase-starting-torque/5435393?tempkey=5f5a1ff7-b010-42a0-bbfb-72af254d9b9f

We have now received a new motor with following specifications:

I was able to get the motor running with the pump head installed, but only until it switches to closed loop. During open loop the pump head turns and then as soon as it switches to closed loop it makes a short noise, as if it is over-revving, and then stops.

Which parameters should I change to fix this?

Best regards

Thilo FÖrster

  • Hi Thilo FÖrster

    The parameters R, L are per phase or Phase to phase? MCF accepts in per phase (Phase to Phase /2).

    Set open loop current to say 1A, open loop to close loop hand off to 35% of rated speed.

    The max speed as per the table is 200Hz .

    Disable speed loop, only run in the torque loop.

    Run MPET to measure KE (prefer to run MPET in no load condition so that motor can coast longer and helps in measuring the KE)

    Please note we are out of office from dev 18 to 19th, we will respond to you on 20th if any more concerns.

    Thanks and Best Regards

    Venkatadri S

  • Hi,

    it's phase to phase.
    I've tried the suggested settings and tried adjusting some other parameters too but it fails at CLOSED_LOOP_ALIGNED state with CONTROLLER_FAULT, ABN_BEMF, MTR_LCK. I've also increased the MOTOR_BEMF_CONST but this didn't change anything.
    The measured Kp and Ki are both 0.044.

    Thank you and best regards

    Thilo Förster

  • Hi Thilo,

    Can you share JSON once again here?

    You can disable speed loop and test whether motor can spin in current loop.4

    Once current loop is stable we will switch to speed loop.

    Thanks and Best Regards

    Venkatadri S

  • Hi,

    I've changed to speed loop.It runs a bit longer but then stops, too. There is now also the fault SPEED_LOOP_SATURATION.

    I've used the last configuration you have sent and modified  the current limits:

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x44A12CD8",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0x903AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x49260601",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0xD2932007",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0A3181B1",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x89EEB098",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x37800002",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x2C8B04B0",
    "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":"0x00000000",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x00000000",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x00000000",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x00000000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0xD75A4327",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0xFF022088",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0xA3F540B5",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x000001CB",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x08000001",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00101465",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0xC000F107",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x81D05F00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x0C000000",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00A20000",
    "addr":"0x000000AE"
    }
    ],
    [
    {
    "idx":0,
    "id":"GATE_DRIVER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E0"
    },
    {
    "idx":1,
    "id":"CONTROLLER_FAULT_STATUS",
    "value":"0x80508000",
    "addr":"0x000000E2"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_STATUS",
    "value":"0x0DF30004",
    "addr":"0x000000E4"
    },
    {
    "idx":1,
    "id":"MTR_PARAMS",
    "value":"0x967F5D00",
    "addr":"0x000000E6"
    },
    {
    "idx":2,
    "id":"ALGO_STATUS_MPET",
    "value":"0x15000000",
    "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":"0x00000001",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x01650134",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x022C012C",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x00000000",
    "addr":"0x000000F4"
    },
    {
    "idx":5,
    "id":"DAC_2",
    "value":"0x00000000",
    "addr":"0x000000F6"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000000",
    "addr":"0x00000190"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x00BDF23A",
    "addr":"0x00000196"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x00000000",
    "addr":"0x00000410"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0xFFEC0000",
    "addr":"0x00000440"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x000C0000",
    "addr":"0x00000442"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0x00080000",
    "addr":"0x00000444"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00010003",
    "addr":"0x00000468"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000001",
    "addr":"0x00000472"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x03350000",
    "addr":"0x00000476"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x0000DDB3",
    "addr":"0x0000047A"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x0000DDB3",
    "addr":"0x0000047C"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00000000",
    "addr":"0x0000047E"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x074F2658",
    "addr":"0x000004B6"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0xFCBF8C58",
    "addr":"0x000004B8"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x0BBC0000",
    "addr":"0x000004D2"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0x0534863E",
    "addr":"0x000004D4"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x004BBE38",
    "addr":"0x000004D6"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0x00300537",
    "addr":"0x000004D8"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0xFFFC6B71",
    "addr":"0x000004E2"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0xF329C578",
    "addr":"0x000004E4"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x000D1637",
    "addr":"0x000004E6"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0xFFA746A9",
    "addr":"0x000004E8"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x00000000",
    "addr":"0x00000524"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000053C"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0xE3339FE0",
    "addr":"0x0000054C"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x000005D4"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000606"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0xF3339E18",
    "addr":"0x00000608"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000005",
    "addr":"0x00000682"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x0000068C"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x0000000B",
    "addr":"0x000006C0"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x02A737C1",
    "addr":"0x00000704"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0x00000000",
    "addr":"0x0000074A"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0x00000000",
    "addr":"0x0000074C"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0x00000000",
    "addr":"0x0000075A"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x0000075E"
    }
    ]
    ]
    }
  • Hi Thilo,

    I made few changes , I disabled the speed loop and just runs in current loop.

    In this mode speed is not controlled, please look out of uncontrolled speed when you issue higher torque command.

    I am OOO until 19th, I will reply by 20th

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x44A12CD8",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0x903AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x09660601",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0xA2972006",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0A3181B3",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x89EEB098",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x37800002",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x2C8B04B0",
    "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":"0x00000000",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x00000000",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x00000000",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x00000000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0xD75A4327",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0xFF022088",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0xA3F540B5",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x000001CB",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x08000001",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00101465",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0xC000F107",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x81D05F00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x0C000000",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00A20000",
    "addr":"0x000000AE"
    }
    ],
    [
    {
    "idx":0,
    "id":"GATE_DRIVER_FAULT_STATUS",
    "value":"0x00000000",
    "addr":"0x000000E0"
    },
    {
    "idx":1,
    "id":"CONTROLLER_FAULT_STATUS",
    "value":"0x80508000",
    "addr":"0x000000E2"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGO_STATUS",
    "value":"0x0DF30004",
    "addr":"0x000000E4"
    },
    {
    "idx":1,
    "id":"MTR_PARAMS",
    "value":"0x967F5D00",
    "addr":"0x000000E6"
    },
    {
    "idx":2,
    "id":"ALGO_STATUS_MPET",
    "value":"0x15000000",
    "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":"0x00000001",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x01650134",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x022C012C",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x00000000",
    "addr":"0x000000F4"
    },
    {
    "idx":5,
    "id":"DAC_2",
    "value":"0x00000000",
    "addr":"0x000000F6"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000000",
    "addr":"0x00000190"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x00BDF23A",
    "addr":"0x00000196"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x00000000",
    "addr":"0x00000410"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0xFFEC0000",
    "addr":"0x00000440"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x000C0000",
    "addr":"0x00000442"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0x00080000",
    "addr":"0x00000444"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00010003",
    "addr":"0x00000468"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000001",
    "addr":"0x00000472"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x03350000",
    "addr":"0x00000476"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x0000DDB3",
    "addr":"0x0000047A"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x0000DDB3",
    "addr":"0x0000047C"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00000000",
    "addr":"0x0000047E"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x074F2658",
    "addr":"0x000004B6"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0xFCBF8C58",
    "addr":"0x000004B8"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x0BBC0000",
    "addr":"0x000004D2"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0x0534863E",
    "addr":"0x000004D4"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x004BBE38",
    "addr":"0x000004D6"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0x00300537",
    "addr":"0x000004D8"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0xFFFC6B71",
    "addr":"0x000004E2"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0xF329C578",
    "addr":"0x000004E4"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x000D1637",
    "addr":"0x000004E6"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0xFFA746A9",
    "addr":"0x000004E8"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x00000000",
    "addr":"0x00000524"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0x00000000",
    "addr":"0x0000053C"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0xE3339FE0",
    "addr":"0x0000054C"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x000005D4"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000606"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0xF3339E18",
    "addr":"0x00000608"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000005",
    "addr":"0x00000682"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x0000068C"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x0000000B",
    "addr":"0x000006C0"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x02A737C1",
    "addr":"0x00000704"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0x00000000",
    "addr":"0x0000074A"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0x00000000",
    "addr":"0x0000074C"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0x00000000",
    "addr":"0x0000075A"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x0000075E"
    }
    ]
    ]
    }

  • Thank you. I had already tried with speed loop disabled. With these settings I had to increase OL_ILIMIT to 4.5A again for the motor to start, but it still runs into a fault when switching to closed loop. With speed loop enabled the startup seems to be more reliable but then it fails with the SPEED_LOOP_SATURATION fault.

  • Hi Thilo,

    SPEED_LOOP_SATURATION fault is actually a warning. This indicates if the motor unable to reach to set speed.

    The reasons could be applied voltage is lesser than required, applied current is not adequate etc.

    Can you enable fault and do not set retry mode, keep in tristate when fault detected and let us see what type of fault happening.

    Is it possible to share the oscilloscope waveform showing startup to stopping?

    Thanks and Best Regards

    Venkatadri S

  • Hi,

    it's still displaying CONTROLLER_FAULT, ABN_BEMF, MTR_LCK and SPEED_LOOP_SATURATION.

    I won't be able to connect the motor to our oscilloscope today and will be on vacation until next year. I'll send you the recording next year.

    I wish you a Merry Christmas and a Happy New Year.

    Best regards

    Thilo

  • Hi Thilo,

    You can send waveform whenever you are back from holidays.

    Thanks for the wishes and wish you too Merry Christmas and Happy new year.

    Meanwhile I will recheck the JSON and any other details and provide you reply.

    Thanks and Best Regards

    Venkatadri S

  • Hi,

    the problem is solved.

    I decided to load the default settings again, ran MPET and then only increased OL_ILIMIT to 4A and with these settings the motor runs with load when I go to at least 20% of the speed. The motor should run smoothly even at lower speeds, but maybe this will be resolved when I go through the tuning guide. If I don't get this solved, I'll create a new thread.

    Many thanks and best regards

    Thilo