DS18B20 пропадает датчик

Ответить
SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

DS18B20 пропадает датчик

#1

Сообщение SerOv » 08.02.2021{, 18:07}

Здравствуйте! Была необходимость замерять температуру земли на глубине в несколько точках. Для этого были подключено 5 датчиков DS1820 на ESP8266 на D4. Все прекрасно работало примерно месяц. Затем один датчик, стал показывать, постоянно одно и тоже странное значения. Решил заменить все 5 датчиков, так как они было встроены в трубку и залиты герметиком.
И опять примерно через месяц. Один датчик, стал показывать странные значения. Я разобрал первую трубку и вытащил от туда все 5 датчиков DS1820. Через программу FLprog. Проверять по очереди, все пять датчиков. Все они дали нормальные показания температуры. Такое ощущение, что после месяца работы. Один из датчиков перестал определяться.
Почему так происходит?
Может быть кто ни будь в курсе почему так?
Как заставить работать все датчики правильно?
Подключил вот по этой схеме 5 датчиков
СпойлерПоказать
ds18b20.jpg
Последний раз редактировалось SerOv 08.02.2021{, 18:19}, всего редактировалось 1 раз.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

SD1820 пропадает датчик

#2

Сообщение nalnik » 08.02.2021{, 18:12}

Думаю что для пяти датчиков 4.7к многовато при питании 3.3v - 3.0к попробуйте или меньше
Я хочу быть добрее, но люди сами нарываются.

SerOv
Лейтенант
Сообщения: 569
Зарегистрирован: 06.01.2018{, 19:50}
Репутация: 26

SD1820 пропадает датчик

#3

Сообщение SerOv » 08.02.2021{, 18:22}

nalnik писал(а):
08.02.2021{, 18:12}
Думаю что для пяти датчиков 4.7к многовато при питании 3.3v - 3.0к попробуйте или меньше
А это сопротивление как то рассчитывается?
Есть какая то зависимость, от количества датчиков?

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25.01.2018{, 22:23}
Репутация: 95
Откуда: Bukovyna
Имя: Василий

DS18B20 пропадает датчик

#4

Сообщение Labu559 » 09.02.2021{, 00:04}

SerOv писал(а):
08.02.2021{, 18:22}
А это сопротивление как то рассчитывается?
Есть какая то зависимость, от количества датчиков?
Здравствуйте! Ваш интерес приятно удивил, потому как очень немногих ардуинщиков и тем более пользователей программы "волнуют глубинные процессы", потому не пожалею времени для объяcнения, посмотрим на сколько небесполезного. :)
Для расчёта сопротивления подтягивающего резистора необходимо знать суммарную емкость линии связи (кабеля + входных/выходных цепей датчик_а_ов и МК), которые вместе образуют RC-цепь. Так как 1-Wire- времязависимая шина, то необходимо обеспечить скорость нарастания/спада логического уровня сигнала
за t const < 14 uSec (см. Figure 16)Показать
DS18B20PullUp.png
Пример и данные для расчёта:
Витая пара типовая емкость - 1pF/дюйм или 394pF/п.метр
Емкость входа(I/O) AVR MCU ATMega328P - 20 pF; (для ESP- смотрим её Datasheet, для платы будет больше)
Емкость входа (вывода) DS18B20 Capacitance Cin/out - 25 pF; (смотрим Datasheet DS18B20)
Напряжение переключения логического уровня (HIGH) для (см. таблицу 30-28, под спойлером):
Vcc=5,0V - 2.6 V;
Vcc=3,3V - 1.8 V;
Vcc=3,0V - 1.6 V;
Применяем формулу: Vcap = Vcc * (1- e ^ (- tconst / R * C))

В итоге: зарядить емкость RC-цепи (достичь переключения в высокий логический уровень), при:
R= 4.7kOhm (PULLUP Resistor) + сопротивление жил кабеля (здесь пренебрегаем)
C= 3940+20+(5*25)= 4 085pF (для 10 п.м. витой пары, AVR MCU и 5-и датчиков DS18B20)
до 55% от Vcc= 3.3V это 100%; Vcap= 1.8V это 55%;
получиться за 0.0148 mSec (14,8 uSec), при необходимом tconst меньше 0,014 mSec, или <14 uSec., а значит нужно уменьшить R из-за увеличения емкости за счёт линии и колличества датчиков и ув. nalnik дал резонный совет.

Калькулятор расчёта постоянной времени RC-цепи - здесь.
Руководство по построению протяжённых линий/сетей для 1-Wire здесь.
Внимание! Приобретая датчики DS18B20 обязательно убедитесь что Вам не подсунули DS18B20-PAR, которые предназначены исключительно для применения по схеме с паразитным питанием, т.е. ножка 3 датчика внутри уже заземлена!!! А у кого проблемы с датчиком проверьте отсутствие в маркировке указанных символов -PAR. Китайцы последнее время шлют их.
Для информации: Существует библиотека OneWireNoResistor для применения устройств на 1-Wire (в т.ч. DS18B20) без внешнего резистора (применяется внутренняя подтяжка МК ~60 kOhm и соответственно увеличены временные интервалы- timeslots).

Удачи!
Вложения
DS18B20-PAR.pdf
(221.6 КБ) 37 скачиваний

Ответить

Вернуться в «Помогите, а то я "нимагу"»