Control devices with up to 16 PWM channels (like servos, LEDs, etc)
You want to make really cool robots, maybe a hexapod or even a work of art containing a lot of mobile elements. Maybe you want to drive LEDs with a precision PWM output?
You will quickly realize that your microcontroller has a limited number of PWM outputs. What to do then? You can either abandon your project or opt for this really practical breakout board allowing you to control PWM and Servo outputs.
When AdaFruit saw this component, they immediately realized how great it could be an excellent complement. Use only 2 pins to control 16 more PWM outputs! It's even possible to chain breakout boards to control up to 992 PWM outputs! (what we would really like to see ... this should produce a "splendid" result)
- 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685
- It's a PWM controller including its own clock and having an I2C interface.
This means that unlike the TLC5940 family, you don't need your microcontroller to constantly produce a signal (which would make writing the program difficult).
Once the order has been sent, the PWM outputs of this breakout operate in complete independence. Your program can therefore turn freely to the execution of other tasks!
- The Breakout board is 5V compatible (5V compliant), which means that you can control it from a 3.3V microcontroller while driving 6V outputs safely (This is very useful when you want to control white and blue LEDs 3.4V Forward Voltage from a 3.3V microcontroller)
- An address selector with 6 pads (6 pins) which allows up to 62 breakout boards to be connected to a single I2C bus, making a total of 992 outputs (that's a ton of servos or LEDs).
- Adjustable PWM frequency (up to ~ 1.6 KHz)
- A 12-bit resolution for each output - for Servo Motor, this means a resolution of 4us for a refresh rate of 60Hz.
- Configurable push-pull or open-drain output
- An "OE" pin (Output Enable) to quickly deactivate all outputs.
AdaFruit included the PCA9685 on a nice breakout board including some extras
- Connector block for power connection (or you can use the 2.54mm connector available on the side of the breakout board)
- Protection against reverse polarity on the connector block.
- An LED indicating when the breakout is powered.
- 3-pin connectors grouped by 4 allowing you to connect up to 16 servos at the same time (the servo connectors are significantly wider than 2.54mm, it's only possible to connect 4 side by side on a connector at the impaction of 2.54mmm)
- Designed to be connected in "Chain"
- A location to place a large capacity on the V+ line (in case you need it)
- 220 ohm resistors in series on the PWM outputs to protect them but also to allow easy connection of LEDs.
- 6 solder jumpers allowing the modification of the Breakout address (the default address is 0x40)
Finally some additional features:
- Dimensions (without headers and connector block): 62.5mm x 25.4mm x 3mm
- Weight (without headers and connector block): 5.5 gr
- Weight (with headers and connector block): 9 gr
- This product is delivered completely assembled and tested as a breakout board.
- It also includes 4 pieces of 3x4 straight male connectors (to connect the servos/LEDs)
- A 2-pin connection block (for power supply)
- A section of 6 pinHeader 2.54mm (for connection to Breadboard).
Some small welding operations will be necessary to finalize the assembly of the connectors and the customization of this breakout board to your needs. It will take at most 15 minutes, even for a beginner.