Как проверить датчик температуры ds18b20 мультиметром
Перейти к содержимому

Как проверить датчик температуры ds18b20 мультиметром

  • автор:

Как проверить датчик температуры ds18b20 мультиметром

Статьи / KA041 / Как отличить поддельные датчики DS18B20?

§ 41. Как отличить поддельные датчики DS18B20?

По ходу эксплуатации цифровых датчиков температуры 1-Wire Dallas DS18B20 мы несколько раз сталкивались с тем что датчики от некоторых производителей, особенно, по стоимости ниже среднерыночной, демонстрируют ненадежную работу.

Чаще всего это проявляется в виде «зависания» датчика (перестает отвечать на запросы) спустя некоторое время эксплуатации или даже аппаратного выхода из строя (начинает саморазогреваться).

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

Данный вопрос был уже освящен в ряде статей:

По этой причине мы подходим крайне аккуратно к выбору поставщика и производителя датчиков DS18B20 которые можно купить у нас под артикулом KTS-18B20.

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

Тем не менее, иногда возникает необходимость быстро проверить конкретный экземпляр датчика DS18B20. Самым простым и в то же время эффективным критерием для «отсева» поддельных датчиков является проверка содержимого «сырых» измерений (команда чтения буфера данных [0xBE]).

Согласно официальной документации на датчик, содержимое карты памяти в виде 9 байт (включая CRC) должно выглядеть вот так:

Обратите, пожалуйста, внимание на байты 5 и 7: их значения зафиксированы и равны 0xFF и 0x10 соответственно.

Показано эксперимертами, что если конкретный датчик возвращает значения указанных байт отличные от упомянутых — с очень высокой вероятностью данный датчик есть «подделка», он находится в зоне риска и рано или поздно может вас подвести.

Для быстрой проверки датчика можно использовать модуль Laurent-5 позволяющий выводить «сырые» измерения DS18B20 в виде текстового KE-сообщения.

Для этого заходим в WEB интерфейс модуля (по умолчанию статический адрес 192.168.0.101), выбираем раздел «Настройки».

Убеждаемся что канал ‘А’ шины 1-Wire настроен на работу с датчиками DS18B20, питание на шину подано.

В подразделе настройки выдачи Ke-сообщений, выбираем сообщение [DS18]. Настроим его так что бы «сырые» измерения датчиков DS18B20 выдавались в TCP сервер модуля (по умолчанию, доступный на TCP порту 2424).

Теперь дело осталось за малым — подключить испытуемый датчик к шине 1-Wire, канал ‘А’. Т.е. нужно использовать клеммы модуля 1WA (сигнал), PA (питание) и GND. Поскольку будем подключать датчики по одному с коротким кабелем (1-2 м) можно не использовать внешний поддягивающий резистор (обязательный в случае длинной линии).

Перейдем в раздел «1-Wire датчики температуры» в Web интерфейсе что бы убедиться что датчик подключен и работает. Датчик обнаружен и дает разумные показания температуры.

Если вы меняли датчики «на лету» то возможно нужно будет отсканировать шину заново.

Теперь подключимся к TCP серверу модуля что бы получить заказнное туда сообщение [DS18]. Можно использовать любой удобный вам терминал (telnet, putty и т.д.). Иногда удобнее под ОС Windows может оказаться утилита HERCULES. Выбираем раздел «TCP клиент», указываем реквизиты TCP сервера модуля Laurent-5 (192.168.0.101 : 2424) и подключаемся. В терминале увидим сообщения модуля [DS18] содержашие результат чтения памяти датчика в виде 9 байт данных в HEX виде.

Видим следующий результат чтения данных: 9A 01 4B 46 7F FF 0C 10 9F

Этот датчик — не подделка.

Теперь подключим к модулю испытуемый «подозрительный» DS18B20. В случае необходимости — пересканируем шину заново. Вроде бы датчик работает и дает разумные показания. Но.

Вместо зафикисрованных значений на позиции байта 5 и 7 видим совсем не те значения которые должны быть а именно: A0 01 55 05 7F 7E 81 66 6A

С далеко не нулевой вероятностью этот датчик рано или поздно может начать «капризничать» и срывать работу всей шины со всеми остальными датчиками подключенными к ней.

Как проверить датчик температуры ds18b20 мультиметром

Как проверить датчик температуры ds18b20 мультиметром

Статьи / KA041 / Как отличить поддельные датчики DS18B20?

§ 41. Как отличить поддельные датчики DS18B20?

По ходу эксплуатации цифровых датчиков температуры 1-Wire Dallas DS18B20 мы несколько раз сталкивались с тем что датчики от некоторых производителей, особенно, по стоимости ниже среднерыночной, демонстрируют ненадежную работу.

Чаще всего это проявляется в виде «зависания» датчика (перестает отвечать на запросы) спустя некоторое время эксплуатации или даже аппаратного выхода из строя (начинает саморазогреваться).

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

Данный вопрос был уже освящен в ряде статей:

По этой причине мы подходим крайне аккуратно к выбору поставщика и производителя датчиков DS18B20 которые можно купить у нас под артикулом KTS-18B20.

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

Тем не менее, иногда возникает необходимость быстро проверить конкретный экземпляр датчика DS18B20. Самым простым и в то же время эффективным критерием для «отсева» поддельных датчиков является проверка содержимого «сырых» измерений (команда чтения буфера данных [0xBE]).

Согласно официальной документации на датчик, содержимое карты памяти в виде 9 байт (включая CRC) должно выглядеть вот так:

Обратите, пожалуйста, внимание на байты 5 и 7: их значения зафиксированы и равны 0xFF и 0x10 соответственно.

Показано эксперимертами, что если конкретный датчик возвращает значения указанных байт отличные от упомянутых — с очень высокой вероятностью данный датчик есть «подделка», он находится в зоне риска и рано или поздно может вас подвести.

Для быстрой проверки датчика можно использовать модуль Laurent-5 позволяющий выводить «сырые» измерения DS18B20 в виде текстового KE-сообщения.

Для этого заходим в WEB интерфейс модуля (по умолчанию статический адрес 192.168.0.101), выбираем раздел «Настройки».

Убеждаемся что канал ‘А’ шины 1-Wire настроен на работу с датчиками DS18B20, питание на шину подано.

В подразделе настройки выдачи Ke-сообщений, выбираем сообщение [DS18]. Настроим его так что бы «сырые» измерения датчиков DS18B20 выдавались в TCP сервер модуля (по умолчанию, доступный на TCP порту 2424).

Теперь дело осталось за малым — подключить испытуемый датчик к шине 1-Wire, канал ‘А’. Т.е. нужно использовать клеммы модуля 1WA (сигнал), PA (питание) и GND. Поскольку будем подключать датчики по одному с коротким кабелем (1-2 м) можно не использовать внешний поддягивающий резистор (обязательный в случае длинной линии).

Перейдем в раздел «1-Wire датчики температуры» в Web интерфейсе что бы убедиться что датчик подключен и работает. Датчик обнаружен и дает разумные показания температуры.

Если вы меняли датчики «на лету» то возможно нужно будет отсканировать шину заново.

Теперь подключимся к TCP серверу модуля что бы получить заказнное туда сообщение [DS18]. Можно использовать любой удобный вам терминал (telnet, putty и т.д.). Иногда удобнее под ОС Windows может оказаться утилита HERCULES. Выбираем раздел «TCP клиент», указываем реквизиты TCP сервера модуля Laurent-5 (192.168.0.101 : 2424) и подключаемся. В терминале увидим сообщения модуля [DS18] содержашие результат чтения памяти датчика в виде 9 байт данных в HEX виде.

Видим следующий результат чтения данных: 9A 01 4B 46 7F FF 0C 10 9F

Теперь подключим к модулю испытуемый «подозрительный» DS18B20. В случае необходимости — пересканируем шину заново. Вроде бы датчик работает и дает разумные показания. Но.

Вместо зафикисрованных значений на позиции байта 5 и 7 видим совсем не те значения которые должны быть а именно: A0 01 55 05 7F 7E 81 66 6A

С далеко не нулевой вероятностью этот датчик рано или поздно может начать «капризничать» и срывать работу всей шины со всеми остальными датчиками подключенными к ней.

Правильная разводка термодатчиков DS18B20

Запись дневника создана пользователем Андрей-АА, 14.01.12
Просмотров: 48.229, Комментариев: 23

Статья предназначена для специалистов и продвинутых радиолюбителей. Она касается всех систем с датчиками DS18B20, а также — всех других систем с контактами и микроамперными токами, протекающими через них.
Хочу рассказать свои мысли по вопросу соединения и разводки термодатчиков.
В техподдержке Кситала мне сообщили следующее:
Все термодатчики должны быть соединены почти строго «в линию», без длинных ответвлений «в сторону» (максимум 20см). Это необходимо якобы потому, что в противном случает получается несогласованная по волновому сопротивлению линия и якобы за счет отражений система показывает в результате либо +85оС, либо прочерк вместо температуры. И добавляют, что оба этих результата могут быть также по причине плохого контакта в разъемах.
На мой вопрос » — какова тактовая частота на шине?» получил ответ «- низкая».
Я не очень понимаю такую логику «отражений» потому, что на длинах в единицы-десятки метров и низкой тактовой частоте волновое сопротивление и его согласование не имеет никакого значения. А также — из-за «странного» совпадения с причиной «плохой контакт».
Итак, я считаю, что причина периодического искажения результатов замера температуры — именно плохой контакт (исключение — Примечание 2):
Дело в том, что при микроамперных токах (а входной ток датчика DS18B20 наверняка мизерный), контакты через которые течет этот ток могут быть слегка окислены, или загрязнены и микроток банально не пробивает этот зазор, в отличие от миллиамперных и более высоких токов. Эффект этот специалистам известен. Т.е., если сигнал на шине проходит через контакты, то ему нужен «заметный» ток, причем, что очень важно — этот повышенный ток должен проходить через абсолютно все сигнальные контакты шины (через все последовательно соединенные разъемы).
Т.е., для того, чтобы контакт стал лучше нужен ток побольше, чем микроамперы — хотя бы (очень приблизительно) от 1 миллиампера. Возможно, что не случайно на схемах с использованием DS18B20 с линии данных на питание всегда нарисован резистор 4,7кОм, что как раз обеспечит ток около 1мА.
Как же правильно организовать (улучшить) бессбойный обмен информацией с такими датчиками?
Есть 4 варианта:
1. Рабоче-крестьянский (для пользователей): при проблемах промывать/чистить контакты, или заменять разъемы (тройники там обычные, их телефонные аналоги продаются во «всех» магазинах).
Остальные варианты — «профессиональные», для разработчиков Кситала (впрочем хороший радио-монтажник сможет это переделать и самостоятельно):

2. Он, правда, не идеально соответствует логике использования датчиков с разными длинами проводов: надо подводить к каждому датчику 2 провода, но обязательно оба их запаивать на ножке датчика, а не пропускать, как сейчас сделано через дополнительный тройник. И тоже обязательно на обоих концах нашей шины (на дальнем датчике и в самом Кситале должны быть установлены резисторы примерно по 10кОм (чтобы в сумме было около 4,7кОм).

3. Диапазон допустимых нагрузочных сопротивлений шины, равный 1-5,1кОм дает нам третий вариант — возможность подключить простейшим путем до 9-ти датчиков (и других устройств), зашунтировав на питание вход каждого резистором 10кОм. В блоке Кситал — тоже резистор, 10кОм.
В этом случае не нужна единая шинная линия, а можно произвольно соединять датчики через удобно расположенные разъемы. Только резисторы надо припаять прямо на датчиках.

4. Есть и четвертый вариант более корректного подключения датчиков на шину Кситала — «паразитный» способ питания по двухпроводной шине.
Если использовать «паразитный» способ питания датчика, то ток через «входные» контакты разветвителей будет складываться из входного тока в сигнальный вход и тока питания датчика, что в сумме в несколько раз больше, чем только входной ток.
Поискал в документации на датчик — ток потребления датчика может достигать 1,5мА, что вполне можно считать четвертым вариантом. Правда, при это будет несколько ограничена суммарная длина используемых проводов — до 50 метров. Хотя, я бы резисторы все равно ставил (см. Примечания).
***
Считаю оптимальным 3-ий вариант и предлагаю разработчикам Кситала его реализовать в своих последующих системах.
Примечания:
1. Вообще-то, со всех точек зрения суммарное сопротивление всех резисторов на линии (шине) лучше сделать минимально допустимым, то есть — около 1 кОма.
2. Кстати, длинные провода к датчикам являются хорошими приемными антеннами для помех. Указанные мной резисторы, кроме вышесказанного еще и снизят входное сопротивление этих антенн и, как следствие, снизят уровень помехи в системе.
Можно еще почитать: О погрешностях измерений на примере датчика DS18B20.
На всякий случай привожу раскладку разъема.

Датчик температуры DS18B20. Распиновка, тестирование, подключение к Ардуино.

Здравствуйте, уважаемые читатели! В этой статье поговорим об очень распространенном датчике температуры DS18B20 и о том, как его подключить к Ардуино .

Речь пойдет о датчике DS18B20 в герметичном металлическом корпусе , который позволяет не только измерять температуру воздуха, но и полностью погружать его в жидкости и измерять их температуру.

Распиновка датчика DS18B20 выглядит следующим образом:

Пин GND подключается к земле, пин Vdd – к питанию 5 В или 3,3 В . Напряжение питания датчика может быть от 3 до 5,5 В. Пин DQ подключается к цифровому пину микроконтроллера.

Заявленная точность датчика около 0,5 градуса Цельсия . Диапазон измеряемой температуры – от -55°C до +125°C .

Датчик бывает и в других корпусах. Но характеристики и назначение пинов одинаковые.

Подключается датчик по следующей схеме :

Соберем схему на макетной плате. У меня датчик уже с припаянной гребенкой контактов для удобства подключения к макетной плате.

Подключаю его к макетной плате. Землю датчика, которая представлена черным проводом, подключаю к минусу макетной платы, красный провод соответственно соединяю с плюсом. Желтый провод, по которому мы будем передавать цифровой сигнал, подключаю ко 2 пину Arduino UNO.

К минусу и плюсу макетной платы подключаю, соответственно, пины GND и Ардуино. И еще нужно связать цифровой пин датчика подтягивающим резистором с питанием 5 вольт. Рекомендуется резистор на 4,7 кОм . Но если такого резистора нет, то можно подобрать близкий по номиналу, например 5 кОм. На точность измерения это не влияет.

Перейдем к программной части. Для работы с Ардуино вначале нужно скачать библиотеку OneWire (https://github.com/PaulStoffregen/OneWire).

Скачиваем библиотеку на компьютер и добавляем в Arduino IDE .

Чтобы проверить работу датчика есть стандартный для данной библиотеки пример. Идем в ФайлПримеры – Библиотека OneWire и выбираем первый пример DS18x20_Temperature .

Пример сделан сразу для нескольких типов датчиков, так что если Вы не знаете какая именно у Вас модель датчика, то можно это выяснить с помощью данного примера.

Единственное, что изменим в примере, это пин, к которому у нас подключен датчик, с 10-го на 2-й . Т.к. 10-й пин мы позже задействуем для подключения светодиодного индикатора.

В функции loop() , после объявления переменных, мы ищем, есть ли у нас подключенные датчики и если находим, записываем их адрес в массив addr .

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

Выбираем датчик и отправляем датчику команду на измерение температуры. Это происходит примерно в течение 1 мс , так что перед выполнением следующих команд устанавливаем соответствующую задержку.

И после паузы в 1 мс, отправляем команду на получение измеренной температуры.

В конце производим преобразование считанного значения в градусы Цельсия и Фаренгейта и выводим результат в монитор порта.

Загружаем скетч в Ардуино, открываем Монитор порта и видим как выводится много служебной информации и температура по Цельсию и Фаренгейту.

Кроме того показывается модель чипа датчика температуры . В данном случае, речь идет о DS18B20.

«Почти все» датчики DS18B20, приобретенные не у официальных дистрибьюторов, являются подделками, клонами

Maxim DS18B20

Пробная закупка 1000 датчиков DS18B20 у 70 различных продавцов и их проверка, показала, что большинство из них являются подделками или клонами с чрезвычайно разными техническими характеристиками

Инженер Крис Петрич предупреждает: «Ваш датчик температуры DS18B20, скорее всего, подделка, фальшивка, клон… Если вы не купили микросхемы непосредственно у производителя Maxim Integreted (Dallas Semiconductor в прошлом), у официального дистрибьютора (DigiKey, RS, Farnel, Mouser и т.д.), или у крупного розничного продавца, или же вы приобрели исключительно качественные готовые водонепроницаемые датчики на DS18B20». Мы приобрели более 1000 шт. готовых водонепроницаемых датчиков на DS18B20 или отдельных микросхем у более чем 70 различных поставщиков на широко известных торговых площадках, онлайн-магазинах в 2019 году. Все готовые датчики температуры, купленные на eBay и AliExpress, содержали поддельные микросхемы DS18B20, и почти все микросхемы, купленные на этих торговых площадках, были поддельными.

Как определить?

Если ПЗУ (ROM) микросхемы не соотвествует шаблону 28-xx-xx-xx-xx-00-00-xx, то микросхема DS18B20 является клоном [1].

Также автор предоставляет два скетча Arduino для тестирования датчиков (доступны для скачивания в разделе загрузок):

  • discover_fake_DS18B20.ino – выполняет некоторые безопасные тесты и сообщает, есть ли какие-то отклонения от подлинного DS18B20. Данный скетч не предназначен для работы с датчиком в режиме паразитного питания.
  • classify_fake_DS18B20.ino – это минимальная реализация классификации датчиков по определенным семействам (см. ниже), которая основана на ответах на недокументированные коды функций. Результат работы теста достаточно точный. Автор предупреждает, что работа данного скетча может вывести микросхему DS18B20 из строя, действуете на свой риск!

Почему стоит переживать?

Помимо неких эстетических соображений, некоторые из поддельных датчиков фактически не работают в режиме паразитного питания, имеют высокий уровень шума, погрешность измерения вне заявленной полосы ±0.5 °С, не содержат энергонезависимую память (EEPROM), имеют ошибки и несоответствующие нормы отказов, или отличаются по другими параметрам из спецификации производителя. Понятно, что проблемы не настолько велики, чтобы отговаривать людей покупать датчики на eBay, но может быть полезно знать реальные характеристики, когда получаемые данные важны или измерения выполняются в сложных условиях.

С чем мы имеем дело?

Определения понятия «подделка» разнятся, но согласно документу AIR6273 подделка представляет собой умышленное несанкционированное копирование, имитацию, замену или модификацию подлинного предмета от авторизованного производителя [3]. Начиная с 2019 года основной проблемой являются копии (клоны), имеющие определенную маркировку, чтобы ввести в заблуждение ничего не подозревающего покупателя. К счастью, клоны DS18B20 почти легко идентифицировать: маркировка на чипе напечатана, а не нанесена лазером? Нет отметки на заднем отступе? Вероятно, подделка. Содержимое памяти (регистра «блокнота», Scratchpad) не соответствует спецификации? Вероятно, подделка. Систематически ведет себя не так, как подлинный датчик? Вероятно, подделка.

На что они похожи?

На Рисунке 1 приведен пример подлинного датчика DS18B20 производства Maxim в корпусе TO-92.

Рисунок 1. Пример маркировки оригинальных датчиков DS18B20 на корпусе TO-92.

На момент написания статьи (2019) маркировка оригинальных микросхем Maxim наносилась лазером, а не печаталась.

  • Первые две строки, DALLAS 18B20, указывают, что это датчик DS18B20 (Dallas Semiconductor является первоначальным производителем), датчики только с паразитным питанием маркируются DALLAS 18B20P.
  • Знак «+» в четвертой строке означает, что компонент соответствует требованиям RoHS.
  • 3-я строка указывает год выпуска и номер недели в году (в данном случае это 32 неделя 2019 года).
  • Последние два символа в строке 3 указывают ревизию кристалла (на данный момент С4).
  • В строке 4 трехзначное число, за которым следуют два символа, является формой кода партии, которая позволяет Maxim отследить историю производства.
  • В микросхемах, выпущенных в 2016 году или позже, встречалась только комбинация символов AB и AC [1].

Маркировка внутри отступа на задней части:

  • Маркировка P (Филиппины?). На всех последних микросхемах (2016 и моложе) и на большинстве микросхем, выпуск которых уходит, как минимум, в 2009 год.
  • Маркировка THAI (Таиланд?), где — это одна из I, J, K, L, M, N, O, S, T, U, V, W, X, и, возможно, других, по крайней мере, на некоторых микросхемах произведенных в 2011 году [1]. Шрифт отличается от шрифта символов, составляющих слово THAI.

Из того, что было автором замечено на корпусе TO-92, только для микросхем с маркировкой P в отступе на задней части один код партии соответствует коду даты производства. Это не относится к микросхемам с маркировкой THAI в отступе.

Как узнать, что попался поддельный датчик DS18B20?

Если датчик DS18B20 был приобретен у официального дилера через контролируемую цепочку поставок, то он является подлинным.

В противном случае автор приводит два варианта:

  1. Можно проверить соответствие паспорту (техническому описанию, даташиту). На самом деле, такая проверка должна быть в любом случае, поскольку даже подлинные приборы могут быть неправильно обработаны, наряду с неавторизованными цепочками распространения. Если датчик не проходит ни один из тестов, то это подделка (если только сама реализация производителя Maxim не содержит ошибок, как в случае кристаллом ревизии B7, в котором выявлено появление ошибок в EEPROM [1]).
  2. Можно сравнить поведение датчика с датчиком DS18B20 производства Maxim. Это основано на предположении, что все датчики DS18B20 производства Maxim ведут себя одинаково. Это справедливо, по крайней мере, для датчиков имеющих общий код ревизии кристалла (который был С4 с 2009 года).

Что касается первого варианта, то должно наблюдаться несоответствие между тем, что говорится в техническом описании, и тем, что реально содержит датчик [1]. Таким образом, автор вывел некоторую условную классификацию поддельных датчиков DS18B20 и разделил их по семействам:

  • Семейство B: зарезервированные байты в регистрах памяти (Scratchpad) могут быть перезаписаны (в соответствии с инструкциями, указанными в техническом описании).
  • Семейство C: датчик работает только в 12-битном режиме – байт 4 регистра памяти датчика (регистр конфигурации) всегда равен 0х7F.
  • Семейство С: количество циклов записи EEPROM очень мало (порядка 10, а не > 50 тыс.)
  • Семейство B1, D1: содержимое ROM может быть изменено программно – не фиксировано лазером в технологическом процессе.
  • Семейство A2, B2, D: значительное количество датчиков с погрешностью измерения вне диапазона ±0.5 °С при 0 °С.
  • Семейство D: датчик не работает в паразитном режиме питания (относится к большинству датчиков семейства D).
  • Семейство D: значение температуры сразу после включения датчика составляет 25 °С, а не 85 °С.
  • Семейство D: датчик не выполняет преобразование температуры с низким разрешением быстрее.
  • Семейство D: зарезервированные байты 5 и 7 регистра памяти не равны 0хFF и 0х10, соответственно.
  • Семейство D1: сохраняет значение температуры во время циклов включения/ выключения питания.

Таким образом, на момент написания статьи (2019) каждый доступный поддельный датчик DS18B20 не соответствует спецификации по крайней мере по одному параметру.

Для второго варианта есть один простой тест на различия с датчиками DS18B20 производства Maxim, который, по всей видимости, дает сбой у всех поддельных датчиков:

Это подделка, если его адрес ROM не соответствует шаблону 28-xx-xx-xx-xx-00-00-xx (ROM датчиков Maxim – это по сути 48-разрядный счетик со старшими битами по-прежнему равными 0). Кроме того, за редким исключением в семействе A2, ни один из поддельных датчиков не корректирует значение байта в регистре 6 или не отвечает корректно на коды недокументированных функций, касающихся значений Trim (калибровочные константы).

Помимо очевидных различий в реализации, таких как перечисленные выше в пунктах 1 и 2, существуют еще некоторые характеристики, которые можно использовать для классификации. Например, заявленное время для 12-разрядного преобразования (определяется путем опроса датчика о завершении преобразования после отправки кода функции 0х44 при комнатной температуре) является характеристикой отдельных микросхем и попадает в определенные диапазоны, определяемые внутренней схемой датчика:

  • 11 мс: Семейство D1
  • 28-30 мс: Семейство C
  • 325-505 мс: Семейство A2
  • 460-525 мс: Семейство D2
  • 580-615 мс: Семейство A1
  • 585-730 мс: Семейство B

Следовательно, между семействами A и B будут некоторые пограничные случаи, но простого измерения времени, затраченного на преобразование температуры, часто бывает достаточно, чтобы определить, является ли датчик поддельным.

Важным аспектом работы датчика является его способность подтягивать линию передачи данных к низкому уровню, преодолевая сопротивление фиксированного, подтягивающего к питанию (pull-up) резистора. Оказывается, эта характеристика сильно различается между указанными семействами. Спецификацией гарантируется, что датчик может обеспечить входной ток не менее 4 мА при напряжении 0.4 В в температурном диапазоне до +125 °С [2]. Отдавая ток 4 мА (подтягивающий резистор 1.2 кОм к питанию +5 В), датчики обеспечивали следующие значения низкого уровня напряжения при комнатной температуре (на каждое семейства было измерено от 5 до 10 датчиков):

  • Семейство A1: 0.058 В — 0.062 В
  • Семейство B2: 0.068 В — 0.112 В (все, за исключением одного датчика: 0.068 В — 0.075 В)
  • Семейство C: 0.036 В — 0.040 В
  • Семейство D2: 0.121 В — 0.124 В

Все датчики соответствуют спецификациям при комнатной температуре, но кластеризация данных по семействам очевидна. Это указывает на отличия в разработке аппаратной части. Было бы интересно повторить эти измерения при температуре 100 °С.

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

Обратите внимание, что ни один из вышеперечиленных пунктов не дает уверенности, что конкретный датчик DS18B20 является подлинным продуктом Maxim, но если какой-либо из приведенных выше тестов показывает «подделку», то это определенно подделка.

Извлечение кристалла DS18B20 из корпуса

В коллаже на Рисунке 2 показаны фотографии крситаллов микросхем DS18B20 всех семейств, с которыми автор столкнулся в 2019 г. Все фотографии имеют одинаковый масштаб, приблизительно 1.4 мм в ширину. Корпус датчика вскрывался с помощью кусачек (пассатижей), матрица извлекалась из пластикового корпуса путем кипячения в канифоли эпоксидной смолы и затем отмывалась ацетоном в ультразвуковой ванне.

Рисунок 2. Кристаллы (матрицы) датчиков DS18B20 по указанным семействам, извлеченные из корпуса.

Семейство A1 – это подлинный датчик DS18B20 производства Maxim Integrated (ревизия кристалла С4). Все остальные семейства – клоны. Обратите внимание на сходство между кристаллами семейств D1 и В1 (в соответствии с их сходством в программной части) и значительные различия между семействами B1 и B2 (в отличие от их сходства в программной части).

В своей статье [1] автор дополнительно приводит множество примеров соответствия приобретенных датчиков DS18B20 указанным семействам.

Arduino.ru

Герметичный датчик температуры DS18B20 как прозвонить?

  • Войдите на сайт для отправки комментариев

Купил герметияный датчик температуры DS18B20.

Как подключать нашел.

Но с датчика выходит три провода, до самого чувствительного элемента не добраться, а провода не стандартной расцветки: красный, желтый и серый.

Можно как-то узнать (тестером прозвонить например) какой провод что означает? И чем грозит неправильное подключение?

  • Войдите на сайт для отправки комментариев

Посмотрите даташит, рисунок 2. Вызвоните ноль (скорее всего серый). Оставшиеся два провода коммутируете на паразитное питание и определяете линии питания и сигнала. Скорее всего красный — Vdd, желтый — DQ.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

У него данные часто жёлтый, а питание всегда красный. У меня также, как у Вас.

  • Войдите на сайт для отправки комментариев

Спасибо за ответы.

Земля на корпус колбы не прозванивается (ставил на 200 Ом и 200 кОм).

  • Войдите на сайт для отправки комментариев

Земля на корпус колбы не прозванивается (ставил на 200 Ом и 200 кОм).

Так и должно быть.

  • Войдите на сайт для отправки комментариев

А как тогда определить где земля? тестер показывает «обрыв» на пределе 200 кОм между всеми проводами.

Да и по схеме (я правда не очень большой специалист по электронике) там конденсатор стоит на землю (через диоды), что как я понимаю по факту разрыв в цепи, а емкость конденсатора врядли позволит заметить ток заряда конденсатора.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *