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.

MCF8316A:After MPET, it doesn't work.

Part Number: MCF8316A

Tool/software:

MCF8316AEVMでモーターの動作確認をし、その後MCF8316Cを搭載したカスタムボードで動作確認をしましたが、正常に動作しません。
まずMPETを実行しますが、モーターが10秒ほど回転して停止します。ALGORITHM_STATEは
MOTOR_IDLEのままです。

ALGORITHM_STATE は、MPET でモーターが回転している間も MOTOR_IDLE のままとなり、MOTOR_MPET_RL_MEASURE 等にはならず、MOTOR_IDLE のままとなります。

原因は何だと思いますか?

MCF8316AEVMとカスタムボードの違いは、
- MCF8316AとMCF8316Cの違い
- 回路は基本的にMCF8316AEVMの回路と同じですが、カスタムボードにそのまま反映されています。
(若干の違いがある場合があります。)

ありがとう

  • Hi Inashima,

    Can you translate it?

    Can you provide current, speed and voltage specification?

    Thanks and Best Regards

    Venkatadri

  • Hi Venkatadri-san,

    I checked the motor operation with MCF8316AEVM, and then checked the operation on a custom board with MCF8316C, but it doesn't work well.

    First, I run MPET, but the motor rotates for about 10 seconds and then stops.

    At that time, MPET_BEMF_FAULT is detected in the CONTROLLER_FAULT_STATUS Register.

    What do you think the cause is?

    The differences between MCF8316AEVM and the custom board are:

    - Difference between MCF8316A and MCF8316C

    - The CPU is made by Microchip and the speed is controlled by I2C. The MCF8316C circuit is basically the same as the MCF8316AEVM circuit, but it is reflected on the custom board as is.

    (There may be minor differences.)

    The following register settings are also used. uint32_t eeprom_regmap[eeprom_array_size][2] = {
    { 0x80, 0x7C330D88 }, // ISD_CONFIG
    { 0x82, 0x702AF064 }, // REV_DRIVE_CONFIG
    { 0x84, 0x0B700D00 }, // MOTOR_STARTUP1
    { 0x86, 0x44066004 }, // MOTOR_STARTUP2
    { 0x88, 0x28A18070 }, // CLOSED_LOOP1
    { 0x8A, 0x4AFFB124 }, // CLOSED_LOOP2
    { 0x8C, 0x1C800002 }, // CLOSED_LOOP3
    { 0x8E, 0x2187CBB8 }, // CLOSED_LOOP4
    { 0x90, 0x2FE80206 }, // FAULT_CONFIG1
    { 0x92, 0x74000000 }, // FAULT_CONFIG2
    { 0x94, 0x00000000 }, // SPEED_PROFILES1
    { 0x96, 0x00000000 }, // SPEED_PROFILES2
    { 0x98, 0x00000000 }, // SPEED_PROFILES3
    { 0x9A, 0x00000000 }, // SPEED_PROFILES4
    { 0x9C, 0x00000000 }, // SPEED_PROFILES5
    { 0x9E, 0x00000000 }, // SPEED_PROFILES6
    { 0xA0, 0x00B3407D }, // INT_ALGO_1
    { 0xA2, 0x000001A7 }, // INT_ALGO_2
    { 0xA4, 0x00000002 }, // PIN_CONFIG
    { 0xA6, 0x00100001 }, // DEVICE_CONFIG1
    { 0xA8, 0x0000B000 }, // DEVICE_CONFIG2
    { 0xAA, 0x40000000 }, // PERI_CONFIG1
    { 0xAC, 0x0C000100 }, // GD_CONFIG1
    { 0xAE, 0x00200000 }, // GD_CONFIG2
    };

    Thank you

  • Hi Inashima,

    Best wat to start debugging is, after Host MCU loads the JSON if there is a test point to connect Motor studio, you can read back and verify if data is transmitted properly.

    To isolate the problem, using GUI program to EEPROM first on the custom board and only control speed from host MCU.

    If no issue them problem in I2C transaction.

    About running MPET, follow below mentioned procedure

    1. Run only R, L, KE  (Do not enable MECH measurement)

    2. After R, L, KE is succefull the run MECH.

    Can you share JSON file?

    Thanks and Best Regards

    Venkatadri S

  • Hi Venkatadri-san,

    Since STAT_DETECT_THR was found to be inappropriate as the cause of MPET_BEMF_FAULT, I corrected the value of STAT_DETECT_THR.
    As a result, the motor started after MPET.

    For now, I will close this issue as it has been resolved.

    Thank you.