This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCF8316AEVM: The MCF8316AEVM did not driver the motor by the user's guide

Expert 1055 points
Part Number: MCF8316AEVM
Other Parts Discussed in Thread: MCF8316A, MCT8316A

Tool/software:

Hi Team,

  I used the MCF8316AEVM for drivering the motor by follow the step of the user's guide,i have some problems:My hardware setup is as follows:

The load file is as below:

  

{
"signature":"oneui-register-data",
"data":[
[
{
"idx":0,
"id":"ISD_CONFIG",
"value":"0x44638C20",
"addr":"0x00000080"
},
{
"idx":1,
"id":"REV_DRIVE_CONFIG",
"value":"0x283AF064",
"addr":"0x00000082"
},
{
"idx":2,
"id":"MOTOR_STARTUP1",
"value":"0x0B6807D0",
"addr":"0x00000084"
},
{
"idx":3,
"id":"MOTOR_STARTUP2",
"value":"0x23066000",
"addr":"0x00000086"
},
{
"idx":4,
"id":"CLOSED_LOOP1",
"value":"0x0C3181B0",
"addr":"0x00000088"
},
{
"idx":5,
"id":"CLOSED_LOOP2",
"value":"0x1AAD0000",
"addr":"0x0000008A"
},
{
"idx":6,
"id":"CLOSED_LOOP3",
"value":"0x00000000",
"addr":"0x0000008C"
},
{
"idx":7,
"id":"CLOSED_LOOP4",
"value":"0x0000012C",
"addr":"0x0000008E"
},
{
"idx":8,
"id":"SPEED_PROFILES1",
"value":"0x00000000",
"addr":"0x00000094"
},
{
"idx":9,
"id":"SPEED_PROFILES2",
"value":"0x00000000",
"addr":"0x00000096"
},
{
"idx":10,
"id":"SPEED_PROFILES3",
"value":"0x00000000",
"addr":"0x00000098"
},
{
"idx":11,
"id":"SPEED_PROFILES4",
"value":"0x00000000",
"addr":"0x0000009A"
},
{
"idx":12,
"id":"SPEED_PROFILES5",
"value":"0x00000000",
"addr":"0x0000009C"
},
{
"idx":13,
"id":"SPEED_PROFILES6",
"value":"0x00000000",
"addr":"0x0000009E"
}
],
[
{
"idx":0,
"id":"FAULT_CONFIG1",
"value":"0x5FE80206",
"addr":"0x00000090"
},
{
"idx":1,
"id":"FAULT_CONFIG2",
"value":"0x74000000",
"addr":"0x00000092"
}
],
[
{
"idx":0,
"id":"INT_ALGO_1",
"value":"0x00B3407D",
"addr":"0x000000A0"
},
{
"idx":1,
"id":"INT_ALGO_2",
"value":"0x000001A7",
"addr":"0x000000A2"
}
],
[
{
"idx":0,
"id":"PIN_CONFIG",
"value":"0x00000000",
"addr":"0x000000A4"
},
{
"idx":1,
"id":"DEVICE_CONFIG1",
"value":"0x00100000",
"addr":"0x000000A6"
},
{
"idx":2,
"id":"DEVICE_CONFIG2",
"value":"0x0000B000",
"addr":"0x000000A8"
},
{
"idx":3,
"id":"PERI_CONFIG1",
"value":"0x40000000",
"addr":"0x000000AA"
},
{
"idx":4,
"id":"GD_CONFIG1",
"value":"0x0C000100",
"addr":"0x000000AC"
},
{
"idx":5,
"id":"GD_CONFIG2",
"value":"0x00200000",
"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":"0x00000000",
"addr":"0x000000EA"
}
],
[
{
"idx":0,
"id":"ALGO_DEBUG1",
"value":"0x00000000",
"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":5,
"id":"DAC_2",
"value":"0x00000000",
"addr":"0x000000F6"
}
],
[
{
"idx":0,
"id":"ALGORITHM_STATE",
"value":"0x00000000",
"addr":"0x00000210"
},
{
"idx":1,
"id":"FG_SPEED_FDBK",
"value":"0x00000000",
"addr":"0x00000216"
},
{
"idx":2,
"id":"BUS_CURRENT",
"value":"0x00000000",
"addr":"0x00000410"
},
{
"idx":3,
"id":"PHASE_CURRENT_A",
"value":"0x00000000",
"addr":"0x0000043E"
},
{
"idx":4,
"id":"PHASE_CURRENT_B",
"value":"0x00000000",
"addr":"0x00000440"
},
{
"idx":5,
"id":"PHASE_CURRENT_C",
"value":"0x00000000",
"addr":"0x00000442"
},
{
"idx":6,
"id":"CSA_GAIN_FEEDBACK",
"value":"0x00000000",
"addr":"0x00000466"
},
{
"idx":7,
"id":"VOLTAGE_GAIN_FEEDBACK",
"value":"0x00000000",
"addr":"0x00000476"
},
{
"idx":8,
"id":"VM_VOLTAGE",
"value":"0x00000000",
"addr":"0x0000047A"
},
{
"idx":9,
"id":"PHASE_VOLTAGE_VA",
"value":"0x00000000",
"addr":"0x0000047E"
},
{
"idx":10,
"id":"PHASE_VOLTAGE_VB",
"value":"0x00000000",
"addr":"0x00000480"
},
{
"idx":11,
"id":"PHASE_VOLTAGE_VC",
"value":"0x00000000",
"addr":"0x00000482"
},
{
"idx":12,
"id":"SIN_COMMUTATION_ANGLE",
"value":"0x00000000",
"addr":"0x000004BA"
},
{
"idx":13,
"id":"COS_COMMUTATION_ANGLE",
"value":"0x00000000",
"addr":"0x000004BC"
},
{
"idx":14,
"id":"IALPHA",
"value":"0x00000000",
"addr":"0x000004D4"
},
{
"idx":15,
"id":"IBETA",
"value":"0x00000000",
"addr":"0x000004D6"
},
{
"idx":16,
"id":"VALPHA",
"value":"0x00000000",
"addr":"0x000004D8"
},
{
"idx":17,
"id":"VBETA",
"value":"0x00000000",
"addr":"0x000004DA"
},
{
"idx":18,
"id":"ID",
"value":"0x00000000",
"addr":"0x000004E4"
},
{
"idx":19,
"id":"IQ",
"value":"0x00000000",
"addr":"0x000004E6"
},
{
"idx":20,
"id":"VD",
"value":"0x00000000",
"addr":"0x000004E8"
},
{
"idx":21,
"id":"VQ",
"value":"0x00000000",
"addr":"0x000004EA"
},
{
"idx":22,
"id":"IQ_REF_ROTOR_ALIGN",
"value":"0x00000000",
"addr":"0x00000524"
},
{
"idx":23,
"id":"SPEED_REF_OPEN_LOOP",
"value":"0x00000000",
"addr":"0x0000053A"
},
{
"idx":24,
"id":"IQ_REF_OPEN_LOOP",
"value":"0x00000000",
"addr":"0x00000548"
},
{
"idx":25,
"id":"SPEED_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x000005CC"
},
{
"idx":26,
"id":"ID_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x000005FC"
},
{
"idx":27,
"id":"IQ_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x000005FE"
},
{
"idx":28,
"id":"ISD_STATE",
"value":"0x00000000",
"addr":"0x0000067A"
},
{
"idx":29,
"id":"ISD_SPEED",
"value":"0x00000000",
"addr":"0x00000684"
},
{
"idx":30,
"id":"IPD_STATE",
"value":"0x00000000",
"addr":"0x000006B8"
},
{
"idx":31,
"id":"IPD_ANGLE",
"value":"0x00000000",
"addr":"0x000006FC"
},
{
"idx":32,
"id":"ED",
"value":"0x00000000",
"addr":"0x00000742"
},
{
"idx":33,
"id":"EQ",
"value":"0x00000000",
"addr":"0x00000744"
},
{
"idx":34,
"id":"SPEED_FDBK",
"value":"0x00000000",
"addr":"0x00000752"
},
{
"idx":35,
"id":"THETA_EST",
"value":"0x00000000",
"addr":"0x00000756"
}
]
]
}

when i load the config and click the run MPET,i pull the slider to drive the motor successful,then i click the MPET reults to shadow registers the logs note the action is been going on,how do i make sure the MPET reults is writed to the registers sucessfully?

 Another question,i want to drive the motor in closed loop,What should I do next?

  • Suy,

    Let me assign this to the correct engineer, we will get back to you tomorrow.

    Regards,

    -Adam

  • Hi Suy,

    I want couple of information

    1. Is device on the EVM is MCF8316A? The new EVM will have MCF8316C please confirm.

    2. Are you using MOTOR STUDIO? Please confirm the version as well.

    3. What is the motor current and speed rating?

    Thanks and Best Regards

    Venkatadri S

  • Hi venkatadri,

    Pls See the reply below:

    1、The EVM is MCF8316A.

    2、I used the MCF8316A GUI yesterday but it can't drive the motor,today I'm using MOTOR STUDIO GUI(Rev0.1.18) instead,i downloaded the file you provided from the forum when I loaded it,the motor can work well.

    3、The motor current is 0.3A and the rating speed is 1700RPM

    I just checked  the MPET reults are writed into these registers,pls look at the blew picture,these MPET values are consistent with the results measured by the GUI

    When the motor works i find it was in closed loop mode,what I don't understand is that I set the current duty cycle to calculate the current speed of the motor at 9.7Hz by the encoder, but the speed feedback suggested by the software is 67.9Hz, should I divide it by pp to determine the actual speed?(my motor PP is 7)

    After the motor is working for about 5 minutes, it suddenly stops and the GUI has no fault. When I click "stop motor" on GUI and reset the duty cycle, the motor will not work again, and LED6 is blinking at this time. i want to konw what causes this and how to solve it?  

    Another two questions:

    1、What should I do if I want to continue to optimize the stability of the motor in closed-loop mode?

    2、When all the registers are written to EEPROM, how to control the motor offline through PWM under the set speed at the SPEED pin?

     

  • Hi Suy,

    Device measure speed in Hz, encode is one pulse per rotation with 7 PP and hence you need to divide 67Hz/7 , every PP is one electrical cycle (Hz)

    I also want to recomend to switch to MCF8316C instead of MCF8316A due to some limitations.

    MCF8316C is improved version of MCF8316A.

    Example, MCF8316A had limited bandwidth for communication while motor is running.

    Please refer to this link for more details (+) [FAQ] Production device information - Motor drivers forum - Motor drivers - TI E2E support forums

    Also top level difference

    Thanks and Best Regards

    Venkatadri S

  • Hi venkatadri,

    Does the mcf8316c pin to pin as the mcf8316a?but the FAQ link you gave is the mct8316a and the mct8316a.

    Can you help me to explain these questions in my last reply?

     A prompt reply is appreciated.

  • Hi Suy,

    I wanted to share the errata information with you about MCF8316A.

    The difference between MCF8316A and MCF8316C is available in the earlier conversations.

    Do you have anymore questions?

    Thanks and Best Regards

    Venkatadri S

  • Hi venkatadri,

    OK,i will change the MCF8316A into MCF8316C.

    Finally, i want to know how to control the motor offline through PWM under the set speed at the SPEED pin when all the registers are written to EEPROM.

    Does my MCU or FPGA only need to operate the SPEED pin?

  • Hi Suy,

    Speed can be controlled with PWM, Analog on the speed pin and also I2C mode.

    EEPROM can be programmed for any of these mode.

    You can also utilize MCU to control Brake, DIR pin as desired.

    Thanks and Best Regards

    Venkatadri S