Summary of Extending PWM output pins with a Texas Instruments TLC5940 LED driver using arduino
This article explains how to extend the PWM output capabilities of an Arduino microcontroller using a Texas Instruments TLC5940 LED driver. This solution allows users to control up to 64 channels with 12-bit resolution without purchasing a larger microcontroller, making it ideal for digital musical instruments and power-intensive devices like high-power RGB LEDs or servo motors.
Parts used in the Extending PWM output pins project:
- Arduino microcontroller
- Texas Instruments TLC5940 LED Driver
- High power RGB LEDs
- Servo motors
- Digital musical instrument components
Introduction
Microcontrollers like the Arduino were designed to facilitate the use of electronics for designers and DIY enthusiasts. The interface provides a great starting points for a variety of elecronic circuit designs. However, as the microcontroller is standardized, it is also limited in its use. That shows for example in the limited number of PWM (pulse width modulation) enabled output pins.
What can you do to extend the PWM capabilities of your Arduino? Just buy a bigger one? That is not necessary anymore after you have read this article. Here it is shown how to connect an Arduino microcontroller to a Texas Instruments TLC5940 LED Driver to connect a large number of LEDs, or even power-intensive devices such as star-mounted high power RGB LEDs or servo motors.
In the design of digital musical instruments (DMIs), this is particularily useful to provide different kinds of feedback to the performer while maintining high extensibility at a lower cost.
Capabilities
The datasheet of the TLC5940 is available from Texas Instruments, amongst other useful information such as application notes and the option to request samples.
A selection of important features:
| Number of channels | 16 |
| Resolution | 12 bit (4096 steps) |
| Drive Capability | 0 mA to 120 mA (for VCC > 3.6 V) |
Connectable actuators
Many electrical components can be controlled using a PWM signal. Not only LEDs can be dimmed, but also Servo motors can be driven, as well as DC motors.
Daisy chaining
Daisy chaining means that you can wire multplie devices together in series. In our case, we can not only extend the PWM pins with one TLC5940 with 16 pins, but because of the daisy-chain ability even use multiple TLC5940s to output 32, 48 or 64 PWM signals.
For more detail: Extending PWM output pins with a Texas Instruments TLC5940 LED driver
- How can I extend the PWM capabilities of my Arduino?
You can connect an Arduino microcontroller to a Texas Instruments TLC5940 LED driver. - Can I use this setup for power-intensive devices?
Yes, you can power star-mounted high power RGB LEDs or servo motors. - Does the TLC5940 support daisy chaining?
Yes, multiple TLC5940s can be wired together in series to increase signal output. - What is the maximum number of PWM signals achievable?
Using daisy chaining, you can output 32, 48, or 64 PWM signals. - What is the resolution of the TLC5940?
The device offers 12 bit resolution, which equals 4096 steps. - What is the drive capability of the TLC5940?
The drive capability ranges from 0 mA to 120 mA when VCC is greater than 3.6 V. - Is this method suitable for digital musical instruments?
Yes, it provides feedback to performers while maintaining high extensibility at a lower cost. - Can DC motors be controlled with this driver?
Yes, many electrical components including DC motors can be driven using a PWM signal.