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: operate issue

Part Number: MCF8316AEVM

Hi team,

1) How to use MPET? The customer followed the steps in below figure for MPET auto-fetch. Could you help tell where can we see a reminder about the successful extraction? And how to write into the relevant registers? 

2) With speed controlled via I2C, the motor can work, but it stops automatically without reporting error. The current sometimes decreases after stopping. 

Could you help check this case? Thanks.

Best Regards,

Cherry

  • Hi Cherry,

    For 1), MPET follows the logic in the following image:

    So, you can see that the steps the customer followed in Section 4.3.1 manually command MPET to start and go through each stage. Assuming that you are using the GUI, you can tell when MPET has finished to see if the relevant constants have nonzero values in the register map (such as MOTOR_RES and MOTOR_IND in the CLOSED_LOOP2 register). Also, the motor should stop spinning (if target speed is zero).

    To write the MPET values into the relevant registers, set MPET_WRITE_SHADOW in the ALGO_CTRL2 register to 1. To save these values so that they are present after power cycling, click "Write to EEPROM" afterwards.

    For 2), is the customer enabling any Auto Read buttons during motor operation? They may be running into issue 8 described in this FAQ (https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1066777/faq-production-device-information), which can be avoided by not reading the registers during operation.

    Regards,

    Hong

  • Hi Hong,

    The problem now is:
    1. Using I2C to control the speed sometimes does not start, sometimes it can start. But there are two types of start, one is normal start, and the other is stop when high current is started?
    2. It is possible to start when the input voltage is 12v, but it will not start when the input voltage is 24v. But the current is still rising, and the motor makes noise, but it doesn't turn?

    Please help to see what is wrong with the configuration?

    {
      "signature": "oneui-register-data",
      "data": [
        [
          {
            "idx": 0,
            "id": "isd_config",
            "value": "0x44638C20"
          },
          {
            "idx": 1,
            "id": "rev_drive_config",
            "value": "0x283AF064"
          },
          {
            "idx": 2,
            "id": "motor_startup1",
            "value": "0x6B7E07D4"
          },
          {
            "idx": 3,
            "id": "motor_startup2",
            "value": "0x7BA66000"
          },
          {
            "idx": 4,
            "id": "closed_loop1",
            "value": "0x12018708"
          },
          {
            "idx": 5,
            "id": "closed_loop2",
            "value": "0x1AAD4314"
          },
          {
            "idx": 6,
            "id": "closed_loop3",
            "value": "0x0C800004"
          },
          {
            "idx": 7,
            "id": "closed_loop4",
            "value": "0x29D36760"
          },
          {
            "idx": 8,
            "id": "speed_profiles1",
            "value": "0x00000000"
          },
          {
            "idx": 9,
            "id": "speed_profiles2",
            "value": "0x00000000"
          },
          {
            "idx": 10,
            "id": "speed_profiles3",
            "value": "0x00000000"
          },
          {
            "idx": 11,
            "id": "speed_profiles4",
            "value": "0x00000000"
          },
          {
            "idx": 12,
            "id": "speed_profiles5",
            "value": "0x00000000"
          },
          {
            "idx": 13,
            "id": "speed_profiles6",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "fault_config1",
            "value": "0x7FFC8248"
          },
          {
            "idx": 1,
            "id": "fault_config2",
            "value": "0x0005FD50"
          }
        ],
        [
          {
            "idx": 0,
            "id": "pin_config",
            "value": "0x00000002"
          },
          {
            "idx": 1,
            "id": "device_config1",
            "value": "0x00100000"
          },
          {
            "idx": 2,
            "id": "device_config2",
            "value": "0x0000B000"
          },
          {
            "idx": 3,
            "id": "peri_config1",
            "value": "0x03E00000"
          },
          {
            "idx": 4,
            "id": "gd_config1",
            "value": "0x00000200"
          },
          {
            "idx": 5,
            "id": "gd_config2",
            "value": "0x00200000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "ana_trim3",
            "value": "0x48004800"
          },
          {
            "idx": 1,
            "id": "ana_trim4",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "ana_trim5",
            "value": "0x00000011"
          },
          {
            "idx": 3,
            "id": "ana_trim6",
            "value": "0x00000000"
          },
          {
            "idx": 4,
            "id": "ana_trim7",
            "value": "0x00000000"
          },
          {
            "idx": 5,
            "id": "ana_trim8",
            "value": "0x00004A52"
          },
          {
            "idx": 6,
            "id": "ana_trim9",
            "value": "0x0075B7DC"
          },
          {
            "idx": 7,
            "id": "ana_trim10",
            "value": "0x5364013A"
          }
        ],
        [
          {
            "idx": 0,
            "id": "int_algo_1",
            "value": "0x00B14255"
          },
          {
            "idx": 1,
            "id": "int_algo_2",
            "value": "0x000001A7"
          }
        ],
        [
          {
            "idx": 0,
            "id": "gate_driver_fault_status",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "controller_fault_status",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_status",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "mtr_params",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "algo_status_mpet",
            "value": "0x0A000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "dev_ctrl",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_ctrl1",
            "value": "0xA52C0000"
          },
          {
            "idx": 1,
            "id": "algo_ctrl2",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "current_pi",
            "value": "0x0009F3E9"
          },
          {
            "idx": 3,
            "id": "speed_pi",
            "value": "0x00000000"
          },
          {
            "idx": 4,
            "id": "dac_1",
            "value": "0x00000000"
          },
          {
            "idx": 5,
            "id": "dac_2",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algorithm_state",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "fg_speed_fdbk",
            "value": "0x7FFFFFFF"
          },
          {
            "idx": 2,
            "id": "bus_current",
            "value": "0x00000000"
          },
          {
            "idx": 3,
            "id": "phase_current_a",
            "value": "0x00000000"
          },
          {
            "idx": 4,
            "id": "phase_current_b",
            "value": "0x00000000"
          },
          {
            "idx": 5,
            "id": "phase_current_c",
            "value": "0x00000000"
          },
          {
            "idx": 6,
            "id": "csa_gain_feedback",
            "value": "0x00010003"
          },
          {
            "idx": 7,
            "id": "voltage_gain_feedback",
            "value": "0x00000002"
          },
          {
            "idx": 8,
            "id": "vm_voltage",
            "value": "0x01A8E000"
          },
          {
            "idx": 9,
            "id": "phase_voltage_va",
            "value": "0x00000000"
          },
          {
            "idx": 10,
            "id": "phase_voltage_vb",
            "value": "0x00000000"
          },
          {
            "idx": 11,
            "id": "phase_voltage_vc",
            "value": "0x00000000"
          },
          {
            "idx": 12,
            "id": "sin_commutation_angle",
            "value": "0x00000000"
          },
          {
            "idx": 13,
            "id": "cos_commutation_angle",
            "value": "0x00000000"
          },
          {
            "idx": 14,
            "id": "ialpha",
            "value": "0x00000000"
          },
          {
            "idx": 15,
            "id": "ibeta",
            "value": "0x00000000"
          },
          {
            "idx": 16,
            "id": "valpha",
            "value": "0x00000000"
          },
          {
            "idx": 17,
            "id": "vbeta",
            "value": "0x00000000"
          },
          {
            "idx": 18,
            "id": "id",
            "value": "0x00000000"
          },
          {
            "idx": 19,
            "id": "iq",
            "value": "0x00000000"
          },
          {
            "idx": 20,
            "id": "vd",
            "value": "0x00000000"
          },
          {
            "idx": 21,
            "id": "vq",
            "value": "0x00000000"
          },
          {
            "idx": 22,
            "id": "iq_ref_rotor_align",
            "value": "0x00000000"
          },
          {
            "idx": 23,
            "id": "speed_ref_open_loop",
            "value": "0x00000000"
          },
          {
            "idx": 24,
            "id": "iq_ref_open_loop",
            "value": "0x00000000"
          },
          {
            "idx": 25,
            "id": "speed_ref_closed_loop",
            "value": "0x00000000"
          },
          {
            "idx": 26,
            "id": "id_ref_closed_loop",
            "value": "0x00000000"
          },
          {
            "idx": 27,
            "id": "iq_ref_closed_loop",
            "value": "0x00000000"
          },
          {
            "idx": 28,
            "id": "isd_state",
            "value": "0x00000000"
          },
          {
            "idx": 29,
            "id": "isd_speed",
            "value": "0x00000000"
          },
          {
            "idx": 30,
            "id": "ipd_state",
            "value": "0x00000000"
          },
          {
            "idx": 31,
            "id": "ipd_angle",
            "value": "0x00000000"
          },
          {
            "idx": 32,
            "id": "ed",
            "value": "0x00000000"
          },
          {
            "idx": 33,
            "id": "eq",
            "value": "0x00000000"
          },
          {
            "idx": 34,
            "id": "speed_fdbk",
            "value": "0x00000000"
          },
          {
            "idx": 35,
            "id": "theta_est",
            "value": "0x00000000"
          }
        ]
      ]
    }

    Regards,

    Annie

  • Hi Annie,

    For 1, do you mean that when you are using I2C speed control, the motor can start normally, but sometimes it stops? Are you able to read the faults in this situation?

    For 2, does the current ever stop rising? There should be a fault which shuts off the operation of the device if the motor does not spin.

    Best,

    Hong

  • Hi Hong,

    1. When using I2C, sometimes it can start normally, and sometimes it doesn't work; Sometimes there will be a very large current, as if there is some force pulling it, if you don't let it go, it will stop falling after 3s;

    2. The customer doesn't know if the current will stop, because the current keeps rising, so he turns off the power;

    3. Failure to read the faults;

    4. The motors are good and have no problem spinning on the development board provided with the motors.

    Regards,

    Annie

  • Hi Annie,

    Sometimes there will be a very large current, as if there is some force pulling it, if you don't let it go, it will stop falling after 3s;

    When you refer to a force pulling it, do you mean that the current is increasing endlessly for seemingly no reason?

    When you say do not let it go, do you mean turn off the device? When you refer to falling, do you mean the current? I had thought that the current was rising.

    Sorry for the confusion,

    Hong