Страница 1 из 1

I2C дальность/длина линии

Добавлено: 03 янв 2018, 17:33
xsash
У кого есть готовый, рабочий, проект с i2c датчиками - какая у вас длина линий от меги до железок?
И чем трассу кидали?

Думал раскидать по комнатам Bosch BME280, но появился такой вопрос. Где-то пишут 1,5м... где-то 6м

Re: I2C дальность/длина линии

Добавлено: 04 янв 2018, 02:39
Andrey_B
У меня около года без сбоев работает HTU21D, подключенный к контроллеру кабелем UTP длиной 8 метров.
Более того. Около полугода абсолютно без сбоев работает MAX44009, подключенный к контроллеру кабелем UTP длиной около 25 метров.

Re: I2C дальность/длина линии

Добавлено: 04 янв 2018, 20:01
Alex_Jet
Примерно 1,5 месяца без сбоев на одной UTP 5cat работают BME280 и DS18B20, вынесенные на северную стену дома. Длина трассы ~10м, за указанное время сбоев не выявлено - главное обеспечить хороший контакт!

Re: I2C дальность/длина линии

Добавлено: 05 янв 2018, 00:15
xsash
А как расключали? По каким цветовым парам данные, питание... Питание от меги не проседало?
Опять же, спрашиваю исходя из теоретических "знаниях" с англоязычного сегмента.

Нашел момент, где человек использовал один цвет (например бело-оранж + оранж) для SCL + SDA - там его "били по рукам", типа будет наводка и предлагали такую схему (аттач, и там чет дополнительно с 5-ю вольтами мутили), где была пара "SCL + земля" и отдельно пара "SDA + земля"
rj45-pinout2.jpg
rj45-pinout2.jpg (60.33 КБ) 11728 просмотров

Re: I2C дальность/длина линии

Добавлено: 05 янв 2018, 10:28
Alex_Jet
Вообще, все правильно - для каждой сигнальной линии должна быть одна витая пара (второй проводок с одной стороны должен быть подсоединен к GDN). Поскольку в доме у меня уже была расключена одна ~8м UTP полностью (дисплей, HTU21D, DS18B20 и кнопка) следующим образом: питание - бордовый и бело-бордовый, 1-wire - синий и бело-синий, кнопка - оранжевый и бело-оранжевый, I2C - зеленый и бело-зеленый. То и для вывода наружу я использовал такую же схему с тем предположением, что если что-то будет сбоить, то в запасе есть одна витая пара для нормальной защиты SCL и SDA от помех.
По поводу просадки питания - она ничтожна поскольку датчики потребляют миллиамперы! Даже не заморачивался с этим зная исход. Сами посчитайте сопротивление линии и прикиньте на сколько милливольт просядет напряжение.

Я думаю, что если линия растянется хотя бы на 15-20 метров то возможно придется нормально подключать I2C. С питанием скорее всего ничего не надо будет делать если ток потребления будет менее 50мА (падение будет около 0,19В из расчета сопротивления одного проводника UTP 5Cat 9,38Ом на 100м).
Вот если на UTP будете садить 3G/4G модем, тогда питание на него через UTP нужно подавать от 12В БП со step-down преобразователем (12В->5В) около самого модема.