четверг, 3 марта 2016 г.

Модуль инфракрасного датчика движения


Одна из прикольных штук для самоделок. Часто такие модули ставят на освещение, чтобы не пользоваться выключателем. Попал в зону действия - свет включился, вышел - свет через заданное время выключился. У меня есть бытовой датчик движения с реле на сетевое напряжение (IEK ДД 009), очень удобно. Этот модуль почти полностью повторяет работу бытового прибора, но не имеет силовой части и блока питания.

Информация от продавца:
  • Модель: HC-SR501 Модуль сенсора тела.
  • Питание: DC 4,5..20 В.
  • Ток покоя: < 50 мкА.
  • Выходной уровень: высокий 3,3 В / низкий 0 В.
  • Переключатель: L - без повтора, H - с повтором.
  • Время задержки: 5..200 с (настраивается), диапазон от сотых (или десятых?) секунд до десятков секунд.
  • Время блокировки: 2,5 с (по умолчанию), может быть сделано диапазоном
  • Угол сенсора: конус с углом < 100°
  • Рабочая температура: -15..+70°C
  • Размер: 3,2 см * 2,5 см * 2,5 см (Д * Ш * В)
  • Цвет: Синий + белый.
  • Вес нетто: 7 г.
  • Вес упаковки: 17 г.
Пластиковая линза входит в комплект. Без неё лицевая сторона платы выглядит так:


Модуль может работать в двух режимах, для их переключения есть специальная перемычка. В режиме H положительный сигнал (3,3 В) на выход будет подаваться пока есть движение плюс заданный интервал удержания сигнала. В режиме L сигнал пропадает через заданный промежуток времени после начала движения. Если после пропадания сигнала и времени блокировки движение в "кадре" всё ещё есть, сигнал появится снова.

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

При включении питания на выходе появляется сигнал о движении, что удобно для реализации освещения, но может быть неудобным в каких-то других применениях. В то же время сам датчик не работает, ему нужно несколько секунд на "разогрев" (возможно, буквально), в моём случае требуется ждать секунд 10. Если установить таймер ожидания на эти несколько секунд, то этой особенности вы даже не заметите, наверное поэтому в моём бытовом варианте минимальное время таймера как раз 10-15 секунд. Опять же, в случае работы в паре со светильником такое поведение может быть приемлемым, но в других применениях может стать большой проблемой.

У модуля есть одна иногда очень важная особенность - это указанное выше "время блокировки" длительностью 2,5 с. Это промежуток времени, в течение которого после пропадания сигнала на выходе модуль полностью слеп. Вероятно, это сделано для защиты от слишком быстрого включения/выключения нагрузки, однако на практике такое поведение раздражает. Если в режиме H это редко бывает проблемой, особенно при длительном таймере удержания (типовое использование со светильниками), то в режиме L это уже настоящая проблема, модуль "тормозит".

Без сильного уменьшения периода этой слепой зоны я не представляю, зачем может понадобиться режим L. Кроме того, в этом режиме, возможно, будет интересно также сильно уменьшить период таймера удержания, без вмешательства в схему его можно настроить минимум на 1-2 секунды. Например, в режиме L можно было бы отдавать сигнал в чистом виде (короткие импульсы при движении) микроконтроллеру, который бы сам решал, либо спрашивал у пользователя, какие таймеры использовать.


Легко найдя даташит на используемый в модуле чип BISS0001, в схеме примера подключения (данный модуль её частично повторяет) нашёл элементы, изменением номиналов которых можно отрегулировать оба таймера.


За таймер удержания отвечает RC-пара, обозначенная зелёным, резистор в модуле состоит из последовательного соединения резистора на 10 кОм и подстроечного на 1 МОм. Заменив десятикилоомник на что-то поменьше, можно уменьшить минимальное время удержания. А уменьшив номинал конденсатора, можно уменьшить весь диапазон регулировки таймера. Формула для расчёта времени: Tx ≈ 24576 * R * C. Например, для R=10 кОм и C=10 нФ получим примерно 2,5 секунды.

Для регулировки таймера блокировки нужно изменить RC-пару, отмеченную красным. Формула для расчёта задержки: Ti ≈ 24*R*C. Резистор изначально стоит на 1 МОм, сверху на него напаял 150 кОм, получив в параллели 130 кОм. Время блокировки значительно уменьшилось, модуль теперь не так тупит, быстро восстанавливая рабочее состояние. Это время можно уменьшать и дальше, в примере указаны номиналы для времени блокировки ещё в 100 раз меньше.

Если нужно увеличить эти таймеры (полагаю, бывают и такие случаи), номиналы резисторов и конденсаторов нужно увеличить.

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

Под обоими подстроечными резисторами предусмотрены площадки для SMD-резисторов, например для того, чтобы после окончательной регулировки заменить построечные резисторы на фиксированные.

На плате есть ещё два места для разъёмов, скорее всего для фоторезистора и терморезистора. Фоторезистор используется, например, для того, чтобы игнорировать движение на свету (актуально для светильников, чтобы не светить днём). Информации по использованию здесь терморезистора не нашёл.
Без доработок, по-моему, этот модуль годится только для включения лампочек в проходных местах. Очевидное использование для сигнализации требует уменьшения времени блокировки.

Нормальная цена за модуль - около доллара. Можно найти в магазинах по фразам "pir", "pir module" или "hc-sr501".

Дополнение от 4 марта 2015 г.

Нашёл схему этого модуля, выкладываю с моими отметками элементов, отвечающих за таймеры. Зелёный - таймер удержания, красный - таймер блокировки.


Но и эта схема неточная. Например, фоторезистор в моём модуле подключается по схеме из даташита на BISS0001.

Комментариев нет:

Отправить комментарий