Интернет-магазин

Просмотр корзины
В корзине:

товаров - 0 шт.



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



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

Дмитрий Иванов, 07 Ноября 2019


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

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

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


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

https://habr.com/ru/post/470217/

https://www.drive2.ru/b/513061538530066675/



По этой причине мы подходим крайне аккуратно к выбору поставщика и производителя датчиков 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. В случае необходимости - пересканируем шину заново. Вроде бы датчик работает и дает разумные показания. Но...

#M,DS18,1,A10155057F7E816629
#M,DS18,1,A00155057F7E81666A

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


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





© Дмитрий Иванов
07 Ноября 2019 года
http://www.kernelchip.ru



© KERNELCHIP 2006 - 2023