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