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: No-fault stall

Part Number: MCF8316AEVM

After manually entering in the motor parameters (MPET seems to get them wrong), I'm able to get my BLDC motor spinning. I can play around with the various acceleration and other parameters and they seem to do as expected. However, while running quite often the motor will just stall/stop in the closed_loop_unaligned or closed_loop_aligned status without showing any fault status. There doesn't appear to be any way to force it back into the motor_idle status, so I have to reboot the eval board just to get things working again. Any idea what could be going wrong? I'm using this motor: http://www.jdpowersky.com/en/p-info.aspx?cid=1&id=49 and I've attached the register file (I think, no way to tell after drag&drop).

Thanks,

Kevin

  • {
      "signature": "oneui-register-data",
      "data": [
        [
          {
            "idx": 0,
            "id": "isd_config",
            "value": "0x44638C20"
          },
          {
            "idx": 1,
            "id": "rev_drive_config",
            "value": "0x281AF064"
          },
          {
            "idx": 2,
            "id": "motor_startup1",
            "value": "0x4B6907CA"
          },
          {
            "idx": 3,
            "id": "motor_startup2",
            "value": "0x24CE6008"
          },
          {
            "idx": 4,
            "id": "closed_loop1",
            "value": "0x0C2980BC"
          },
          {
            "idx": 5,
            "id": "closed_loop2",
            "value": "0x1AADE1B8"
          },
          {
            "idx": 6,
            "id": "closed_loop3",
            "value": "0x29800002"
          },
          {
            "idx": 7,
            "id": "closed_loop4",
            "value": "0x64D905A0"
          },
          {
            "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": "0x1DB2802E"
          },
          {
            "idx": 1,
            "id": "fault_config2",
            "value": "0x54000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "pin_config",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "device_config1",
            "value": "0x10100001"
          },
          {
            "idx": 2,
            "id": "device_config2",
            "value": "0x00009000"
          },
          {
            "idx": 3,
            "id": "peri_config1",
            "value": "0x40000000"
          },
          {
            "idx": 4,
            "id": "gd_config1",
            "value": "0x00000103"
          },
          {
            "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": "0x80000013"
          },
          {
            "idx": 3,
            "id": "ana_trim6",
            "value": "0x00000000"
          },
          {
            "idx": 4,
            "id": "ana_trim7",
            "value": "0x00000000"
          },
          {
            "idx": 5,
            "id": "ana_trim8",
            "value": "0x00004424"
          },
          {
            "idx": 6,
            "id": "ana_trim9",
            "value": "0x8091C6DE"
          },
          {
            "idx": 7,
            "id": "ana_trim10",
            "value": "0xD36C113D"
          }
        ],
        [
          {
            "idx": 0,
            "id": "int_algo_1",
            "value": "0x00B3207D"
          },
          {
            "idx": 1,
            "id": "int_algo_2",
            "value": "0x00000167"
          }
        ],
        [
          {
            "idx": 0,
            "id": "gate_driver_fault_status",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "controller_fault_status",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_status",
            "value": "0x3F9AFFF0"
          },
          {
            "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": "0x7FFF0000"
          },
          {
            "idx": 1,
            "id": "algo_ctrl2",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "current_pi",
            "value": "0x0000F184"
          },
          {
            "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": "0x00200008"
          },
          {
            "idx": 1,
            "id": "fg_speed_fdbk",
            "value": "0x7FFFFFFF"
          },
          {
            "idx": 2,
            "id": "bus_current",
            "value": "0x0021D460"
          },
          {
            "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": "0x00000001"
          },
          {
            "idx": 8,
            "id": "vm_voltage",
            "value": "0x02C24000"
          },
          {
            "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": "0x03A456B8"
          },
          {
            "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": "0x03DD5C05"
          },
          {
            "idx": 35,
            "id": "theta_est",
            "value": "0x00000000"
          }
        ]
      ]
    }

    Here's the register JSON

  • Kevin,

    Can you check if you have auto-read register enabled in the GUI? If you are auto-reading registers while the motor is spinning, device might get stuck in unknown state. This is a known issue and we will be fixing this in our next revision. 

    Regards,

    Vishnu

  • No, I have enabled auto-read motor status and auto-read faults, but not auto-read registers.

  • Kevin,

    Please disable auto-read motor status and auto-read faults and try again. This should help fix the issue. 

    Regards,

    Vishnu 

  • So far that seems to have fixed the problem. Is this related to too much I2C activity, or is there something specific in the GUI program? If I have an MCU polling the controller for motor status will I encounter the same problem?

  • Kevin,

    This is related to too much I2C activity in the device. You will see the same problem when you use external MCU to ping the device. This is a known issue and we will be fixing this in our next revision. 

    Regards,

    Vishnu