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 driver power supply current pulses in idle mode.

Part Number: MCF8329A

Tool/software:

Hi there,

I am designing a board with MCF8329A. When I look with a current probe on the power supply line I see current pulses with frequency around 1.6 kHz (slightly jittering) and amplitude abovef 300 mA without any motor connected/running. This is the same with my custom board and with the standard demo board that I bought initially from TI. I an sending a screen shot from my oscilloscope for reference.

Can you let me know what is creating this behavior and how I can influence the frequency and amplitude of those current pulses, please?

With kind regards,

Alexander.

  • Hi Alexander,

    Can you please read the JSON file and share here? 

    Also, test by turning off DRVOFF and BRAKE Pin in ON state.

    Thanks and Best Regards

    Venkatadri S

  • Hi Alexander,

    Any update on this?

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Sorry for the confusion. I have replied to the mail directly, I didn’t pay attention that you are not writing from your mail so my reply will not reach you.

    Thanks for the involvement. Please find the JSON file attached.

    I have tried turning off DRVOFF and BRAKE Pin in ON state – the power current pulses are not affected at all enabling/disabling the power stage and the brake, the picture on the oscilloscope I have sent you initially does not change.

    I was assuming that those power fluctuations are the charging of the bootstrap capacitors of the upper stages but if that was the case the frequency should be changing when the speed of the motor changes. In reality excluding a small jitter the frequency of the current pics is absolutely independent of the power stage. What is existing in the chip with a switching frequency in the range of 1.6 kHz? How the 3.3 V regulator works on AVDD? Is it linear regulator or a witching one?

    With kind regards,

    Alexander.

  • Hi Alexander,

    JSON file is missing, Can you attach again?

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Can you advise how to send you the file? Your system rejects uploading the file if I use insert menu, dragging and dropping the file it says upload, but you do not get anything. Can we use normal e-mail for correspondence? 

    With kind regards,

    Alexander.

  • Hi Alexander,

    You can copy paste entire JSON here instead of file attachment.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Please find the JSON file printed.

    {
    "signature":"oneui-register-data",
    "data":[
    [
    {
    "idx": 0,
    "id": "ISD_CONFIG",
    "value": "0x64ABD4A1",
    "addr": "0x00000080"
    },
    {
    "idx": 1,
    "id": "REV_DRIVE_CONFIG",
    "value": "0x48300000",
    "addr": "0x00000082"
    },
    {
    "idx": 2,
    "id": "MOTOR_STARTUP1",
    "value": "0x64A14004",
    "addr": "0x00000084"
    },
    {
    "idx": 3,
    "id": "MOTOR_STARTUP2",
    "value": "0x3287C0FF",
    "addr": "0x00000086"
    },
    {
    "idx": 4,
    "id": "CLOSED_LOOP1",
    "value": "0x157001BC",
    "addr": "0x00000088"
    },
    {
    "idx": 5,
    "id": "CLOSED_LOOP2",
    "value": "0x8AAA811F",
    "addr": "0x0000008A"
    },
    {
    "idx": 6,
    "id": "CLOSED_LOOP3",
    "value": "0x3AC81901",
    "addr": "0x0000008C"
    },
    {
    "idx": 7,
    "id": "CLOSED_LOOP4",
    "value": "0x234FC5DC",
    "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":"0x00000004",
    "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": "0x6556A318",
    "addr": "0x00000090"
    },
    {
    "idx": 1,
    "id": "FAULT_CONFIG2",
    "value": "0x05402888",
    "addr": "0x00000092"
    }
    ],
    [
    {
    "idx": 0,
    "id": "INT_ALGO_1",
    "value": "0x0D480115",
    "addr": "0x000000A0"
    },
    {
    "idx": 1,
    "id": "INT_ALGO_2",
    "value": "0x020282E3",
    "addr": "0x000000A2"
    }
    ],
    [
    {
    "idx": 0,
    "id": "PIN_CONFIG",
    "value": "0x400C230A",
    "addr": "0x000000A4"
    },
    {
    "idx": 1,
    "id": "DEVICE_CONFIG1",
    "value": "0x40100001",
    "addr": "0x000000A6"
    },
    {
    "idx": 2,
    "id": "DEVICE_CONFIG2",
    "value": "0x03E3C00C",
    "addr": "0x000000A8"
    },
    {
    "idx": 3,
    "id": "PERI_CONFIG1",
    "value": "0x13815C00",
    "addr": "0x000000AA"
    },
    {
    "idx": 4,
    "id":"GD_CONFIG1",
    "value":"0x0002807A",
    "addr": "0x000000AC"
    },
    {
    "idx": 5,
    "id": "GD_CONFIG2",
    "value": "0x800000CD",
    "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": "0x19780004",
    "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": "0x00000000",
    "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":"0x032003A0",
    "addr":"0x000000F0"
    },
    {
    "idx": 3,
    "id": "SPEED_PI",
    "value": "0x02C801C6",
    "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": "0x00794888",
    "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": "0x00080000",
    "addr": "0x0000043E"
    },
    {
    "idx": 5,
    "id": "PHASE_CURRENT_C",
    "value": "0xFFF80000",
    "addr": "0x00000440"
    },
    {
    "idx": 6,
    "id": "CSA_GAIN_FEEDBACK",
    "value": "0x00000001",
    "addr": "0x00000450"
    },
    {
    "idx": 7,
    "id": "VOLTAGE_GAIN_FEEDBACK",
    "value": "0x00040001",
    "addr": "0x00000458"
    },
    {
    "idx": 8,
    "id": "VM_VOLTAGE",
    "value": "0x033BC000",
    "addr": "0x0000045C"
    },
    {
    "idx": 9,
    "id": "PHASE_VOLTAGE_VA",
    "value": "0x02F40252",
    "addr": "0x00000460"
    },
    {
    "idx": 10,
    "id": "PHASE_VOLTAGE_VB",
    "value": "0x02F0249E",
    "addr": "0x00000462"
    },
    {
    "idx": 11,
    "id": "PHASE_VOLTAGE_VC",
    "value": "0x02FC2C94",
    "addr": "0x00000464"
    },
    {
    "idx": 12,
    "id": "SIN_COMMUTATION_ANGLE",
    "value": "0xF8983CD4",
    "addr": "0x000004AA"
    },
    {
    "idx": 13,
    "id": "COS_COMMUTATION_ANGLE",
    "value": "0x03068B44",
    "addr": "0x000004AC"
    },
    {
    "idx": 14,
    "id": "IALPHA",
    "value": "0x00D00000",
    "addr": "0x000004CC"
    },
    {
    "idx": 15,
    "id": "IBETA",
    "value": "0x018FFAB8",
    "addr": "0x000004CE"
    },
    {
    "idx": 16,
    "id": "VALPHA",
    "value": "0x009BE2EF",
    "addr": "0x000004D0"
    },
    {
    "idx": 17,
    "id": "VBETA",
    "value": "0x00380466",
    "addr": "0x000004D2"
    },
    {
    "idx": 18,
    "id": "ID",
    "value": "0xFEDC3288",
    "addr": "0x000004DC"
    },
    {
    "idx": 19,
    "id": "IQ",
    "value": "0x014416D8",
    "addr": "0x000004DE"
    },
    {
    "idx": 20,
    "id": "VD",
    "value": "0x0003DD72",
    "addr": "0x000004E0"
    },
    {
    "idx": 21,
    "id": "VQ",
    "value": "0x00A68397",
    "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": "0x06694E40",
    "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": "0x00000005",
    "addr": "0x000006B0"
    },
    {
    "idx": 29,
    "id": "ISD_SPEED",
    "value": "0x0000025A",
    "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"
    }
    ]
    ]
    }

  • Hi Alexander, 

    We are out of office today. 

    We will respond by tomorrow. 

    Thanks and Best Regards 

    Venkatadri S 

  • Hi Venkatadri,

    Sorry for the confusion but I have copied a wrong file. Please ignore the previous data and use this one:

    {
    "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": "0x64A04004",
    "addr": "0x00000084"
    },
    {
    "idx": 3,
    "id": "MOTOR_STARTUP2",
    "value": "0x328DC0FF",
    "addr": "0x00000086"
    },
    {
    "idx": 4,
    "id": "CLOSED_LOOP1",
    "value": "0x157401BC",
    "addr": "0x00000088"
    },
    {
    "idx": 5,
    "id": "CLOSED_LOOP2",
    "value": "0x8AAA811F",
    "addr": "0x0000008A"
    },
    {
    "idx": 6,
    "id": "CLOSED_LOOP3",
    "value": "0x3AC21901",
    "addr": "0x0000008C"
    },
    {
    "idx": 7,
    "id": "CLOSED_LOOP4",
    "value": "0x2343C5DC",
    "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":"0x00000004",
    "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": "0x655DA318",
    "addr": "0x00000090"
    },
    {
    "idx": 1,
    "id": "FAULT_CONFIG2",
    "value": "0x05402888",
    "addr": "0x00000092"
    }
    ],
    [
    {
    "idx": 0,
    "id": "INT_ALGO_1",
    "value": "0x0D420115",
    "addr": "0x000000A0"
    },
    {
    "idx": 1,
    "id": "INT_ALGO_2",
    "value": "0x020082E3",
    "addr": "0x000000A2"
    }
    ],
    [
    {
    "idx": 0,
    "id": "PIN_CONFIG",
    "value": "0x4003230A",
    "addr": "0x000000A4"
    },
    {
    "idx": 1,
    "id": "DEVICE_CONFIG1",
    "value": "0x40100001",
    "addr": "0x000000A6"
    },
    {
    "idx": 2,
    "id": "DEVICE_CONFIG2",
    "value": "0x03E8C00C",
    "addr": "0x000000A8"
    },
    {
    "idx": 3,
    "id": "PERI_CONFIG1",
    "value": "0x13845C00",
    "addr": "0x000000AA"
    },
    {
    "idx": 4,
    "id":"GD_CONFIG1",
    "value":"0x0000807A",
    "addr": "0x000000AC"
    },
    {
    "idx": 5,
    "id": "GD_CONFIG2",
    "value": "0x800000CD",
    "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": "0x19910004",
    "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": "0x00000000",
    "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":"0x032003A0",
    "addr":"0x000000F0"
    },
    {
    "idx": 3,
    "id": "SPEED_PI",
    "value": "0x02C601C6",
    "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": "0x00FD9F4D",
    "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": "0x00080000",
    "addr": "0x0000043E"
    },
    {
    "idx": 5,
    "id": "PHASE_CURRENT_C",
    "value": "0xFFF80000",
    "addr": "0x00000440"
    },
    {
    "idx": 6,
    "id": "CSA_GAIN_FEEDBACK",
    "value": "0x00000001",
    "addr": "0x00000450"
    },
    {
    "idx": 7,
    "id": "VOLTAGE_GAIN_FEEDBACK",
    "value": "0x00010001",
    "addr": "0x00000458"
    },
    {
    "idx": 8,
    "id": "VM_VOLTAGE",
    "value": "0x03330000",
    "addr": "0x0000045C"
    },
    {
    "idx": 9,
    "id": "PHASE_VOLTAGE_VA",
    "value": "0x02F40A48",
    "addr": "0x00000460"
    },
    {
    "idx": 10,
    "id": "PHASE_VOLTAGE_VB",
    "value": "0x02F1E006",
    "addr": "0x00000462"
    },
    {
    "idx": 11,
    "id": "PHASE_VOLTAGE_VC",
    "value": "0x02F4E7FC",
    "addr": "0x00000464"
    },
    {
    "idx": 12,
    "id": "SIN_COMMUTATION_ANGLE",
    "value": "0x000F6AA4",
    "addr": "0x000004AA"
    },
    {
    "idx": 13,
    "id": "COS_COMMUTATION_ANGLE",
    "value": "0xF800CF04",
    "addr": "0x000004AC"
    },
    {
    "idx": 14,
    "id": "IALPHA",
    "value": "0x00880000",
    "addr": "0x000004CC"
    },
    {
    "idx": 15,
    "id": "IBETA",
    "value": "0xFEA347CB",
    "addr": "0x000004CE"
    },
    {
    "idx": 16,
    "id": "VALPHA",
    "value": "0xFFFE2CBF",
    "addr": "0x000004D0"
    },
    {
    "idx": 17,
    "id": "VBETA",
    "value": "0xFF592667",
    "addr": "0x000004D2"
    },
    {
    "idx": 18,
    "id": "ID",
    "value": "0xFF6068EE",
    "addr": "0x000004DC"
    },
    {
    "idx": 19,
    "id": "IQ",
    "value": "0x015210BC",
    "addr": "0x000004DE"
    },
    {
    "idx": 20,
    "id": "VD",
    "value": "0x000091A5",
    "addr": "0x000004E0"
    },
    {
    "idx": 21,
    "id": "VQ",
    "value": "0x00A6EB91",
    "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": "0x06664E40",
    "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": "0x00000005",
    "addr": "0x000006B0"
    },
    {
    "idx": 29,
    "id": "ISD_SPEED",
    "value": "0x0000025A",
    "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"
    }
    ]
    ]
    }

  • Hi Alexander,

    Thanks for sharing the JSON. 

    BRAKE Pin is disabled in the JSON and hence device may try to spin the motor.

    PWM Frequency is 50KHz which will execute FOC at 12.5KHz.

    The speed control is also through Register override mode and hence device will not start with speed pin level.

    I will verify with EVM once and confirm. 

    Meanwhile can you remove shunt link jumpers from GUI side of the EVM and verify again, my idea is to isolate MCF8329 and this test is valid only if your custom board also uses same hardware.

    Can you provide more details about your setup? 

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    Thanks for the involvement.

    I have removed all shunt link jumpers from GUI side of the EVM, nothing changes - the picture is exactly the same. It seems something switching is creating these current pulses, that's why I have asked you how the 3.3 V regulator works on AVDD.

    My custom board is quite simple - it has the chip with the output stage and a small MCU on the I2C that is used to communicate with a host system and set the speed (over I2C). The motor is 2 poles on 24 V, 300 Hz max (I am using it on 250 Hz). I have set the PWM Frequency to 50 kHz because my initial setup with 25 kHz was operating properly only up to ~ 140 Hz motor speed and any speed setting above this point was creating a speed saturation to the maximum speed of the motor. Just changing the PWM frequency to 50 kHz have resolved the issue and with this setting the regulation is linear from min to max. I have tried also other frequencies, when changing the PWM above 25 kHz the point of saturation changes closer and closer to 250 Hz and with 50 kHz (and above) the whole range is working properly and linear. Do you have any idea what the reason for this behavior is? Is there any other parameter that can solve the non-linear speed problem having a lower PWM frequency?

    With kind regards,

    Alexander.

  • Hi Alexander,

    In general, lower PWM frequency will provide higher duty cycle as compared to higher frequency.

    This is because dead time and blanking time effects.

    What can be happening is if motor R/L is very low then at 25KHz there can be larger current ripple and average current into the winding will be lesser as compared to 50KHz.

    You can re test by monitoring a variable VM Magnitude, when it becomes 100% that means a saturation condition.

    I will re check the JSON provided by you and get back to you.

    Thanks and Best Regards

    Venkatadri S

  • Hi Alexander,

    Can you share the current rating (Max current which can be applied to the motor coils?)

    How did you measure R, L of the motor? 

    You can refer to datasheet motor parameter section, we need to use per phase equivalent values to be programed in the fields.

    If you are using LCR meter for L, use it with 1KHz setting and measure, when you measure phase to phase divide by 2 and program the value.

    For R, if the value is very low some time multimeter may not provide accurate value.

    You can use following method

    1. Use DC power supply and set for say 2V and 1A current (I am taking example of 1A assuming motor can tolerate 1A)

    2. Connect two winding across + and -, use multimeter to measure voltage drop across the winding. 

    3. Then calculate V/R and then divide by 2.

    I also have other recommendations for your JSON file, let us first clarify this and then proceed for other sections.

    Thanks and Best Regards

    Venkatadri S

  • SLU22CH048-24 Generated Datasheet _ LinEngineering-1.pdf

    Hi Venkatadri,

    In general I have taken the L and R values from the motor datasheet (please see attached). All motor parameters are listed in this datasheet. I have also measured them in order to check for discrepancies (I have proper equipment and I am aware how to do this) and the measured values corresponds to the one in the datasheet. The current regulator coefficients in the JSON file I have sent differ from the ones directly calculated by your software because I was doing some testing in order to check the coefficient tolerances being supported but in general this is not the reason for the power supply current pulses that I see with the current probe on the picture I have sent you initially (as I have written the picture is the same even with not motor running or connected).

    I hope the attached datasheet reaches you but if the file is corrupted and cannot be opened please let me know so I can copy/paste the content here.

    With kind regards,

    Alexander.

  • Hi Alexander,

    Thanks for sharing the details.

    I will read through the details and reply to you.

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    I have some problems with Id fluctuating while the motor is running. I am sending you some pictures from the oscilloscope for reference. Channel 1 is one of the hall sensors of the motor (just to sync and indicate the physical rotor position) while Channel 2 is the DAC_1 output (I am changing the variable address to show different parameters as listed below).

    THETA_EST

    SIN_COMMUTATION_ANGLE

    ID_REF_CLOSED_LOOP

    IQ_REF_CLOSED_LOOP

    ID

    IQ

    Everything looks like expected for me excluding ID (IQ is also not perfect but acceptable for me, I also the problem in ID is also affecting IQ).

    Do you have any idea what is causing the issue with ID fluctuating while ID_REF should be 0 and the scope shows it stays at 0?

    If you need any additional data please let me know. The motor used in this test is with quite low L and R – 0x0F and 0x10 respectively (it is like that by datasheet and

    With kind regards,

    Alexander

  • Hi Alexander,

    I am out of office , I will aim to provide reply by end of this week or early next week.

    Thanks and Best Regards

    Venkatadri S

  • Hi Alexander,

    Can you share me the JSON file?

    Have you enabled MTPA or Flux weakening?

    Do you know LD/LQ or saliency of the motor?

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri,

    The JSON file is already listed in my previous replies.

    I have tried enabling and disabling the flux weakening and MTPA, there is no effect on the problem described here.

    I am not aware of any saliency of the motor. Nevertheless, I have tried enabling this feature and settings different values from min to max without any result on the problem.

    With kind regards,

                 Alexander.

  • Hi Alexander,

    Reason I asked if Flux weakening or MTPA is enabled is ID current also generated along with IQ.

    I made some changes to the JSON

    1. DIG Dead time was too low 200ns, I changed it for 500ns

    2. GD_CONFIG1  CSA_GAIN as 40V/V from 20V/V, this is to adjust BASE CURRENT to proper scaling of 7.5A.

    3. PWM switching frequency to 15KHz from 50KHz, for the 1 shunt higher switching frequency may will have reduced duty cycle due to blanking time. You can try increasing till 25KHz to 30KHz and see if any improvement.

    I am copying the JSON Below, the Last thing to try after testing this JSON is to switch to current more from Speed mode.

    {
    "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":"0x64A04004",
    "addr":"0x00000084"
    },
    {
    "idx":3,
    "id":"MOTOR_STARTUP2",
    "value":"0x328DC0FF",
    "addr":"0x00000086"
    },
    {
    "idx":4,
    "id":"CLOSED_LOOP1",
    "value":"0x0F4081BC",
    "addr":"0x00000088"
    },
    {
    "idx":5,
    "id":"CLOSED_LOOP2",
    "value":"0x8AAA811F",
    "addr":"0x0000008A"
    },
    {
    "idx":6,
    "id":"CLOSED_LOOP3",
    "value":"0x3AC21901",
    "addr":"0x0000008C"
    },
    {
    "idx":7,
    "id":"CLOSED_LOOP4",
    "value":"0x2343C5DC",
    "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":"0x00000004",
    "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":"0x655DA318",
    "addr":"0x00000090"
    },
    {
    "idx":1,
    "id":"FAULT_CONFIG2",
    "value":"0x05402888",
    "addr":"0x00000092"
    }
    ],
    [
    {
    "idx":0,
    "id":"INT_ALGO_1",
    "value":"0x09420115",
    "addr":"0x000000A0"
    },
    {
    "idx":1,
    "id":"INT_ALGO_2",
    "value":"0x020082E3",
    "addr":"0x000000A2"
    }
    ],
    [
    {
    "idx":0,
    "id":"PIN_CONFIG",
    "value":"0x4003230A",
    "addr":"0x000000A4"
    },
    {
    "idx":1,
    "id":"DEVICE_CONFIG1",
    "value":"0x00100001",
    "addr":"0x000000A6"
    },
    {
    "idx":2,
    "id":"DEVICE_CONFIG2",
    "value":"0x03E8D00C",
    "addr":"0x000000A8"
    },
    {
    "idx":3,
    "id":"PERI_CONFIG1",
    "value":"0x2B845C00",
    "addr":"0x000000AA"
    },
    {
    "idx":4,
    "id":"GD_CONFIG1",
    "value":"0x0000807B",
    "addr":"0x000000AC"
    },
    {
    "idx":5,
    "id":"GD_CONFIG2",
    "value":"0x800000CD",
    "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":"0x19910004",
    "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":"0x00000000",
    "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":"0x032003A0",
    "addr":"0x000000F0"
    },
    {
    "idx":3,
    "id":"SPEED_PI",
    "value":"0x02C601C6",
    "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":"0x00FD9F4D",
    "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":"0x00080000",
    "addr":"0x0000043E"
    },
    {
    "idx":5,
    "id":"PHASE_CURRENT_C",
    "value":"0xFFF80000",
    "addr":"0x00000440"
    },
    {
    "idx":6,
    "id":"CSA_GAIN_FEEDBACK",
    "value":"0x00000001",
    "addr":"0x00000450"
    },
    {
    "idx":7,
    "id":"VOLTAGE_GAIN_FEEDBACK",
    "value":"0x00010001",
    "addr":"0x00000458"
    },
    {
    "idx":8,
    "id":"VM_VOLTAGE",
    "value":"0x03330000",
    "addr":"0x0000045C"
    },
    {
    "idx":9,
    "id":"PHASE_VOLTAGE_VA",
    "value":"0x02F40A48",
    "addr":"0x00000460"
    },
    {
    "idx":10,
    "id":"PHASE_VOLTAGE_VB",
    "value":"0x02F1E006",
    "addr":"0x00000462"
    },
    {
    "idx":11,
    "id":"PHASE_VOLTAGE_VC",
    "value":"0x02F4E7FC",
    "addr":"0x00000464"
    },
    {
    "idx":12,
    "id":"SIN_COMMUTATION_ANGLE",
    "value":"0x000F6AA4",
    "addr":"0x000004AA"
    },
    {
    "idx":13,
    "id":"COS_COMMUTATION_ANGLE",
    "value":"0xF800CF04",
    "addr":"0x000004AC"
    },
    {
    "idx":14,
    "id":"IALPHA",
    "value":"0x00880000",
    "addr":"0x000004CC"
    },
    {
    "idx":15,
    "id":"IBETA",
    "value":"0xFEA347CB",
    "addr":"0x000004CE"
    },
    {
    "idx":16,
    "id":"VALPHA",
    "value":"0xFFFE2CBF",
    "addr":"0x000004D0"
    },
    {
    "idx":17,
    "id":"VBETA",
    "value":"0xFF592667",
    "addr":"0x000004D2"
    },
    {
    "idx":18,
    "id":"ID",
    "value":"0xFF6068EE",
    "addr":"0x000004DC"
    },
    {
    "idx":19,
    "id":"IQ",
    "value":"0x015210BC",
    "addr":"0x000004DE"
    },
    {
    "idx":20,
    "id":"VD",
    "value":"0x000091A5",
    "addr":"0x000004E0"
    },
    {
    "idx":21,
    "id":"VQ",
    "value":"0x00A6EB91",
    "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":"0x06664E40",
    "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":"0x00000005",
    "addr":"0x000006B0"
    },
    {
    "idx":29,
    "id":"ISD_SPEED",
    "value":"0x0000025A",
    "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