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.

MCF8329A: Motor fast deceleration

Part Number: MCF8329A

Tool/software:

Hi e2e team,
I'm using the mcf8329 driver but the deceleration is always very slow even though I changed the parameters indicated in the guide,
I attach the configured registers, is there something I'm missing?

Thank you,
Biagio

{
  "signature": "oneui-register-data",
  "data": [
    [
      {
        "idx": 0,
        "id": "ISD_CONFIG",
        "value": "0x64A2D4A1",
        "addr": "0x00000080"
      },
      {
        "idx": 1,
        "id": "REV_DRIVE_CONFIG",
        "value": "0x48300000",
        "addr": "0x00000082"
      },
      {
        "idx": 2,
        "id": "MOTOR_STARTUP1",
        "value": "0x104654CA",
        "addr": "0x00000084"
      },
      {
        "idx": 3,
        "id": "MOTOR_STARTUP2",
        "value": "0x33B88007",
        "addr": "0x00000086"
      },
      {
        "idx": 4,
        "id": "CLOSED_LOOP1",
        "value": "0x3F7181B8",
        "addr": "0x00000088"
      },
      {
        "idx": 5,
        "id": "CLOSED_LOOP2",
        "value": "0x0AAD233B",
        "addr": "0x0000008A"
      },
      {
        "idx": 6,
        "id": "CLOSED_LOOP3",
        "value": "0x4525181A",
        "addr": "0x0000008C"
      },
      {
        "idx": 7,
        "id": "CLOSED_LOOP4",
        "value": "0x6E9B87D0",
        "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": "0x7FFA31A6",
        "addr": "0x00000090"
      },
      {
        "idx": 1,
        "id": "FAULT_CONFIG2",
        "value": "0x71C22888",
        "addr": "0x00000092"
      }
    ],
    [
      {
        "idx": 0,
        "id": "INT_ALGO_1",
        "value": "0x0946023D",
        "addr": "0x000000A0"
      },
      {
        "idx": 1,
        "id": "INT_ALGO_2",
        "value": "0x000003E3",
        "addr": "0x000000A2"
      }
    ],
    [
      {
        "idx": 0,
        "id": "PIN_CONFIG",
        "value": "0x403EE309",
        "addr": "0x000000A4"
      },
      {
        "idx": 1,
        "id": "DEVICE_CONFIG1",
        "value": "0x40100002",
        "addr": "0x000000A6"
      },
      {
        "idx": 2,
        "id": "DEVICE_CONFIG2",
        "value": "0x03E8C00C",
        "addr": "0x000000A8"
      },
      {
        "idx": 3,
        "id": "PERI_CONFIG1",
        "value": "0x69845CC0",
        "addr": "0x000000AA"
      },
      {
        "idx": 4,
        "id": "GD_CONFIG1",
        "value": "0x00008078",
        "addr": "0x000000AC"
      },
      {
        "idx": 5,
        "id": "GD_CONFIG2",
        "value": "0x00000066",
        "addr": "0x000000AE"
      }
    ],
    [
      {
        "idx": 0,
        "id": "GATE_DRIVER_FAULT_STATUS",
        "value": "0x00000000",
        "addr": "0x000000E0"
      },
      {
        "idx": 1,
        "id": "CONTROLLER_FAULT_STATUS",
        "value": "0x00000000",
        "addr": "0x000000E2"
      }
    ],
    [
      {
        "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": "0x00000000",
        "addr": "0x000000E8"
      }
    ],
    [
      {
        "idx": 0,
        "id": "ALGO_CTRL1",
        "value": "0xAA500000",
        "addr": "0x000000EA"
      }
    ],
    [
      {
        "idx": 0,
        "id": "ALGO_DEBUG1",
        "value": "0x00000000",
        "addr": "0x000000EC"
      },
      {
        "idx": 1,
        "id": "ALGO_DEBUG2",
        "value": "0x00000018",
        "addr": "0x000000EE"
      },
      {
        "idx": 2,
        "id": "CURRENT_PI",
        "value": "0x022E025D",
        "addr": "0x000000F0"
      },
      {
        "idx": 3,
        "id": "SPEED_PI",
        "value": "0x02C001C0",
        "addr": "0x000000F2"
      },
      {
        "idx": 4,
        "id": "DAC_1",
        "value": "0x00000000",
        "addr": "0x000000F4"
      }
    ],
    [
      {
        "idx": 0,
        "id": "ALGORITHM_STATE",
        "value": "0x00200009",
        "addr": "0x00000196"
      },
      {
        "idx": 1,
        "id": "FG_SPEED_FDBK",
        "value": "0x7FFFFFFF",
        "addr": "0x0000019C"
      },
      {
        "idx": 2,
        "id": "BUS_CURRENT",
        "value": "0x00000000",
        "addr": "0x0000040E"
      },
      {
        "idx": 3,
        "id": "PHASE_CURRENT_A",
        "value": "0x00000000",
        "addr": "0x0000043C"
      },
      {
        "idx": 4,
        "id": "PHASE_CURRENT_B",
        "value": "0x00000000",
        "addr": "0x0000043E"
      },
      {
        "idx": 5,
        "id": "PHASE_CURRENT_C",
        "value": "0x00000000",
        "addr": "0x00000440"
      },
      {
        "idx": 6,
        "id": "CSA_GAIN_FEEDBACK",
        "value": "0x00000003",
        "addr": "0x00000450"
      },
      {
        "idx": 7,
        "id": "VOLTAGE_GAIN_FEEDBACK",
        "value": "0x00000000",
        "addr": "0x00000458"
      },
      {
        "idx": 8,
        "id": "VM_VOLTAGE",
        "value": "0x067BF878",
        "addr": "0x0000045C"
      },
      {
        "idx": 9,
        "id": "PHASE_VOLTAGE_VA",
        "value": "0x02DCA850",
        "addr": "0x00000460"
      },
      {
        "idx": 10,
        "id": "PHASE_VOLTAGE_VB",
        "value": "0x02D93181",
        "addr": "0x00000462"
      },
      {
        "idx": 11,
        "id": "PHASE_VOLTAGE_VC",
        "value": "0x02DAECE8",
        "addr": "0x00000464"
      },
      {
        "idx": 12,
        "id": "SIN_COMMUTATION_ANGLE",
        "value": "0x00000000",
        "addr": "0x000004AA"
      },
      {
        "idx": 13,
        "id": "COS_COMMUTATION_ANGLE",
        "value": "0x00000000",
        "addr": "0x000004AC"
      },
      {
        "idx": 14,
        "id": "IALPHA",
        "value": "0x00000000",
        "addr": "0x000004CC"
      },
      {
        "idx": 15,
        "id": "IBETA",
        "value": "0x00000000",
        "addr": "0x000004CE"
      },
      {
        "idx": 16,
        "id": "VALPHA",
        "value": "0x00000000",
        "addr": "0x000004D0"
      },
      {
        "idx": 17,
        "id": "VBETA",
        "value": "0x00000000",
        "addr": "0x000004D2"
      },
      {
        "idx": 18,
        "id": "ID",
        "value": "0x00000000",
        "addr": "0x000004DC"
      },
      {
        "idx": 19,
        "id": "IQ",
        "value": "0x00000000",
        "addr": "0x000004DE"
      },
      {
        "idx": 20,
        "id": "VD",
        "value": "0x00000000",
        "addr": "0x000004E0"
      },
      {
        "idx": 21,
        "id": "VQ",
        "value": "0x00000000",
        "addr": "0x000004E2"
      },
      {
        "idx": 22,
        "id": "IQ_REF_ROTOR_ALIGN",
        "value": "0x00000000",
        "addr": "0x0000051A"
      },
      {
        "idx": 23,
        "id": "SPEED_REF_OPEN_LOOP",
        "value": "0x00000000",
        "addr": "0x00000532"
      },
      {
        "idx": 24,
        "id": "IQ_REF_OPEN_LOOP",
        "value": "0x00000000",
        "addr": "0x00000542"
      },
      {
        "idx": 25,
        "id": "SPEED_REF_CLOSED_LOOP",
        "value": "0xFFAE7000",
        "addr": "0x000005D0"
      },
      {
        "idx": 26,
        "id": "ID_REF_CLOSED_LOOP",
        "value": "0x00000000",
        "addr": "0x0000060A"
      },
      {
        "idx": 27,
        "id": "IQ_REF_CLOSED_LOOP",
        "value": "0x00000000",
        "addr": "0x0000060C"
      },
      {
        "idx": 28,
        "id": "ISD_STATE",
        "value": "0x00000000",
        "addr": "0x000006B0"
      },
      {
        "idx": 29,
        "id": "ISD_SPEED",
        "value": "0x00000000",
        "addr": "0x000006BA"
      },
      {
        "idx": 30,
        "id": "IPD_STATE",
        "value": "0x00000000",
        "addr": "0x000006E4"
      },
      {
        "idx": 31,
        "id": "IPD_ANGLE",
        "value": "0x00000000",
        "addr": "0x0000071A"
      },
      {
        "idx": 32,
        "id": "ED",
        "value": "0x00000000",
        "addr": "0x0000075C"
      },
      {
        "idx": 33,
        "id": "EQ",
        "value": "0x00000000",
        "addr": "0x0000075E"
      },
      {
        "idx": 34,
        "id": "SPEED_FDBK",
        "value": "0xFFAE6C55",
        "addr": "0x0000076E"
      },
      {
        "idx": 35,
        "id": "THETA_EST",
        "value": "0x00000000",
        "addr": "0x00000774"
      }
    ]
  ]
}

  • Hi Biagio,

    I will reply to you by end of this week.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    I'm still waiting for suggestions, it's quite urgent to understand if the driver is right for us.

    Thanks,
    Best regards,

    Biagio

  • Hi Biagio,

    I see AVS is enabled in the tuning file. This causes deceleration slow, this is used for Anti voltage surge protection.

    When motor is decelerated at high rate, we have to keep an attention on the Kinetic energy kick back to system. DC bus voltage may increase when motor is decelerated very fast.

    AVS will maintain current not going negative and hence deceleration rate is very slow (Deceleration rate depends on the inertia)

    Before you try to disable AVS (Bit is in closed loop1 register) and test, I recommend understand motor inertia.

    Follow bellow mentioned steps

    1. With this file as is step up speed to any higher value and then give lower speed reference.

    2. Measure the time it takes from the starting speed to next reference speed (approximate is good enough)

    3. Calculate natural deceleration rate by (Startin Speed - New Speed)/Time , let us call it is Default_Dec

    4. Now disable AVS (CLOSED_LOOP1) and set CL_DEC to a value equivalent to Default_Dec and test. This time it should take same amount of time

    5. Next slightly increase the CL_DEC and monitor DC bus voltage with a Voltage probe (Multimeter may not catch if there are any faster ramps) 

    6. Keep increasing CL_DEC value until a point we start seeing DC bus raising or DC Bus current is becoming zero which means at this point motor has turned to Generating mode.

    If in step 6 there is any DC bus change observed and that DC bus change is withing your specification and device specification then fine . Otherwise, we need to go for Active Braking. In this active braking we have options to set the gains (Active Brake KP/KI) and tune the performance.

    I also see, you have enabled MTPA  but LD/LQ are equal, even though it is not affecting we can disable this.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Thanks you, we had already checked the dc bus and there were no generation problems with our motor in the application even with other drivers, in fact we could not explain this low deceleration, by disabling AVS deceleration is now tunable with the closed loop parameters.

    Thank you,
    Best regards,

    Biagio