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

Ответить
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

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

Сообщение SerOv »

Здравствуйте! Была необходимость замерять температуру земли на глубине в несколько точках. Для этого были подключено 5 датчиков DS1820 на ESP8266 на D4. Все прекрасно работало примерно месяц. Затем один датчик, стал показывать, постоянно одно и тоже странное значения. Решил заменить все 5 датчиков, так как они было встроены в трубку и залиты герметиком.
И опять примерно через месяц. Один датчик, стал показывать странные значения. Я разобрал первую трубку и вытащил от туда все 5 датчиков DS1820. Через программу FLprog. Проверять по очереди, все пять датчиков. Все они дали нормальные показания температуры. Такое ощущение, что после месяца работы. Один из датчиков перестал определяться.
Почему так происходит?
Может быть кто ни будь в курсе почему так?
Как заставить работать все датчики правильно?
Подключил вот по этой схеме 5 датчиков
[spoiler]
ds18b20.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось SerOv 08 фев 2021, 18:19, всего редактировалось 1 раз.
Аватара пользователя
nalnik
Подполковник
Сообщения: 1320
Зарегистрирован: 14 май 2016, 17:12
Откуда: Кисловодск
Имя: Александр

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

Сообщение nalnik »

Думаю что для пяти датчиков 4.7к многовато при питании 3.3v - 3.0к попробуйте или меньше
Я хочу быть добрее, но люди сами нарываются.
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

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

Сообщение SerOv »

nalnik писал(а): 08 фев 2021, 18:12 Думаю что для пяти датчиков 4.7к многовато при питании 3.3v - 3.0к попробуйте или меньше
А это сопротивление как то рассчитывается?
Есть какая то зависимость, от количества датчиков?
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

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

Сообщение Labu559 »

SerOv писал(а): 08 фев 2021, 18:22 А это сопротивление как то рассчитывается?
Есть какая то зависимость, от количества датчиков?
Здравствуйте! Ваш интерес приятно удивил, потому как очень немногих ардуинщиков и тем более пользователей программы "волнуют глубинные процессы", потому не пожалею времени для объяcнения, посмотрим на сколько небесполезного. :)
Для расчёта сопротивления подтягивающего резистора необходимо знать суммарную емкость линии связи (кабеля + входных/выходных цепей датчик_а_ов и МК), которые вместе образуют RC-цепь. Так как 1-Wire- времязависимая шина, то необходимо обеспечить скорость нарастания/спада логического уровня сигнала [spoiler title=за t const < 14 uSec (см. Figure 16)]
DS18B20PullUp.png
[/spoiler]
Пример и данные для расчёта:
Витая пара типовая емкость - 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 из-за увеличения емкости за счёт линии и колличества датчиков и ув. [ref=#808080]nalnik[/ref] дал резонный совет.

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

Удачи!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей