pwm on which driver input


I have half asked this before but im going into production and feeling insecure with my half knowledge and lack of oscilloscope.

Im using the sn754410 to pwm electromagnets
Im currently using the input pins to pwm through shift registers.

is there a difference in pwm’ing on the input pins instead of the enable one ?

I am experiencing some voltage drop when on high currents not sure if that’s the problem.

THanks a lot

I prefer to use the enable for the pwm signal, and the direction to the other pins. But that is just my personal preference and I forgot why. You can use the A and Y also for PWM.
If you use the low frequency of the Arduino pwm, it should be no difference.
Sometimes the enable pin can have a higher frequency, but according to the datasheet, it’s about the same for the SN754410.

I think when the enable is used for pwm, the output switches between enabled and disabled, I’m not sure what that will do for the motor.

A voltage drop of 2V is normal for these older driver chips. Look in the datasheet for VOH and VOL. Newer drivers with mosfets don’t have such a large voltage drop.

This is a good question. The datasheets and examples of application for different half-bridge devices seem to be confusing on this problem.

It seems to depend what sort of application you actually want. If you want to switch between the top and bottom transistor of the H bridge, you need to use the input. If you want to switch both of them off, you need to use the enable input.

I recently read this paper

which I found to be quite useful. Some of the things PWM actually does, seem to be counterintuitive.

It seems to depend a lot on the load inductance, and whether the pwm is actually going to interrupt the load current, or not.

thanks a lot,
Interesting read.

After some more tests cant find any noticeable differences.
I ll just look the other way.


The paper is talking about MOSFET bridges, where the conduction loss of a MOSFET
(Vsat < 0.1V very achievable) can be much less than the free-wheel diode (~1…1.5V).

With a Darlington driver like the SN754410 the switch losses are at least as bad as the
diodes, since Vsat > 1V.

Note that if you use schottky freewheel diodes they perform much better than
Darlingtons so they carry the current no matter which scheme is used!

Won't the programming be a wee bit more complicated if you PWM the inputs, if you require both directions?

Seeing as one input is held low, and the other is high or PWM, that means a different PWM pin for each direction, with slight complications (or duplications) in the code.. If you PWM the enable pin, it's the same pin for either direction.

Apart from coding, it also means you have to have 2x PWM pins available for a bi-directional motor if you PWM the inputs.

im actually pwm ing through shift registers, so that way its saving me one shift pin per motor,
keeping the enable pin at 5volts constantly

Apart from coding, it also means you have to have 2x PWM pins available for a bi-directional motor if you PWM the inputs.

Or 4 PWM pins for mode 2 (synchronous rectification, complementary).

I've used a little trick before for expanding PWM pins. You PWM on one pin, but
don't connect it to the controller, rather you set up a pin-change interrupt on the
PWM pin and switch the controller inputs as you want in the ISR. With direct
port manipulation the overhead is a few us only.