У нас в ассортименте есть гильзованный цифровой датчик 1-wire DS18B20 с широким диапазоном измеряемых температур. 

Датчики очень популярны, поэтому за последние десять лет появилось большое количество клонов, которые работают плохо: блокируют работу всей шины, имеют большую погрешность измерения, не умеют работать от паразитного питания и т.д . Клон можно отличить от оригинала по внешнему виду чипа, серийному номеру, мусору в определённых байтах и другим признакам

Мы покупаем датчики в гильзах, поэтому несколько датчиков из очередной партии проверяются на специальном стенде. Три года всё было отлично, и вот при проверке очередной партии от проверенного поставщика мы обнаруживаем, что датчик выпущен не компанией Maxim Integrated (ныне Analog Devices).

Внутри гильзы мы обнаружили чип QT18B20 от компании 7Q-Tek, который имел собственный даташит и позиционировался как аналог DS18B20. 

Но верить китайским даташитам себе дороже, поэтому мы протестировали их на соответствие заявленным характеристикам. Вдруг их можно смело класть на склад с указанием производителя, а не гоняться за оригинальными DS18B20, которые достать всё тяжелее?

Процедура проверки с ошибкой и датчик QT18B20, извлечённый из гильзы
Процедура проверки с ошибкой и датчик QT18B20, извлечённый из гильзы

История изобретения DS18B20

Начнем с истории изобретения датчиков. Примерно 30 лет назад инженеры компании Dallas смогли расположить на одном кристалле чувствительный полупроводниковый элемент и микросхему логики. Изделие получило артикул DS1820. Измерять температуру на полупроводниковом элементе весьма непросто, тем более этот процесс нелинейный. Компанией была разработана схема компенсации и добавлен 9-битный АЦП, создан механизм калибровки датчиков: каждый датчик калибруется на заводе, прошивается уникальный номер.

Датчики совершенствовались со временем. После первенца DS1820 вышел DS18S20, в котором был уже 12-битный АЦП и усовершенствованный алгоритм вычисления температуры. Венцом всей линейки стал DS18B20 с 12-битным АЦП и настраиваемым разрешением от 9 до 12 бит. Подробнее отличия датчиков описаны на сайте microsin.net.

Изменения претерпели не только датчики, но и компания-разработчик. В 2001 году компанию Dallas купили Maxim Integrated, которую в спустя 20 лет поглотил гигант Analog Devices. Они и владеют сейчас патентами на протокол 1-Wire и сами датчики DS18B20.

За 30 лет процесс производства был полностью отлажен, датчики производятся массово и дешево по себестоимости. Подключаются по трём или двум проводам и работают по протоколу 1-Wire.

Схема 1-wire DS18B20
Схема 1-wire DS18B20

Чем цифровой датчик лучше аналогового

До появления DS18B20 для измерения температуры использовались аналоговые датчики, например, платиновые термисторы серии Pt. В них на подложку напылён слой платины с известным коэффициентом температурного сопротивления, что позволяет, зная текущее сопротивление датчика, вычислить температуру.

Аналоговые датчики очень точны, работают в широком диапазоне температур и надежны, но у них есть ряд недостатков:

  • для получения значений температуры нужен внешний измеритель, например, WB-MAI6;

  • на результат измерения влияют провода, по которым датчик подключен;

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

С практической точки зрения цифровые датчики намного удобнее аналоговых: 

  • вычисление значения температуры происходит внутри микросхемы датчика;

  • значение передаётся в цифровом формате, поэтому провода не влияют на результат измерения, а их длина может быть до 300 метров;

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

Конечно, у них есть недостатки: узкий температурный диапазон измерения от -55°C до +125°C и невысокая точность ±0.5°C в диапазоне от -10°C до +85°C. Но эти ограничения несущественны для ряда применений: контроля температуры в помещениях, рефрижераторах, системах тепло- и водоснабжения.

Проблема подделок

Благодаря своим преимуществам цифровые датчики сегодня весьма популярны. Долгое время Analog Devices продавала 1-wire DS18B20 довольно дорого, поэтому другие китайские производители решили воспользоваться ситуацией и выпустили недорогие «аналоги».

Сама Analog Devices никому датчики не лицензирует, название 1-wire является торговой маркой, а сам датчик защищен различными патентами — поэтому напрямую копировать и продавать копии проблематично.

Корпус оригинального 1-wire DS18B20 (источник)
Корпус оригинального 1-wire DS18B20 (источник)

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

Оригинальные кристаллы DS18B20 и подделки. A1 – оригинальный 1-wire DS18B20, B2 – изучаемый нами аналог 7Q-Tek QT18B20
Оригинальные кристаллы DS18B20 и подделки. A1 – оригинальный 1-wire DS18B20, B2 – изучаемый нами аналог 7Q-Tek QT18B20

Сразу возникает вопрос: как отличить подделку? Вроде бы основной критерий – цена. Ведь не может оригинальный датчик стоить столько же, сколько подделка. Иначе в чем смысл? Но здесь не все просто. Конечно, поддельные датчики изначально стоили значительно дешевле, например, 50 центов вместо $3.14 за оригинал. И для многих решений подделку охотно покупали — все же китайский рынок довольно большой.

Стоимость оригинального DS18B20 датчика на сайте производителя
Стоимость оригинального DS18B20 датчика на сайте производителя

Производитель оригинальных датчиков посмотрел на китайский рынок и понял, что и здесь можно заработать, просто продавая оригинальные датчики по одной цене с подделками. Не будем забывать, что себестоимость производства очень низкая. В итоге крупные китайские клиенты получили огромные скидки на оригинальные 1-wire DS18B20. И по цене отличить подделку стало практически невозможно, тем более при оптовых закупках и в составе готовых продуктов – тех же гильз.

Проблемой подделок заинтересовался Крис Петрич: он взял с десяток разных аналогов DS18B20, после чего постарался найти особенности в реализации протокола 1-wire. Он у всех датчиков одинаковый, но с особенностями. Например, сенсор фиксируется в 12-битном режиме и байт 4-го регистра со значением температуры равен 0x7f. Либо зарезервированные байты 5-го и 7-го регистра температуры не равны 0xff и 0x10, соответственно. Используя выявленные отклонения датчиков и считывая данные, исследователи смогли классифицировать все клоны. Интересно, что идеальный клон, полностью повторяющий DS18B20, так никто и не создал. Результаты он опубликовал у себя в репозитории вместе с методикой проверки и скриптом для Ардуино.

Эту процедуру проверки мы и внедрили у себя на производстве в 2020 году, которая нам позволила поймать поставщика гильзованных датчиков на подмене — вместо оригинального DS18B20 он поставил в гильзу китайский аналог 7Q-Tek 18B20 у которого оказался весьма приличный даташит.

А что, если аналог не хуже оригинала?

Надо сказать, что основной критерий качества компонентов для нас не имя производителя, а строгое соответствие заявленных в даташите характеристик реальным. Например, мы однажды нашли интересные датчики GX20MH01 от GXCAS, которые по даташиту лучше оригинальных DS18B20: АЦП 14 бит, а не 12 бит; заявленная точность вдвое меньше, а время измерения всего 250 мс вместо 750 мс оригинала. 

Компания солидная, цена немаленькая, всё похоже на правду. Мы даже на радостях протащили в mainline ядро Linux его поддержку, но на самом деле оказалось, что измеряет он не быстрее оригинального, а остальные «преимущества» дальше проверять уже не стали. 

Описание нашего патча в ядро Linux, который добавляет поддержку датчика GX20MH01
Описание нашего патча в ядро Linux, который добавляет поддержку датчика GX20MH01

На фоне кризиса электронных компонентов в последние несколько лет некоторые поставщики стали предлагать вместо DS18B20 вполне официально аналоги, например, QT18B20 от 7Q-Tek. С виду всё хорошо: понятный производитель, вменяемый даташит на китайском и отсутствие попытки выдать аналог за оригинал. Но можно ли им верить? Многие китайские компании пишут не реальные показатели, а то, что желают увидеть уважаемые покупатели. Например, указывают только типичное значение ошибки, а про ее статистическое распределение могут просто «забыть».

А поскольку волей случая у нас казалось 1000 штук QT18B20, то мы решили проверить в лаборатории соответствие заявленных характеристик даташиту. Вдруг это вполне приличная замена дефицитным DS18B20 и их можно предлагать покупателям как хорошую замену.

Процедура проверки параметров датчика

Исследования проводились в лаборатории нашего партнёра – НИЦ Энерго, имеющего аккредитацию в области испытания и поверки средств измерений. Именно здесь мы проводили испытания датчиков WB-MSW, WB-MS, WB-M1W2 в целях утверждения типа средства измерений.

У 1-wire DS18B20 заявлена погрешность ±0.5°C, поэтому для проверки в разных температурных точках требуется прибор с намного меньшей погрешностью, например, 0.01°C. Кроме того, требуется создать условия равномерного нагревания всех датчиков, поэтому без термостата не обойтись. Все необходимое есть в специализированной лаборатории, к услугам которой мы и обратились.

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

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

Для испытаний использовались три жидкостных термостата с неравномерностью температуры по горизонтали не более 0.01°C: со спиртом на охлаждение; с маслом (точнее, специальной кремнийорганической жидкостью) и водой на нагрев. За эталон мы взяли платиновый термометр сопротивления с погрешностью не более 0.01°C (при отрицательных температурах — не более 0.02°C).

Датчики собрали в пучок: 20 штук DS18B20, 20 штук QT18B20 и один эталон. Для сбора информации с датчиков использовался контроллер Wiren Board 7 — это позволило не только автоматически фиксировать показания в нужных точках, но и отслеживать изменение значений во времени.

В каждом тесте пучок датчиков погружали в жидкостный термостат, через какое-то время температура стабилизировалась в четырех точках -21 °С, 0 °С, +50 °С и +100 °С, после чего показания всех датчиков записывались в протокол. 

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

Масляный термостат остывает, видна выставленная температура 50 °C и текущая 85 °C
Масляный термостат остывает, видна выставленная температура 50 °C и текущая 85 °C
Датчики погружены в масляный термостат, идет нагрев до 100 °C, сейчас температура составляет 93.5 °C
Датчики погружены в масляный термостат, идет нагрев до 100 °C, сейчас температура составляет 93.5 °C
Водяной термостат с выставленной температурой 50°C
Водяной термостат с выставленной температурой 50°C
Датчики погружены в водяной термостат, идет нагрев до 50 °C, остался 0.1 °C
Датчики погружены в водяной термостат, идет нагрев до 50 °C, остался 0.1 °C
Результаты измерений эталонного датчика выводили на экран ноутбука, с датчиков 18B20 их снимали с помощью контроллера Wiren Board
Результаты измерений эталонного датчика выводили на экран ноутбука, с датчиков 18B20 их снимали с помощью контроллера Wiren Board

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

Анализ результатов

Мы исследовали 20 оригинальных датчиков температуры DS18B20 от Analog Devices и 20 их аналогов – QT18B20 компании 7Q-Tek. В процессе работы показания датчиков непрерывно снимали с помощью контроллера Wiren Board и отправляли в облачную базу данных Grafana, что позволяло «на ходу» следить за процессом экспериментов – не только непосредственно в лаборатории, но и удалённо. После завершения исследований данные были обработаны и представлены в виде гистограмм распределения ошибки измерений.

Гистограммы распределения ошибки измерений
Гистограммы распределения ошибки измерений

На гистограммах видна зависимость доли исследуемых датчиков (вертикальная ось) от ошибки измерений (горизонтальная ось). Или более простыми словами: какой процент датчиков какую ошибку давал. Оригинальные датчики показаны синими прямоугольниками, аналоги — красными. 

Например, по первой гистограмме (точка 0 °C) видно, что 35 % оригинальных датчиков DS18B20 давали ошибку менее 0.05 °C, а 35 % датчиков-аналогов имели ошибку приблизительно 0.15 °C. Чем лучше (точнее, стабильнее) датчики, тем уже и острее гистограмма. На той же первой картинке видны единичные выбросы ошибки у датчиков-аналогов QT18B20 (5 % как раз соответствуют одному датчику, так как их всего было 20), причём один из выбросов даже превышает допустимую для данной температуры ошибку в 0.5 °C.

А вот, например, при 50°C картинка выглядит очень хорошо для обоих типов датчиков: показания очень близкие и ошибка небольшая. Причём у аналогов ошибка даже меньше, чем у оригинальных датчиков.

Полученные гистограммы сравнивали с графиками зависимости ошибки показаний от температуры. Такие графики есть в документации на оба типа датчиков.

Кривая ошибки для датчика DS18B20
Кривая ошибки для датчика DS18B20
Кривая ошибки для датчика QT18B20
Кривая ошибки для датчика QT18B20

К сожалению, для обоих типов датчиков в даташитах графики приведены только для диапазона температур от 0 до +70 °C. Здесь можно отметить, что у оригинального DS18B20 ошибки отдельных экземпляров с запасом укладываются в диапазон ±3σ, показанный на графике, хотя средняя ошибка с графиком не совпадает. А у датчика QT18B20 в точке 0 °C отдельные экземпляры имеют ошибку, выходящую за пределы, показанные на графике.

Можно также оценить и качество самих графиков в документации: у оригинальных DS18B20 видны гладкие кривые средней ошибки и ошибки в пределах 3-х стандартных отклонений (в которые попадает 99.72 % измерений), что говорит о проведённом статистическом анализе ошибки с привлечением аппарата теории вероятностей. У QT18B20 получились 8 ломаных линий – скорее всего, результат тестирования 8 случайно выбранных экземпляров; это даёт возможность лишь приблизительно оценить ошибку в пределах ±σ, а ещё обращает на себя внимание нестабильность ошибки для некоторых экземпляров.

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

Процесс выхода на точки

А процесс выхода на точки выглядел так:

Можно обратить внимание, насколько визуально близко идут линии в правой части графиков. Это говорит о том, что датчики имеют небольшой разброс и хорошую стабильность показаний. Конечно, разброс показаний нужно оценивать количественно, а для этого лучше смотреть приведённые выше гистограммы. Здесь же просто красивая картинка.

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

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

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

Заключение

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

К аналогам QT18B20 фирмы 7Q-Tek есть претензии: в одном из тестов один из 20 датчиков немного «выбежал» за допустимые пределы погрешности, а ещё один датчик перестал выдавать показания во время испытаний и впоследствии так и не ожил. Это косвенно говорит о плохом выходном контроле на производстве микросхем, что настораживает, так как от партии к партии характеристики и процент брака будут плавать.

Ну а раз есть претензии, мы решили, что не будем продавать датчики с чипами фирмы 7Q-Tek нашим клиентам. А с поставщиком договорились, что впредь нам отгружать только оригинальные датчики DS18B20 и дали понять, что будем контролировать новые партии.

Комментарии (18)