Твердотілки на платі розширення
Твердотільне реле (SSR) — найпоширеніший спосіб комутувати ТЕН. Коли керування йде не з піна контролера напряму, а через плату розширення PCA9685, з'являються дві пастки. Обидві типові, обидві коштують кількох годин пошуку, і обидві мають просте рішення.
Пастка перша: твердотілку не можна пиляти швидким ШІМ#
Вхід твердотілки — це світлодіод оптопари. Він розуміє лише два стани: увімкнено або вимкнено. Проміжного рівня для нього не існує.
До того ж мережеве SSR комутує в нулі синусоїди, тобто не частіше ніж раз на 10 мілісекунд при 50 Гц. Якщо подати на нього ШІМ частотою 1 кГц, реле отримає сигнал, що змінюється вдесятеро швидше, ніж воно фізично здатне перемикатись. Замість половини потужності на вході буде розмите середнє значення, від якого реле або не відкривається зовсім, або клацає непередбачувано.
Як це вирішено в oCBot. Канал плати розширення, на якому сидить пристрій типу «нагрівач», контролер веде часо-пропорційним керуванням: канал повністю вмикається й повністю вимикається, а потужність задається часом. Період — 10 секунд, стан звіряється кожні 0.5 с, тож крок регулювання — 5%.
| Задана потужність | Що робить канал |
|---|---|
| 2000 Вт із 2000 Вт | увімкнений постійно |
| 1000 Вт із 2000 Вт | 5 с увімкнено, 5 с вимкнено |
| 400 Вт із 2000 Вт | 2 с увімкнено, 8 с вимкнено |
Теплова інерція ТЕНа згладжує ці цикли сама — температура не стрибає. Насоси, вентилятори й мішалки при цьому лишаються на швидкому ШІМ, бо їх комутують транзисторним ключем, якому потрібен саме він.
Нічого вмикати вручну не треба: режим обирається за типом пристрою.
Якщо ви бачите, що індикатор твердотілки блимає з інтервалами, які змінюються від заданої потужності, — це не несправність, а штатна робота часо-пропорційного керування.
Пастка друга: канал не тягне вхід твердотілки#
Друга проблема суто електрична, і на неї натрапляють усі, хто підключає SSR прямо до каналу плати.
Виходи PCA9685 віддають близько 10 мА. Вхід твердотілки має стабілізатор струму, який хоче 10–15 мА. Вихід стільки не витягує, і напруга просідає.
Заміри на стенді, живлення плати 3.3 В:
| Що міряли | Напруга |
|---|---|
| канал на 100%, твердотілка від'єднана | 3.3 В |
| канал на 100%, твердотілка підключена | 2.12 В |
Поріг відкриття у входів «3–32 В DC» починається приблизно від 3 В. Отримані 2.12 В нижчі за поріг, тому реле працює нестабільно або не працює зовсім.
Перетворювач логічних рівнів (популярний модуль на BSS138) цю задачу не вирішує і робить гірше. У нього підтяжки 10 кОм, тобто близько 0.5 мА — у тридцять разів менше, ніж треба твердотілці. Це міст для сигналів I2C чи UART, а не джерело струму.
Рішення: буфер ULN2803#
Між платою розширення й твердотілками ставиться буфер. Найпростіший і найдешевший — модуль на мікросхемі ULN2803 (вісім каналів) або ULN2003 (сім). Це набір ключів, кожен з яких відкривається сигналом із каналу й притягує навантаження до землі.
З'єднання по пунктах:
- Канали
OUT0…OUT7плати PCA9685 → входиIN1…IN8буфера. - Виходи буфера
OUT1…OUT8→ мінус керуючого входу кожної твердотілки. - Плюс керуючого входу всіх твердотілок → шина +5 В від окремого джерела.
- Вивід
VCC(на деяких модулях підписанийCOM) буфера → та сама шина +5 В. - Земля буфера, земля плати PCA9685 і мінус джерела 5 В → спільна земля.
Чому саме так:
- Логіка не інвертується. Одиниця на каналі вмикає твердотілку. Прошивку налаштовувати не треба.
- Плата лишається на 3.3 В. У ULN2803 на входах вбудовані резистори близько 2.7 кОм, тож із каналу він бере близько 1 мА — плата віддає це без просідання.
- Твердотілка отримує повні 5 В із запасом над порогом відкриття.
- VCC буфера мусить сидіти на тій самій напрузі, що й плюси твердотілок. До цього виводу прив'язані захисні діоди всередині мікросхеми. Подасте на нього 3.3 В при п'ятивольтових реле — діоди почнуть підпирати й виходи поводитимуться непередбачувано.
Спільна земля обов'язкова. Без неї керуючий сигнал не має точки відліку, і схема працює випадковим чином — це найчастіша причина «чомусь не вмикається» при правильній решті монтажу.
Безпека при подачі живлення#
Схема вище безпечна за замовчуванням: доки прошивка не стартувала, виходи PCA9685 тримають нуль, ключі буфера закриті, твердотілки вимкнені. Знеструмлений або завислий контролер означає вимкнений нагрів.
Це не дрібниця, а вимога до силового виходу. Тому:
Не підключайте твердотілку «навпаки» — плюсом на канал плати, а мінусом на землю в обхід буфера. У такій схемі до ініціалізації мікросхеми виходи стоять у нулі, і ТЕН буде увімкнений на повну від моменту подачі живлення до старту прошивки. Для двокіловатного нагрівача в кубі це неприпустимо.
Що перевірити при купівлі буфера#
Модулі бувають різні, і не кожен підходить. Три ознаки:
- Не інвертує. Одиниця на вході має вмикати вихід. ULN2803 і більшість MOSFET-модулів так і роблять, а от оптронні модулі часто інвертують — і тоді незапущений контролер тримав би нагрів увімкненим.
- Комутує мінус (low-side): вихід притягує навантаження до землі, а не роздає плюс.
- Тримає струм щонайменше 50 мА на канал. У ULN2803 запас величезний — 500 мА.
Як розрізнити модуль на вигляд: одна довга мікросхема на 18 ніжок — це ULN2803, розв'язки немає, схема з малюнка підходить. Чотири окремі маленькі корпуси в ряд — оптрони з гальванічною розв'язкою: у них дві окремі землі, які не з'єднують між собою, а живлення підводять до кожної сторони своє.
Суміжні статті#
- Плата розширення PCA9685 — підключення плати, адреси й прив'язка каналів.
- Підключення ТЕНів та регуляторів потужності — силова частина, вибір SSR, радіатор і заземлення.
- Пін OE — апаратне зняття всіх виходів — стоп-кнопка, яка гасить канали повз прошивку.