Статті бази ▾ ← Усі бази знань
Автоматика oCBot
Концепція та філософія11 Ласкаво просимо до екосистеми oCBotІдеологія oCBotСфери призначення та режими роботиПериферійні пристроїСвобода периферіїБазові скрипти автоматизаціїВіртуальні панелі оператораСкладні сценарії та логіка автоматизаціїМультиконтролерністьЗагальний огляд автоматики oCBotАрхітектура та опис
Підтримувані контролери16 Контролер Kincony KC868-A6Підключення живлення й USB на KC868-A6Реле й аналогові виходи KC868-A6Сухі контакти й аналогові входи KC868-A6Шини й роз'єми KC868-A6: RS485, I2C, 1-Wire і рештаЩо зайнято на ESP32 у KC868-A6: карта GPIOЯк зібрати щиток на KC868-A6Контролер Kincony KC868-A16Підключення живлення й USB на KC868-A16Силові виходи KC868-A16: MOSFET замість релеСухі контакти й аналогові входи KC868-A16Шини й мережа KC868-A16: Ethernet, RS485, I2C, 1-WireЩо зайнято на ESP32 у KC868-A16: карта GPIOЯк зібрати щиток на KC868-A16Контролер WT32-ETH01Універсальний ESP32 DevKit (Custom)
Каталог периферійних пристроїв9 Датчики температуриДатчики тискуДатчики рівня рідиниДатчики потоку (витратоміри)Виконавчі механізми (Клапани, Насоси, ТЕНи)Датчики середовища (Вологість, Світло, Тиск)Датчики електричні та вагиОргани керування (Кнопки, Енкодери)Електродвигуни та вентилятори
Складання та Перший запуск (DIY)17 Збирання контролера oCBot своїми рукамиПервинне прошивання та запуск контролераШвидке підключення Wi-Fi через BluetoothПідключення ТЕНів та регуляторів потужностіВибір та підключення електромагнітних клапанівКілька плат PCA9685 на одній шиніПін OE — апаратне зняття всіх виходівПлата PCA9685 зблизька — що на ній є і навіщоПлата розширення PCA9685 — 16 каналів ШІМСервопривід і плата розширення — чому це не працюєТвердотілки на платі розширенняПідключення LCD та OLED дисплеїв по шині I2CДвигун і частотний перетворювач: силове підключенняПромисловий протокол RS485 (Modbus RTU)Частотник Ennera FCE по Modbus: налаштування і діагностикаКалібрування ваг на тензодатчиках (HX711)Усунення типових несправностей
Робота з веб-інтерфейсом17 Головна сторінка (Home)Діаграма процесу (Flow)Сценарії автоматизаціїРедактор скриптівПульти оператораДизайнер пультів HMI DesignerПериферіяПлати та шиниЗагальні налаштуванняОбладнанняТочки монтажуНалаштування графіківОновлення прошивкиНалаштування Wi-FiЛогиПорталПро програму
Написання сценаріїв (C++ Скрипти)10 Огляд скриптівМій перший сценарій: Крок за крокомШІМ-відбір: Як налаштувати клапан правильноНалаштування ПІД-регулятора для стабілізаціїАвтоматизація температурних пауз при затиранні солодуСкрипт ББКРегулювання тискуРозрахунок ABV за температурою париСкрипт «Розрахунок ABV»ABV у сценаріях
Безпека, Хмара та Інтеграція5 Система безпеки oCBot: Захист від аварійСтворення хмарного кабінету UA DistilleryЯк опублікувати звіт про перегонкуШеринг кастомних пультів оператора (HMI)Інтеграція з Home Assistant та MQTT
База знаньАвтоматика oCBotСкладання та Перший запуск (DIY)

Пін OE — апаратне зняття всіх виходів

На гребінці плати PCA9685 є вивід OE — Output Enable. Він гасить усі шістнадцять каналів повз шину I2C і повз прошивку: мікросхема знімає виходи сама, не питаючи ні контролера, ні сценарію.

Це єдиний спосіб зупинити всі виходи плати, який працює, навіть коли контролер завис, перезавантажується або втратив зв'язок. Дротом і кнопкою за десять хвилин. Але тільки якщо розуміти, що саме він зупиняє, а що ні.


Як він поводиться#

Логіка інверсна: нуль вмикає, одиниця гасить.

Стан OE Що з каналами
низький рівень (GND) канали працюють штатно
не підключений канали працюють — на платі є підтяжка до землі
високий рівень (VCC) усі 16 виходів переведені в нуль

Через підтяжку до землі плата працює «з коробки», нічого нікуди підключати не треба. Саме тому в стандартній схемі підключення про OE не згадують — і саме тому про його існування зазвичай дізнаються запізно.

Що робить мікросхема при високому рівні: у прошивці oCBot регістр MODE2 налаштований так, що зняті виходи йдуть у нуль. Не у високий рівень, не у «вільний стан» — у чистий нуль.


Чому для нашої схеми це безпечно#

У штатній схемі oCBot канал плати заходить на вхід буфера ULN2803, а той уже відкриває твердотілку або ключ. Буфер не інвертує: нуль на вході — закритий вихід.

Вибудовується наскрізний ланцюжок:

OE = 1  →  канал = 0  →  вхід буфера = 0  →  ключ закритий  →  ТЕН вимкнений

Кожна ланка тут — залізо. Прошивка в цьому ланцюжку не бере участі взагалі.

Обережно

Це справедливо лише для буфера, який не інвертує. Оптронні модулі часто інвертують сигнал — на них нуль на вході означає увімкнений вихід. У такій схемі OE не зупинить нагрів, а увімкне його на повну, і кнопка «стоп» стане кнопкою «все на максимум».

Як розрізнити модулі — у розділі «Що перевірити при купівлі буфера» статті Твердотілки на платі розширення.


Проста кнопка: дві дротини#

Найкоротший варіант — нормально розімкнена кнопка між OE і VCC плати (3.3 В). Натиснули — на OE одиниця, усі канали в нулі. Відпустили — підтяжка на платі повертає OE в нуль, канали оживають.

Для стенда й налагодження цього достатньо. Для щитка, який лишається без нагляду, — ні, і ось чому: обрив дроту до такої кнопки нічим себе не проявляє. Кнопка просто перестає працювати, а дізнаєтесь ви про це в той момент, коли вона знадобиться.


Відмовостійкий варіант: розмикальний контур#

Правильна аварійна кнопка влаштована навпаки: замкнений контур утримує роботу, а будь-який розрив — натиснута кнопка, обрив дроту, від'єднана клема — її зупиняє.

Для цього треба перебороти підтяжку плати зовнішньою підтяжкою вгору:

  1. Резистор 2.2 кОм між OE і VCC (3.3 В).
  2. Нормально замкнений контакт аварійної кнопки — між OE і GND.

Відмовостійке підключення стоп-кнопки до виводу OE плати PCA9685

Як це рахується. Підтяжка на платі — близько 10 кОм до землі. Разом із зовнішніми 2.2 кОм до 3.3 В вони утворюють дільник, і при розімкненому контурі на OE лишається близько 2.7 В — упевнена одиниця, канали зняті. Замкнений контакт кнопки садить OE на землю намертво, і крізь резистор тече півтора міліампера — дрібниця, яку витримає будь-який контакт.

Нотатка

Номінал підтяжки на клонах буває інший. Правило: зовнішній резистор має бути помітно меншим за підтяжку плати, щоб на розімкненому контурі вийшло більше ніж дві третини VCC. 2.2 кОм проти 10 кОм цю умову виконують із запасом.

У такий контур послідовно вмикаються кілька кнопок і кінцевиків: розімкнеться будь-який — стануть усі канали.


Чого ця кнопка не замінює#

Тут потрібна повна чесність, бо ціна помилки — пожежа.

OE знімає сигнал, а не живлення. Мережа так само підведена до твердотілки й до ТЕНа. Якщо твердотілка пробита — а пробивається вона саме в замкнений стан, — вона лишиться відкритою, і ТЕН гріє далі, скільки б ви не тримали кнопку.

Реальна аварійна зупинка розриває силове коло: контактор або автомат на вводі щитка. OE — це другий, швидший рівень, який спрацьовує раніше й акуратніше, але під ним, а не замість нього.

Увага

Не підписуйте кнопку на OE словом «аварійна», якщо в щитку немає контактора, який рве живлення. Людина біля апарата має точно знати, яка кнопка знеструмлює, а яка лише знімає керування.


Прошивка про це нічого не знає#

Контролер не бачить стану OE і не отримує сповіщення. Наслідки, які треба тримати в голові:

Важливо

Знявши виходи кнопкою, зупиніть сценарій у веб-інтерфейсі, перш ніж повертати контур у робочий стан. Інакше процес продовжиться з тієї точки, де його застали, — з холодним кубом і сценарієм, який вважає, що вже пів години йде відбір.

Програмний шлях зупинки — аварійні сценарії й межі давачів — описаний у Аварійні сценарії та безпека. Він розумніший, бо контролер знає, що сталось. OE — грубіший, бо працює тоді, коли контролер уже не працює. Ці два рівні не конкурують, а доповнюють один одного.


Суміжні статті#