Other Parts Discussed in Thread: TLC5951, TLC5957
Hi all - I need to control 4 TI DRV8881P ICs in order to drive 8 bi-directional brushed DC motors. To do this, I need 16 PWM channels with individually controllable duty cycles. I have been thinking of using the TI TLC5940, or one of the many closely-related 16 (or more) channel, PWM-capable LED Drivers listed at the TLC5940 compare matrix: http://www.ti.com/product/TLC5940/compare I imagine I'm not the first person to think of using your PWM-capable "LED Drivers" for application to drivers for brushed DC motor drivers, but I can't find much literature on how to do it.
For brushed DC motors, using PWM frequencies of around 30kHz to 40kHz is somewhat common, and control of the duty cycle on each individual channel is required. 12 bit (4096 step) resolution on the duty cycle is more than adequate. I have a few questions though:
1) I think most/all of these devices are constant-current open drain outputs. If that's correct, I think this means that (a) I'll need to use a pull-up resistor on each channel, and (b) the logic would be reversed (so 100% low means an LED would be full on, but the motor driver would be full off, and 0% low means the opposite. I may be wrong on (b), but that's a simple mapping of logic (so, no problem). (a) is a bit painful, but doable I suppose, unless you have suggestions to the contrary.
2) Perhaps more importantly, though, I don’t see much mention of the output PWM frequency in the datasheets, so I’m not sure if I can exercise any control at all over the output frequency. Like I said, something in the neighborhood of 40kHz is fairly common (beyond audible, so you can't here it buzz...), so if one of these LED Drivers operates somewhere in that vicinity of that I might be in luck. But certain applications of my new board (applied to motors with significant stiction, operating sometimes at near-zero speed) would benefit significantly from being able to operate at times at significantly lower duty cycles (e.g., down to 100 Hz), in order to break the stiction with each pulse.
So my question here is, does the TLC5940 (or one of its related LED Driver ICs) provide control of the PWM frequency? If so, how, and over what range? Thanks heaps in advance! - Tom