Датчик температуры-влажности SHT20 RS485

Добрый день!

Подскажите, почему может датчик SHT20 (китайский) через RS485 давать такие всплески?
Подключено на тестовой сборке на столе в квартире 2 датчика SHT20 + 3 датчика DS18B20 1-wire (эти вообще отваливаются, но с ними отдельный разговор, видимо). Все запитаны от 5В контроллера (релейные модули отключены пока), подключены звездой, отводы пока по 30см. Вот наблюдаются такие всплески по температуре и влажности:

Вообще сколько на выход 5в можно навешать датчиков? Когда лучше на датчики давать отдельное питание?

Настроены вот так:

Вообще сколько лучше выставлять poll interval?

  • Сам датчик - подключается по i2c. Ну и модуль (какой?) по 485. как-то очень неравномерно точки на графике идут. Его (модуль) точно от 5 вольт питать надо?

Датчиков типа ds18b20 - можно практически до 30 штук. Отдельное питание - лучше всегда, если датчиков больше одного на шине.

У меня датчик уже для 485, подключен напрямую. к wb6, вот такой:

Если отбросить то, что он китайский, то из-за чего еще может быть? Или на входы 485 в вб6 лучше вешать модули, а датчики подключать уже через модули?

Может слишком часто его опрашиваю (desired poll interval = 100ms)?
Я его еще попробую погонять на компе через адаптер usb-rs485, включу там циклический опрос значений и посмотрю будут всплески или нет. но опять же датчиков таких два и оба себя так ведут в wb.

Включите отладку serial, будет видно - есть ли какие-то ошибки при обмене. Да, возможно что слишком чать, вряд ли вам нужна температура-влажность 10 раз в секунду.

В настройках там есть интервал опроса для устройства и ниже для каждого регистра. Надо менять и там и там? Если я для устройства поставлю 5000, а для одного регистра 1000, для другого 2000, то как будет работать? Этот момент не очень пока понятен.

Выглядит так, как будто дело в прошивке датчика (или “особенностях” работы сенсора). Так как вы опрашиваете по Modbus RTU, а в нём есть контрольная сумма, никакие “битые” посылки не могут быть приняты и распознаны как неверные показания.
Теоретически, частота опроса могла бы влиять на самонагрев датчика, но у вас значения появляются всплесками, а не каким-то постоянным повышенным уровнем.
Думаю, стоит попробовать запитать датчик напряжением из середины диапазона, это последняя надежда.

На графике снизу видно “засечки”. Это как раз принятые пакеты они подозрительно неравномерно расположены.

Попробую запитать датчики от БП 24В.
У меня вопрос на будущее: если у меня на одном входе RS485 контроллера будут висеть и датчики и модули – это допустимо?
Или лучше их разнести, например, на 1 выход датчики, на 2 выход модули. Сколько модулей и датчиков будет пока не знаю. Но, на вскидку, датчиков температуры будет штук 8-10.

Насчет неравномерности: я думал, что это изменения показаний датчика.

Вот график 1-wire DS18B20, тут тоже есть некая неравномерность по нижним рискам, но температура стабильная.

Совершенно нормально.

Тут как раз - равномерно. 18b20 не умеет отдавать температуру чаще чем раз в 750 мс по даташиту.
Попробуйте, как я уже предлагал

  • включить дебаг.
  • попробовать вручную получать данные

Знать бы как это сделать )) Я про дебаг. Если подскажете, буду благодарен.
Вообще у меня к контроллеру подключен клиентом по mqtt home assistant, дак вот, для пробы подул на датчики – цифры довольно шустро в HA изменились в большую сторону (темп и влажность), потом начали падать. Визуально кажет нормально, но вот в графиках есть тоже всплески, но в обе стороны

изображение

Галочка “Enable debug logging”


Не забудьте отключить потом!

А еще подскажите, иногда в Devices моргает на 1-2-неск секунд красным. Это ошибки какие-то?

да, это ошибки опроса.

Кстати наши WB-MS v.2 за 2500р стоят, конечно, не как китайские с алиэкспресса, но зато и работают хорошо и стабильно. А если не работают, то на них гарантия два года.

Согласен, что ваши лучше )) Поэтому и взял на пробу пока. А ошибки – это ошибка в CRC или какие-то другие причины?

Ну, как раз в логе (включили?) и будет видно. Я с таким датчиком игрался, он таймауты давал. Даже когда подстроил, задрал время ожидания, так что таймаутов почти не было - температура периодически плясала. Непредсказуемо.

Включил. И снова глупый вопрос: где логи смотреть? )) В веб-интерфейсе не нашел.