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.

DRV10983: DRV10983 MOtor driver issue

Part Number: DRV10983

Hi,

I am using DRV10983 in my BLDC motor driver project.

I have below issues ,Please help to resolve.

1. I am not able to tune my motor using DRV10983EVM as it is not working i am tuning it through EEPROM registers (0x20:0x2B).  While tuning motor using DRV10983EVM GUI there is an error message : lvclass: read register.vi<ERR> reading register not successful!!

My   Power supply is more than 22V.  I First tried with GUI rather than MCU and run the motor. When I use it without Load there is no such kind of error shown but when I use load this error message displayed.

 

2. I want to run my motor at 300RPM how can i change the RPM and how can i measure RPM. I am using PWM mode. I want to know if i have value for example  300rpm then what i need to change.

Please help here.

Thanks

Regards

Rahul

  • Hey Rahul,

    1). Assuming you have correctly installed the 2014 LabView Runtime Engine, and are running the program as an administrator, I encourage you to set the speed command (e.g. PWM duty cycle) to 0 while programming. Sometimes, the driver will trigger a fault or lock and lock out the GUI while tuning. This usually happens when the auto-refresh on the display tab is enabled. 

    2). You can measure RPM by going to the display tab and reading the electrical frequency box and using the equation below. Note the GUI is currently bugged and the RPM display does not calculate the correct value (Sorry for the inconvenience):

    RPM = 120*f_electrical/n_poles

    Where n_poles is the number of poles of the motor you are using. With that said, 300RPM with a 8 pole motor is 30 Hz which is extremely slow for a sensorless algorithm. Since sensorless algorithms (not just from TI) usually rely on the generation of Back EMF voltage (BEMF), a slow speed will generally result in a low BEMF. This means, the driver may fail to spin your motor.

    For example, a motor with spinning at 30Hz with a BEMF constant (Ke) of 20mV/Hz will result in a BEMF that is less than a volt:

    Ke = V_BEMF/f_electrical; V_BEMF = Ke*f =(20*10^(-3))(30) = 600mV

    Best,

    -Cole 

  • Hi Cole,

    My motor is having 14 poles & 300RPM with a 14 pole motor is 35 Hz.
    Is this suitable for sensor-less algorithm?
    If not then how much is the minimum requirement.

    Thanks
    Regards
    Rahul
  • Hey Rahul,

    What's the BEMF Constant of the motor (Ke or Kt) in units of mV/Hz?

    To measure Kt, we highly recommend finding it number by taking a scope probe between two of the phases, physically rotate the motor, and measure Voltage (peak to peak) and frequency of the BEMF. Then, Kt will come from dividing the peak to peak voltage by to 2 and dividing by frequency:

    Kt = (V_pk_pk/2)/(f_BEMF)

    Also, there's video on this subject you can use if you still need help.

    Assuming the motor parameter falls within the operation range below, use the Kt value to find what the V_BEMF is at the electrical speed of 35Hz using the equation I wrote in my last post. Hopefully, the V_BEMF will be at least 1V peak and mostly sinusoidal in shape; this means there is a high probability that the alogrithm can spin the motor.

    If the V_BEMF is less than 1V, there is still a probabillity that the algorithm can spin the motor but it will be a trial and error process.

    Best,

    -Cole