skilful 0 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба Здравствуйте. Необходимо подрубить несколько (в районе 5 шт.) датчиков температуры ds18b20 к МК (система отопления). Однако возник вопрос в ходе гугления. Народ пишет, что топология звезда не применима и при общей шине максимальная длина отвода не больше 30 см. Неоходимо использовать UTP кабель. Дополнительно вешают кондеры у каждого датчика и т.д. Если не соблюдать эти требования, то все начинает сбоить и датчики шлют черти что. В общем сильно отличается от красивости в даташите на 18b20. Кто уже делал такое дело? Может даже лучше 1 датчик = 1 нога микроконтроллера стыковать? Какие подводные камни? Что посоветуете по реализации для надежности? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 28 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 21 минуту назад, skilful сказал: Что посоветуете по реализации для надежности? Для начала отказаться от идеи что длинная линия плюс открытый коллектор может как то равняться надёжности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
skilful 0 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 14 minutes ago, MegaVolt said: Для начала отказаться от идеи что длинная линия плюс открытый коллектор может как то равняться надёжности. ну 50 метров не смогу победить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба Делал около сотни датчиков на 300 метров кабеля. У Максима есть довольно подробная статья (и еще одна) на эту тему. Использовал витую пару, по трем парам проводов подавал питание (параллельно, чтобы уменьшить потери), по одной - сигнал (естественно, один провод пары был сигналом, второй-землей). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 39 минут назад, Сергей Борщ сказал: Делал около сотни датчиков на 300 метров кабеля. У Максима есть довольно подробная статья (и еще одна) на эту тему. Использовал витую пару, по трем парам проводов подавал питание (параллельно, чтобы уменьшить потери), по одной - сигнал (естественно, один провод пары был сигналом, второй-землей). Хех! А можно было по 4-м передавать. :) А данные передавать током по питанию изменяя ток потребления устройств (коммутируя на передатчике питание ключом на малое сопротивление). Так будет надёжно. :) 1 час назад, skilful сказал: Кто уже делал такое дело? Может даже лучше 1 датчик = 1 нога микроконтроллера стыковать? Да. Добавить к каждому датчику самый дешёвый МК. А уже с него передавать любым помехоустойчивым способом. Например - токовой петлёй. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 14 минут назад, jcxz сказал: Хех! А можно было по 4-м передавать. :) Передавайте, кто ж запрещает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба Цитата Народ пишет, что топология звезда не применима и при общей шине максимальная длина отвода не больше 30 см. "Шина" и "звезда" совершенно разные топологии. Делал шину из одного датчика на 100 метров, но нужен резистор на 1 кОм между VCC и DQ. Делал шину метров на 5 на 9 датчиков - работало без каких-либо особенностей. Цитата Если не соблюдать эти требования, то все начинает сбоить и датчики шлют черти что. Если датчики дешевые с АлиЭкспресса, то сбоить будет и в идеальных условиях. Цитата Что посоветуете по реализации для надежности? Подтяжку DQ вверх на конце линии в районе датчика. Осциллографом проконтролировать форму сигналов. Закупать оригинальные датчики. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 2 hours ago, jcxz said: Да. Добавить к каждому датчику самый дешёвый МК. А уже с него передавать любым помехоустойчивым способом. Например - токовой петлёй. Именно так и делал, но не по токовой петле, а по RS485. Работало очень долго (лет 10) и надежно, пока система не утратила актуальности и не была демонтирована ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 235 21 октября, 2018 Опубликовано 21 октября, 2018 · Жалоба 2 часа назад, kovigor сказал: пока система не утратила актуальности и не была демонтирована ... Вследствие глобального потепления? :-D Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба Ну и по опыту. Делали десяток датчиков на сотне метров витой пары. Питание паразитное, никаких конденсаторов. 1. Посмотреть осциллографом на фронты и выбрать подтягивающий резистор, обеспечивающий фронты. 2. Температуру считывать несколько раз и если несколько отсчетов совпадут, принимаем решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба Цитата Температуру считывать несколько раз и если несколько отсчетов совпадут, принимаем решение. Дык, CRC не должно совпадать при сбоях на линии. И пакеты с неверной CRC должны отбрасываться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sgs 0 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба Абсолютно правильные рекомендации дал Сергей Борщ. На длинных линиях с большой емкостью проводов нужно ставить специальные драйверы с активной "1". У Максима есть несколько таких драйверов. Активную подтяжку можно сделать программно на дискретных элементах. Реально получается прокачать линию до 15 нФ (300 метров витой пары). Дальше сказываются малые выходные токи датчиков. Но если и со стороны датчиков ставить драйверы или контроллеры - тогда стоит подумать о другом интерфейсе, хотя бы RS485... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wim 6 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба Не понимаю, зачем в наше время нужен этот садомазохизм с 1-wire? Есть же современное и недорогое средство - однопроводной UART. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Михась 2 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба 7 hours ago, adnega said: Дык, CRC не должно совпадать при сбоях на линии. И пакеты с неверной CRC должны отбрасываться. Есть проблемы с конверсией видимо, при этом CRC совпадает, но температура будет считана +85С. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 22 октября, 2018 Опубликовано 22 октября, 2018 · Жалоба 9 минут назад, Михась сказал: Есть проблемы с конверсией видимо, при этом CRC совпадает, но температура будет считана +85С. Ааа. Была такая тема. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться