Почему получается ноль градусов на NodeMcu V3 + DS18B20?

ask1
Offline
Зарегистрирован: 16.01.2020

Плата NodeMCU v3, к ней подключен DS18B20. Вдруг начинает глючить и периодически выдавать ноль градусов, хотя в действительности на улице минусовая температура. Глюки идут пачками, потом правильная темература, потом снова несколько нулевых значений. Такое поведение нерегулярное. Было несколько дней назад, длилось минут 10-15, сегодня повторяется, длительность уже около четырех часов, до этого несколько дней никаких проблем не было. NodeMCU выгружает еще и напряжение, оно стабильное, не знаю, чем он его измеряет, но значение 2.93-2.94 вольта. Всегда.

Какие могут быть причины? Никто не ходит, провода не теребит. Питание от БП SonyEricsson (ему лет девять уже, но его особо не гоняли) настоящего, с телефоном, на нем написано, что выдает 5В 850мА, чего точно должно хватать. Висит в коробке рядом с трубой отопления, внутри тепло, но не горячо. Сам DS18B20 выведен на улицу через окно, провод зажат между створками. Если перебило провод могут быть такие эффекты? Почему так редко и кучно?

rkit
Offline
Зарегистрирован: 23.11.2016

Поддельные китайские датчики, дерьмовая китайская плата, дохлый блок питания, "не знаю чем измеряет напряжение", нет ни схемы ни кода.

ask1
Offline
Зарегистрирован: 16.01.2020

rkit пишет:

Поддельные китайские датчики, дерьмовая китайская плата, дохлый блок питания, "не знаю чем измеряет напряжение", нет ни схемы ни кода.

Кода нет из-за прошивки wifi-iot, схема супер-обычная - датчик DS18B20 подключен к земле, к D4, к 3.3В, между плюсом и D4 резистор 4.7K, к RX и TX подключен экран на четыре символа на TM1637.

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

ask1 пишет:

Если перебило провод могут быть такие эффекты?

Могут. CRC при "нулях" совпадёт. Добавь в код проверку присутствия датчика на шине (при сбросе он прижимает шину на время) и будет тебе счастье.

ask1
Offline
Зарегистрирован: 16.01.2020

Проверку добавить не могу. Но хотя бы стало более понятно. Спасибо.