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.

MCT8316A: Motor Load Inference

Part Number: MCT8316A

Tool/software:

Hello,

I have a MCT8316A driving a BLDC at 15V. I am using PWM speed control, and I have the MCT8316AEVM module for programming the EEPROM through the GUI. What would be the best way to infer the load on the motor from one of the hardware pins (DACOUT, FG, etc.)? For context I would like to have a control loop where I increase the input duty cycle when the motor is loaded down. I assume that more load = more current draw.

Thanks 

  • Hi,

    Yes more load means more current and sometime speed also may drop.

    This happend with speed mode enabled. 

    Thanks and Best Regards 

    Venkatadri S 

  • Thanks. I am monitoring "Input Duty Cycle" (0x40C) on DACOUT2 (pin 38), and it fluctuates with motor load. I am not adjusting the PWM duty cycle on the SPEED pin from my microcontroller, and I also have CONST_SPEED disabled. CONST_PWR is set to "Power Limit Control". 
    My question now: since there is no information of Input Duty Cycle 0x40C in the datasheet, what is it? Why is it fluctuating with motor load/torque? This is desirable, since it gives a good indication of motor load, but I need to understand why it works. Thanks.

  • Hi ,

    I missed this thread.

    Can you verify whether speed loop is enabled? If so the duty cycle will change based on the load/supply variations

    Can you share the JSON file?

    Thanks and Best Regards 

    Venkatadri S 

  • Hello, speed loop is disabled. Attached is the JSON file.

    {
      "signature": "oneui-register-data",
      "data": [
        [
          {
            "idx": 0,
            "id": "isd_config",
            "value": "0x6F04C100"
          },
          {
            "idx": 1,
            "id": "motor_startup1",
            "value": "0x38D561F7"
          },
          {
            "idx": 2,
            "id": "motor_startup2",
            "value": "0x1BB999A4"
          },
          {
            "idx": 3,
            "id": "closed_loop1",
            "value": "0x0746B314"
          },
          {
            "idx": 4,
            "id": "closed_loop2",
            "value": "0x02A664D0"
          },
          {
            "idx": 5,
            "id": "closed_loop3",
            "value": "0x4CC40101"
          },
          {
            "idx": 6,
            "id": "closed_loop4",
            "value": "0x000CE944"
          },
          {
            "idx": 7,
            "id": "const_speed",
            "value": "0x00A00504"
          },
          {
            "idx": 8,
            "id": "const_pwr",
            "value": "0x177048C2"
          },
          {
            "idx": 9,
            "id": "150_deg_two_ph_profile",
            "value": "0x36DB6DA6"
          },
          {
            "idx": 10,
            "id": "150_deg_three_ph_profile",
            "value": "0x36DB6D80"
          },
          {
            "idx": 11,
            "id": "trap_config1",
            "value": "0x054BA106"
          },
          {
            "idx": 12,
            "id": "trap_config2",
            "value": "0x2A880000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "fault_config1",
            "value": "0x78F43025"
          },
          {
            "idx": 1,
            "id": "fault_config2",
            "value": "0x7446B809"
          }
        ],
        [
          {
            "idx": 0,
            "id": "gd_config1",
            "value": "0x18440008"
          },
          {
            "idx": 1,
            "id": "gd_config2",
            "value": "0x14000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "pin_config1",
            "value": "0x2D720602"
          },
          {
            "idx": 1,
            "id": "pin_config2",
            "value": "0x080C0000"
          },
          {
            "idx": 2,
            "id": "device_config",
            "value": "0x7FFF0000"
          },
          {
            "idx": 3,
            "id": "peri_config",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "ana_trim3",
            "value": "0x48004800"
          },
          {
            "idx": 1,
            "id": "ana_trim4",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "ana_trim5",
            "value": "0x00000016"
          },
          {
            "idx": 3,
            "id": "ana_trim6",
            "value": "0x00000000"
          },
          {
            "idx": 4,
            "id": "ana_trim7",
            "value": "0x00000000"
          },
          {
            "idx": 5,
            "id": "ana_trim8",
            "value": "0x00005251"
          },
          {
            "idx": 6,
            "id": "ana_trim9",
            "value": "0x007DF85E"
          },
          {
            "idx": 7,
            "id": "ana_trim10",
            "value": "0x5374003A"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_reserved1",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "algo_reserved2",
            "value": "0x00000000"
          },
          {
            "idx": 2,
            "id": "algo_reserved3",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "gate_driver_fault_status",
            "value": "0x00000000"
          },
          {
            "idx": 1,
            "id": "controller_fault_status",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "sys_status1",
            "value": "0x00C3446E"
          },
          {
            "idx": 1,
            "id": "sys_status2",
            "value": "0xB0010000"
          },
          {
            "idx": 2,
            "id": "sys_status3",
            "value": "0x00000000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "device_ctrl",
            "value": "0x00008000"
          }
        ],
        [
          {
            "idx": 0,
            "id": "algo_ctrl1",
            "value": "0x00000000"
          }
        ]
      ]
    }

  • Hi Desmond,

    Thanks for posting JSON, I will verify and get back by today.

    Thanks and Best Regards 

    Venkatadri S 

  • Hi Desmon

    Sorry for delay, I looked at JSON in that closed loop is disables in the CONST_SPEED[CLOSED_LOOP_MODE].

    This will be purely voltage mode and phase current will not change significantly, this depends on the speed at which motor spinning and when speed reduced BEMF also reduces and current can increase based on the motor resistance.

    In order to regulate torque, you enable Power loop in the register and then power limit also takes effect.

    Thanks and Best Regards 

    Venkatadri S