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: EVM board can not drive the motor

Part Number: MCF8316AEVM

I connect my motor exactly as it explained but it gives controller_fault when I run mpet or tried tu run motor by potentiometer.

  • When I wrote the mpet values and tried to drive the motor, motor did not move but the controller fault disappeared.

  • Hi Ozgur,

    The device is running into MPET_IPD_FAULT, which happens when MPET fails to measure motor resistance and inductance. This fault gets triggered if there is no motor connected to the phase pins of the device or when the MPET IPD Current threshold [MPET_IPD_CURRENT_LIMIT] is set too low for motors with high resistance.

    Please refer to the section 3.6.1 of the MCF8316A Tuning Guide for steps to resolve this fault.

    Regards,
    Eric C.

  • Hi Eric, MPET_IPD_CURRENT_LIMIT is 20% which is the highest value that I can give from the Motor Studio. Bu the main problem here is EVM board can not drive despite of giving motor parameters manually.

  •   as you can see from here. I write these values from the datasheet of the motor. When I tried to control the motor from I2C controls panel, motor do not run.

  • Hi Ozgur,

    Could you please ensure that you've entered the motor phase-to-centertap R, L, and KE? It'd be helpful if you could provide the motor datasheet as well.

    When you change the I2C speed command, enable the Auto Read Motor Status toggle button, and do you observe any changes in the Algorithm State from Motor Idle?

    Thanks!

    Regards,
    Eric C.

  • a

    Resistance, inductance and Bemf constant is taken from the datasheet of the motor. The motor that I use has 7 pole pair.
    When I change I2C command it gives MOTOR_MPET_MOTOR_STOP_WAIT algorithm state.

  • Hi Ozgur,

    Could you please help check that the potentiometer on the EVM is turned all the way clockwise? This is to prevent the device from receiving a non-zero speed command as soon as the device is powered up.

    Regards,

    Eric C.

  • I think you dont understand my problem here. I followed the procedure in the documents. I made the necessary hardware configs. However, MPET function is not working. I gives the parameter by my hand, then the motor start to move but still it is not work properly. Sometimes, the controller can not switch to closed loop mode from open loop. Sometimes, it thinks that it is in open loop mode and motor is spining but it is not spining. Can you share with me a detailed documentation for guiding?

  • Hi Ozgur,

    Sorry for the lack of clarification. The reason that I asked you to make sure the potentiometer is turned all the way counter clockwise is because it looked like the device is still attempting to run MPET (getting stuck in MOTOR_MPET_MOTOR_STOP_WAIT state).

    When you first power up the device, if there is a non-zero speed command, the device will immediately try to run MPET if any of the 5 parameters (R, L, KE, speed loop Kp, speed loop Ki) is zero. Then even if you enter your parameters manually afterwards, the device is still stuck attempting to run MPET. By making sure there is no speed command, you can make sure the device powers up and stays in MOTOR_IDLE state while you input your own R, L, KE, Kp, Ki values. Afterwards, when you give a speed command, you shouldn't see any MPET related algorithm state. Instead, you should see the Algorithm state goes through Motor Startup (Align/IPD) -> Open Loop -> Closed Loop. You can ensure this by using the Auto Read Motor Status toggle button in the side panel, right after powering up the EVM and connecting to the GUI to check that the Algorithm State is MOTOR_IDLE.

    Another thing I want to point out is the MCF8316has an errata (#8 on this E2E FAQ), where the device can lock up if it receives I2C commands during motor operation. This errata only affects MCF8316A and was fixed in MCF8316C or other MCF devices. Unfortunately, the Motor Studio GUI automatically enables the Auto Read Motor Status feature in the side panel when you set the I2C Speed Command slider to a non-zero value, so it could trigger this errata easily. The workaround is to immediately disable the Auto Read Motor Status toggle right after you change the I2C Speed Command slider to a non-zero value.

    Lastly, you can refer to the MCF8316A Tuning Guide for more detailed documentation of the tuning procedures and register settings.

    Regards,
    Eric C.