Подключение удаленных датчиков температуры по витой паре CAT5

spalex

Member
Добрый день! Есть необходимость замерять температуру воздуха (а в идеале и влажность и освещенность) в различных помещениях. В каждое помещение от узла имеется 8-м жильная медная витая пара , есть желание использовать эти провода и опрашивать датчики по ним. Длина трасс - 5-15м.
Контроллер ESP-шка. Желательно минимизировать размер устройства.
Какое лучшее решение этого вопроса? Есть в наличии некоторое количество bme280/htu21 , потому в идеале хотелось бы использовать их.

Я вижу следующие решения:
1). Использовать датчики 1-wire (DS18b20 /ds2438 + HIH5030 ), но читаю про погрешности и пишут деградируют они.
2). В лоб навесить i2c датчики bme280/htu21 , но i2c на такой длине извращение, хотя тесты показали работоспособность
3). Использовать DS28E17 бридж , но не могу найти нормально рабочей схемы
4). Использовать какую-то мелкую ардуину например Seeeduino XIAO/LilyPad опрашивать датчики по i2c и уже отправлять данные по UART.

Склоняюсь больше к последнем варианту . Какой путь бы вы посоветовали оптимальным и красивым?
 

spalex

Member
5). Вариант DHT22 , пишут , что на мои расстояния будет работать. Насколько стабильна их работа на 20-30 метров?
 

pvvx

Активный участник сообщества
I2C метров на 200 может работать
Метры с миллиметрами не перепутали?
Датчик температуры греется при токе и показывает не температуру, а емкости кабеля (импенданс и прочие монтажные фичи) кабеля.
Хвост UTP кабеля должен быть нагружен пассивной нагрузкой в 100 Ом. Иначе на хвосте будут кракозябы, а не сигналы I2C.
 

pvvx

Активный участник сообщества
Я вижу следующие решения:
1). Использовать датчики 1-wire (DS18b20 /ds2438 + HIH5030 ), но читаю про погрешности и пишут деградируют они.
2). В лоб навесить i2c датчики bme280/htu21 , но i2c на такой длине извращение, хотя тесты показали работоспособность
3). Использовать DS28E17 бридж , но не могу найти нормально рабочей схемы
4). Использовать какую-то мелкую ардуину например Seeeduino XIAO/LilyPad опрашивать датчики по i2c и уже отправлять данные по UART.
1.
счас придет pvvx и расскажет про термометры от xiaomi и он пожалуй прав.
Не угадали :p
 

spalex

Member
А что скажете по поводу 5-ого ? Каждый из датчиков DHT22 повешу на отдельную ногу какой-то ардуины, а с нее уже забирать буду.

счас придет @pvvx и расскажет про термометры от xiaomi и он пожалуй прав.
А есть что-то такое же, только без дисплея , и чтобы все-таки по кабелю забирать любым протоколом? Просто хочу чтобы было в минимальном размере.
 

pvvx

Активный участник сообщества
Уточнения:
Какое лучшее решение этого вопроса? Есть в наличии некоторое количество bme280/htu21 , потому в идеале хотелось бы использовать их.
Варианты практически одинаковы:
1). Использовать датчики 1-wire (DS18b20 /ds2438 + HIH5030 ), но читаю про погрешности и пишут деградируют они.
3). Использовать DS28E17 бридж , но не могу найти нормально рабочей схемы

Т.е. какие-то шинные контроллеры...
Недостатки - цена, программная совместимость, кол-во элементов....

4). Использовать какую-то мелкую ардуину например Seeeduino XIAO/LilyPad опрашивать датчики по i2c и уже отправлять данные по UART.
Не имеет драйвера шины...

Оставшиеся варианты, используемые успешно и повсеместно более полувека в промышленности и т.д. - драйвер 4..20 мА.
 

nikolz

Well-known member
Уточнения:

Варианты практически одинаковы:
1). Использовать датчики 1-wire (DS18b20 /ds2438 + HIH5030 ), но читаю про погрешности и пишут деградируют они.
3). Использовать DS28E17 бридж , но не могу найти нормально рабочей схемы

Т.е. какие-то шинные контроллеры...
Недостатки - цена, программная совместимость, кол-во элементов....

4). Использовать какую-то мелкую ардуину например Seeeduino XIAO/LilyPad опрашивать датчики по i2c и уже отправлять данные по UART.
Не имеет драйвера шины...

Оставшиеся варианты, используемые успешно и повсеместно более полувека в промышленности и т.д. - драйвер 4..20 мА.
Уточнения:

Варианты практически одинаковы:
1). Использовать датчики 1-wire (DS18b20 /ds2438 + HIH5030 ), но читаю про погрешности и пишут деградируют они.
3). Использовать DS28E17 бридж , но не могу найти нормально рабочей схемы

Т.е. какие-то шинные контроллеры...
Недостатки - цена, программная совместимость, кол-во элементов....

4). Использовать какую-то мелкую ардуину например Seeeduino XIAO/LilyPad опрашивать датчики по i2c и уже отправлять данные по UART.
Не имеет драйвера шины...

Оставшиеся варианты, используемые успешно и повсеместно более полувека в промышленности и т.д. - драйвер 4..20 мА.
ESP по I2C на 200 метров на частоте не выше 100 кГц потянет. Для измерения температуры хватит и 20 кГц.
Так что все реально.
 
А почему нет?
Красиво висят на стенке, из коробки отдают температуру и влажность. Имеющаяся esp может собирать с них инфу по BLE.
Если до куда-то сигнал не добивает, поставить там на имеющиеся провода какой нибудь контролер, который будет собирать данные и отдавать их в провод основной esp-шке.

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

spalex

Member
та понятно все устроит, не устраивает цена и компактность бриджа. Просто у меня такие расстояния, где как-бы еще 485 рано, но все остальное уже на пределе. Пока рабочий вариант DHT22 , где тут ждать подвоха?
 

volaltd

Member
Пока рабочий вариант DHT22 , где тут ждать подвоха?
Очень большой разброс показаний влажности между экземплярами, критично стабильное питание. Где-то с третьей попытки обвешал питающие и сигнальные линии защитными диодами и стабилитронами, тогда перестали подвисать. Крайне рекомендую посмотреть что-то другое. Ограничения по адресам шины i2c можно обойти мультиплексорами. Сам смотрю в сторону CAN
 

spalex

Member
Очень большой разброс показаний влажности между экземплярами
Ясно, тогда остается либо 1wire, либо наедятся завести i2c.
А что по датчикам ?
DS18b20 + HIH5030
Насколько они в реальной жизни работоспособны? У меня основные условия использования - нормальный температурный режим и влажность (>14 градусов и 40-70% влажность). Но есть и пару мест (гараж, погреб) где влажность будет близка к 100% и надо достаточно точно мерять, чтобы управлять вытяжкой. Но тут уже навреное буду пробовать i2c ( htu21/bme280)а 3-х метровом кабеле проблем не должно быть.
 

pvvx

Активный участник сообщества
ESP по I2C на 200 метров на частоте не выше 100 кГц потянет. Для измерения температуры хватит и 20 кГц.
Подключение удаленных датчиков температуры по витой паре CAT5
Хвост UTP кабеля должен быть нагружен пассивной нагрузкой в 100 Ом. Иначе на хвосте будут кракозябы, а не сигналы I2C.
3.3В/100Ом = 0.033 А
Так что все реально.
:)
 

volaltd

Member
Ясно, тогда остается либо 1wire, либо наедятся завести i2c.
А что по датчикам ?
DS18b20 + HIH5030
Насколько они в реальной жизни работоспособны? У меня основные условия использования - нормальный температурный режим и влажность (>14 градусов и 40-70% влажность). Но есть и пару мест (гараж, погреб) где влажность будет близка к 100% и надо достаточно точно мерять, чтобы управлять вытяжкой. Но тут уже навреное буду пробовать i2c ( htu21/bme280)а 3-х метровом кабеле проблем не должно быть.
Вот с вытяжкой в погребе не все так однозначно, оказалось если там и так мокро, и прохладно, а туда еще с улицы теплый воздух натягивать, то получается конденсат на полу и стенах, превращающийся в лужи. Борюсь летом затыканием вытяжки и включением сушки воздуха периодически, ну а когда на улице 10-15гр и влажность более низкая, то можно вентиляцией. Сразу делайте датчик и на улице :)
Мне BME280 понравились, но уж очень они подорожали. HTU21 - что-то там с диапазоном влажности не то было, при отрицательной температуре что-ли выше 80% не меряют, забыл уже.
Тоже мучаюсь что использовать вместо боша и чтобы цена не как крыло от самолета, присматриваюсь к SHTC3(термометры ксяоми) и SHT31/SHT35(есть поддержка в easyesp), вродь как Sensirion контора приличная...
 

volaltd

Member
Прошивка EasyESP + WT32-ETH01 + TCA9548 + любые датчики по I2C - вроде на этих выходных будет наконец время опробовать этот вариант.
 
Сверху Снизу