AITRIP PCA9685

AITRIP PCA9685 16-Channel 12-Bit PWM Servo Motor Driver Board User Manual

Model: PCA9685

1. Introduzione

The AITRIP PCA9685 is a 16-channel I2C-bus controlled PWM driver board designed for controlling servos and LEDs. It is optimized for applications requiring precise control over multiple outputs, such as robotics, automation, and lighting projects. This board simplifies the control of 16 free-running PWM outputs using only two pins from your microcontroller, making it ideal for projects with limited I/O resources.

The PCA9685 features a built-in clock, eliminating the need for continuous signal transmission from your microcontroller. Each output offers 12-bit resolution, providing 4096 steps of control, which translates to approximately 4us resolution for servos at a 60Hz update rate.

2. Caratteristiche principali

  • I2C-Controlled PWM Driver: Features a built-in clock, allowing the microcontroller to offload continuous signal generation.
  • 5V Compliant: Compatible with 3.3V microcontrollers while safely driving outputs up to 6V.
  • 16 Free-Running PWM Outputs: Control up to 16 servos or LEDs with only two I2C pins.
  • Collegabile a margherita: Connect up to 62 boards to control a total of 992 PWM outputs.
  • 12-Bit Resolution: Provides 4096 steps of control for each output, offering precise adjustments.
  • Convenient Connectors: Equipped with 3-pin connectors in 4 groups for easy servo connection.

3. Prodotto finitoview

The PCA9685 board is compact and designed for easy integration into various projects. Below are images illustrating the board's layout and dimensions.

AITRIP PCA9685 16-Channel 12-Bit PWM Servo Motor Driver Board with dimensions
Figura 3.1: in alto view of the PCA9685 board showing dimensions (approximately 62mm x 25mm).
Metter il fondo a view of the PCA9685 board showing pin labels and specifications
Figura 3.2: In basso view of the PCA9685 board, indicating power input (VCC, V+), logic voltage (VCC), and frequency range (Freq: 40-1000Hz).

Board Components:

  • PCA9685 Chip: The main I2C-controlled PWM driver.
  • VCC: Logic power supply (3-5V).
  • V+: External power supply for servos (5-10V).
  • TERRA: Collegamento a terra.
  • SCL/SDA: I2C clock and data lines for communication with the microcontroller.
  • OE (Output Enable): Pin to enable/disable all PWM outputs.
  • PWM Output Pins: 16 channels for connecting servos or LEDs.
  • Address Jumpers: Solder pads for setting the I2C address, allowing multiple boards to be used.

4. Configurazione e connessione

This section details how to connect the PCA9685 board to your microcontroller (e.g., Arduino, Raspberry Pi) and external devices like servos.

4.1 Basic Wiring with Arduino UNO

Connect the PCA9685 to an Arduino UNO as follows:

  • PCA9685 VCC A Arduino 5V (for logic power).
  • PCA9685 GND A Arduino GND.
  • PCA9685 SCL A Arduino A5 (SCL).
  • PCA9685 SDA A Arduino A4 (SDA).
  • PCA9685 V+ a un external 5-10V power supply (for servos).
  • Connect servo signal pins to the desired PWM output pins on the PCA9685.
Wiring diagrams for connecting PCA9685 to Arduino UNO with servos
Figure 4.1: Various wiring configurations for the PCA9685 board with an Arduino UNO and servos.

4.2 Daisy-Chaining Multiple Boards

For controlling more than 16 servos, multiple PCA9685 boards can be daisy-chained. Each board must have a unique I2C address, set by soldering the address jumpers (A0-A5). The SCL and SDA lines are shared across all boards.

Daisy-chaining two PCA9685 boards with an Arduino UNO and external power
Figura 4.2: Esample of daisy-chaining two PCA9685 boards to an Arduino UNO, powered by a battery pack.

4.3 Raspberry Pi Connection

The PCA9685 can also be connected to a Raspberry Pi. Ensure the I2C interface is enabled on your Raspberry Pi. Connect the SCL and SDA pins of the PCA9685 to the corresponding I2C pins on the Raspberry Pi GPIO header.

PCA9685 board connected to a Raspberry Pi with jumper wires
Figure 4.3: PCA9685 board connected to a Raspberry Pi via jumper wires.

5. Istruzioni per l'uso

Operating the PCA9685 involves sending I2C commands from your microcontroller to set the PWM frequency and individual channel duty cycles.

5.1 I2C Communication

The PCA9685 communicates via the I2C protocol. The default I2C address is 0x40. This can be changed by soldering the address jumpers (A0-A5) on the board, allowing for up to 62 unique addresses (0x40 to 0x7F).

5.2 Setting PWM Frequency

The PCA9685 allows you to set a single PWM frequency for all 16 outputs. This frequency can range from approximately 24 Hz to 1526 Hz. For standard servos, a frequency of 50 Hz or 60 Hz is typically used.

5.3 Controlling Servo Position

Servos are controlled by varying the pulse width of the PWM signal. The PCA9685's 12-bit resolution provides 4096 steps for precise control. A typical servo pulse width ranges from 1ms to 2ms for a 0 to 180-degree sweep, corresponding to specific 12-bit values depending on the set PWM frequency.

5.4 Controlling LED Brightness

For LEDs, the duty cycle directly controls brightness. A 0% duty cycle means the LED is off, and a 100% duty cycle means it is fully on. The 12-bit resolution allows for fine-grained brightness control.

6. Specifiche

ParametroValore
Volume di eserciziotage(VCC)DC 3V - 5V (Logic)
External Power Supply (V+)DC 5V - 10V (for Servos/LEDs)
Interfaccia di comunicazioneI2C
Numero di canali16
Risoluzione PWM12-bit (4096 steps)
Gamma di frequenza PWMApprox. 24 Hz to 1526 Hz (typical 40-1000Hz)
Default I2C Address0x40
Cascading CapabilityUp to 62 boards (992 outputs)
Dimensioni62 mm x 25 mm x 13 mm (circa 2.45 x 1.0 x 0.5 pollici)
MaterialeRame

7. Manutenzione

The PCA9685 board is a robust electronic component designed for long-term use. Minimal maintenance is required.

  • Mantenere asciutto: Avoid exposure to moisture or liquids to prevent short circuits and corrosion.
  • Pulizia: Mantenere la scheda pulita da polvere e detriti. Se necessario, utilizzare una spazzola morbida e asciutta o aria compressa per la pulizia.
  • Maneggiare con cura: Avoid applying excessive force to the pins or components. Electrostatic discharge (ESD) can damage sensitive electronics; handle the board on an anti-static surface or wear an ESD wrist strap.
  • Alimentazione elettrica: Garantire l'alimentazione voltage and current are within the specified limits to prevent damage to the board and connected devices.

8. Risoluzione Dei Problemi

If you encounter issues with your PCA9685 board, consider the following troubleshooting steps:

  • No Power/Indicator LED Off:
    • Check all power connections (VCC, V+, GND) for correct polarity and secure contact.
    • Verify that your power supply is providing the correct voltage corrente sufficiente.
  • Servos Not Moving/LEDs Not Lighting:
    • Ensure the external power supply (V+) for servos/LEDs is connected and active.
    • Double-check servo/LED connections to the PWM output pins.
    • Verify your code is correctly initializing the PCA9685 and setting PWM values.
    • Confirm the I2C address in your code matches the physical address set on the board (default 0x40).
  • I2C Communication Errors:
    • Check SCL and SDA connections for continuity and correct wiring to the microcontroller.
    • Ensure the I2C interface is enabled on your microcontroller (e.g., Raspberry Pi).
    • If using multiple boards, confirm each has a unique I2C address.
  • Movimento irregolare del servo:
    • Ensure the PWM frequency is set correctly for your servos (typically 50Hz or 60Hz).
    • Check for sufficient power supply to the servos; inadequate current can cause erratic behavior.
    • Verify the pulse width values sent to the PCA9685 are within the servo's operating range.

9. Supporto

For further assistance or technical inquiries, please refer to the product page on Amazon or contact AITRIP customer support through the platform where the product was purchased. Online communities and forums for Arduino and Raspberry Pi also offer extensive resources and examples for using the PCA9685 driver board.