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.

detecting back EMF in DRV8837

Other Parts Discussed in Thread: DRV8837

We have a consumer product design that has a DC motor and we plan to use DRV8837 for this design.  When users push a button, the DC motor will go into forward direction and raise a cap to a predefined height.

Here are my questions:

  1. After the cap reaches the predefined height, we would like to allow users to push down the cap slightly as as a way to lower the cap back to its original position.  I wonder if there is a way for the system to use back EMF to detect that the cap is pushed down slight (=motor is forced into reverse direct).   If we can detect this users' action, we can then control DRV8837 into reverse direction and lower the cap automatically.

  2. While the cap is being raised up, I would like to see if there is any way to detect the action of users pushing down the cap.  If I can detect this action by users, then I can stop the motor at that specific height.  Again, is there any way to use back EMF or other means to detect such an action from users?

  • Hi Chi-wen

    Generally, there are three ways to detect and action.

    1. Current. it is more easy to achieve than BEMF. You can treat users pushing as a stall condition. the current will be much bigger than normal operation. In this method, the key is that you should distinguish normal startup with stall condition. A current sense resistor adding to DRV8837 circuit and a comparator will be the main structure of the hardware.

    2. A rough rotaton encoder sensor on motor axle to detect speed and position change.

    3. BEMF. Usually you have no choice to directly measure BEMF during a brushed DC motor's normal operation. Because the current will not decay to zero during PWM off time for a DC motor. But this is possible for three phase BLDC. Anyway, BEMF will be very small during stall or startup condition, this method will be harder to implemented than detecting current.

    Thanks.

    Wilson Zuo

    Motor Application Team

  • Hi Wilson,

      Thanks for your prompt response.  If I take your suggestion 1 (current sensing), should I connector the shunt resistor in VM or OUT1/OUT2 pin? 

  • Hi Chi-wen

    Usually the shunt resistor is placed at VM or GND for the total current. I think GND side will be easier to deal with. Please keep the shunt resistor as small as possible.

    Thanks.

    Wilson  

  • Hi Wilson,

      Does 0.4 ohm shunt resistor sound reasonable to you?

      Also, if the motor driver is in brake state and the users push down the cap (reversing motor), will shunt resistor sense a negative current flow? This is a condition that our software needs to detect.

  • Hi Chi-wen

    I think it is also dependent on your current level. Actually we don't have recommended parameters on DRV8837 used in this way. You need to do some experiment on this method. it is better to keep the resistor < 200 mohm and the total voltage drop < 0.1V. 

    We need to keep the condition of DRV8837 within spec after adding the shunt. for example, the shunt resistor may cause UVLO issue when the load is short or have very small resistance.

    Thanks.

    Wilson

  • Hi Wilson,

      Thanks for all your help.