Здравствуйте
ESP8266 WEMOS D1 mini, передает информацию с DS18B20 на опенмониторинг онлайн, телеграмм бот - через него могу обновлять прошивку, кое-какие настройки менять, отчеты по температуре. Реле на перезагрузку wi-fi роутера, видеорегистратора, подогрев жесткого диска. К MCP23017 (Расширитель на 16 цифровых пинов (ввод-вывод) с интерфейсом i2c) - подключены реле подогрева и видеорегистратора. 2шт INA226 измеряют напряжение и ток от БП и от аккумулятора, есть уведомление об отключении электричества и в этом случае откл подогрев hdd.
Датчиков раньше было 6шт - работали стабильно, но иногда раз в неделю некоторые передавали -1000 и т.п. Передача темп 1 раз в мин. Там где подогрев тоже иногда глючил и передавал 0 или -0,06гр и включал подогрев, программно исключил это.
Решил еще накинуть датчики и тут началось. Иногда эти датчики начинали показывать заоблачные цифры, например -750 и др. Бывало, что все датчики исчезали и 0гр, пока не обесточишь их.
Изучив гитхаб и чуть переделав скетч discover_classify_fake_DS18B20_esp8266 под esp8266 выяснил, что этих датчиков оригиналов уже нет. Последние я использовал уже купленные в другое время. Уверен проблема в них. Они были Family C и подключал я их недалеко от ESP8266
Длина линии около 70м, в конце линии эл. конденсатор 47мкФ, точно не помню. В последних датчиках начал на ножки + - паять керамический 0,1мкФ. Подтягивающий резистор 4,7кОм было, уже 3 шт параллельно = 1,56 кОм. Питание 5в от отдельного DC-DC кабелем 2х0,5. Данные передаются по одножильной 0,2кв, можно еще такой же запараллелить. Тоже точно не помню. Подключение датчиков по 3 пинам. Проблемы начинаются именно с последними подключенными датчиками.
Но 2 шт все таки я поставил Family B2 в самый конец линии. Похоже они и были куплены самыми первыми. Паял я их на меленькую плату, чтоб случайно не повредить, оторвать. Думал уже перегрел когда паял, их паял быстро приклеив к плоскогубцам и удерживая пальцем, чтоб тепло отводить. Но вот через неделю опять все датчики показывают 0гр, удаленная программная перезагрузка ESP8266 ничего не дало. Изменил прошивку, добавил функцию сканирования и отправку списком всех датчиков с идентификаторами, crc и др данными в телеграмм. Когда все датчики передают 0гр эта функция присылает, что датчиков обнаружено 0.
Ехать далеко, вооружусь - поеду
Теперь вопросы:
- Можно ли эти датчики перезагрузить какой то командой? Знаю что обесточивание точно поможет, но это не реализовал. Что в это время с ними происходит, сам процесс внутри?))
- Обесточивать я так понял нужно именно минус? Иначе если убрать + то датчик переходит в режим паразитного питания. Как правильно отключать питание датчика? Думал разорвать минус датчика через реле, отправив команду через телеграмм бота. Можно мосфеты?
- Так же читал некоторые подают питание, т.е. включают датчик перед измерением, измерили, получили информацию, отключают питание. На сколько это безопасно такие частые вкл и откл?
- Заодно уж и про перезагрузку самого ESP8266. Несколько лет, когда все это делал находил информацию про перезагрузку с бОльшим конденсатором, реле и диодом. Суть такая: подается команда ESP на включение реле, реле включается размыкает питание ESP, кондер разряжается, диод не дает обратно утекать току. Кондер разрядился - реле отключилось и замкнул контакт - пошло питание на ESP. Такое возможно? Какой конденсатор нужен и как его зарядка при включении может повлиять на остальное
Возможно, что-то упустил не написал, потом дополню.





