Product Description

Want to make a hexapod walker? Maybe you’re making a piece of art with tons of moving parts, or you need to drive a ton of LEDs with precise PWM output. Your microcontroller has a limited number of PWM outputs, and you find yourself running out! Not with the Adafruit 16-Channel 12-bit PWM/Servo Driver – I2C interface. With this pwm and servo driver breakout, you can control 16 free-running PWM outputs with just two pins! Need to run more than 16 PWM outputs? No problem. Chain together up to 62 of these beauties for up to an outstanding 992 PWM outputs.

Features:

  • Dimensions (no headers or terminal block) 2.5″ x 1″ x 0.1″ (62.5mm x 25.4mm x 3mm)
  • Weight (no headers or terminal block): 5.5grams
  • Weight (with 3×4 headers & terminal block): 9grams
  • This board/chip uses I2C 7-bit address between 0x60-0x80, selectable with jumpers
  • Terminal block for power input (or you can use the 0.1″ breakouts on the side)
  • Reverse polarity protection on the terminal block input
  • Green power-good LED
  • 3 pin connectors in groups of 4 so you can plug in 16 servos at once (Servo plugs are slightly wider than 0.1″ so you can only stack 4 next to each other on 0.1″ header
  • “Chain-able” design
  • A spot to place a big capacitor on the V+ line (in case you need it)
  • 220 ohm series resistors on all the output lines to protect them, and to make driving LEDs trivial
  • Solder jumpers for the 6 address select pins
  • i2c-controlled PWM driver with a built in clock. Unlike the TLC5940 family, you do not need to continuously send it signal tying up your microcontroller, its completely free running!
  • It is 5V compliant, which means you can control it from a 3.3V microcontroller and still safely drive up to 6V outputs (this is good for when you want to control white or blue LEDs with 3.4+ forward voltages)
  • 6 address select pins so you can wire up to 62 of these on a single i2c bus, a total of 992 outputs – that’s a lot of servos or LEDs
  • Adjustable frequency PWM up to about 1.6 KHz
  • 12-bit resolution for each output – for servos, that means about 4us resolution at 60Hz update rate
  • Configurable push-pull or open-drain output
  • Output enable pin to quickly disable all the outputs

Instructions for use:

(1)Drive board connected to Arduino:
The PWM driver board uses the I2C method, so only four lines can be connected to the Arduino device:
“Classic” Arduino pin mode:
+ 5v -> VCC
GND -> GND
Analog 4 -> SDA
Analog 5 -> SCL
Old Mega pin way:
+ 5v -> VCC
GND -> GND
Digital 20 -> SDA
Digital 21 -> SCL
R3 and later Arduino pin method (Uno, Mega &
Leonardo):
(These boards have dedicated SDA and SCL pins)
+ 5v -> VCC
GND -> GND
SDA -> SDA
SCL -> SCL
VCC pin is only for the chip power supply, if you want to connect the servo or LED lights, use the V + pin power supply, V + pin supports 3.3 ~ 6V power supply (chip safe voltage 5V). It is recommended to connect the external power supply via the power supply terminal.
(2) power supply part:
Most of the servo design voltage is 5 ~ 6V, especially in a number of steering gear at the same time running, with the need for high-power power supply. If you are directly using the Arduino 5V pin to power the servo directly, there are some unpredictable problems, so we recommend that you have a suitable external power supply for the drive board.
(3) Connect the servo:
Most servos are connected using standard 3-wire female plugs, as long as the corresponding pin into the driver board on it. (Ground wire is generally black or brown, the signal line is generally yellow or white)
(4) for the driver board assigned address:
Each drive board of the cascade needs to have a unique access address. The initial I2C address of each driver board is 0 × 40, you can modify the upper right corner of the jumper I2C address. Connect a jumper with solder to indicate a binary number “1”.
Board 0: Address = 0x40
Offset = binary 00000 (default)
Board 1: Address = 0x41 Offset = binary 00001 (as shown above, connected to A0)
Board 2: Address = 0x42 Offset = binary 00010 (connect to A1)
Board 3: Address = 0x43 Offset = binary 00011 (connect A0 and A1)
Board 4: Address = 0x44 Offset = binary 00100 (connect to A2)
Code example:
#include <Wire.h>
#include
<Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm1 =
Adafruit_PWMServoDriver (0 × 40);
Adafruit_PWMServoDriver pwm2 =
Adafruit_PWMServoDriver (0x41);
  Void setup () {
   Serial.begin (9600);
   Serial.println ( “16 channel PWM test! “);
   Pwm1.begin ();
   Pwm1.setPWMFreq (1600); //
   This is the maximum PWM frequency
   Pwm2.begin ();
   Pwm2.setPWMFreq (1600); //
   This is the maximum PWM frequency
}}

There are no reviews yet.

Be the first to review “PCA9685 16-Ch 12-bit PWM Servo Driver”