Чем заменить датчик температуры 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 для тестирования датчиков (доступны для скачивания в разделе загрузок):
Почему стоит переживать?
Помимо неких эстетических соображений, некоторые из поддельных датчиков фактически не работают в режиме паразитного питания, имеют высокий уровень шума, погрешность измерения вне заявленной полосы ±0.5 °С, не содержат энергонезависимую память (EEPROM), имеют ошибки и несоответствующие нормы отказов, или отличаются по другими параметрам из спецификации производителя. Понятно, что проблемы не настолько велики, чтобы отговаривать людей покупать датчики на eBay, но может быть полезно знать реальные характеристики, когда получаемые данные важны или измерения выполняются в сложных условиях.
С чем мы имеем дело?
Определения понятия «подделка» разнятся, но согласно документу AIR6273 подделка представляет собой умышленное несанкционированное копирование, имитацию, замену или модификацию подлинного предмета от авторизованного производителя [3]. Начиная с 2019 года основной проблемой являются копии (клоны), имеющие определенную маркировку, чтобы ввести в заблуждение ничего не подозревающего покупателя. К счастью, клоны DS18B20 почти легко идентифицировать: маркировка на чипе напечатана, а не нанесена лазером? Нет отметки на заднем отступе? Вероятно, подделка. Содержимое памяти (регистра «блокнота», Scratchpad) не соответствует спецификации? Вероятно, подделка. Систематически ведет себя не так, как подлинный датчик? Вероятно, подделка.
На что они похожи?
На Рисунке 1 приведен пример подлинного датчика DS18B20 производства Maxim в корпусе TO-92.
![]() | ||
| Рисунок 1. | Пример маркировки оригинальных датчиков DS18B20 на корпусе TO-92. | |
На момент написания статьи (2019) маркировка оригинальных микросхем Maxim наносилась лазером, а не печаталась.
Маркировка внутри отступа на задней части:
Из того, что было автором замечено на корпусе TO-92, только для микросхем с маркировкой P в отступе на задней части один код партии соответствует коду даты производства. Это не относится к микросхемам с маркировкой THAI в отступе.
Как узнать, что попался поддельный датчик DS18B20?
Если датчик DS18B20 был приобретен у официального дилера через контролируемую цепочку поставок, то он является подлинным.
В противном случае автор приводит два варианта:
Что касается первого варианта, то должно наблюдаться несоответствие между тем, что говорится в техническом описании, и тем, что реально содержит датчик [1]. Таким образом, автор вывел некоторую условную классификацию поддельных датчиков DS18B20 и разделил их по семействам:
Таким образом, на момент написания статьи (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 при комнатной температуре) является характеристикой отдельных микросхем и попадает в определенные диапазоны, определяемые внутренней схемой датчика:
Следовательно, между семействами A и B будут некоторые пограничные случаи, но простого измерения времени, затраченного на преобразование температуры, часто бывает достаточно, чтобы определить, является ли датчик поддельным.
Важным аспектом работы датчика является его способность подтягивать линию передачи данных к низкому уровню, преодолевая сопротивление фиксированного, подтягивающего к питанию (pull-up) резистора. Оказывается, эта характеристика сильно различается между указанными семействами. Спецификацией гарантируется, что датчик может обеспечить входной ток не менее 4 мА при напряжении 0.4 В в температурном диапазоне до +125 °С [2]. Отдавая ток 4 мА (подтягивающий резистор 1.2 кОм к питанию +5 В), датчики обеспечивали следующие значения низкого уровня напряжения при комнатной температуре (на каждое семейства было измерено от 5 до 10 датчиков):
Все датчики соответствуют спецификациям при комнатной температуре, но кластеризация данных по семействам очевидна. Это указывает на отличия в разработке аппаратной части. Было бы интересно повторить эти измерения при температуре 100 °С.
С другой стороны, датчик является фальшивкой, если напечатанная на корпусе комбинация дата-партия отсутствует в базе данных производителя Maxim (для выяснения потребуется обратиться в тех. Поддержку Maxim). Стоит знать, что существуют подделки, в которых используется «подлинная» комбинация даты и партии.
Обратите внимание, что ни один из вышеперечиленных пунктов не дает уверенности, что конкретный датчик DS18B20 является подлинным продуктом Maxim, но если какой-либо из приведенных выше тестов показывает «подделку», то это определенно подделка.
Извлечение кристалла DS18B20 из корпуса
В коллаже на Рисунке 2 показаны фотографии крситаллов микросхем DS18B20 всех семейств, с которыми автор столкнулся в 2019 г. Все фотографии имеют одинаковый масштаб, приблизительно 1.4 мм в ширину. Корпус датчика вскрывался с помощью кусачек (пассатижей), матрица извлекалась из пластикового корпуса путем кипячения в канифоли эпоксидной смолы и затем отмывалась ацетоном в ультразвуковой ванне.
![]() | ||
| Рисунок 2. | Кристаллы (матрицы) датчиков DS18B20 по указанным семействам, извлеченные из корпуса. | |
Семейство A1 – это подлинный датчик DS18B20 производства Maxim Integrated (ревизия кристалла С4). Все остальные семейства – клоны. Обратите внимание на сходство между кристаллами семейств D1 и В1 (в соответствии с их сходством в программной части) и значительные различия между семействами B1 и B2 (в отличие от их сходства в программной части).
В своей статье [1] автор дополнительно приводит множество примеров соответствия приобретенных датчиков DS18B20 указанным семействам.
Цифровой датчик температуры DS18B20
Данное устройство способно контролировать и регулировать степень нагретости какого-либо материала, вещества и т.п. в технологическом процессе, обеспечивая тем самым его безопасность.
Датчик DS18B20: схема построения
Прибор DS18B20 имеет сразу 3 ключевых корпуса:
Если говорить о внутренней структуре, то следует рассмотреть небольшую микросхему, которая представлена на рисунке:
Данная микросхема свидетельствует о наличии сразу нескольких ключевых модульных блоков в строении DS18B20, отвечающих за механизм правильного действия устройства.
К еще одному ключевому элементу в структуре термодатчика следует отнести «64-BITROM AND 1-WIREPORT». Это модуль структуры, отвечающий за хранение уникального кода устройства и передачу этого кода во внутреннюю память DS18B20 «SCRATCHPAD». «SCRATCHPAD», в свою очередь, взаимодействуя с регистрами «MEMORY CONTROL LOGIC» и «1-Wire», подает сигнал связи следующим принципиально-важным блокам датчика:
Подключение датчика DS18B20
Подключение датчика DS18B20, как правило, происходит двумя-тремя простыми способами. Мы рассмотрим эти способы на примере подключений DS18B20 к плате Arduino и esp8266.
Подключение датчика DS18B20 к Arduino
Начнем с прямого подключения единичного датчика к Arduino:
Для начала необходимо прикрепить устройство непосредственно к плате Arduino: поэтому подаем «5V» к выводу «Vdd» устройства. Таким же способом связываем друг с другом выводной «GND». Затем срединный датчик DS18B20 фиксируем на каком-либо выходном регистре (по желанию). Допустим, это будет регистр «D2».
Подключение вывода данных «DQ» необходимо производить только после того, как вы записали номерной код Arduino на скетч. Кроме того, очень важным аспектом, о котором необходимо сказать, является присутствие номинального резистора «4,7k», который располагается между линиями устройства и блоками питания. Отметим, что данный резистор предназначен для обеспечения полного функционирования (то есть без сбоев) линий термодатчика.
Теперь перейдем к рассмотрению подключения несколькими датчиками DS18B20 к плате Arduino:
Мы возьмем в пример ситуацию с 5-ю датчиками DS18B20. Итак, как мы видим, все 5 датчиков в шине подсоединены параллельным образом, при этом, они стягиваются номинальным резистором «4,7k». Таким образом, действие платы Arduino будет определяться уникальным и точным кодом каждого из этих 5-ти датчиков.
Пришла очередь третьего способа подключения DS18B20 к плате Arduino при помощи паразитного питания:
В данном случае очевидно, что датчик/датчики принимает/принимают импульс линейных данных датчика, которые расположены между блоками «Vdd» и «GNG». А существенную роль и здесь играет все тот же номинальный резистор «4,7k», который не только стягивает линейные данные датчика, но и обеспечивает функционирование всей “буферной” системы и конструкции.
Подключение датчика DS18B20 к esp8266
Теперь перейдем к обсуждению подключения датчика DS18B20 к esp8266. Начнем, пожалуй, с прямого подключения:
Резистор 1 (R1) определяет сопротивление не более 2,2-х КОм. При наличии такого резистора, срединный вывод “DATA” прикрепляется к кабельному блоку, либо «GND», либо «VCC», а также соединяется с центральной трубкой, что и обеспечивает качественное: прочное, герметичное подключение.
Наконец, поговорим о последнем способе подключения датчика DS18B20 к esp8266:

Данный способ осуществляется с помощью номинального резистора «4,7k», который подтягивает всю систему к питанию, и с помощью трех контактов вывода датчика DS18B20, обеспечивающих, в свою очередь, подключение линий «DQ» к срединному «DATA».
Характеристики датчика DS18B20
Температурный датчик DS18B20 имеет множество особенностей не только в своей конструкции, но и в своей эксплуатации. Вот главные из них:
Взаимосвязь между разрешением датчика DS18B20 и температурой
На самом деле, рассмотреть взаимосвязь между разрешением прибора DS18B20 и температурой можно с помощью следующей картинки:
Однако, предлагаю сделать это более детально.
Начнем с девяти-битного разрешения. При этой величине температура может принимать следующие значения:
Таким образом, при разрешении 9 бит можно сделать 10.5 измерений/сек для вышеназванных температурных величин.
При расширении 10 бит температура принимать такие величины:
Можно сделать вывод, что при разрешении 10 бит можно сделать 5.3 измерений/сек для вышеназванных температурных величин.
При разрешении 11 бит температура имеет возможность принять следующий вид:
Таким образом, при разрешении 11 бит можно сделать 2.6 измерений/сек для вышеназванных температурных величин.
При разрешении 12 бит температура может принимать следующие значения:
Это говорит о том, что при расширении 12 бит можно сделать 1.3 измерений/сек для вышеназванных температурных величин.
Основные функциональные способности датчика DS18B20
Термодатчик DS18B20 имеет в своем функционале сразу несколько важнейших команд:
Где можно купить датчик DS18B20?
Термодатчик DS18B20 является достаточно востребованным устройством в наше время. Если вы думаете, что найти его будет сложно, а цена вас испугает, то вы сильно ошибаетесь. Я советую вам приобрести данный прибор на Aliexpress. Там вы найдете DS18B20 и его аналоги по смешной цене, получите быструю, а самое главное качественную доставку.
Более Точный Аналог Датчика Температуры Ds18B20
Автор Гость Александр,
27 декабря, 2015 в Песочница (Q&A)
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Последние посетители 0 пользователей онлайн
Объявления
Сообщения
Похожий контент
_BV(PD3) #define LED2_ON PORTD |= _BV(PD4) // светодиод режим 2 #define LED2_OFF PORTD &=
_BV(PD4) #define LED3_ON PORTD |= _BV(PD6) // светодиод режим 3 #define LED3_OFF PORTD &=
_BV(PD6) #define LED4_ON PORTD |= _BV(PD7) // светодиод 4 программирование #define LED4_OFF PORTD &=
_BV(PD7) #define BUT_M PIND & (1 = 1 && pr 3)
BUT_U)
BUT_D) && R1_VENT == 0) R1_VENT = 254; _delay_ms(100);> break; case 2: // настройка R1_SHIBER if(
BUT_U)
BUT_D) && R1_SHIBER == 0) R1_SHIBER = 254; _delay_ms(100);> break; case 3: // настройка R2_VENT if(
BUT_U)
BUT_D) && R2_VENT == 0) R2_VENT = 254; _delay_ms(100);> break; case 4: // настройка R2_SHIBER if(
BUT_U)
BUT_D) && R2_SHIBER == 0) R2_SHIBER = 254; _delay_ms(100);> break; case 5: // настройка R3_VENT if(
BUT_U)
BUT_D) && R3_VENT == 0) R3_VENT = 254; _delay_ms(100);> break; case 6: // настройка R3_SHIBER if(
BUT_U)
В протеуса выбрал три отдельных индикатора с общим катодом, чтобы промоделировать работу в общем. Пробовал таким же методом отображать просто числа на индикаторе и все было прекрасно, как протеусе так и на макетной плате.Не понимаю в чем проблема. Проект в Протеусе и код к ардуинке прикрепляю.
Заранее благодарю.
tee.7z
Чем заменить датчик температуры ds18b20
Подскажите пож-ста какой-нибудь аналог DS18B20, которым можно мерять температуру до +200 или +300 градусов. Знаю, у Далласов были такие, но увы, не могу найти номенклатуру. Не поможете?
Если разметил вопрос не в ту ветку, прошу прощения.
П.С. Вариант с термопарой не предлагать.
_________________
мысли мысли штош вы вйотесь
над мойейу головойу
вы там мосга нинайдете
нед там мосга! йа тупойе (БОР)

Gudd-Head ![]() | ||||
Карма: 61 |
| |||
![]() | ||||
mickbell ![]() | ||||
Карма: 96 | ||||
![]() | ||||
DJ_Kiridza ![]() | ||||
Зарегистрирован: Пн дек 13, 2010 13:01:59 |
| |||
![]() | ||||


















