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.
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.
JimboZA:
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.