4. Датчики MegaD
Видеообзор на канале "Электроника в объективе"
Комбинированные настенные датчики:
- MegaD-WallMount-Sensor - для помещений
- MegaD-Outdoor-Sensor - для улицы
Универсальный кроссировочный модуль для витой пары на DIN-рейку CrossBoard-7 (7 входов RJ45 и 7 выходов на пружинный клеммник)
Типы датчиков
MegaD-WallMount-Sensor | MegaD-WallMount-Sensor-CO2 | MegaD-Outdoor-Sensor | MegaD-WallMount-Sensor-Display | |
---|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
|
Применение | в помещении | в помещении | на улице | в помещении |
Возможности | ||||
температура | ||||
влажность | ||||
освещённость | - | |||
движение | - | |||
присутствие | - | - | - | |
ИК-передатчик | - | - | ||
углекислый газ (CO2) | - | - | ||
Описание | Подробнее | Подробнее | Подробнее | Подробнее |
Комбинированные датчики имеют интерфейс I2C, который позволяет подключать их к MegaD-2561 кабелем UTP-5E или UTP-6 (витой парой) на расстоянии до 80 метров. При большем расстоянии потребуется повторитель I2C (увеличение длины в два раза) или конвертеры среды передачи (например, до 300 метров).
Стоит отметить, что обычный сенсор I2C устойчиво работает с MegaD-2561 на кабеле длиной до 20-30 метров. В наших датчиках предприняты некоторые меры, чтобы увеличить длину устойчивой работы до 50-60 метров. При необходимости увеличения дальности MegaD-WallMount-Sensor до 70-80 метров необходимо дополнительно добавить подтяжку, замкнув каплей припоя контакты на сенсоре температуры и влажности HTU21D. Все измерения длины производились на кабеле среднего качества со средним уровнем внешних помех (медная NoName витая пара UTP-5E, смотанная в бухту, вблизи от одной силовой линии).
Варианты подключения
Примечания
При объединении SCL длины проводов суммируются (и максимум тот же, около 80 метров). Для I2C важна суммарная емкость линии. Но есть нюанс. Если лучи сильно отличаются по длине (например, 1 метр и 50 метров), то работать тоже не будет, так как для лучей разной длины нужен разный номинал подтяжки. По этой же причине мы не стали уменьшать подтяжку на датчике до минимума при его производстве. Если это сделать, датчик перестанет работать на коротком проводе (на столе). Ещё момент - важнее подтяжка именно на датчике. Изменение её номинала вблизи микроконтроллера даёт гораздо меньший эффект (и сильнее увеличивает минимальную длину провода).
— d.v.ermakov » 26 сен 2019, 20:09
Добавлю пару слов про I2C.
Шина представляет из себя пару проводов, которые подтянуты к плюсу (то есть на них в обычном состоянии плюс). Микроконтроллер или датчик замыкают эту шину попеременно на землю, чтобы передать сигнал. Так вот, в микроконтроллере это делают (на каждом проводе) два довольно мощных транзистора (сверху и снизу; работают совместно), а в датчике, как правило, один хилый транзистор подтягивающий, когда нужно, к земле (и отпускающий, когда не нужно). Работает это неплохо, пока ёмкость проводов низкая (по стандарту до 400пФ). Когда провода длинные (и их ёмкость относительно большая), нужны всё большие усилия, чтобы быстро замкнуть провод на землю, и шина медленно возвращается к высокому состоянию (то есть, «заваливаются» фронты и тылы). Подтяжка с одной стороны провода не решает вопрос ёмкости; она гораздо больше нужна датчику со слабым транзистором. Кроме того, датчику нужна улучшенная система питания, чтобы облегчить участь этого транзистора. Но всему есть предел, и при определённой емкости провода уже никакие уловки не работают (остаётся только менять способ передачи сигнала).
Остаётся добавить, что некоторые моменты в даташитах датчиков (например, HTU21D) недостаточны, чтобы достигнуть максимальной длины (хотя для достижения максимальных по стандарту 400пФ их вполне хватает).
— d.v.ermakov » 27 сен 2019, 08:11
Хочу ещё раз разъяснить вопрос про длины кабеля и подтяжки в наших комбинированных датчиках. Сейчас эта информация разбросана по форуму, а вопрос возникает часто.
SCL может быть общим для любого количества датчиков. SDA может быть общим для любого количества датчиков с разными адресами. Ограничение одно: суммарная длина проводов (а, точнее, ёмкость), подключенных что к SCL, что к SDA, не может быть более примерно 80 метров.
Необходим именно медный кабель (витая пара категории пять или шесть), омеднённый алюминий на сколь-либо значительной длине нормально работать не будет. Всякие КСПВ тоже будут работать хуже из-за меньшей толщины и ненормированной свивки или её полного отсутствия. Если у вас кабель в экране, то экран должен быть подключен к нормальному заземлению с одного конца. Если у вас нет нормального заземления, экранированный кабель лучше не использовать, он будет работать хуже неэкранированного.
Сигналы SCL и SDA нельзя подключать к одной паре (перевивать друг с другом). Лучше их подключать так, как сделано в разъеме RJ45 нашего настенного датчика. Также отмечу, что всё сказанное про длину 80 метров справедливо только для наших комбинированных датчиков. В них предпринят ряд мер для устойчивой работы на длинных линиях. Отдельные сенсоры на маленьких платках вряд ли будут работать далее 20-30 метров, несмотря ни на какие подтяжки.
При производстве датчиков в них установлены подтяжки по линиям SCL и SDA в 4,7кОм. Плюс в контроллере и в моноблоке по цифровым портам есть подтяжки в 10кОм, за исключением портов Р36 и Р37 (к которым вообще длинные кабели лучше не подключать, за исключением именно аналоговых датчиков). Этого обычно хватает для 40-50 метров витой пары, но, если у вас не очень хороший кабель, большая длина, или рядом проложены другие кабели, создающие помехи, то подтяжки может не хватить. Её можно увеличивать примерно до 1,5кОм суммарно (посчитайте калькулятором параллельных резисторов), меньше не имеет смысла.
Причём, установленные на производстве подтяжки позволяют датчикам работать на сколь угодно коротком кабеле, если вы увеличиваете подтяжку, то датчик сможет работать только от длины примерно 10 метров и более.
Блок MegaD-14IN позволяет регулировать подтяжку, не прибегая к паяльнику или внешним резисторам. Если у вас моноблок, или вы хотите подключиться к цифровым портам контроллера без блока MegaD-14IN, процедура нижеследующая.
Чтобы увеличить подтяжку на MegaD-WallMount-Sensor, нужно на красной платке с сенсором HTU21D замкнуть контактную площадку (все три контакта, обведённые белым овалом) каплей припоя. Это добавит резисторы подтяжки 4,7кОм к каждой линии. Суммарно получится 1,9кОм.
MegaD-Outdoor-Sensor не имеет штатной опции увеличения подтяжки, но он, обычно, в этом не нуждается. Пайка внутри датчика исключена, он залит. Можно сделать так. Берёте два обычных выводных резистора номиналом от 2 до 5кОм, затягиваете их в термоусадку, чтобы торчали только выводы, с каждой стороны по 5-7мм. Один конец этих резисторов зажимаете в клемму +3,3В, другие - в клеммы SDA и SCL, к которым подключен MegaD-Outdoor-Sensor. В моноблоке в этом случае для удобства лучше его подключать к портам Р43 и Р44.
Остаётся добавить, что шина I2C работает по обеим фронтам, а шина 1-WIRE только по передним. В связи с этим, увеличение подтяжки для датчиков MAX31820 (DS18B20) помогает, но не так выраженно. как в сенсорах I2C. Несмотря на то, что для 1-WIRE заявлена значительно большая длина. Для того, чтобы её достичь, нужно надёжное питание (лучше преобразование в точке датчика) и так называемая активная подтяжка, которая «тянет» передние фронты сигналов.
— d.v.ermakov » 10 ноя 2020, 19:24
Кстати, про конфигурацию I2C с несколькими сенсорами (как в наших комбинированных датчиках) в веб-интерфейсе Меги. Мне видится удобным сконфигурировать такой порт, как порт сенсора HTU21D. Тогда при входе на страницу порта сразу видна температура и влажность. Затем, перейдя по ссылке «I2C Scan», видите весь список сенсоров, и при щелчке на нужный - видны его показания.
При этом команды опроса сенсоров с сервера те же самые (в pt= и scl= поставить свои номера портов sda и scl):
# Отображение влажности (HTU21D/Si7021) http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d # Отображение температуры (HTU21D) http://192.168.0.14/sec/?pt=35&scl=34&i2c_dev=htu21d&i2c_par=1 # Отображение освещенности (MAX44009) http://192.168.0.14/sec/?pt=30&scl=31&i2c_dev=max44009— d.v.ermakov » 30 сен 2019, 14:05
Вопрос
Сколько надо провода на подключение датчиков WMSensor + 2 опции 1 шт, WMSensor + 1 опция 1 шт и ОSensor 1-2 шт)?
Ответ
1 - SCL (общий),
2 - +12 вольт (общий),
3 - -12 вольт (общий),
4 - ИК-передатчик (общий),
5-7 - SDA (3 штуки),
8,9 - PIR-датчики движения (2 штуки),
10 - ADC-датчик шума (1 штука).
Итого 10 проводов, если три датчика.
Если будет ещё один наружный датчик, то добавится один провод (его SDA).