☰ Зміст LAD
Розширювач ШІМ PCA9685


При побудові робопроекту з великою кількістю сервоприводів, звичайних можливостей Arduino може бути недостатньо.
Даний контролер дозволить обійти обмеження плати Arduino та керувати безліччю сервоприводів без особливих витрат ресурсів Arduino. До однієї шини контролера можна підключити до 62 пристроїв, а сумою це 992 пристроїв. PCA9685 працює за інтерфейсом I2C, тому для підключення до Arduino використовується лише 4 контакти (два цифрові порти та живлення):

"Класичний" Arduino:
+5v -> VCC (це напруга тільки для роботи плати, не сервоприводів/світлодіодів);
GND -> GND;
Analog 4 -> SDA;
Analog 5 -> SCL.

Старі версії Arduino Mega:
+5v -> VCC (це напруга тільки для роботи плати, не сервоприводів/світлодіодів);
GND -> GND;
Digital 20 -> SDA;
Digital 21 -> SCL.

Версії Arduino R3 та пізніше (Uno, Mega & Leonardo):
+5v -> VCC (це напруга тільки для роботи плати, не сервоприводів/світлодіодів);
GND -> GND;
SDA -> SDA;
SCL -> SCL.


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

Board 0: Address = 0x40 Offset = binary 00000 (плата, яка приєднана до Arduino, без припою);
Board 1: Address = 0x41 Offset = binary 00001 (припій на А0);
Board 2: Address = 0x42 Offset = binary 00010 (припій на А1);
Board 3: Address = 0x43 Offset = binary 00011 (припій на А0, А1);
Board 4: Address = 0x44 Offset = binary 00100 (припій на А2) і т.д.

Як видно – одночасно можна використовувати 6 контролерів, тобто 96 сервоприводів. Багато сервоприводів мають стандартний 3-х контактний роз'єм підключення. Червоний провід підключається до позитивного полюса джерела живлення (V), коричневий - до негативного (G), а помаранчевий провід підключається до джерела сигналізації управління (S). Більшість сервоприводів призначено для роботи приблизно на 5 або 6 В. Потрібно пам'ятати, що під навантаженням кожен сервопривід споживає багато струму (більше 1 А), тому хорошим вибором живлення є: 5В 2A імпульсне джерело живлення, 5В 10A імпульсне джерело живлення, акумулятор Ni-MH 6 В/4.8 В. Джерело живлення підключається до клемника з контактами V+ та GND.
На платі присутні 4 монтажні отвори.

Схема підключення плати розширення:


Документацію можна переглянути тут


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

модель: PCA9685;
напруги живлення контролера: 3.3 або 5;
харчування сервоприводів: до 5-6;
частота ШІМ: 40-1000 Гц;
можливість підключення 16 сервоприводів;
можливість підключення до 62 пристроїв до однієї шини;
розмір плати: 66 х 25 мм;
габарити: 80 х 25 х 12 мм;
вага: 11 р.


Блоки у FLProg:

Блок для підключення сервоприводу через мікросхему PCA9685

Блок управління ШІМ виходом мікросхеми PCA9685

Блок для запису значення довільний вихід мікросхеми PCA9685

Блок читання значення на виході мікросхеми PCA9685

Блок зміни частоти ШІМ мікросхеми PCA9685