Серьезные проблемы с 1Wire

У меня три датчика 1Wire, подключены непосредственно к контроллеру. Линия связи меньше 10 метров, соединение шлейфом, отводы менее 50 см, кабель - экранированная витая пара 5 кат. Резистор подтяжки между +5V и линией данных не ставил, поскольку установлен в WB (судя по документации). На датчиках напряжение четко 5V, источников помех нет. Все это работает какое то время (от десятков минут до двух суток), после чего датчики пропадают (в web-интерфейсе либо не остается ни одного, либо остается один, но значение его температуры не меняется). В логах каждые 20 сек. “Feb 19 15:14:19 wbdust user.warn kernel: [113756.922740] w1_slave_driver 28-01183062d0ff: Read failed CRC check”. Рестарт wb-homa-w1 ничего не меняет. Ребут контроллера ничего не меняет. Рестарт кнопкой питания на борту WB ситуацию не меняет. Ситуацию исправляет только отключение питания от WB (выдергиваю штекер на несколько секунд). Причем, если выдернуть штекер, и сразу воткнуть обратно - может ничего не изменится, может появится один или два датчика, и только отключение на 10 сек. гарантированно все приводит в норму. И еще нюанс - если на датчик температуры повесить alarm по минимальному значению - после его активации датчики гарантированно пропадают, плюс перестают работать модули расширения - я создавал тему Пропала связь с модулями расширения Что делать? Датчики: http://amperka.ru/product/sealed-temperature-sensor-ds18b20

dust, добрый день!
Скажите, а вы пробовали запитывать датчики по паразитной схеме?
Я попросил бы вас померить напряжения на выводах разъема расширения, отключив боковые модули. Красной стрелкой показано, где должно быть 5 В, зелеными — где должно быть 3,3 В.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5

Скажите, насколько связаны проблемы с датчиками и пропадание боковых модулей?

По паразитной не пробовал. Напряжение в web интерфейсе 4.97V, на датчиках 5V. Отключить модули проблемно - шкаф собран, придется все провода отключать, иначе их не сдвинуть, я модулей 6 штук. Если очень надо - постараюсь измерить. Проблемы с датчиками сами по себе с пропаданием боковых модулей не связаны, боковые пропадают после сработки аларма по температуре датчика. Я пробовал 3 раза - во всех случаях пропадали. И еще после аларма обнуляется аналоговый выход на борту WB, на команды из web интерфейса не реагирует до “железной” перезагрузки.

Возможно, контроллер можно сдвинуть влево, снять винтовые клеммники и проверить отдельно: мы хотим исключить проблемы со схемой питания внутри контроллера.
Аналоговый выход – это A(1-4)?
Если не сложно, когда будете возле щита, можете сфотографировать контроллер, боковые модули и подключенную шину 1-wire?

Измерил. Не отключая модули, на правом, все относительно GND: 5V - 5.15V; 3.3V - 3.31V; SCL - прыгает от 2.6 до 3.3V; INT - 3.15V; SDA - прыгает от 2.8 до 3.3V. Аналоговый выход на Mod Out 2 - там соотв. модуль. На момент измерения все датчики работают.

IMG_20190219_181137

В web интерфейсе отключил 5V_OUT - это же аналогично паразитной схеме? Все работает пока.

Спасибо! Паразитная схема — это когда выводы датчика 5 В и GND вместе подключаются к GND. Попробуйте потом соединить.

Очень много делают клонов DS18B20, и они все ведут себя по-разному. Мы, например, специально тестируем датчики DS18B20, которые продаем. Я сталкивался с партиями датчиков, которые намертво завешивают весь шлейф.

Если датчики завешивают шлейф - они его сразу завешивают. А если они способны безупречно проработать 2 суток (ни одной ошибки CRC в логе), а потом все отваливаются - это как? Я еще пробовал в уже зависшем состоянии отключать датчики по одному, на случай, если кто-то из них с ума сходит и шлейф завешивает - ничего не происходит до “железной” перезагрузки. Отключал шлейф от WB, потом снова подключал - датчики явно переинициализировались, а толку ноль, датчики не видны. Вот что с драйвером происходит?

Это больше похоже на аппаратную проблему, чем на проблему с драйвером. Чтобы двигаться дальше, хочется понять, все ли хорошо с напряжением внутри контроллера, то, что я просил померить.

Я же измерил - все хорошо?

Да, прошу прощения, проглядел.

Хотел уточнить: если вы поставили alarm на каком-то из DS18B20, то модули и шина 1-wire всегда перестают работать после срабатывания аларма?

Три раза из трех, больше не пробовал.

Датчики опять отвалились, снова провел измерения - все напряжения те же самые, ничего не изменилось.

Ради интереса отключил тот датчик, по которому идут сообщения об ошибке CRC - сообщения идти перестали, в очереди вижу: /devices/wb-w1/controls/28-02049177097a (null)
/devices/wb-w1/controls/28-02099177d5e8 (null)
/devices/wb-w1/controls/28-01183062d0ff (null)

Попробуем воспроизвести. Других датчиков у вас нет?

Есть такие же

Только что отключил шлейф 1Wire, подождал подольше, снова включил - заработали.