[Из песочницы] Поддельные DS18B20 waterproof: что делать?

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

asiqdkwfkyng2ykebzoebdhd230.jpeg
Источник: ali-trends.ru

До меня о поддельных датчиках писалось еще и здесь. Характерные отличия поддельных датчиков от оригинала:

  1. Датчик, даже подключенный в непосредственной близости, в режиме паразитного питания отвечает неуверенно, через раз.
  2. В режиме паразитного питания высокий уровень восстанавливается слишком долго (можно замерять микроконтроллером или смотреть осциллограмму)
  3. потребление тока значительно выше нескольких микроампер (GND и VCC на минус, DQ через микроамперметр на +5 вольт)
  4. После процедуры перечисления (0xF0) датчики не отвечают на команду чтения скрэтчпада (0xBE)
  5. Температура прочитанная из скрэтчпада после подачи питания без команды замера отличается от 85,0 градусов.
  6. Значения в скрэтчпаде на позициях 5 и 7 не соответствуют 0xFF и 0×10
  7. Значения температуры (на первых двух позициях скрэтчпада) прочитанные после первого включения обесточенного датчика без предварительно поданной команды на замер, возвращают предыдущее значение, а не 50 05 (85.0 градусов).


К сожалению, у меня нет осциллографа, а в качестве испытательного стенда выступал GPS-трекер Galileosky BaseBlock Lite.

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

Решение проблемы


Итак, датчики закуплены, но только одна партия заработала корректно, а на разбирательства и заказ новой партии ушло бы приличное время, да и повлекли бы перерасходы. Поэтому проблему пришлось решать своими силами.

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

yhc0ekhyqjezzdj7dcns3hrsibo.png

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

После сборки схемы навесным монтажом датчик обнаружился терминалом при емкости конденсатора 1 мкФ. Для массового внедрения была спроектирована и заказаны панелированные платы с платами паразитного питания:

owdpoazg67zbu_z92fyukdw_uye.jpeg

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

7vy0gztdddhmfaf36lijevdtd6a.jpeg

Заключение


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

© Habrahabr.ru