У нас в ассортименте есть гильзованный цифровой датчик 1-wire DS18B20 с широким диапазоном измеряемых температур.
Датчики очень популярны, поэтому за последние десять лет появилось большое количество клонов, которые работают плохо: блокируют работу всей шины, имеют большую погрешность измерения, не умеют работать от паразитного питания и т.д . Клон можно отличить от оригинала по внешнему виду чипа, серийному номеру, мусору в определённых байтах и другим признакам.
Мы покупаем датчики в гильзах, поэтому несколько датчиков из очередной партии проверяются на специальном стенде. Три года всё было отлично, и вот при проверке очередной партии от проверенного поставщика мы обнаруживаем, что датчик выпущен не компанией Maxim Integrated (ныне Analog Devices).
Внутри гильзы мы обнаружили чип QT18B20 от компании 7Q-Tek, который имел собственный даташит и позиционировался как аналог DS18B20.
Но верить китайским даташитам себе дороже, поэтому мы протестировали их на соответствие заявленным характеристикам. Вдруг их можно смело класть на склад с указанием производителя, а не гоняться за оригинальными DS18B20, которые достать всё тяжелее?
История изобретения 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.
Чем цифровой датчик лучше аналогового
До появления 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 является торговой маркой, а сам датчик защищен различными патентами — поэтому напрямую копировать и продавать копии проблематично.
В современных реалиях патентные ограничения останавливают не всех, поэтому китайцы лет десять назад просто начали копировать датчики и выдавать их за оригинальные. Для этого датчики сделали полностью совместимыми по корпусу и по протоколу, чтобы в любой схеме их можно было бы использовать вместо оригинала.
Сразу возникает вопрос: как отличить подделку? Вроде бы основной критерий – цена. Ведь не может оригинальный датчик стоить столько же, сколько подделка. Иначе в чем смысл? Но здесь не все просто. Конечно, поддельные датчики изначально стоили значительно дешевле, например, 50 центов вместо $3.14 за оригинал. И для многих решений подделку охотно покупали — все же китайский рынок довольно большой.
Производитель оригинальных датчиков посмотрел на китайский рынок и понял, что и здесь можно заработать, просто продавая оригинальные датчики по одной цене с подделками. Не будем забывать, что себестоимость производства очень низкая. В итоге крупные китайские клиенты получили огромные скидки на оригинальные 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 его поддержку, но на самом деле оказалось, что измеряет он не быстрее оригинального, а остальные «преимущества» дальше проверять уже не стали.
На фоне кризиса электронных компонентов в последние несколько лет некоторые поставщики стали предлагать вместо 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 °С, после чего показания всех датчиков записывались в протокол.
После извлечения датчиков из термостата им давали «отдохнуть» при комнатной температуре, убирали с датчиков остатки жидкости, если требовалось, после чего проводили следующий тест.
Пусть вас не смущает неопрятно выглядящая ветошь на термостатах и столах — это важная часть рабочего процесса. В первый термостат залита довольно неприятная кремнийорганическая жидкость, которая пачкается, не очень хорошо пахнет и плохо отмывается. Да и простая вода и спирт, стекающие с датчиков при извлечении из термостатов, оставляют лужи. Ветошь впитывает излишки жидкости и позволяют содержать рабочее место в чистоте.
Анализ результатов
Мы исследовали 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 картинка выглядит очень хорошо для обоих типов датчиков: показания очень близкие и ошибка небольшая. Причём у аналогов ошибка даже меньше, чем у оригинальных датчиков.
Полученные гистограммы сравнивали с графиками зависимости ошибки показаний от температуры. Такие графики есть в документации на оба типа датчиков.
К сожалению, для обоих типов датчиков в даташитах графики приведены только для диапазона температур от 0 до +70 °C. Здесь можно отметить, что у оригинального DS18B20 ошибки отдельных экземпляров с запасом укладываются в диапазон ±3σ, показанный на графике, хотя средняя ошибка с графиком не совпадает. А у датчика QT18B20 в точке 0 °C отдельные экземпляры имеют ошибку, выходящую за пределы, показанные на графике.
Можно также оценить и качество самих графиков в документации: у оригинальных DS18B20 видны гладкие кривые средней ошибки и ошибки в пределах 3-х стандартных отклонений (в которые попадает 99.72 % измерений), что говорит о проведённом статистическом анализе ошибки с привлечением аппарата теории вероятностей. У QT18B20 получились 8 ломаных линий – скорее всего, результат тестирования 8 случайно выбранных экземпляров; это даёт возможность лишь приблизительно оценить ошибку в пределах ±σ, а ещё обращает на себя внимание нестабильность ошибки для некоторых экземпляров.
В целом разброс показаний датчиков-аналогов больше, чем у оригинальных. Это может говорить о менее стабильном технологическом процессе производства датчиков, качестве материалов, инженерных решений. Для пользователя это может означать, что часть датчиков будет иметь значительную ошибку и их нельзя применять в системах, где это важно.
Процесс выхода на точки
А процесс выхода на точки выглядел так:
Можно обратить внимание, насколько визуально близко идут линии в правой части графиков. Это говорит о том, что датчики имеют небольшой разброс и хорошую стабильность показаний. Конечно, разброс показаний нужно оценивать количественно, а для этого лучше смотреть приведённые выше гистограммы. Здесь же просто красивая картинка.
Предвидим недоумение: почему при комнатной температуре такой разброс показаний? Почему изменение температуры настолько несинхронно и видно большое количество линий, очень далеко отстоящих друг от друга? Почему изменение температуры настолько медленное? Отвечаем: отображается переходный процесс. Датчики скручены в пучок, наружные быстрее воспринимают температуру окружающей среды, внутренние - существенно медленнее.
Кроме того, показания снимают с датчиков не одновременно и не очень часто (примерно два раза в минуту), поэтому при быстром изменении температуры (при погружении в термостат) виден такой разброс температур. Значения температур, которые анализировали,мы снимали в установившемся режиме, когда изменения температуры уже не происходит.
В реальной жизни одиночный датчик существенно более скоростной, и разброс температур между двумя одиночными датчиками не превышает паспортной погрешности даже при относительно быстром изменении температуры.
Заключение
К оригинальным датчикам DS18B20, которые мы предлагаем клиентам уже долгое время, не было никаких замечаний: показания стабильные, погрешность с запасом укладывается в заявленную производителем. Все 20 датчиков с честью выдержали испытания.
К аналогам QT18B20 фирмы 7Q-Tek есть претензии: в одном из тестов один из 20 датчиков немного «выбежал» за допустимые пределы погрешности, а ещё один датчик перестал выдавать показания во время испытаний и впоследствии так и не ожил. Это косвенно говорит о плохом выходном контроле на производстве микросхем, что настораживает, так как от партии к партии характеристики и процент брака будут плавать.
Ну а раз есть претензии, мы решили, что не будем продавать датчики с чипами фирмы 7Q-Tek нашим клиентам. А с поставщиком договорились, что впредь нам отгружать только оригинальные датчики DS18B20 и дали понять, что будем контролировать новые партии.