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: Different start-up behavior for I2C and Brake

Part Number: MCF8316A

Hi Expert

I am running a customer motor based on MCF8316EVM.

It was found if using I2C Speed CMD to set stop to  (0% speed CMD) to re-start (90% speed CMD), there was a small audible noise when motion starting.

But if using Brake pin to stop the motor (set brake to high) and re-start (set brake to low), there does not have this audible noise when motion starting.

Is this expected? Is there a way to eliminate audible noise when using I2C to stop-start?

Thanks!

Regards

Rocky

  • Hi Rocky,

    Could you please help upload your register JSON file from the GUI so I can take a look at your configurations?

    I'm guess you are probably using IPD as your motor stationary startup option, which can be a brief audible noise during motor startup. However, I'm not sure why you don't hear the same noise when using the BRAKE pin, because the device should still be using IPD as startup.

    Could you please confirm that in both cases, the motor is allowed to come to a complete stop before re-starting?

    Regards,
    Eric C.

  • Hi Eric

    Yes, for both cases, motor is completely stopped.

    Here is JSON file. Pls have a check.

    {
      "signature": "oneui-register-data",
      "data": [
        [
          {
            "idx": 0,
            "id": "isd_config",
            "value": "0x04738C20"
          },
          {
            "idx": 1,
            "id": "rev_drive_config",
            "value": "0xA8200000"
          },
          {
            "idx": 2,
            "id": "motor_startup1",
            "value": "0x4B68C320"
          },
          {
            "idx": 3,
            "id": "motor_startup2",
            "value": "0x953AA00C"
          },
          {
            "idx": 4,
            "id": "closed_loop1",
            "value": "0x1D3306B5"
          },
          {
            "idx": 5,
            "id": "closed_loop2",
            "value": "0x9BADD191"
          },
          {
            "idx": 6,
            "id": "closed_loop3",
            "value": "0x02800002"
          },
          {
            "idx": 7,
            "id": "closed_loop4",
            "value": "0x329912C0"
          },
          {
            "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": "0x80000000"
          },
          {
            "idx": 12,
            "id": "speed_profiles5",
            "value": "0x00000000"
          },
          {
            "idx": 13,
            "id": "speed_profiles6",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "fault_config1",
            "value": "0x9FF80106"
          },
          {
            "idx": 1,
            "id": "fault_config2",
            "value": "0xFE10088B"
          }
        ],
        [
          {
            "idx": 0,
            "id": "pin_config",
            "value": "0x00000001"
          },
          {
            "idx": 1,
            "id": "device_config1",
            "value": "0x00101461"
          },
          {
            "idx": 2,
            "id": "device_config2",
            "value": "0xC000F00F"
          },
          {
            "idx": 3,
            "id": "peri_config1",
            "value": "0x81C01F00"
          },
          {
            "idx": 4,
            "id": "gd_config1",
            "value": "0x9C410900"
          },
          {
            "idx": 5,
            "id": "gd_config2",
            "value": "0x80000000"
          }
        ],
        [
          {
            "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": "0x00005621"
          },
          {
            "idx": 6,
            "id": "ana_trim9",
            "value": "0x80C5B79E"
          },
          {
            "idx": 7,
            "id": "ana_trim10",
            "value": "0xD3690139"
          }
        ],
        [
          {
            "idx": 0,
            "id": "int_algo_1",
            "value": "0xA43338FD"
          },
          {
            "idx": 1,
            "id": "int_algo_2",
            "value": "0x000002A7"
          }
        ],
        [
          {
            "idx": 0,
            "id": "gate_driver_fault_status",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "controller_fault_status",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_status",
            "value": "0x3ACD3320"
          },
          {
            "idx": 1,
            "id": "mtr_params",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "algo_status_mpet",
            "value": "0x06000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "dev_ctrl",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_ctrl1",
            "value": "0xF3320000"
          },
          {
            "idx": 1,
            "id": "algo_ctrl2",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "current_pi",
            "value": "0x00007125"
          },
          {
            "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": "0x00200009"
          },
          {
            "idx": 1,
            "id": "fg_speed_fdbk",
            "value": "0x04DBD9B8"
          },
          {
            "idx": 2,
            "id": "bus_current",
            "value": "0x00C93270"
          },
          {
            "idx": 3,
            "id": "phase_current_a",
            "value": "0xFFF60000"
          },
          {
            "idx": 4,
            "id": "phase_current_b",
            "value": "0x00740000"
          },
          {
            "idx": 5,
            "id": "phase_current_c",
            "value": "0xFF090000"
          },
          {
            "idx": 6,
            "id": "csa_gain_feedback",
            "value": "0x00010000"
          },
          {
            "idx": 7,
            "id": "voltage_gain_feedback",
            "value": "0x00000002"
          },
          {
            "idx": 8,
            "id": "vm_voltage",
            "value": "0x01CC4000"
          },
          {
            "idx": 9,
            "id": "phase_voltage_va",
            "value": "0x00011520"
          },
          {
            "idx": 10,
            "id": "phase_voltage_vb",
            "value": "0x00014C8D"
          },
          {
            "idx": 11,
            "id": "phase_voltage_vc",
            "value": "0x00011520"
          },
          {
            "idx": 12,
            "id": "sin_commutation_angle",
            "value": "0x06FC0534"
          },
          {
            "idx": 13,
            "id": "cos_commutation_angle",
            "value": "0x04334974"
          },
          {
            "idx": 14,
            "id": "ialpha",
            "value": "0xFF650000"
          },
          {
            "idx": 15,
            "id": "ibeta",
            "value": "0xFFD4B2E0"
          },
          {
            "idx": 16,
            "id": "valpha",
            "value": "0xFFD759B7"
          },
          {
            "idx": 17,
            "id": "vbeta",
            "value": "0x011FAA09"
          },
          {
            "idx": 18,
            "id": "id",
            "value": "0xFF89FB88"
          },
          {
            "idx": 19,
            "id": "iq",
            "value": "0xFF6DA4BB"
          },
          {
            "idx": 20,
            "id": "vd",
            "value": "0xFFB2ADBC"
          },
          {
            "idx": 21,
            "id": "vq",
            "value": "0xFED1D8FF"
          },
          {
            "idx": 22,
            "id": "iq_ref_rotor_align",
            "value": "0x00000000"
          },
          {
            "idx": 23,
            "id": "speed_ref_open_loop",
            "value": "0xFFBEDF50"
          },
          {
            "idx": 24,
            "id": "iq_ref_open_loop",
            "value": "0xFCCCD8E0"
          },
          {
            "idx": 25,
            "id": "speed_ref_closed_loop",
            "value": "0x07332000"
          },
          {
            "idx": 26,
            "id": "id_ref_closed_loop",
            "value": "0x00000000"
          },
          {
            "idx": 27,
            "id": "iq_ref_closed_loop",
            "value": "0xFA000000"
          },
          {
            "idx": 28,
            "id": "isd_state",
            "value": "0x00000005"
          },
          {
            "idx": 29,
            "id": "isd_speed",
            "value": "0x00000065"
          },
          {
            "idx": 30,
            "id": "ipd_state",
            "value": "0x0004000B"
          },
          {
            "idx": 31,
            "id": "ipd_angle",
            "value": "0x08A3BF34"
          },
          {
            "idx": 32,
            "id": "ed",
            "value": "0xFFF063DB"
          },
          {
            "idx": 33,
            "id": "eq",
            "value": "0xFEE6540F"
          },
          {
            "idx": 34,
            "id": "speed_fdbk",
            "value": "0xFAD7A8EB"
          },
          {
            "idx": 35,
            "id": "theta_est",
            "value": "0xEE48A2F0"
          }
        ]
      ]
    }

  • Hi Rocky,

    Please let me review and I'll get back to you tomorrow.

    Thanks,

    Eric C.

  • Hi Rocky,

    I've confirmed that the algorithm goes through the same exact motor startup sequence when commanded through I2C Speed Command or when Brake pin is released. The phase current waveforms are identical in both motor startup scenarios. So I'm not sure why you aren't hearing the same audible noise when motor is starting by releasing the Brake pin.

    As I mentioned, you are using IPD for stationary motor start option, which injects high frequency current spikes into the motor phases, leading to small audible noise. To confirm that this is the source of the noise, you can try changing the motor start option to Align or Slow first cycle and confirming whether the noise goes away.

    • If so, you can use align or slow first cycle if you are okay with their negative trade-offs (motor may wobble a little and slightly move in opposite direction during startup).
    • Otherwise, if you must use IPD because your application requires no unwanted movement of motor during stationary startup, before open loop commutation, then you can try to mitigate the IPD noise by
      • Decreasing the IPD repeating time (this may risk less reliable startup)
      • Try using different IPD frequencies to see if noise is less noticeable (also may affect IPD reliability)

    Please refer to the following TI Precision Labs Sensorless Startup Methods video for basic overview and PROs/CONs of each sensorless motor startup option.

    Regards,
    Eric C.