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.

Motor torque is too small at low speed

Part Number: DRV10983

Our application is DRV10983PWPR for commercial service robot to drive the head rotation, the motor is powered by 24V, and the brushless battery is a common three-wire model with no hall and no encoder. At present, there is a problem that the motor torque is too small at low speed. The specific hardware and software configuration is as follows.

Software configuration:

1. Register configuration

0x20=4C 0x21=5C 0x22=2A 0x23=0C 0x24=40 0x25=FD 0x26=80 0x27=F8 0x28=0F 0x29=C9 0x2a=08 0x2b=04

2. Using I2C to control motor movement, existing problems.

A) Using I2C configuration register 0x27=F4, the motor will continue to accelerate and the overcurrent will eventually stop; Configure register 0x27=F8. When the speed is set to a value such as 0x50, the motor will accelerate to the specified speed and then run smoothly. What is the cause of this phenomenon? Why is the motor accelerated all the time when register 0x27=F4 is configured? What is the difference between these two configurations?

B) Using I2C configuration register 0x27=F4, the motor will continue to accelerate and the overcurrent will finally stop; Configure register 0x27=F8. When the speed is set to configure registers 0x00 and 0x01 and the motor speed is set to about 0x50, the motor can start and run smoothly; Set the motor speed to about 0x20, and the motor is shaken and cannot be started and run. What is the cause of this phenomenon?

C) When the steady speed of the motor is set to change, the torque of the motor will also become smaller. At this point, the current detected during the steady operation of the motor is also extremely low. Can the torque of the motor be set to increase or remain constant when the speed of the motor changes? If torque or current can be set, how? How can It not be set? Please explain the governing principle of this driver.

  • Hi Zhang,

    Thanks for posting your question in MD forum. I will respond to your question shortly!

    Regards,

    Vishnu

  • Hi Zhang,

    2.A. When 0x27 = F8, Mechanical AVS is disabled and when 0x27 = F4  Mechanical AVS is enabled. Inductive AVS is not functional in DRV10983 so we recommend to set this bit to 0. When mechanical AVS is enabled, the device checks if the BEMF voltage generated by the motor is greater than the voltage that is applied to the motor. If this condition is true, device accelerates the motor speed by increasing the output voltage such that the resulting output voltage is greater than the BEMF voltage of the motor.  When 0x27=F4, mechanical AVS is disabled, so you don't see motor accelerate. Device calculates the minimum output voltage based on the programmed BEMF constant Kt. Can you measure Kt and see if the measured value is same as programmed value? Here is the video that explains on how to measure Kt using the lab oscilloscope.  

    Please refer to section 8.4.8.1 in the datasheet for more details.

    2.B. Can you read the fault register and see what fault gets triggered when you set the speed command to 0x20? 

    2.C. This device does not have feedback loops to regulate speed and torque. This device is suited for applications where the load torque does not change dynamically. This device internally measures phase current to estimate the BEMF voltage and BEMF zero crossing. Commutation is done based on the BEMF zero crossing estimation. Unlike FOC which has a torque loop, this device does not have the capability to regulate output torque. However, speed control is possible using an external MCU. An external MCU can be used to measure the motor speed and a PI controller can be implemented in the firmware to regulate the speed of the motor. Please refer to this reference design for more details.

    Regards,

    Vishnu.    

  • Correction!

    In 2.A. line #4, when 0x27=F8, mechanical AVS is disabled.