PCA9685 — 16-канальный 12-битный PWM/Servo модуль с I2C интерфейсом

PCA9685 - 16-канальный 12-битный PWM/Servo модуль с I2C интерфейсомPCA9685 — это 16-ти канальный 12-разрядный контроллер с настраиваемой частотой ШИМ-а в пределах от 24 до 1526 Гц. С помощью ШИМ контроллера можно управлять яркостью светодиодов, сервоприводами, и другими устройствами, где в качестве управляющего сигналы применяется ШИМ сигнал.

Для управления PCA9685 используется шина I2C, на этой плате есть две группы разъемов для шины I2C с двух сторон. Это позволяет подключать на одной шине несколько плат последовательно или подключать другие I2C устройства.

На плате есть перемычки, с помощью которых можно установить адрес устройства отличный от стандартного. Поэтому если 16 каналов Вам мало можно последовательно включить несколько таких плат, установив перемычками на каждой свой адрес. Конструкция позволяет каскадирование и управление 992 сервоприводами или 62 платами.

Каскад из 3-х PCA9685 подключённых к Arduino

Питание контроллера и выходов ШИМ каналов разделено и может быть от 3 до 5 вольт. Для ШИМ каналов допускается максимальное напряжение 6 Вольт. Питание для ШИМ каналов можно подавать на штырьки (V+) или через клему. На плате есть фильтрующий конденсатор — это помогает при больших нагрузках, когда питание может быть не стабильным, что может отрицательно сказываться на работе управляемых устройств.

Характеристики PCA9685

  • Питание модуля: 3.3 или 5 В оба напряжения входят в диапазон допустимых;
  • Питание чипа (VCC): 2.3 … 5.5 В постоянного тока;
  • Сбой питания (VPOR): до 2.0 В константа используемая компаратором (номинально 1,7в)
  • Потребляемый ток в рабочем режиме: до 10 мА (номинально 6мА);
  • Потребляемый ток режиме ожидания: до 15.5 мкА в режиме ожидания (номинально 2,2мкА);
  • Ток нагрузки на выходах при VCC = 5В и выходом с открытым стоком (флаг OUTDRV=0): до 25 мА;
  • Ток нагрузки на выходах при VCC = 5В и каскадным выходом чипа (флаг OUTDRV=1): до 10 мА;
  • Частота тактирования: 25 МГц внутренний генератор (±3%);
  • Внешний источник тактирования: от 0 до 50 МГц;
  • Количество каналов ШИМ: 16 шт. с поддержкой «горячего» подключения устройств к выходам;
  • Разрешение ШИМ: 12 бит 4096 тактов (рабочий цикл от 0 до 100%);
  • Выходная частота ШИМ: от 24 до 1526 Гц для внутреннего генератора 25 МГц (зависит от частоты тактирования и значения предделителя);
  • Рабочая частота шины I2C: до 1 МГц с поддержкой 100кГц, 400кГц, 1МГц (ёмкость до 4000пФ);
  • Уровень «0» на шине I2C: от -0.5 до 0.3 VСС В;
  • Уровень «1» на шине I2C: до 0.7 VСС до VСС+0.3 В;
  • Рабочая температура: от -40 до 85 °C.

Принципиальная схема PCA9685

Принципиальная схема PCA9685 adafruitКитайские реплики могут отличаться отсутствием цепи защиты от обратного тока в виде полевого транзистора AOD417.

Распиновка модуля на PCA9685

Распиновка модуля на PCA9685

Вывод Описание
GND общий (минус питания)
OE разрешение работы выходов модуля
SCL линия тактирования (интерфейс I2C)
SDA линия данных (интерфейс I2C)
VCC плюс питания чипа
V+ плюс питания периферии
PWM (0…15) выходы ШИМ (широтно-импульсная модуляция)
A0…A5 состояния 0…5 битов адреса чипа на шине I2C

Система установки I2C адреса на PCA9685

Данная плата имеет 16 ШИМ-выходов, то есть можно подключить 16 сервоприводов. Но, если и этого будет недостаточно – на плате есть свободные контакты GND, OE, SCL, SDA, VCC, V+, к которым при помощи 6-жильного кабеля-дюпона можно подключить еще один контроллер PCA9685, а к нему, в свою очередь, еще один. Каждой плате в цепочке должен быть присвоен свой уникальный адрес. Это можно сделать при помощи адресных контактов A0, A1, A2, A3, A4, A5.
Система установки I2C адреса на PCA9685
Базовый адрес для каждой платы является 0x40. Для присвоения уникального адреса нужно использовать капли припоя, чтобы присвоить соответствующий адрес для каждого контроллера. Программно это будет выглядеть так:

Плата 0: Адрес = 0x40 Смещение = binary ‭01000000‬ (плата, которая присоединена к Arduino, без припоя);
Плата 1: Адрес = 0x41 Смещение = binary 01000001 (припой на А0);
Плата 2: Адрес = 0x42 Смещение = binary 01000010 (припой на А1);
Плата 3: Адрес = 0x43 Смещение = binary 01000011 (припой на А0, А1);
Плата 4: Адрес = 0x44 Смещение = binary 01000100 (припой на А2) и т.д.

таким образом можно подключить до 62 устройств на одну шину и получить 992 ШИМ выходов.

Дополнительные адреса чипа

Чип может иметь до 3х дополнительных адресов, которые устанавливаются путём записи 7ми битных чисел в регистры SUBADR1, SUBADR2, SUBADR3. Число записывается в старшие 7 бит регистра, младший бит регистра всегда равен «0» и не доступен для записи. Дополнительные адреса действуют как основной, но могут совпадать у нескольких групп чипов на одной шине, что дает возможность передавать команды сразу группе ведомых чипов. Так как чипу доступны 3 дополнительных адреса, то он может находиться сразу в трех разных группах. Для разрешения чипу реагировать на дополнительный адрес, необходимо установить соответствующий флаг SUB1, SUB2, SUB3.

Адреса общего вызова

Адрес общего вызова это число, записываемое в старшие 7 бит регистра ALLCALLADR, младший бит регистра всегда равен «0» и не доступен для записи. Адрес действует по аналогии с дополнительными адресами, но предназначен для всех чипов на шине, хотя и может использоваться как 4 группа. Для разрешения чипу реагировать на адрес общего вызова, необходимо установить флаг ALLCALL.
Не рекомендуется указывать адреса, зарезервированные протоколом I2C:

  • адреса 11110XX – используются устройствами с 10-битной схемой адресации;
  • адрес 0000000 – предназначен для вызова всех устройств на шине;
  • мастер-код 00001XX – указывает о желании мастера перевести шину в высокоскоростной HS-режим.

Описание регистров PCA9685

Описание регистров PCA9685Текстовую версию можете найти на второй странице в документации PCA9685_ru.pdf.

Блок-диаграмма микросхемы PCA9685

Блок-диаграмма микросхемы PCA9685

Материалы

Документация на Русском PCA9685_ru.pdf
datasheet_PCA9685.pdf
learn.adafruit.com
avislab.com

Купить PCA9685 на AliExpress

Похожие записи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *