PWM control for 24v13 driver (product 2992)

I am trying to figure out how to control motor using PWM on 24v13 driver. First thing that puzzles me is that why DRV8701E (PH/EN) is used in the product instead of DRV8701P designed specifically for PWM.

As a result it seems that the motor is constantly switched between full voltage applied and short-circuited, or (even worse) with full voltage alternating directions. Basically, MOSFETS are forced to take on the full back EMF they just induced in the windings in the previous part of duty period.

All this seems awfully wasteful and really hard on both motors and MOSFETs. Or am I missing something? Do I need to also use SLP input to achieve no power loss Drive/Coast operation?

Hello.

Yes, you are probably missing something. Alternating between full voltage and short-circuited is generally the way to go for better motor control, and that “even worse” scenario of flipping polarity across the motor works. The two versions of that mosfet driver chip differ only in their I/O interfaces, not in some internal capability. You can see under recommended operating conditions that they have up to 100kHz for both the PH/EN inputs and the IN1/IN2 inputs. You can look up “locked antiphase” to learn more about motor driving approaches.

- Jan

That is not true. If you look at 7.3.1 in datasheet, the PWM version of the chip sets MOSFETs to High-Z mode when both IN1 and IN2 inputs are 0. The only way to achieve this state in PH/EN chip is to use SLEEP input, but since it has 1 ms wake-up delay it can not be used at normal PWM frequencies.

Are you trying to understand the point? The line you quoted was in response to your initial post about being puzzled about a version “designed specifically for PWM”, which is simply not the case. If your question is whether our G2 motor drivers support high-frequency PWM between power and coast as opposed to power and brake, they do not. But you seem to understand that, so I do not know what you are trying to achieve with your last post.

- Jan

I am trying to understand whether I am missing something obvious in the documentation or datasheet that makes it possible to use this product as servo driver without constant current drain. The documentation says this, for example:

In locked-antiphase operation <…> a 50% duty cycle turns the motor off <…> making the current zero

I don’t understand how it is possible to make current zero if the motor is driven in one direction half of the cycle and in the other direction during the other half.

The motor inductance keeps the current around zero. You need a fairly high switching frequency to make it work well.

- Jan