1wire датчики живут своей жизнью

Добрый день.
Подскажите: 5 датчиков температуры (стандартные ds18b20) иногда пропадают из интерфейса. Перезагрузка контроллера всегда помогает, и после этого они день-три работают нормально. Потом снова пропадают. Так же замечено переодическое появление несуществующего датчика, с адресом вида 28-000000000002
Проверить линию к сожалению не представляется возможным, в виду “гениального” прокладывания проводов за уже зашитым потолком) но если бы были проблемы с трассой, думаю перезагрузкой контроллера не решались бы проблемы. На фото: один датчик до перезагрузки, и 5 после.
А вот куда теперь копать не могу понять(

1 лайк

Здравствуйте!
Как подключены датчики? Нарисуйте, пожалуйста, схему или эскиз (отразите длины и топологию прокладки кабелей).
Проверьте надежность подключения кабеля к датчикам 1-wire (обжаты ли провода, затянуты ли винты клеммников, не вываливаются ли провода из клеммника). Какое напряжение питания подается на датчики? Если снять питание с линии датчиков (отсоединить провод питания) и подать заново через некоторое время датчики начинают работать?

Питание берётся с контроллера, 5в.
После отсоединения датчиков от питания, перезагрузки контроллера без них, подключаем питание обратно, и все датчики появляются в течении секунд 15.

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

Да, по трех проводной. По поводу отключения проверю как только снова глюканут)

Советую померить наприяжение на 1-wire шине как раз когда датчики не отвечают. Подозресаю что какой-то притягивает шину к замле и виснет в таком виде. Обнаружить виновника просто - если доступны места соединения то можно отключать датчики (контакт шины 1-wire) по одному. Пи отключении виновника - обмен по шине пойдет.

А если не доступны?)

В таком случае - все равно измерять. Но придется выбрать способ “обхода”. Например при пропадании данных - снимать-подавать питание с датчиков с помощью реле, управляемого через один из A1-A4
контроллера.

Вот здесь пользователь пишет, что помогла замена одного неисправного датчика:

Да, как раз измерение напряжения на шине и показывает (если низкое) что какой-то “залип” и держит всю шину.