Предлагаемые значения подтягивающих резисторов для 1-проводной сети

Я пытаюсь подключить 6 датчиков температуры DS18B20 к выводу GPIO Arduino по топологии, которая выглядит примерно так:

Концептуально это звездообразная сеть с двумя звездообразными подсетями.

Контакт GPIO на плате Arduino подключен к точке «E». через 4-дюймовый провод, разъем JST и еще один 4-дюймовый провод.

Три провода (показаны зеленым), соединяющие датчики "A", "B" и "C" в точку «D»; имеют длину примерно 3 фута (и на самом деле это оригинальные провода длиной около 1 метра, которые были предварительно подключены к датчикам, когда я их купил). Сегмент ED имеет длину ~4 фута.

Три провода (показаны синим цветом), соединяющие датчики "G", "H" и "I " указать «F»; имеют длину примерно 20-30 футов (включая оригинальные 3-футовые провода, прикрепленные к датчикам, когда я их купил). Сегмент EF имеет длину ~8 футов.

Никаких паразитных сил не задействовано. У каждого DS18b20 есть 3 провода... +5 В (вероятно, ближе к 4,5 В к тому времени, когда он доберется до G/H/I), земля и 1-провод данных.

Итак... куда бы ВЫ порекомендовали поставить резисторы (не стесняйтесь описывать точки, кроме тех, которые я обозначил буквами), и какие номиналы вы бы использовали?

И... не будет ли на самом деле лучше использовать четвертый (в настоящее время неиспользуемый) провод в кабелях, соединяющих G, H и I с F, в качестве «обратного провода». ', чтобы превратить его в гораздо более длинную последовательную цепочку (E в F, F в G, G обратно в F, F в H, H обратно в F, F в I) или во что-то еще более радикальное (скажем, ED, DA, AD, DB, BD, DC, CD, DE, затем продолжение последовательной цепочки с EF, как описано ранее)?

Что бы это ни стоило, в настоящее время у меня есть один подтягивающий резистор 4,7 кОм, расположенный в точке «E», и он, кажется, работает... но после прочтения заметки Максима о приложении "Построение надежных длинных сетей 1-wire" (примечание 148), я чувствую, что это не должно работать, и что я действительно должен сделать что-то более сложное ради долговременного термин надежность.

, 👍1

Обсуждение

«Где бы ВЫ порекомендовали разместить резисторы?» ... этот вопрос ищет мнение, которое здесь не по теме ... возможно, спросите: «Каково оптимальное место для резистора?», @jsotola

Можете ли вы добавить ссылку на ту заметку о приложении, которую вы упомянули? *Я бы* поставил одно подтягивание на мастера, но я не знаю, что предлагает Максим..., @Sim Son

Я думаю, что 4,5 В достаточно, если вы не испытываете показания «85000». Однажды я использовал 3,3 В и начал получать сообщение об ошибке «85000», если линия питания зашумлена., @hcheung

Добавлена ссылка на AN148, @Bitbang3r


1 ответ


1

У меня есть линейная сеть с тремя термосами примерно в 5, 20 и 40-50 футах от микро (5 В '328p), а также с паразитным питанием. Физическая шина представляет собой витую пару из кабеля Cat-5. Подтягивание на плате процессора составляет 4,7 кОм.

Я тестировал эту сеть, используя 3,3 В 328p, и она оказалась не такой надежной, но уменьшение подтяжки до 2,2 К (IIRC) помогло исправить ситуацию.

Я нашел примечание 148 к приложению Maxim, "Рекомендации по созданию надежных сетей 1-Wire" чтобы быть очень полезным, и я всегда отвечаю на вопросы о сети 1-wire.

,