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.

MCF8316C-Q1: the range of maximum phase current

Part Number: MCF8316C-Q1
Other Parts Discussed in Thread: MCF8316AEVM, MCF8329A, , MOTORSTUDIO

Tool/software:

Hi team,

We use MCF8316AEVM for debugging. When the maximum phase current of the motor is about 6A, the hardware fault HW_LOCK_LIMIT is reported;

The verification method is as follows: use the Align positioning method, the positioning current is 5.5A, the openl_oop_cunrrent_limit is limited to 6 A, after the positioning is completed, the hardware overcurrent is set to 8A, and the HW_LOCK_LIMIT is reported in the open loop stage;

The current loop parameters use KP: 0; Ki: 0 and KP: 2; Ki: 8200; two sets of parameters, and the performance is consistent. Hardware overcurrent occurs only when the phase maximum is about 6A. At present, only the current at the moment of open-loop positioning verifies that there is overcurrent, and whether the trigger current value is smaller after the closed loop.

Need help:
1. Since the maximum phase current of our company's products is about 7A, please help evaluate whether the chip is applicable. If it is not applicable, please provide suggested current range?
2. If this phenomenon is a debugging problem, can you point out the solutions


Fault picture:

Phase current waveform at the time of fault: the peak maximum value is only 6A.

Best regards!

Ethan

  • Hi Ethan, 

    Can you share the complete start up current waveform, from align to open loop until the fault is coming. For the suitability, assess the thermal performance with the continuous RMS current. Can you specify the continuous RMS current.

    Can you check the marking on the device - Is it MCF8316C?

    Regards,

    Manu

  • Hi Manu,

         Chip silk screen printing is MCF8316C,The peak current is about 7A,RMS current  5A,The waveform is shown in Fig,Figure 1 only looks at the rotor locking process, the maximum current is set to start climbing, and when the maximum phase current is about 7.2A, a HW_LOCK_LIMIT fault occurs; Figure 2, the normal start-up waveform will also appear after the current is greater than 7A after the protection shutdown waveform, see figure. Please help analyze what is the recommended maximum value of the peak current of the motor phase applied to this chip. In addition, the parameters of the current adaptation motor are as follows: the number of pole pairs: 2 pairs of poles; Rated power: 12V@60W; Rated phase current: 7A; Resistance: 280 mOhm; Inductance: 470uH; Ke: 48mV/Hz, if possible, please help generate a .json format file that you think is feasible. If so, I am not familiar with closed-loop parameter adjustment at present, whether there is a guide to closed-loop adjustment parameters, and use the GUI interface as an example for more in-depth analysis, such as PID and observer loop adjustment.

    Figure 1:

        

    Figure 2:

  • Hi Ethan,

    Can you confirm HW LOCK Limit deglitch time? If it is zero, please change to greater than 2uS.

    Recommendation is to use 2uS.

    Can you please share the JSON file?

    Also, please share motor parameters (R, L)

    Thanks and Best Regards

    Venkatadri S

  • {
    "signature": "oneui-register-data",
    "data": [
    [
    {
    "idx": 0,
    "id": "ISD_CONFIG",
    "value": "0x043F8CFF",
    "addr": "0x00000080"
    },
    {
    "idx": 1,
    "id": "REV_DRIVE_CONFIG",
    "value": "0xA80AF064",
    "addr": "0x00000082"
    },
    {
    "idx": 2,
    "id": "MOTOR_STARTUP1",
    "value": "0x05580BD0",
    "addr": "0x00000084"
    },
    {
    "idx": 3,
    "id": "MOTOR_STARTUP2",
    "value": "0x4B09C408",
    "addr": "0x00000086"
    },
    {
    "idx": 4,
    "id": "CLOSED_LOOP1",
    "value": "0x0E1901D1",
    "addr": "0x00000088"
    },
    {
    "idx": 5,
    "id": "CLOSED_LOOP2",
    "value": "0x9BAD5B01",
    "addr": "0x0000008A"
    },
    {
    "idx": 6,
    "id": "CLOSED_LOOP3",
    "value": "0x41A79280",
    "addr": "0x0000008C"
    },
    {
    "idx": 7,
    "id": "CLOSED_LOOP4",
    "value": "0x64720C80",
    "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": "0x800D0000",
    "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": "0xEFF80206",
    "addr": "0x00000090"
    },
    {
    "idx": 1,
    "id": "FAULT_CONFIG2",
    "value": "0x80280DB8",
    "addr": "0x00000092"
    }
    ],
    [
    {
    "idx": 0,
    "id": "INT_ALGO_1",
    "value": "0xA7FB74FD",
    "addr": "0x000000A0"
    },
    {
    "idx": 1,
    "id": "INT_ALGO_2",
    "value": "0x00000027",
    "addr": "0x000000A2"
    }
    ],
    [
    {
    "idx": 0,
    "id": "PIN_CONFIG",
    "value": "0x00000000",
    "addr": "0x000000A4"
    },
    {
    "idx": 1,
    "id": "DEVICE_CONFIG1",
    "value": "0x00101460",
    "addr": "0x000000A6"
    },
    {
    "idx": 2,
    "id": "DEVICE_CONFIG2",
    "value": "0xC000F00F",
    "addr": "0x000000A8"
    },
    {
    "idx": 3,
    "id": "PERI_CONFIG1",
    "value": "0xC3601F00",
    "addr": "0x000000AA"
    },
    {
    "idx": 4,
    "id": "GD_CONFIG1",
    "value": "0x9C450100",
    "addr": "0x000000AC"
    },
    {
    "idx": 5,
    "id": "GD_CONFIG2",
    "value": "0x80000000",
    "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": "0x15A6FFF4",
    "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": "0xFFFF0000",
    "addr": "0x000000EC"
    },
    {
    "idx": 1,
    "id": "ALGO_DEBUG2",
    "value": "0x00000000",
    "addr": "0x000000EE"
    },
    {
    "idx": 2,
    "id": "CURRENT_PI",
    "value": "0x02BB0126",
    "addr": "0x000000F0"
    },
    {
    "idx": 3,
    "id": "SPEED_PI",
    "value": "0x02D601D6",
    "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": "0x00200009",
    "addr": "0x00000190"
    },
    {
    "idx": 1,
    "id": "FG_SPEED_FDBK",
    "value": "0x0207D508",
    "addr": "0x00000196"
    },
    {
    "idx": 2,
    "id": "BUS_CURRENT",
    "value": "0x0086B10D",
    "addr": "0x00000410"
    },
    {
    "idx": 3,
    "id": "PHASE_CURRENT_A",
    "value": "0x00100000",
    "addr": "0x00000440"
    },
    {
    "idx": 4,
    "id": "PHASE_CURRENT_B",
    "value": "0x00000000",
    "addr": "0x00000442"
    },
    {
    "idx": 5,
    "id": "PHASE_CURRENT_C",
    "value": "0xFFF00000",
    "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": "0x02FD6DF6",
    "addr": "0x00000476"
    },
    {
    "idx": 9,
    "id": "PHASE_VOLTAGE_VA",
    "value": "0x00014C8D",
    "addr": "0x0000047A"
    },
    {
    "idx": 10,
    "id": "PHASE_VOLTAGE_VB",
    "value": "0x0000DDB3",
    "addr": "0x0000047C"
    },
    {
    "idx": 11,
    "id": "PHASE_VOLTAGE_VC",
    "value": "0x00006ED9",
    "addr": "0x0000047E"
    },
    {
    "idx": 12,
    "id": "SIN_COMMUTATION_ANGLE",
    "value": "0x07C4A244",
    "addr": "0x000004B6"
    },
    {
    "idx": 13,
    "id": "COS_COMMUTATION_ANGLE",
    "value": "0x01E055AE",
    "addr": "0x000004B8"
    },
    {
    "idx": 14,
    "id": "IALPHA",
    "value": "0x22600000",
    "addr": "0x000004D2"
    },
    {
    "idx": 15,
    "id": "IBETA",
    "value": "0xF7164FD0",
    "addr": "0x000004D4"
    },
    {
    "idx": 16,
    "id": "VALPHA",
    "value": "0x003ABC3C",
    "addr": "0x000004D6"
    },
    {
    "idx": 17,
    "id": "VBETA",
    "value": "0xFF83A7A3",
    "addr": "0x000004D8"
    },
    {
    "idx": 18,
    "id": "ID",
    "value": "0xFE542E5B",
    "addr": "0x000004E2"
    },
    {
    "idx": 19,
    "id": "IQ",
    "value": "0x02CC1CB4",
    "addr": "0x000004E4"
    },
    {
    "idx": 20,
    "id": "VD",
    "value": "0xFF94CE9B",
    "addr": "0x000004E6"
    },
    {
    "idx": 21,
    "id": "VQ",
    "value": "0xFFA99EB2",
    "addr": "0x000004E8"
    },
    {
    "idx": 22,
    "id": "IQ_REF_ROTOR_ALIGN",
    "value": "0x2332AE60",
    "addr": "0x00000524"
    },
    {
    "idx": 23,
    "id": "SPEED_REF_OPEN_LOOP",
    "value": "0xFF5C2930",
    "addr": "0x0000053C"
    },
    {
    "idx": 24,
    "id": "IQ_REF_OPEN_LOOP",
    "value": "0xECCD1540",
    "addr": "0x0000054C"
    },
    {
    "idx": 25,
    "id": "SPEED_REF_CLOSED_LOOP",
    "value": "0x0138CA70",
    "addr": "0x000005D4"
    },
    {
    "idx": 26,
    "id": "ID_REF_CLOSED_LOOP",
    "value": "0x00000000",
    "addr": "0x00000606"
    },
    {
    "idx": 27,
    "id": "IQ_REF_CLOSED_LOOP",
    "value": "0x02B90CEC",
    "addr": "0x00000608"
    },
    {
    "idx": 28,
    "id": "ISD_STATE",
    "value": "0x00000000",
    "addr": "0x00000682"
    },
    {
    "idx": 29,
    "id": "ISD_SPEED",
    "value": "0x00000000",
    "addr": "0x0000068C"
    },
    {
    "idx": 30,
    "id": "IPD_STATE",
    "value": "0x00000000",
    "addr": "0x000006C0"
    },
    {
    "idx": 31,
    "id": "IPD_ANGLE",
    "value": "0x00000000",
    "addr": "0x00000704"
    },
    {
    "idx": 32,
    "id": "ED",
    "value": "0xFF7173A0",
    "addr": "0x0000074A"
    },
    {
    "idx": 33,
    "id": "EQ",
    "value": "0xFFEDAE4D",
    "addr": "0x0000074C"
    },
    {
    "idx": 34,
    "id": "SPEED_FDBK",
    "value": "0x0136CBF6",
    "addr": "0x0000075A"
    },
    {
    "idx": 35,
    "id": "THETA_EST",
    "value": "0x288BF0DA",
    "addr": "0x0000075E"
    }
    ]
    ]
    }

  • Also, how to set up magnetic weakening control on the 8316C. Is there an introduction to it? Or I need an external Ic as the strategy。

  • Hi Zhang,

    I am traveling this week, I will reply by end of this week.

    MCF8316C do not support flux weakening  directly. 

    You can refer to MCF8329A for flux weakening.

    This requires  external  MOSFET.

    Thanks and Best Regards 

    Venkatadri S 

  • Received, thanks, and looking forward to your reply.

  • Hi, would like to inquire if there is MSPM0C110x control MCF8316C drive motor case engineering, or whether there is a similar M0+ core driver 8316C code engineering. Please help share it after speeding up my development process, which is about to be mass-produced.

  • Hi Zhang

    I made some changes to JSON file,

    1. I enabled many faults which are disabled.

    2. I  added HW Lock limit Deglitch time and configured for 2us+

    Your motor inductance value is lowest which is 6uS. Can you re check motor parameter?

    Regrading M0 example, I can share I2C code example.

    I will reply by week end.

    Thanks and Best Regards

    Venkatadri S

  • Received, thanks, please share the modified JSON file, I will re-review the motor, and please help share the instance of M0+ core microcontroller using I2C configuration MCF8316C-Q1 as soon as possible. Thank you.

  • Hi Zhang,

    I forgot to attach the JSON , please find below.

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx":0,
    "id":"ISD_CONFIG",
    "value":"0x043F8CFF",
    "addr":"0x00000080"
    },
    {
    "idx":1,
    "id":"REV_DRIVE_CONFIG",
    "value":"0xA80AF064",
    "addr":"0x00000082"
    },
    {
    "idx":2,
    "id":"MOTOR_STARTUP1",
    "value":"0x05580B10",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x4B09C40C",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0E1901D9",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x9BAD5B01",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x41A79280",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x64720C80",
    "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":"0x800D0000",
    "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":"0xEFF84206",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0xF1004DD8",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0xA3FB40B5",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x00000027",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x08000000",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00101462",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0xC000F00F",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0xC3601F00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x9C450100",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x80020000",
    "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":"0x15A6FFF4",
    "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":"0xFFFF0000",
    "addr":"0x000000EC"
    },
    {
    "idx":1,
    "id":"ALGO_DEBUG2",
    "value":"0x00000000",
    "addr":"0x000000EE"
    },
    {
    "idx":2,
    "id":"CURRENT_PI",
    "value":"0x02BB0126",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x02D601D6",
    "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":"0x00200009",
    "addr":"0x00000190"
    },
    {
    "idx":1,
    "id":"FG_SPEED_FDBK",
    "value":"0x0207D508",
    "addr":"0x00000196"
    },
    {
    "idx":2,
    "id":"BUS_CURRENT",
    "value":"0x0086B10D",
    "addr":"0x00000410"
    },
    {
    "idx":3,
    "id":"PHASE_CURRENT_A",
    "value":"0x00100000",
    "addr":"0x00000440"
    },
    {
    "idx":4,
    "id":"PHASE_CURRENT_B",
    "value":"0x00000000",
    "addr":"0x00000442"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0xFFF00000",
    "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":"0x02FD6DF6",
    "addr":"0x00000476"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x00014C8D",
    "addr":"0x0000047A"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x0000DDB3",
    "addr":"0x0000047C"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x00006ED9",
    "addr":"0x0000047E"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x07C4A244",
    "addr":"0x000004B6"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0x01E055AE",
    "addr":"0x000004B8"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x22600000",
    "addr":"0x000004D2"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0xF7164FD0",
    "addr":"0x000004D4"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0x003ABC3C",
    "addr":"0x000004D6"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0xFF83A7A3",
    "addr":"0x000004D8"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0xFE542E5B",
    "addr":"0x000004E2"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0x02CC1CB4",
    "addr":"0x000004E4"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0xFF94CE9B",
    "addr":"0x000004E6"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0xFFA99EB2",
    "addr":"0x000004E8"
    },
    {
    "idx":22,
    "id":"IQ_REF_ROTOR_ALIGN",
    "value":"0x2332AE60",
    "addr":"0x00000524"
    },
    {
    "idx":23,
    "id":"SPEED_REF_OPEN_LOOP",
    "value":"0xFF5C2930",
    "addr":"0x0000053C"
    },
    {
    "idx":24,
    "id":"IQ_REF_OPEN_LOOP",
    "value":"0xECCD1540",
    "addr":"0x0000054C"
    },
    {
    "idx":25,
    "id":"SPEED_REF_CLOSED_LOOP",
    "value":"0x0138CA70",
    "addr":"0x000005D4"
    },
    {
    "idx":26,
    "id":"ID_REF_CLOSED_LOOP",
    "value":"0x00000000",
    "addr":"0x00000606"
    },
    {
    "idx":27,
    "id":"IQ_REF_CLOSED_LOOP",
    "value":"0x02B90CEC",
    "addr":"0x00000608"
    },
    {
    "idx":28,
    "id":"ISD_STATE",
    "value":"0x00000000",
    "addr":"0x00000682"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x00000000",
    "addr":"0x0000068C"
    },
    {
    "idx":30,
    "id":"IPD_STATE",
    "value":"0x00000000",
    "addr":"0x000006C0"
    },
    {
    "idx":31,
    "id":"IPD_ANGLE",
    "value":"0x00000000",
    "addr":"0x00000704"
    },
    {
    "idx":32,
    "id":"ED",
    "value":"0xFF7173A0",
    "addr":"0x0000074A"
    },
    {
    "idx":33,
    "id":"EQ",
    "value":"0xFFEDAE4D",
    "addr":"0x0000074C"
    },
    {
    "idx":34,
    "id":"SPEED_FDBK",
    "value":"0x0136CBF6",
    "addr":"0x0000075A"
    },
    {
    "idx":35,
    "id":"THETA_EST",
    "value":"0x288BF0DA",
    "addr":"0x0000075E"
    }
    ]
    ]
    }
    Thanks and Best Regards
    Venkatadri S
  • Is there a release for the M0+ routine? My mail is zhangjq@jkaec.com

  • Hi Zhang,

    We have used M0 in some reference design but there is not guide. I will get you the code by tomorrow.

    Thanks and Best Regards
    Venkatadri S
  • Hi Zhang,

    I have asked team to share the example, I will respond by end of this week.

    Thanks and Best Regards
    Venkatadri S
  • OK,Please help speed up the process.

  • Hi Zhang,

    There is an example software on MSP430 which is used to communicate between EVM and GUI (MOTORSTUDIO).

    MOTORSTUDIO GUI for evaluation module (EVM) | TI.com (MCXEVM-MSP430FR2355-MOTORSTUDIO-FW )

    You can download to understand the low level frame work.

    We are also working on more generic code example which we are releasing in few week time.

    Thanks and Best Regards
    Venkatadri S

  • Hello, I currently have an abnormal phenomenon, please help solve it, I am using the M0+ kernel to get MSPM0C 1104C to communicate with the MCF8316C, through the host (1104c) to read the 8316c data when the last response appears NACK abnormal, please help analyze or provide 1104C normal communication code example. At present, I am using the 1104C "mspm0_sdk_2_01_00_03" to get the "i2c_controller_target_dynamic_switching" strength code execution.   

  • Hi Zhang,

    I see it is NACK for address data (0x01), can you check the device I2C address is not changed.

    Use EVM (GUI) and do I2C address can to find the correct address.

    I2C address can be programmed in register DEVICE_CONFIG1 [I2C_TARGET_ADDR].

    I am sharing some reference code written with MSPM0, this is for a TI Design.

    https://tidrive.ext.ti.com/u/ralIzS6pSNi_qUjc/7bed7557-f7a5-4773-9b7b-703f5eea1037?l

    5W3H;9RA

    Thanks and Best Regards

    Venkatadri S

  • hi,Please help solve the following problems。

    1. As shown in the following figure

    2.I am currently debugging by setting the current loop PID to 0, which can run normally. How to read and write the adaptive PID parameters, and how to tune the PID of this project? Please help guide me.


    Thank you and have a great time。

  • Hi Zhang,

    Can you also mention what is the current level here?

    Is this thread same project? Motor details available?

    Thanks and Best Regards

    Venkatadri S

  • The peak current is 6A, and the motor parameters are as follows: phase resistance: 0.048mΩ, phase inductance 0.045uH, motor_bemf: 7mv/Hz;

  • In addition, in addition to the current fluctuation problem, I am currently encountering another problem, at present I have a product phase current needs to be limited to about 6.5A, I see that the current limit phase current level is not 6.5A, how to design this can meet the 6.5A current limiting current operation.

  • Hi Zhang,

    Thanks for sharing, I will look into this and respond by tomorrow.

    Thanks and Best Regards

    Venkatadri S

  • Hello Venkatadri, I currently have another question. The BK output of 8316C is 5V, but 1104C is powered by 3.3V for the microcontroller. How can I write the error from 1104C to 8316C offline. How to mass produce and write product programs.

  • Hello, I recently applied 1104C to use J-LINK when burning, occasionally can not write, must replace the single-chip microcomputer, IDE prompt error as follows, please help analyze how to restore the chip. This is shown in the figure below.

  • Hi Zhang,

    Do you mean writing to EEPROM offline?

    Your system is single PCB with Host (1104C) and MCF8316C, are you powering 1104C separately? 

    The Buck output of MCF8316C is used to power any other section on your PCB?

    Thanks and Best Regards

    Venkatadri S

  • At present, the step-down module of 8316C is directly supplying power to 1104C, and there will be a period of 5V power supply online when flashing for the first time, but 1104C is a 3.3V mcu, which is a problem, please help give a flashing solution!

    In addition, I now use the logic that 1104C will write to EEPROM (ard:0X80-0XAE) as I2C to 8316C every time it is powered on. This is the second question.    i Please help reply.         

  • In addition, in addition to the current fluctuation problem, I am currently encountering another problem, at present I have a product phase current needs to be limited to about 6.5A, I see that the current limit phase current level is not 6.5A, how to design this can meet the 6.5A current limiting current operation.

  • In addition, in addition to the current fluctuation problem, I am currently encountering another problem, at present I have a product phase current needs to be limited to about 6.5A, I see that the current limit phase current level is not 6.5A, how to design this can meet the 6.5A current limiting current operation.

  • Hello, I would also like to inquire whether the PID of the current loop can be directly written to KP=0 and KI=0, and if it is not recommended to write 0 directly, please share the experience and manual of the PID debugging of the current loop.  Please be sure to reply!!

  • Hi Zhang,

    By default user need not write KP, KI for current loop. If we keep the fields as 0, device will calculate internally or user can calculate and program these fields.

    Now when do you require to change KP, KI? When you want to smoothen current raise for acoustics , then user can reduce the current loop gain.

    Thanks and Best Regards

    Venkatadri S

  • Hi, I apply it to fan blower products, KP = 1, KI = 200, when the motor runs normally at 6.5A phase current, the load suddenly becomes smaller, from 0.5n.m to 0.2n.m, the speed is from 8000RPM → 14000RPM, the motor will shut down, and the Hard_lock fault will be triggered synchronously. But when I write KP=0;KI=0, there is no such fault condition. It's okay if I write 0 directly, do you have KP=0 or KI=0 mass production application experience, and there are no other risks.Hope to reply。

  • Hi Zhang,

    Current KP, KI is calculated internally by the device with best POLE/ZERO cancellation method. That means bandwidth will be good enough for the motor type.

    If you change KP, KI please take into account that bandwidth is not affected.

    Current controller works well if bandwidth matches for any transient load changes, if we weaken the controller bandwidth there are chances of failing to respond to load changes.

    You can change bandwidth for following reasons

    1. If phase current is not sinusoidal enough (impacting acoustics)- adjust bandwidth to shape the sine wave looks better

    2. Overshoot of speed is too high - to damp it we can reduce gains of KP, Ki.

    How to read internally calculated Current , KP, KI?

    There is a variable CURRENT_PI in the Algorithm Control group, this is read only and this gets updated whenever speed command is issued and CLOSE_LOOP3 [CURRENT_KP: CURRENT"KI] are written zero

     

    Read this register and then scale down KP, KI value equally. For example, reduce by 1/2 and see the response, and go on. 

    We need to verify from all aspects (speed response, load transient, voltage transient etc)

    Thanks and Best Regards

    Venkatadri S

  • Hello, please help confirm what is the maximum long-term input voltage range of speed/wake pin, I want to connect directly to 12V.

  • In addition, I want to know how to reset the EEPROM without i2c, I occasionally have a write error, I can no longer debug through i2c, and then have to replace the chip, which is a big problem in the debugging process!

  • Hope for a quick and detailed reply

  • Hi Zhang,

    what is the maximum long-term input voltage range of speed/wake pin, I want to connect directly to 12V.

    The abs max rating of the SPEED/WAKE pin, for the MCF8316C , is 6V (see section 6.1 of the datasheet). A 12V input to the SPEED/WAKE pin will likely damage the device.

    In addition, I want to know how to reset the EEPROM without i2c, I occasionally have a write error, I can no longer debug through i2c, and then have to replace the chip, which is a big problem in the debugging process!

    EEPROM cannot be reset without I2C, if you are having write errors you can try using every I2C address in case the I2C address in EEPROM was changed.

    To avoid EEPROM issues in the future, please follow the EEPROM write instructions outlined in the document attached below:

    0820.MCx EEPROM Write Procedure Recommendations.pdf

    Regards,

    Joshua