суббота, 4 августа 2018 г.

DS18B20: оригинальный и с aliexpress.com

Приобрел некоторое время назад "на поиграться" на aliexpress датчики:
5PCS/LOT DALLAS DS18B20 18B20 18S20 TO-92 IC CHIP Thermometer Temperature Sensor Цена: US $2.78 / lot,
т.е. примерно 180 рублей за пять штук.
У меня в городе можно купить 100рублей за штуку - явная выгода.


слева оригинальный датчик, справа китайская подделка. На оригинале маркировка выгравирована,  на подделке краска, и шрифт отличается.


Недавно дошли руки поиграться с ними (https://github.com/rawaaw/spi-1wire).
Цель была на maxII сделать конвертер SPI<>1wire для подключения к железкам типа Orange Pi
(да, я знаю, что для OPi есть драйвер 1wire, но так неинтересно).

S/N из датчика читается, температура тоже читается, но меня смутило то,
что команда READ SCRACHPAD возвращает какие-то странные данные.

READ SCRATHPAD
read data
scratchpad: 500505A07FFFFFFF
scratchpad CRC: 58
calculated CRC: 58
В datasheet написано другое.

И время конверсии подозрительно короткое.
Должно быть по умолчанию около секунды, а тут порядка 100ms.

Ок, купил в ЧипДип оригинальный датчик.
Тут все, как написано в мануале.
READ SCRATHPAD
read data
scratchpad: 840105A01FFF0C10
scratchpad CRC: C2
calculated CRC: C2

В общем, в китайской подделке нет EEPROM, и АЦП скорее всего 8 или 9 разрядный.

Т.е. температуру измерять можно, и результат похож на правильный,
но в качестве полноценной замены использовать нельзя.