Проводка датчиків DS18B20: як зібрати шину на A6 і A16
Написано для прошивки 0.2.232 (коміт fa45ad8) · порталу 0.0.308Можливо, застаріло: поточний портал 0.0.312
Термометри на апараті найчастіше збирають так, як зручно протягнути дріт: усі на одну колодку, кожен своїм кабелем, хвости змотані в бухту. Перший запуск проходить, а через тиждень датчики починають пропадати по черзі. А одного дня зникають усі разом, і прошивка гасить ТЕНи посеред відбору. Ця стаття — як зібрати шину одразу так, щоб цього не було. Кабель і з'єднання крок за кроком, скільки датчиків вішати на один роз'єм, як розкласти їх по роз'ємах A6 і A16, і як після монтажу перевірити за журналом, що шина чиста.
Чому погана проводка губить показання (зірка, відбиття, підтяжка, завади від частотника), розібрано в статті Проводка датчиків DS18B20: чому зникають показання. Якщо в тебе стартовий комплект на литих роз'ємах M12, там усе вже зібрано так, як тут описано, — див. Термометри стартового комплекту.
Скільки датчиків на один роз'єм#
Кожен роз'єм 1-Wire на платі — окрема шина: своя ніжка ESP32, своя підтяжка 4.7 кОм до 3.3 В і свій послідовний резистор 100 Ом (аркуш Sensors принципової схеми). Прошивка веде всі шини одночасно і кожну окремо.
| Плата | Роз'єми на колодці | Шина в oCBot |
|---|---|---|
| KC868-A6 | IO-1, IO-2 (+ 3V, GND) |
IO-1 — 1, IO-2 — 0 |
| KC868-A16 | HT1, HT2, HT3 (+ 3.3V, GND) |
HT1 — 1, HT2 — 0, HT3 — 2 |
Шина 0 — не перший роз'єм, а IO-2 на A6 і HT2 на A16. Чому так
історично склалося, пояснено в статтях про шини A6 і
шини A16. У Периферії біля кожного датчика видно
номер його шини — звіряй по ньому, а не по цифрі на платі.
Прошивка тримає до 8 датчиків на шині (MAX_SENSORS у коді менеджера
DS18B20). Це межа таблиці, а не рекомендація. На практиці на апараті
тримай 3–4 датчики на роз'єм, і ось чому:
- обрив чи замикання магістралі гасить усю шину: що менше на ній датчиків, то менше втрачаєш одним пошкодженим кабелем;
- кожен датчик — ще один відвід, ще одне відбиття на лінії й ще одна пайка, яка може відійти;
- кабель коротший, коли шина обслуговує одну зону апарата, а не обходить його весь.
Ділити на роз'єми варто, щойно датчики стоять у різних зонах (куб внизу, колона вгорі, охолодження збоку) або щойно серед них є такі, без яких процес не можна вести. Про це — розкладки нижче.
Крок за кроком: від колодки до гільзи#
1. Кабель: три жили, вита пара#
Кожен датчик живиться окремою жилою: VDD на 3V (A6) чи 3.3V (A16),
DATA і GND. Дводротове «паразитне» живлення прошивка не підтримує.
Магістраль — вита пара FTP 5e. Правило просте: біла жила кожної
пари — GND, кольорова — живлення або сигнал. Тоді DATA скручена з
GND по всій довжині, і наведення від ТЕНів і частотника приходить на обидві
жили однаково та гаситься. Так само скручене з GND живлення. Червоної жили
у витій парі немає, тож плюс — на оранжевому: його найлегше впізнати як
живлення, а сигнали — на синьому, зеленому й коричневому.
| Жила FTP 5e | Куди біля плати | Біля датчика, жила зонда |
|---|---|---|
| оранжевий | +3V (A6) / +3.3V (A16) |
червоний |
| біло-оранжевий | GND |
чорний |
| синій | DATA: IO-1/IO-2 (A6), HT1–HT3 (A16) |
жовтий |
| біло-синій | GND |
чорний |
| зелена й коричнева пари | запас: не підключати, кінці заізолювати | — |
| екран (фольга й дренажний дріт) | GND, лише біля плати |
обрізати й заізолювати |
Кольори зонда в таблиці — найчастіші (червоний VDD, чорний GND, жовтий
DATA). Буває й інакше, тож звір з описом продавця.
- Білі — не екран. Біла жила працює як зворотний провід своєї пари, а екран — це фольга з голим дренажним дротом.
- Запасні пари краще лишити цілими. Біло-зелений і біло-коричневий теж
можна посадити на
GND, шкоди не буде, але на клеміGNDі так збираються білі всіх кабелів. Ціла запасна пара замінить будь-яку обірвану жилу, іDATAтеж. - Кілька жил в одну клему — однією гільзою. На
GNDі3Vсходяться жили всіх кабелів. Скрути їх і обтисни однією гільзою НШВИ під сумарний переріз (жила FTP 5e — близько 0.2 мм²). На A6 з двома кабелями: чотири білі — гільза 1 мм², два оранжеві — 0.5 мм². На A16 з трьома: шість білих — 1.5 мм², три оранжеві — 0.75 мм².
Дві-три шини одним кабелем. Від щита до апарата шини можуть іти одним FTP, а розійтися вже в коробці біля апарата. Кожна шина — на своїй парі, живлення спільне:
| Пара | KC868-A6, дві шини | KC868-A16, три шини |
|---|---|---|
| оранжева | +3V + GND |
+3.3V + GND |
| синя | DATA шини 0 (IO-2) + GND |
DATA шини 1 (HT1) + GND |
| зелена | DATA шини 1 (IO-1) + GND |
DATA шини 0 (HT2) + GND |
| коричнева | запас | DATA шини 2 (HT3) + GND |
Дві шини на A6 одним кабелем:
Три шини на A16 одним кабелем:
Від коробки кожен кабель розкладений як звичайно: оранжевий — плюс, синій —
DATA, білі — GND. Тож датчики й пайка біля гільз однакові в обох
варіантах.
Дві DATA в одну пару не клади: скручені разом жили наводять одна на одну
найсильніше, і шини почнуть чути одна одну. У коробці розгалуження пари
DATA розходяться кожна у свій кабель, усі білі з'єднуються на GND,
оранжевий — з оранжевими обох чи трьох кабелів, екран продовжується далі й
на GND лишається лише біля плати. Ціна — спільний шматок: переб'єш його, і
ляжуть усі шини разом. Тож клади його в гофру й подалі від силових кабелів,
а для захисних датчиків надійніше окремий кабель від самого щита
(що ставити окремо).
- Переріз не важить: жили 0.5 мм (24 AWG) вистачає з великим запасом, бо датчик бере до 1.5 мА під час вимірювання (даташит DS18B20). На 3–4 м просідання напруги на жилі — соті частки вольта.
- Біля куба — силікон. ПВХ на гарячій стінці дубіє й тріскається.
Як це виглядає на самій платі, показано на світлинах у розкладках нижче.
2. Магістраль 3–4 м: один кабель уздовж зони#
Магістраль іде від колодки до першого датчика, від нього до другого, і так до останнього. Останній датчик і є кінець шини: далі нічого не тягнеться, запасний шматок кабелю «на потім» за ним не лишається, бо це теж відвід.
- Маршрут — уздовж апарата, по зоні, яку обслуговує шина: колона знизу вгору, охолодження вздовж водяної лінії.
- Окремо від силових кабелів ТЕНів і особливо від кабелю частотник — двигун. Перетинати — лише навхрест.
- Для 3–4 м додаткова підтяжка не потрібна: 4.7 кОм на платі розраховані на кабель у кілька метрів. Ставити другий резистор має сенс лише на кабелі понад 10 м (підтяжка).
- Резистори на кожному датчику не ставити. Модулі з уже впаяним
резистором (маркування
472) на шину не беремо.
3. Відвід до гільзи: до 30 см#
Відвід — шматок від магістралі до датчика. Що коротший, то слабше відбиття. Тримай до 30 см; біля куба — до 50 см силіконового, щоб з'єднання висіло подалі від гарячої стінки.
Зонд DS18B20 продається з метровим кабелем. Вкорочуй його, а не змотуй: бухта електрично не коротшає, сигнал так само біжить метр до кінця й назад. Три-чотири метрові хвости на одній шині — це вже майже зірка.
4. Гільза й герметизація#
- Гільза 1/2″ з глухим дном, зонд заходить до дна. Щоб показ відгукувався швидше, у гільзу можна покласти краплю термопасти.
- Вхід кабелю в гільзу закрий термоусадкою з клеєм або силіконовим герметиком: конденсат, що збігає по кабелю, інакше потрапляє в гільзу.
- Кабель від гільзи веди вниз петлею, щоб крапля стікала з петлі, а не всередину.
5. З'єднання: пайка й термоусадка#
На апараті все трясеться (мішалка, насос) і гріється, тому:
- з'єднання відводу з магістраллю — пайка, кожна жила під свою тонку термоусадку, зверху спільна товста з клеєм;
- скрутка під ізострічкою — ні: окислюється й відходить саме тоді, коли апарат гарячий;
- гвинтовий клемник — лише в коробці й лише з обтискною гільзою НШВИ на кінці жили. Голий багатодротовий кінець під гвинтом розповзається від вібрації, і контакт то є, то нема;
- роз'єм замість пайки — якщо датчик треба знімати: литий M12 A-code з трійником біля гільзи, як у стартовому комплекті.
6. Маркування#
Прошивка впізнає датчик за адресою, а не за місцем. Тож поки датчики ще не перемішались:
- вмикай датчики по одному: підключив, проскануй шину в Периферії, дай датчику назву за місцем («Верх колони», «Куб»);
- на кабель біля гільзи — бирка з назвою й останніми чотирма знаками
адреси, наприклад
КУБ · 3A7F; - на магістраль біля колодки — бирка з роз'ємом:
IO-1,HT3.
Переставити датчик у межах своєї шини можна, прошивка знайде його за адресою. Переставити на іншу шину — ні, там вона його не шукає: доведеться заново прив'язати в Периферії.
Що ставити окремо: критичні й захисні датчики#
Розкладка по роз'ємах вирішує, що станеться, коли один кабель усе ж
пошкодиться. Датчик без вдалого читання довше 15 с прошивка вважає
таким, що даних нема (RB_SENSOR_STALE_S), і блокування, прив'язане до
нього, тримає вимкненими ТЕНи. Якщо на одній шині сидить усе, то обрив
магістралі зупиняє і процес, і захист одночасно.
Три правила розкладки:
- Верх колони й куб — на різних шинах. Верх веде відбір, куб каже про кінець прогону й захищає нагрів. Обрив одного кабелю не має гасити обидва.
- Захисні датчики — не на шині з колоною. Вода на виході з дефлегматора, ТСА, парогенератор — окремо від датчиків, що ведуть відбір. Тоді пошкоджений кабель колони зупинить відбір, але апарат лишиться під захистом.
- Одна шина — одна зона. Колона знизу вгору одним кабелем, охолодження — іншим. Так магістраль коротка, а бирка на роз'ємі одразу каже, куди йти.
Розкладка: куб, колона, дефлегматор#
KC868-A6: дві шини#
| Роз'єм | Шина | Датчики | Довжина |
|---|---|---|---|
IO-1 |
1 | царга, верх колони | 2 м + 1 м |
IO-2 |
0 | куб, вода з дефлегматора, ТСА | 1 м + 1.5 м + 0.5 м |
Те саме на світлині плати, з кольорами жил:
Обірвався кабель колони — відбір зупиняється, але куб, вода й ТСА живі, і
захист працює. Обірвався кабель куба — ТЕНи, прив'язані до куба, вимикаються
самі. Розкладка така сама, як у
стартовому комплекті: IO-1 — верх, IO-2 —
низ.
KC868-A16: три шини#
| Роз'єм | Шина | Датчики | Довжина |
|---|---|---|---|
HT1 |
1 | царга, верх колони | 2 м + 1 м |
HT2 |
0 | куб | 2 м |
HT3 |
2 | вода з дефлегматора, ТСА | 2 м + 1 м |
Те саме на світлині плати, з кольорами жил:
Третій роз'єм дозволяє розвести всі три зони: колона, куб і охолодження не залежать одне від одного. Куб на окремому кабелі — найкоротша й найнадійніша шина апарата.
Розкладка: парогенератор і колона НБК#
На НБК критичних точок дві: парогенератор (захист нагріву) і верх колони (за ним ведеться подача браги й потужність). Їх і розводимо по різних роз'ємах.
| Плата | Роз'єм | Шина | Датчики |
|---|---|---|---|
| KC868-A6 | IO-1 |
1 | верх колони НБК, низ колони (барда) |
| KC868-A6 | IO-2 |
0 | парогенератор, вода з холодильника |
| KC868-A16 | HT1 |
1 | верх колони НБК, низ колони (барда) |
| KC868-A16 | HT2 |
0 | парогенератор |
| KC868-A16 | HT3 |
2 | вода з холодильника, брага після теплообмінника |
Схеми ті самі, що вище: на A6 замість царги й верху — низ і верх колони НБК, замість куба — парогенератор. Парогенератор біля ТЕНів гарячий, тож відвід до нього — силіконовий, як у куба.
Перевірка після монтажу#
Короткий збій у секунду-дві на картці датчика не видно: «нема даних» з'являється лише після 15 с без вдалого читання. Тому перевіряють не картку, а журнал.
Прожени апарат під навантаженням хоча б 30 хв: ТЕНи гріють, мішалка чи насос працюють, частотник крутить. Завади з'являються саме тоді.
Відкрий Налаштування → Логи. Раз на 10 хв прошивка пише підсумок лише по датчиках, у яких були збої:
sensor 0x…: 37 of 600 reads failed (no answer 5, CRC 31, bad data 1)Рядка про датчик немає — за 10 хв у нього не було жодного збою. Це і є чиста шина.
Порахуй частку: невдалі читання поділити на всі. У прикладі вище 37 із 600 — це 6 %.
Кожне «невдале читання» в цьому рядку — вже після трьох спроб у тому самому проході: прошивка сама перечитує датчик, перш ніж записати збій. Тож навіть кілька відсотків у журналі означають, що лінія погана по-справжньому.
| Частка збоїв за 10 хв | Що це | Що робити |
|---|---|---|
| рядка немає | шина чиста | нічого |
| поодинокі, до 1 % | шина на межі, але прошивка це покриває | глянути при нагоді |
| 1–5 % | лінія погана; один датчик у будь-яку мить може зникнути | шукати причину до наступного прогону |
| понад 5 %, або збої на всіх датчиках шини | шина от-от ляже цілком | не запускати процес, переробляти проводку |
Це наші орієнтири, а не цифри з даташиту. На стенді з коротким кабелем збоїв нуль, і на зібраній за цією статтею шині має бути так само.
Що міняти, підкаже, якого лічильника більше:
| Лічильник | Що означає | Куди дивитись |
|---|---|---|
no answer |
датчик не відповів зовсім | контакт DATA, жила живлення, обрив відводу |
CRC |
відповідь прийшла, але зіпсована дорогою | завади й відбиття: довгі відводи, бухти, силовий кабель поруч, зірка |
bad data |
відповідь ціла, але не температура: хибні 85 °C чи 0 °C | живлення датчика, пайка VDD |
Із 0.2.224 поодинокі хибні 0 °C і 85 °C до скриптів не доходять: справжнє таке значення прошивка приймає, лише коли воно повториться наступним читанням. Повний порядок пошуку несправності — у статті чому зникають показання.
Як це виглядає в житті#
Апарат «парогенератор + колона НБК», п'ять термометрів на одній шині, серед них верх колони. Чотири дні журналу:
| Що видно в журналі | Значення |
|---|---|
частка CRC на кожному з п'яти датчиків |
14–30 % |
| датчиків шини без збоїв | жодного |
| зникнення всієї шини разом | кілька разів за чотири дні |
| датчик верху колони після перенесення на нове місце | перестав відповідати зовсім |
Що з цього читається:
CRCна всіх датчиках разом — не датчики, а лінія: топологія, довгі відводи чи силовий кабель поруч. Міняти датчики марно.- Зникає вся шина — магістраль або клема на колодці. А що всі п'ять на одній шині, кожен такий обрив гасить усі п'ять разом, і верх колони теж.
- Датчик зник після перенесення — контакт у його відводі: пайка,
клема чи жила, перетерта при перекладанні. Решта шини живі, тож це
no answerсаме в його відводі.
Що зробити на такому апараті: розвести на два роз'єми за таблицею для НБК (парогенератор окремо від колони), магістраль — витою парою подалі від силових, відводи вкоротити до 30 см, верх колони перепаяти. Після цього — 30 хв під навантаженням і журнал.
Суміжні статті#
- Проводка датчиків DS18B20: чому зникають показання — механізм збоїв, симптоми й повний порядок пошуку.
- Термометри стартового комплекту — та сама шина на литих роз'ємах M12 із трійниками й розпіновкою.
- Шини й роз'єми KC868-A6 і Шини й мережа KC868-A16 — колодка датчиків і номери шин у прошивці.
- Підключення до колодки DA/IO — куди яка жила й екран на самій колодці A6.