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: Regarding Open Loop Register Settings

Part Number: MCF8329A
Other Parts Discussed in Thread: MCF8329EVM

Tool/software:

Hello, I am currently using the MCF8329A-Q1 to control a BLDC motor. However, I encountered some difficulties in understanding the configuration process for Open Loop, so I have a question.

What is the purpose of the OL_LIMIT? Based on its name, it seems to be a parameter that controls the current limit during Open Loop operation. However, in my actual testing, I found that it did not affect the current limit in Open Loop. The only parameter that seemed to have an effect was ALIGN_SLOW_RAMP_RATE. Could you please explain in detail how OL_LIMIT works?

  • Hi ,

    As you understood correctly OL_LIMIT is for open loop current.

    The ALIGN_SLOW_RAMP_RATE affects the current ramp time when you start the motor from startup, set startup to ALIGN and ALIGN_SLOW_RAMP_RATE to 15A/S so that current settles to set limit quickly without much ramp up time.

    The ramp configuration is provided to avoid step change for some applications where acoustics are critical care about.

    Thanks and Best Regards

    Venkatadri S

  • I just tested and found that the value of OL_ACC_A1 seems to affect the BASE_CURRENT value.
    I set the BASE_CURRENT to 37.5A and verified that it was properly configured using ILIMT and BUSS_CURRENT. However, OL_LIMIT did not seem to work correctly. When I set OL_ACC_A1 to the lowest value (0.01Hz), it seemed to make OL_LIMIT work properly. Previously, I had set OL_LIMIT to 5%, but the BASE_CURRENT value behaved differently when OL_ACC_A1 was set to 50Hz compared to 0.01Hz. Could you please check this?

    Additionally, I have another question. During the transition from Open Loop to Closed Loop (HandOff), there is a phenomenon where the current drops sharply and then increases again. I have activated the IQ_RAMP_EN register, but it does not seem to improve the situation. Is there any other way to resolve this issue?

    Thank you.

  • Hi, Team is OOO and responses may be delayed. In the mean time, can you confirm the board used. Is it the MCF8329EVM? We have changed the shunt resistor  in Aug'2024 due to some accuracy issues found with older one. If the EVM was ordered before Aug-2024, please update the shunt resistor based on the new EVM design files (https://www.ti.com/tool/MCF8329EVM)

    BASE_CURRENT depends on shunt resistor and CSA_GAIN only. Other parameters will not impact the BASE_CURRENT.

    Regards,

    Manu

  • I am currently only using the driver.
    I believe the issue is not related to BASE_CURRENT, as I have verified through debugging with the Current Limit that the current limit is being properly applied.
    In fact, I confirmed that when I set A1 to 0.01Hz, the OL_LIMIT value is applied correctly.
    However, when I change A1 to around 50Hz/s or 100Hz/s instead of 0.01Hz/s, I observe that the OL_LIMIT value is not applied correctly.

  • Hi ,

    Can you adjust ALIGN SLEW RATE and test?

    Increase ALIGN SLEW RATE to 25A/s .

    And do not start with slow 1st cycle frequency , start with 0Hz.

    I am OOO please expect slow response.

    Thanks and Best Regards 

    Venkatadri S

  • Hi,

    Were you able to test by making changes as discussed before?

    Thanks and Best Regards

    Venkatadri S

  • I increased the Ramp Rate to 250A and tested, but it still seems that the control is not working properly.
  • Based on my observations, it seems that increasing A1 up to 2.5Hz does not cause any issues. However, beyond that, the OL_LIMIT does not appear to function correctly.

  • Hi

    Can you port JSON, image of the EVM?

    I want to check EVM image to confirm RSHUNT component value.

    Can you also share motor current rating, R, L values which are per phase.

    Thanks and Best Regards

    Venkatadri S

  • {
      "signature": "oneui-register-data",
      "data": [
        [
          {
            "idx": 0,
            "id": "ISD_CONFIG",
            "value": "0x440A0000",
            "addr": "0x00000080"
          },
          {
            "idx": 1,
            "id": "REV_DRIVE_CONFIG",
            "value": "0x10141802",
            "addr": "0x00000082"
          },
          {
            "idx": 2,
            "id": "MOTOR_STARTUP1",
            "value": "0x2E260004",
            "addr": "0x00000084"
          },
          {
            "idx": 3,
            "id": "MOTOR_STARTUP2",
            "value": "0x1835C005",
            "addr": "0x00000086"
          },
          {
            "idx": 4,
            "id": "CLOSED_LOOP1",
            "value": "0x16598304",
            "addr": "0x00000088"
          },
          {
            "idx": 5,
            "id": "CLOSED_LOOP2",
            "value": "0x40A02466",
            "addr": "0x0000008A"
          },
          {
            "idx": 6,
            "id": "CLOSED_LOOP3",
            "value": "0x29DA1132",
            "addr": "0x0000008C"
          },
          {
            "idx": 7,
            "id": "CLOSED_LOOP4",
            "value": "0x20440488",
            "addr": "0x0000008E"
          },
          {
            "idx": 8,
            "id": "REF_PROFILES1",
            "value": "0x01A18669",
            "addr": "0x00000094"
          },
          {
            "idx": 9,
            "id": "REF_PROFILES2",
            "value": "0x5668099B",
            "addr": "0x00000096"
          },
          {
            "idx": 10,
            "id": "REF_PROFILES3",
            "value": "0x1F2F9660",
            "addr": "0x00000098"
          },
          {
            "idx": 11,
            "id": "REF_PROFILES4",
            "value": "0x0019A6B3",
            "addr": "0x0000009A"
          },
          {
            "idx": 12,
            "id": "REF_PROFILES5",
            "value": "0x26733980",
            "addr": "0x0000009C"
          },
          {
            "idx": 13,
            "id": "REF_PROFILES6",
            "value": "0x007F8000",
            "addr": "0x0000009E"
          }
        ],
        [
          {
            "idx": 0,
            "id": "FAULT_CONFIG1",
            "value": "0x2E620820",
            "addr": "0x00000090"
          },
          {
            "idx": 1,
            "id": "FAULT_CONFIG2",
            "value": "0x700223B8",
            "addr": "0x00000092"
          }
        ],
        [
          {
            "idx": 0,
            "id": "INT_ALGO_1",
            "value": "0x00060158",
            "addr": "0x000000A0"
          },
          {
            "idx": 1,
            "id": "INT_ALGO_2",
            "value": "0x0000017A",
            "addr": "0x000000A2"
          }
        ],
        [
          {
            "idx": 0,
            "id": "PIN_CONFIG",
            "value": "0x02C8C00E",
            "addr": "0x000000A4"
          },
          {
            "idx": 1,
            "id": "DEVICE_CONFIG1",
            "value": "0x00100001",
            "addr": "0x000000A6"
          },
          {
            "idx": 2,
            "id": "DEVICE_CONFIG2",
            "value": "0x00000000",
            "addr": "0x000000A8"
          },
          {
            "idx": 3,
            "id": "PERI_CONFIG1",
            "value": "0x10901C00",
            "addr": "0x000000AA"
          },
          {
            "idx": 4,
            "id": "GD_CONFIG1",
            "value": "0x0000807A",
            "addr": "0x000000AC"
          },
          {
            "idx": 5,
            "id": "GD_CONFIG2",
            "value": "0x00000400",
            "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": "0x00000000",
            "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": "0x8A500000",
            "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": "0x00000000",
            "addr": "0x000000F0"
          },
          {
            "idx": 3,
            "id": "SPEED_PI",
            "value": "0x00000000",
            "addr": "0x000000F2"
          },
          {
            "idx": 4,
            "id": "DAC_1",
            "value": "0x00000000",
            "addr": "0x000000F4"
          }
        ],
        [
          {
            "idx": 0,
            "id": "ALGORITHM_STATE",
            "value": "0x00000000",
            "addr": "0x00000196"
          },
          {
            "idx": 1,
            "id": "FG_SPEED_FDBK",
            "value": "0x00000000",
            "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": "0x00000000",
            "addr": "0x00000450"
          },
          {
            "idx": 7,
            "id": "VOLTAGE_GAIN_FEEDBACK",
            "value": "0x00000000",
            "addr": "0x00000458"
          },
          {
            "idx": 8,
            "id": "VM_VOLTAGE",
            "value": "0x00000000",
            "addr": "0x0000045C"
          },
          {
            "idx": 9,
            "id": "PHASE_VOLTAGE_VA",
            "value": "0x00000000",
            "addr": "0x00000460"
          },
          {
            "idx": 10,
            "id": "PHASE_VOLTAGE_VB",
            "value": "0x00000000",
            "addr": "0x00000462"
          },
          {
            "idx": 11,
            "id": "PHASE_VOLTAGE_VC",
            "value": "0x00000000",
            "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": "0x00000000",
            "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": "0x00000000",
            "addr": "0x0000076E"
          },
          {
            "idx": 35,
            "id": "THETA_EST",
            "value": "0x00000000",
            "addr": "0x00000774"
          }
        ]
      ]
    }

    The shunt resistor value I am using is 0.002 ohms.

  • Hi 

    Thank you, I will look into this and reply by tomorrow. 

    Thanks and Best Regards 

    Venkatadri S

  • HI

    I made changes to the JSON file.

    Reduced closed loop acceleration, deceleration. Do not increase ramp rates until you are sure about motor inertia.

    Changed OL_ILIMIT, A1, A2

    Disabled IQ RAMP.

    First aim to spin the motor and then optimize for performance.

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x44020000",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0x10141802",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x26260000",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x1A95C005",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0E398300",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x00A02466",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x29800002",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x20440488",
    "addr":"0x0000008E"
    },
    {
    "idx":8,
    "id":"REF_PROFILES1",
    "value":"0x01A18669",
    "addr":"0x00000094"
    },
    {
    "idx":9,
    "id":"REF_PROFILES2",
    "value":"0x5668099B",
    "addr":"0x00000096"
    },
    {
    "idx":10,
    "id":"REF_PROFILES3",
    "value":"0x1F2F9660",
    "addr":"0x00000098"
    },
    {
    "idx":11,
    "id":"REF_PROFILES4",
    "value":"0x0019A6B3",
    "addr":"0x0000009A"
    },
    {
    "idx":12,
    "id":"REF_PROFILES5",
    "value":"0x26733980",
    "addr":"0x0000009C"
    },
    {
    "idx":13,
    "id":"REF_PROFILES6",
    "value":"0x007F8000",
    "addr":"0x0000009E"
    }
    ],
    [
    {
    "idx":0,
    "id":"FAULT_CONFIG1",
    "value":"0x3E620820",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0x700223B8",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0x00060158",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x0000017A",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x0AC8C00E",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00100001",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0x0000D000",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x28901C00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x0000807A",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x00000400",
    "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":"0x00000000",
    "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":"0x8A500000",
    "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":"0x00000000",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x00000000",
    "addr":"0x000000F2"
    },
    {
    "idx":4,
    "id":"DAC_1",
    "value":"0x00000000",
    "addr":"0x000000F4"
    }
    ],
    [
    {
    "idx":0,
    "id":"ALGORITHM_STATE",
    "value":"0x00000000",
    "addr":"0x00000196"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x00000000",
    "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":"0x00000000",
    "addr":"0x00000450"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00000000",
    "addr":"0x00000458"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x00000000",
    "addr":"0x0000045C"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x00000000",
    "addr":"0x00000460"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x00000000",
    "addr":"0x00000462"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00000000",
    "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":"0x00000000",
    "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":"0x00000000",
    "addr":"0x0000076E"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x00000000",
    "addr":"0x00000774"
    }
    ]
    ]
    }

    Thanks and Best Regards 

    Venkatadri S