Неоднозначность работы DS18B20 и методы её обхода

Несмотря на кажущуюся простоту применения термодатчиков DS18B20, на практике их поведение может существенно отличаться даже в пределах одной партии. Разные производители клонируют чипы, что приводит к вариативности внутренних схем и токов потребления. Это делает невозможным точный расчёт и предопределение поведения датчиков в различных ситуациях.
Неоднозначность работы DS18B20 и методы её обхода
Изображение носит иллюстративный характер

При подключении по стандартной схеме с «паразитным» питанием (Vcc и Gnd соединены), одни датчики могут работать стабильно, другие же – требовать наличия внешнего конденсатора для сглаживания помех. При этом некоторые датчики могут отказываться работать при таком подключении, тогда как другие, наоборот, только при нём и функционируют. Проблема усугубляется и тем, что при параллельном подключении нескольких датчиков по общей шине может возникнуть дополнительная просадка напряжения из-за неодновременного потребления тока.

Для повышения стабильности работы многодатчиковых систем, не рекомендуется опрашивать все датчики одновременно. Более целесообразным является последовательный опрос каждого датчика, что позволяет снизить пиковую нагрузку на шину и избежать проблем с просадками напряжения. Также имеет смысл не дожидаться завершения процесса измерения датчиком, а отправлять команду на измерение и возвращаться за результатом позже.

Для корректной работы важно иметь список всех датчиков на шине. Применение библиотек, которые позволяют динамически обнаруживать и добавлять новые датчики без перезагрузки контроллера, способно облегчить работу с датчиками. Более того, использование виртуальных методов в классах позволяет гибко обрабатывать данные и при необходимости отбрасывать «шумные» или ненадежные датчики. Выбор определенного клона DS18B20 и изучение его спецификаций может значительно повысить предсказуемость работы системы.


Новое на сайте

20959Что известно о предупреждении mSecure и какие меры принять? 20957Что делать администраторам cPGuard после взлома канала обновлений? 20956Бэкдор в телевизоре: как Google остановила сеть из 1,3 млн Android-устройств 20955Кто может получить доступ к кошелькам через плагин CryptoPayment Gateway? 20954Критическая уязвимость Siemens IoT2050 открыла путь к удалённым командам 20953Взлом Chainstack: под угрозой оказались данные клиентов и хеши паролей 20952Четыре проверки, которые помогают найти уязвимости с реальным риском 20951Две уязвимости Barracuda открывают путь к root-доступу 20950Почему устаревшие Synology NAS снова оказались мишенью вымогателей? 20949Старая техника Apple получила заплатку для опасной уязвимости 20948Как три уязвимости открыли ShinyHunters путь к серверам PeopleSoft? 20947Может ли ИИ сам собрать уязвимости в работающий взлом? 20946Уязвимость CVSS 10.0 в LXD и MicroCloud позволяет выдать себя за доверенного клиента 20945Google разрешит устанавливать приложения из сторонних магазинов одним нажатием
Ссылка