Здравствуйте,
отваливается датчик температуры DS18B20. Работает какое-то время, потом отваливается. Выведен на улицу. После ребута контроллера опять появляется. Отключение и включение 5в не помогает.
Я уже прочитал много тем здесь по этому поводу. Проверял всё - напряжение есть и на клемах и через консоль. Сервисы запущены. Также заменил датчик с маркетплейса на датчик купленный в уважаемом магазине - тоже самое.
dmesg -w | grep w1_master_driver
[58208.140141] w1_master_driver w1_bus_master2: therm_bulk_read_store: unable to trigger a bulk read on the bus. err=-19
Что ещё можно посмотреть? Или единственный выход - продолжить менять датчики?
Подключен единственный датчик. Метров 5-6 utp, на улице в коробке подключен уже сам датчик. От температуры не зависит.
Подключил ещё один внутренний (во вторую клемму на контроллере). Он не отваливается. После этого уличный сначала отвалился на часов 10 и сам обратно вернулся. Сейчас стал отваливаться сильно реже и на меньшие периоды.
В таком случае попробуйте поменять датчики местами. Если датчик, который отваливается продолжит отваливаться, то скорее всего он неисправен. Если будет работать исправно, то скорее всего проблема в подключении.
А где проверить GND? У 1-wire или модбас? Ещё нюанс в том, что 225 адрес висит на втором модбасе и кроме него там никого. Ошибки на трёх линиях получается.
Проверьте все соединения. Убедитесь что соблюдены все рекомендации по прокладке шины 1-Wire и RS-485. Пришлите фото подключений.
Включите так же отладочные сообщения для Serial-устройств и покажите что в логах.
У меня до этого rs485 временно проложенный был, после этого уже постоянную шину сделал. Проблема была и до, и после. Рекомендации насколько могу судить - выполнены. Разве что для (1-wire на вторую пару utp землю добавлю позже). Вторая линия rs485 идёт на счётчик map3e - там отдельный кабель utp, который частично в своей изоляции вообще.
Логи я включил, но как и что там смотреть непонятно, потому что по тысяче сообщений в секунду идёт. Где они сохраняются в файловой системе? /var/log/messages пустой
Необходимо сделать как написано в рекомендациях — сигнал по одной жиле пары, земля по второй и аналогично питание: плюс питания по одной жиле пары, минус по второй. Минус питания соединить с сигнальной землёй. Экран с одной стороны соединить с минусом питания.
Ну и всё-таки убедитесь — будут ли повторяться ошибки, если подключить датчики коротким проводом.
FYI через какое-то время всё-таки отвалилось, но на этот раз без ошибок в логе по модбасу, видимо правильное подключение земли помогло
В итоге купил m1w2 и вот уже более продолжительное время всё хорошо. Подключил его так же в щите рядом с контроллером, то есть условия подключения те же.
Я ещё посмотрел по форуму по этой теме и кажется тут либо какая-то проблема с контроллером и 5vout, либо со стандартной линуксовой реализацией поддержки 1-wire, если не только у меня проблема решается использованием того же m1w2 :shrug: