Вынос датчиков на большое расстояние. Правильное заземление.
Вынос датчиков на большое расстояние. Правильное заземление.
Коллеги, всем привет!
Все же хотел бы разобраться и подвести итог по вопросу как правильно подключать различные датчики, которые выносятся от контроллера (не обязательно MegaD) на сравнительно большое расстояние. Итак, примем несколько условностей:
1. Большое расстояние для выноса датчиков - это расстояние свыше 10 м.
Примечание. По моему опыту I2C датчики стабильно работают при длине линии до 12 м (одна витая пара для SCL/SDA). Качественные DS18B20 с паразитным питанием и стандартной подтяжкой MegaD работают на расстоянии до 12 м.
2. Кабель. Самый универсальный - это витая пара Cat5 2х2х0,5 кв.мм или 2х4х0,5 кв.мм. Не экранированная витая пара (почему - см.источник 1)!
Примечание для новичков - бывает настоящая медная (лучше всего использовать ее), а бывает омедненная (внутри стальная или алюминиевая жила, снаружи медь) витая пара. Использовать лучше только медную пару, а для POE - только медь! Все недостатки омедненки описаны, например, тут.
Поскольку я еще не выпустил в продакшн свой "универсальный" датчик, то хотел бы разобраться - как лучше всего расключить посредством витой пары датчики, которые будут на будущей плате. План минимум по датчикам - это HTU21D, SSD1306 по I2C, DS18B20 по 1W и вспомогательная кнопка для управления выводом информации на OLED. Чтобы не было вопросов - DS18B20 у меня стоят в 14-ти зонах ТП и завязаны на функционал "удаленный термостат" MegaD.
Прототип моего "универсального" датчика можно посмотреть тут - https://www.ab-log.ru/forum/viewtopic.p ... 180#p28728
Почитав различные статьи и имея опыт по звуковым цепям аудиотехники (там действительно много ньюансов чтобы высокочувствительная акустика не "шипела") я пришел к двум схемам подключения датчиков (тут показано как витая пара оканчивается на плате датчика): К слову - Вариант 2 у меня работает уже пару лет, но возникают баги:
1. Ранее температура на OLED отображалась средствами контроллера MegaD. Нажимал кнопку - значение высвечивалось на 10 секунд и экран гас. В какой-то момент при нажатии кнопки значения температуры перестали появляться на OLED и это решалось перезагрузкой (соответственно происходила переинициализация дисплея) контроллера. Поскольку плата прототипа подключена к витой паре посредством RJ-45, то я в какой-то момент "обновил" соединение и дисплей стал работать как надо.
2. Недавно сделал, что по нажатию вспомогательной кнопки сервер отправляет на контроллер данные, которые необходимо вывести на дисплей. Однако не системно OLED стал снова виснуть и пока я в причинах этого не разобрался.
Эти баги и баги с другими контроллерами, к которым подключены длинные шины с датчиками, заставили задуматься как же стоит правильно подключать датчики к контроллерам именно проводочками витой пары Cat5. Переосмыслив Вариант 2, решил что Вариант 1 более предпочтителен. Но хочу услышать мнение гуру.
Все же хотел бы разобраться и подвести итог по вопросу как правильно подключать различные датчики, которые выносятся от контроллера (не обязательно MegaD) на сравнительно большое расстояние. Итак, примем несколько условностей:
1. Большое расстояние для выноса датчиков - это расстояние свыше 10 м.
Примечание. По моему опыту I2C датчики стабильно работают при длине линии до 12 м (одна витая пара для SCL/SDA). Качественные DS18B20 с паразитным питанием и стандартной подтяжкой MegaD работают на расстоянии до 12 м.
2. Кабель. Самый универсальный - это витая пара Cat5 2х2х0,5 кв.мм или 2х4х0,5 кв.мм. Не экранированная витая пара (почему - см.источник 1)!
Примечание для новичков - бывает настоящая медная (лучше всего использовать ее), а бывает омедненная (внутри стальная или алюминиевая жила, снаружи медь) витая пара. Использовать лучше только медную пару, а для POE - только медь! Все недостатки омедненки описаны, например, тут.
Поскольку я еще не выпустил в продакшн свой "универсальный" датчик, то хотел бы разобраться - как лучше всего расключить посредством витой пары датчики, которые будут на будущей плате. План минимум по датчикам - это HTU21D, SSD1306 по I2C, DS18B20 по 1W и вспомогательная кнопка для управления выводом информации на OLED. Чтобы не было вопросов - DS18B20 у меня стоят в 14-ти зонах ТП и завязаны на функционал "удаленный термостат" MegaD.
Прототип моего "универсального" датчика можно посмотреть тут - https://www.ab-log.ru/forum/viewtopic.p ... 180#p28728
Почитав различные статьи и имея опыт по звуковым цепям аудиотехники (там действительно много ньюансов чтобы высокочувствительная акустика не "шипела") я пришел к двум схемам подключения датчиков (тут показано как витая пара оканчивается на плате датчика): К слову - Вариант 2 у меня работает уже пару лет, но возникают баги:
1. Ранее температура на OLED отображалась средствами контроллера MegaD. Нажимал кнопку - значение высвечивалось на 10 секунд и экран гас. В какой-то момент при нажатии кнопки значения температуры перестали появляться на OLED и это решалось перезагрузкой (соответственно происходила переинициализация дисплея) контроллера. Поскольку плата прототипа подключена к витой паре посредством RJ-45, то я в какой-то момент "обновил" соединение и дисплей стал работать как надо.
2. Недавно сделал, что по нажатию вспомогательной кнопки сервер отправляет на контроллер данные, которые необходимо вывести на дисплей. Однако не системно OLED стал снова виснуть и пока я в причинах этого не разобрался.
Эти баги и баги с другими контроллерами, к которым подключены длинные шины с датчиками, заставили задуматься как же стоит правильно подключать датчики к контроллерам именно проводочками витой пары Cat5. Переосмыслив Вариант 2, решил что Вариант 1 более предпочтителен. Но хочу услышать мнение гуру.
Последний раз редактировалось Alex_Jet 15 фев 2019, 09:58, всего редактировалось 2 раза.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Собрал источники, которыми "вдохновлялся". Может быть кому-нибудь будет полезно:
1. https://obrazki.elektroda.pl/2856105200_1451749662.jpg
2. https://www.maximintegrated.com/en/app- ... mvp/id/148
3. http://mk90.blogspot.com/2011/04/1-wire.html
Третья статья весьма спорная и мне очень не понравилась вот эта часть
В моей схеме где изображаю как подключены 3 шт. DS18B20 для использования функционала "локальный термостат" MegaD и 2 шт. DS18B20 на шине 1WB есть ошибка, которая приводит к земляной петле. Чтобы ее избежать необходимо не подключать к GND контроллера бел.-кор. жилу витой пары.
1. https://obrazki.elektroda.pl/2856105200_1451749662.jpg
2. https://www.maximintegrated.com/en/app- ... mvp/id/148
3. http://mk90.blogspot.com/2011/04/1-wire.html
Третья статья весьма спорная и мне очень не понравилась вот эта часть
В той особенности, что DS18B20 при 3-х проводном подключении в активном состоянии потребляет 1,5мА. А поскольку он может работать в диапазоне +3,0...5,5В, то чтобы с 5В на входе линии напряжение на датчике упало хотя бы до 3,3В нужна длина сегмента минимум 6000м (туда и обратно 12000 м, если учитывать сопротивление жилы 9,38 Ом/100м)! И почему автор не произвел элементарных расчетов по закону Ома? Конечно, если подключены 2 и более датчиков или датчики, потребляющие от 10 мА, то расстояние снижается, но не так критично как описывает автор этого опуса.Самой распространенной ошибкой при построении сети 1-Wire является выбор в пользу Ethernet-кабеля Cat.5...
...из-за значительного падения напряжения на длинных и весьма тонких проводах кабеля Cat.5e датчику сети 1-Wire банально не хватает напряжения питания
В моей схеме где изображаю как подключены 3 шт. DS18B20 для использования функционала "локальный термостат" MegaD и 2 шт. DS18B20 на шине 1WB есть ошибка, которая приводит к земляной петле. Чтобы ее избежать необходимо не подключать к GND контроллера бел.-кор. жилу витой пары.
Последний раз редактировалось Alex_Jet 15 фев 2019, 09:54, всего редактировалось 1 раз.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Еще момент по схеме Варианта 1. По моему Erik озвучивал, что таким образом из бел.зел. и бел.син. жил получается "антенна", однако мой опыт с аудиотехникой говорит, что подключать экран нужно только с одной стороны, причем с той где земля лучше! То есть лучше непосредственно к минусовой клемме БП, которым питается данный контроллер.
Если кто-то может доказать иное, то милости прошу. У самого сейчас нет возможности повозиться с осциллографом и сделать нужные эпюры.
Также, конечно же на самой плате нужны дополнительные электролиты и пленка. А также керамика между Vdd и Gnd DS18B20, еще может быть шоттки, но мне не нужно покрывать расстояние больше 20 м. У датчиков I2C (планируется использовать готовые платы) скорее всего и пленка, и керамика уже есть.
Если кто-то может доказать иное, то милости прошу. У самого сейчас нет возможности повозиться с осциллографом и сделать нужные эпюры.
Также, конечно же на самой плате нужны дополнительные электролиты и пленка. А также керамика между Vdd и Gnd DS18B20, еще может быть шоттки, но мне не нужно покрывать расстояние больше 20 м. У датчиков I2C (планируется использовать готовые платы) скорее всего и пленка, и керамика уже есть.
-
- Администратор
- Сообщения: 2194
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Честно говоря, не могу себя считать экспертом в этом вопросе, образования не хватает. Но, я бы каждую сигнальную линию пускал бы в отдельной паре с землёй и подключал бы эту землю только возле контроллера/БП. А питание по отдельной паре (лучше двум, и взаимно не свивая). Про конденсаторы, шоттки и стабилитроны согласен с вами и статьями.
Про Cat5 в третьей статье, конечно, перегиб. Но, из практики, часто падает напряжение (при значительных токах) на разъёмах 8Р8С (или 6Р6С и т.д.), особенно со временем. Даже с 12В бывают проблемы. Стараюсь их в таких местах не ставить. Применяю либо винтовые либо хорошие пружинные клеммы.
Это всё тема про то, что не стоит экономить кабель, пока штробы открыты.
Про Cat5 в третьей статье, конечно, перегиб. Но, из практики, часто падает напряжение (при значительных токах) на разъёмах 8Р8С (или 6Р6С и т.д.), особенно со временем. Даже с 12В бывают проблемы. Стараюсь их в таких местах не ставить. Применяю либо винтовые либо хорошие пружинные клеммы.
Это всё тема про то, что не стоит экономить кабель, пока штробы открыты.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Да, я уже баг с 8Р8С описал. А что конкретно применяете если надо это установить на плату? Я вот прикупил 8P8C вертикальные, но крепко задумываюсь - стоит ли их юзать? Поскольку проблема уже была. Про питание немного не понял - можно поподробнее?d.v.ermakov писал(а): ↑15 фев 2019, 12:03Честно говоря, не могу себя считать экспертом в этом вопросе, образования не хватает. Но, я бы каждую сигнальную линию пускал бы в отдельной паре с землёй и подключал бы эту землю только возле контроллера/БП. А питание по отдельной паре (лучше двум, и взаимно не свивая). Про конденсаторы, шоттки и стабилитроны согласен с вами и статьями.
Про Cat5 в третьей статье, конечно, перегиб. Но, из практики, часто падает напряжение (при значительных токах) на разъёмах 8Р8С (или 6Р6С и т.д.), особенно со временем. Даже с 12В бывают проблемы. Стараюсь их в таких местах не ставить. Применяю либо винтовые либо хорошие пружинные клеммы.
Это всё тема про то, что не стоит экономить кабель, пока штробы открыты.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Витая пара оптимизирована для дифференциальных сигналов, мне кажется использование второго проводника как экрана идея какая-то сомнительная в плане полезности. Могу сказать как у меня сделано - сначала сделал, а потом прочитал, что так работать не должноAlex_Jet писал(а): ↑15 фев 2019, 09:49Еще момент по схеме Варианта 1. По моему Erik озвучивал, что таким образом из бел.зел. и бел.син. жил получается "антенна", однако мой опыт с аудиотехникой говорит, что подключать экран нужно только с одной стороны, причем с той где земля лучше! То есть лучше непосредственно к минусовой клемме БП, которым питается данный контроллер.
Если кто-то может доказать иное, то милости прошу. У самого сейчас нет возможности повозиться с осциллографом и сделать нужные эпюры.
Также, конечно же на самой плате нужны дополнительные электролиты и пленка. А также керамика между Vdd и Gnd DS18B20, еще может быть шоттки, но мне не нужно покрывать расстояние больше 20 м. У датчиков I2C (планируется использовать готовые платы) скорее всего и пленка, и керамика уже есть.
Витая пара 6кат 23AWG
БЗ SDA
З SCL
БО 3.3В от Меги
О общий рядом с 3.3В от Меги
подключены звездой(!!!) 4 датчика I2C на общий SCL и отдельные SDA, длины кабеля 10, 10, 7 и 12 метров. Больше года работает стабильно.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
На самом деле смысл свитых косичкой проводников недооценен...в аудиотехнике некоторые дотошные люди делают межблочные кабели из витухи правда косичка вьется особым образом. Конечно в дифференциальном сигнале это наиболее выгодно, но и для обычного сигнала второй проводник, подключенный к хорошей земле является частью экрана, а значит проводник с полезным сигналом меньше подвержен различным "наводкам". Таким образом в Cat6 экран получается еще лучше из-за большего количества витков.Burst писал(а): ↑15 фев 2019, 12:20Витая пара оптимизирована для дифференциальных сигналов, мне кажется использование второго проводника как экрана идея какая-то сомнительная в плане полезности. Могу сказать как у меня сделано - сначала сделал, а потом прочитал, что так работать не должно
Витая пара 6кат 23AWG
БЗ SDA
З SCL
БО 3.3В от Меги
О общий рядом с 3.3В от Меги
подключены звездой(!!!) 4 датчика I2C на общий SCL и отдельные SDA, длины кабеля 10, 10, 7 и 12 метров. Больше года работает стабильно.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Я предлагал буквально следующееAlex_Jet писал(а): ↑15 фев 2019, 09:49Еще момент по схеме Варианта 1. По моему Erik озвучивал, что таким образом из бел.зел. и бел.син. жил получается "антенна", однако мой опыт с аудиотехникой говорит, что подключать экран нужно только с одной стороны, причем с той где земля лучше! То есть лучше непосредственно к минусовой клемме БП, которым питается данный контроллер.
Если кто-то может доказать иное, то милости прошу. У самого сейчас нет возможности повозиться с осциллографом и сделать нужные эпюры.
Также, конечно же на самой плате нужны дополнительные электролиты и пленка. А также керамика между Vdd и Gnd DS18B20, еще может быть шоттки, но мне не нужно покрывать расстояние больше 20 м. У датчиков I2C (планируется использовать готовые платы) скорее всего и пленка, и керамика уже есть.
Суть предложения - подать землю максимально возможным сечением как можно ближе к каждому датчику шиной.
ПРо экран, не помню, чтобы я что-то говорил. Но.
Если вы доведете шиной заземление до обоих сторон вашего "экрана", то вам будет все равно, со скольких сторон его подключать. Если он подключается к одной и той же шине - заземление "экрана магистрали" с двух сторон призвано сократить длины заземляющих соединений у подключенных к магистрали устройств.
А в классическом случае - компьютере и лвс на экранированном кабеле - заземление с трех точек происходит. Первая точка - сетевое оборудование, которое заземляется через кабель питания или отдельным заземлителем. Которое экранированными пачкордами соединяется с второй точкой заземления - экранированной пачпанелью (объединяя земли точек). Вторая точка - экранированная патчпанель. Которая обязательно заземляется и заземляет оплетки кабелей лвс. Третья точка - компьютер. Который заземляется через кабель питания. Который экранированным пачкордом соединяется с экранированной ЛВС, заземленной в пачпанели и сетевом оборудовании. В нормально работающей системе эти 3 точки заземления должны быть на общей шине. Иначе будут проблемы.
Последний раз редактировалось Erik 15 фев 2019, 13:40, всего редактировалось 1 раз.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
КМК самое правильное - тянуть к каждому датчику свою землю отдельным проводом в составе UTP, но из одной точки (например от блока питания Меги - к нему можно сделать мини-шину), тогда это место будет точкой выравнивания потенциалов и взаимные помехи от датчиков по земле снизятся.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Извините, но это бессмысленно.Burst писал(а): ↑15 фев 2019, 13:21КМК самое правильное - тянуть к каждому датчику свою землю отдельным проводом в составе UTP, но из одной точки (например от блока питания Меги - к нему можно сделать мини-шину), тогда это место будет точкой выравнивания потенциалов и взаимные помехи от датчиков по земле снизятся.
Мега и так "шина", в ней все земляные контакты объединены.
Но проблема в том, что разница потенциалов набирается из-за длины проводов. Большая длина при салом сечении = падение напряжения = разница потенциалов при разных длинах.
Эту проблему снимает длинная шина. Или общий длинный толстый провод. В котором из-за большого сечения (и соответственно низкого сопротивления) разница потенциалов минимальная. Это способ минимизации проблемы.
А в том, что вы предлагаете нет решения проблемы. Вам лучше тогда было бы и у меги земляные контакты не объединять, а развязать их гальванически.
Последний раз редактировалось Erik 15 фев 2019, 13:44, всего редактировалось 1 раз.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Так это и есть фактически Вариант 1. Кнопке пофигу какую землю использовать. Датчикам I2C - то же, поскольку главное передать SDA/SCL с минимум помех. Вот для DS18B20 - согласен, но его сигнал идет вместе с землей, которая является землей для датчиков I2C. Конечно хотелось бы землю подвести более толстым проводником, но проводников лишних нет. А бел.-зел. и бел.син. уже нельзя использовать дабы не получить земляную петлю, в которой будут бегать электроны, мешающие SDA/SCL.Burst писал(а): ↑15 фев 2019, 13:21КМК самое правильное - тянуть к каждому датчику свою землю отдельным проводом в составе UTP, но из одной точки (например от блока питания Меги - к нему можно сделать мини-шину), тогда это место будет точкой выравнивания потенциалов и взаимные помехи от датчиков по земле снизятся.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Они же в портах меги все равно объединены.
Если их соединить в каждой раздаточной коробке, то между коробками (между точками объединения) ток по проводникам будет распределяться по закону ома. И в разных проводниках между точками не будет возникать разности потенциалов.
Поэтому их объединение равносильно укорачиванию кабеля (приближения меги). и никак не приведет к петле.
Кнопке все равно, какую землю использовать, но если ее земляной кабель послужит увеличению сечения "общей шины" - это плюс.
-
- Администратор
- Сообщения: 2194
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Вынос датчиков на большое расстояние. Правильное заземление.
1) Согласен с Erik и его схемой.
2) to Burst - дифференциальная пара на то и дифференциальная, что сигнал относительно одного проводника относительно другого проводника, в нашем случае земли (или, реже, относительно плюса), и свивать нужно с землёй. Erik прав, если нет другого, толстого проводника с землёй рядом (например, в розетке), то лучше соединять в одной точке. Однако, у нас сигналы, что I2C, что 1wire, не дифференциальные, поэтому проблемы полностью это не решит, но улучшит.
3) to Alex_Jet, про питание. Я имел в виду, что плюс с минусом в одной паре (например оранжевый - плюс, бело-оранжевый - минус) - это хуже, чем О и БО - плюс, К и БК - минус, например. Или, если нет лишних пар, то так, как нарисовал Erik.
4) Разъёмы в плату использую такие, покупаю здесь, они по одному контакту друг в друга собираются, и крышечка с одной стороны нужна.
2) to Burst - дифференциальная пара на то и дифференциальная, что сигнал относительно одного проводника относительно другого проводника, в нашем случае земли (или, реже, относительно плюса), и свивать нужно с землёй. Erik прав, если нет другого, толстого проводника с землёй рядом (например, в розетке), то лучше соединять в одной точке. Однако, у нас сигналы, что I2C, что 1wire, не дифференциальные, поэтому проблемы полностью это не решит, но улучшит.
3) to Alex_Jet, про питание. Я имел в виду, что плюс с минусом в одной паре (например оранжевый - плюс, бело-оранжевый - минус) - это хуже, чем О и БО - плюс, К и БК - минус, например. Или, если нет лишних пар, то так, как нарисовал Erik.
4) Разъёмы в плату использую такие, покупаю здесь, они по одному контакту друг в друга собираются, и крышечка с одной стороны нужна.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Так она не отличается от моей по факту никак...
Мне кажется это реально будет плохо если питание грязное. Иначе никакой разницы не должно быть.d.v.ermakov писал(а): ↑15 фев 2019, 15:293) to Alex_Jet, про питание. Я имел в виду, что плюс с минусом в одной паре (например оранжевый - плюс, бело-оранжевый - минус) - это хуже, чем О и БО - плюс, К и БК - минус, например.
В общем, как будет прототип так попробую зацепится осциллографом и посмотреть фронты SDA/SCL/1W с оторванными БЗ/БС и с запараллелеными с БО.
-
- Администратор
- Сообщения: 2194
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Отличается. Заземлением. И словами о том, что к земле же подключается БЗ и БС. Кстати, лайфхак: чаще всего подключаем корпус/раму щитка (а также некоторые другие вещи) к земле через резистор 1 мегаом.
Я до конца не понимаю, как это работает. Но расскажу историю из жизни.
На одном объекте сбоили все датчики. 1W, I2C, даже аналоговые. Разделил плюс и минус по разным парам - ситуация улучшилась. Правда, потом нашли основную причину - на вводе был перепутан ноль и фаза. А, поскольку ноль до ввода был разделён и выполнял также роль земли (TN-С-S), то по земле во всех помещениях был потенциал сети и везде было приличное электромагнитное поле. Обнаружил, кстати, когда достал прибор для поиска проводки. Он сошёл с ума и показывал проводку во всех точках всех помещений, даже в воздухе.
Последний раз редактировалось d.v.ermakov 15 фев 2019, 18:16, всего редактировалось 2 раза.
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Тогда тем более земляные провода для каждого датчика нужно разделять и использовать попарно с сигнальными, чтобы уменьшить синфазную помеху.d.v.ermakov писал(а): ↑15 фев 2019, 15:292) to Burst - дифференциальная пара на то и дифференциальная, что сигнал относительно одного проводника относительно другого проводника, в нашем случае земли (или, реже, относительно плюса), и свивать нужно с землёй. Erik прав, если нет другого, толстого проводника с землёй рядом (например, в розетке), то лучше соединять в одной точке. Однако, у нас сигналы, что I2C, что 1wire, не дифференциальные, поэтому проблемы полностью это не решит, но улучшит.
-
- Администратор
- Сообщения: 2194
- Зарегистрирован: 29 май 2015, 21:23
- Откуда: Екатеринбург, Нижний Тагил
Re: Вынос датчиков на большое расстояние. Правильное заземление.
Ну и хорошо.
Я уточняю, потому как вы мне приписываете не то, что я говорил.
Схему я предлагал эту
https://frm.intrahouse.ru/viewtopic.php?p=9180#p9180
А про "антенны" я говорил при условии "плохой земли". Это ключевой момент. Про то, с какой стороны заземлять вообще не говорили, насколько я помню.