Давачі потоку (витратоміри) в oCBot
Написано для прошивки 0.2.216 (коміт 6c8613a) · порталу 0.0.267Можливо, застаріло: поточна прошивка 0.2.238, поточний портал 0.0.344
давачі потоку рідини використовуються для точного вимірювання витрати охолоджуючої води в дефлегматорі та холодильнику, а також для контролю роботи помп рециркуляції.
Об'єм у кубі чи збірнику можна міряти не одним способом: датчиком рівня, витратоміром, вагою або ємнісним датчиком. Скрипт працює з величиною, а не з конкретним датчиком, тому спосіб обирає господар — десь дешевше, десь точніше.
Принцип роботи давачів потоку (Холла)#
Більшість доступних витратомірів (наприклад, серії YF-S201, YF-B1 або латунні давачі) працюють на базі крильчатки з магнітом та вбудованого давача Холла.
- Вода проходить крізь давач і обертає крильчатку.
- Магніт на крильчатці проходить повз давач Холла, створюючи електричний імпульс на виході при кожному оберті.
- Мікроконтролер ESP32 підраховує кількість імпульсів за секунду і за допомогою спеціального коефіцієнта (K-factor) перераховує їх у літри на хвилину або літри на годину.
Схема підключення до ESP32#
давачі потоку мають 3 контакти:
- Червоний (VCC): Живлення давача.
- Чорний (GND): Загальний провід.
- Жовтий/Синій (OUT/SIGNAL): Вихідний імпульсний сигнал.
Куди саме заводити імпульс#
Імпульси рахує апаратний лічильник контролера, і входів під нього рівно чотири — ті самі клеми, що й аналогові входи (main/rb_libs/rb_environment.cpp, масив _input_pin_map; ADC1, канали 0, 3, 6 і 7 у rb_environment_parts.h). На інший пін витратомір просто не налаштувати — у списку його не буде. Яка це клема на кожній підтримуваній платі — KC868-A6, KC868-A16. Готова схема «провід → клема» з живленням 5 В — Схема підключення витратоміра до KC868-A6 і A16.
Витратоміри й аналогові датчики тиску конкурують за один пул із чотирьох входів на весь контролер — це варто порахувати до закупівлі, а не після.
Рівень сигналу: 5 В на вхід контролера не подавати#
На KC868-A6 і KC868-A16 ці клеми вже проходять дільник 5,1к/10к і зовнішній перетворювач рівнів нижче не потрібен (деталі для A6, для A16); решта розділу — для голого піна ESP32 без такого дільника (наприклад, профіль Custom).
Вихід давача Холла піднімається до напруги власного живлення. Живите давач від 5 В — на сигнальному дроті буде 5 В, а піни GPIO 34–39 не толерантні до 5 В: у них немає ні захисних діодів до 5 В, ні внутрішніх підтяжок.
Знизити живлення давача не вихід: у каталожних моделей нижня межа 5 В (латунь G1/2) або 3.5 В (нержавійка), тож 3.3 В — уже поза паспортом.
Робочі варіанти, за спаданням надійності:
- Перетворювач логічних рівнів 5 В ↔ 3.3 В — той самий модуль, що входить у базовий набір. Найпростіший і найпередбачуваніший шлях.
- Оптопара — коли давач далеко й лінія довга: заразом розриває спільну землю й гасить наведення.
- Резистивний дільник — працює не завжди. На багатьох модулях вихід зроблено відкритим колектором із власною підтяжкою до VCC, і ця підтяжка входить у дільник, змінюючи співвідношення непередбачувано.
Якщо все ж ставите дільник — заміряйте напругу просто на піні мультиметром при обертанні крильчатки. У стані «високо» вона має бути не менш як 2.5 В (поріг VIH для ESP32 — 0.75 від напруги живлення) і не більш як 3.3 В. Не потрапили в цей коридор — імпульси або не рахуватимуться, або спалять вхід.
Не заводьте імпульсний вихід через плату розширення PCF8574: швидкість I2C не дозволить порахувати швидкі імпульси, і похибка виміру буде величезною.
Полів «Тремтіння» у картці витратоміра немає й не треба: імпульси рахує апаратний лічильник, а фільтр з’їв би частину імпульсів. Два боки тремтіння — «спрацював» і «відпустив» — є лише в дискретних входів: рівень, протікання, кнопки, кінцевики. Що вони означають і чому для поплавка типово 2,0/0,5 с, а для електродів протікання 5,0/1,0 с — у статті про датчики рівня.
Налаштування коефіцієнта давача (K-factor)#
Кожна модель давача має власну геометричну форму крильчатки та кількість імпульсів на 1 літр пропущеної води. Для точного налаштування:
- Зайдіть у розділ Налаштування -> Обладнання та оберіть доданий давач потоку.
- Оберіть модель у списку під полем (пресет) — коефіцієнт підставиться сам. Під списком видно діапазон витрати, різьбу й живлення моделі. Поле лишається редагованим: якщо вашого датчика в списку немає, оберіть «Інший / власний» і впишіть «Імпульси на літр» (Pulse Factor) за паспортом.
- Без пресета поле порожнє: значення 400, яке раніше стояло за замовчуванням, не відповідало жодній моделі й більше не підставляється.
- Старі датчики, збережені з коефіцієнтом 400, прошивка підсвічує нагадуванням «перевірте модель» — оберіть свою модель або впишіть паспортне значення.
| Модель | Паспортна формула | Імпульсів на літр | Діапазон, л/хв | Різьба |
|---|---|---|---|---|
| Нержавійка G1/2 (YF-B1-S, типовий) — перевірити калібруванням | F = 18 × Q − 3 | 1080 | 1–25 | G1/2 |
| YF-B1 / YF-B2 / YF-B7, латунь | F = 11 × Q | 660 | 1–25 | G1/2 |
| YF-S201, пластик | F = 7,5 × Q | 450 | 1–30 | G1/2 |
| SEN-HZ21WA, нейлон | F = 10 × Q | 600 | 1–30 | G1/2 |
| YF-B5 / YF-B6, латунь | F = 6,6 × Q | 396 | 1–30 | G3/4 |
| FS300A, пластик — перевірити калібруванням | F = 5,5 × Q | 330 | 1–60 | G3/4 |
| YF-B10, латунь — перевірити калібруванням | F ≈ 8 × Q | 480 | 2–50 | G1 |
| FS400A, пластик | F = 4,8 × Q | 288 | 1–60 | G1 |
| YF-G1, пластик | F = 1,0 × Q | 60 | 2–100 | G1 |
| YF-DN40 — перевірити калібруванням | F = 0,45 × Q | 27 | 5–150 | G1½ |
| YF-DN50 — перевірити калібруванням | F = 0,2 × Q | 12 | 10–200 | G2 |
| YF-S401, пластик | F = 98 × Q | 5880 | 0,3–6 | G1/8 |
| YF-S402, пластик | F = 73 × Q | 4380 | 0,3–6 | M11×1,25 |
де F — частота імпульсів у герцах, Q — витрата в літрах за хвилину. Латунь G1/2 (YF-B1) і латунь G3/4 (YF-B5/B6) — різні датчики з різним коефіцієнтом (660 і 396): не плутайте їх за зовнішнім виглядом.
Позначка «перевірити калібруванням» стоїть там, де коефіцієнт узято з роздрібних описів або з єдиного джерела. Перший пресет (нержавійка G1/2, 1080 імп/л) — найближчий документований аналог YF-B1-S для нержавійних датчиків без читабельного маркування: звіртеся з ним, як описано нижче.
- Ви можете перевірити точність виміру вручну: пропустіть рівно 1 літр води через давач у мірну ємність та порівняйте показ у веб-панелі автоматики, скоригувавши значення K-factor за потреби.