ГлавнаяАкадемияДатчики и входы: нормализация сигналов → Особенности подключения PIR-датчиков: питание, время срабатывания

Особенности подключения PIR-датчиков: питание, время срабатывания

Урок 4 · Датчики и входы: нормализация сигналов · 30 мин · theory

Введение в PIR-датчики: Активные устройства в системах автоматизации

В предыдущих уроках мы подробно рассмотрели работу с пассивными дискретными датчиками, такими как герконы и кнопки. Их ключевая особенность — они не требуют собственного источника питания для функционирования и представляют собой простой механический переключатель. Сегодня мы переходим к изучению более сложного, но и более распространенного в системах автоматизации класса устройств — PIR-датчиков (от англ. Passive Infrared, пассивный инфракрасный).

Несмотря на слово "пассивный" в названии, которое относится к принципу детекции (датчик не излучает, а улавливает инфракрасное излучение), с точки зрения электротехники PIR-датчик является активным устройством.

> 📋 Ключевые понятия:

> * Пассивное устройство: Элемент, не требующий внешнего питания для выполнения своей основной функции (например, кнопка, геркон, резистор). Он лишь изменяет параметры электрической цепи.

> * Активное устройство: Электронный компонент или устройство, которому для работы необходим внешний источник питания. PIR-датчик содержит внутреннюю электронную схему (усилители, компараторы, таймеры), которая и потребляет энергию.

Это фундаментальное отличие от простых "сухих контактов". Если геркон — это просто два контакта, замыкающихся под действием магнита, то PIR-датчик — это миниатюрный компьютер, анализирующий тепловую обстановку в помещении. При обнаружении движущегося теплового объекта (человека, крупного животного), его внутренняя логика формирует на выходе управляющий сигнал.

Ключевые характеристики PIR-датчиков

При выборе и подключении PIR-датчика инженер должен обращать внимание на три основные группы параметров, указанные в его техническом паспорте (data sheet):

| Параметр | Описание | Типовые значения | Важность для инженера |

| :--- | :--- | :--- | :--- |

| Напряжение питания (V) | Рабочее напряжение, необходимое для питания внутренней электроники датчика. | 9-16V DC, 12V DC, 24V DC | Критически важно. Подача неверного напряжения приведет к немедленному выходу датчика из строя. |

| Потребляемый ток (mA) | Сила тока, которую датчик потребляет от источника питания в режиме ожидания и в режиме срабатывания. | 10-50 мА | Важно для расчета общей мощности, необходимой от блока питания (БП), особенно при подключении множества датчиков. |

| Тип выхода (Output) | Способ, которым датчик сообщает о срабатывании. Чаще всего это релейный выход (NO/NC) или транзисторный (Open Collector). | Реле `NC` (Normal Closed), Реле `NO` (Normal Open) | Определяет схему подключения к дискретному входу контроллера и логику обработки сигнала в Node-RED. |

Временные параметры: Управление логикой срабатывания

Поведение PIR-датчика во времени — это еще одна ключевая особенность. В отличие от кнопки, которая генерирует короткий импульс, PIR-датчик выдает длительный сигнал на все время своего срабатывания.

  • Время срабатывания (Trigger Time / Hold Time): Это период, в течение которого выходное реле датчика остается в активном состоянии после обнаружения движения. Обычно этот параметр можно настроить на самом датчике с помощью потенциометра или перемычек. Типичные значения — от 5 секунд до нескольких минут.
  • Время "ослепления" (Blind Time / Retrigger Inhibit): После того как датчик отработал и его реле вернулось в исходное состояние, он входит в короткий "период ослепления". В это время (обычно 1-3 секунды) он не реагирует на новое движение. Это сделано для предотвращения "дребезга" и ложных повторных срабатываний от одного и того же события.
  • Понимание этих временных характеристик является ключом к созданию корректной логики автоматизации. Если вы не учтете `Trigger Time`, свет в помещении может выключиться, даже если человек продолжает в нем находиться, но замер на несколько секунд.

    ---

    Схема подключения: Питание и сигнальная линия

    Правильное физическое подключение — залог стабильной работы любого активного датчика. Ошибки на этом этапе могут быть фатальными для оборудования.

    > ⚠️ Внимание: Всегда проверяйте полярность и напряжение питания датчика по его паспорту перед подключением. Используйте мультиметр для проверки напряжения на выходе блока питания, прежде чем подавать его на клеммы датчика. Неправильное подключение может необратимо повредить как сам датчик, так и дискретный вход контроллера HI.

    Физическое подключение к контроллеру HI

    Стандартный PIR-датчик имеет как минимум три провода (или клеммы): два для питания и один-два для сигнала. Рассмотрим типовую схему подключения к универсальному входу контроллера HI.

  • Питание датчика:
  • * V+ (Плюс питания): Красный провод. Подключается к источнику постоянного тока с напряжением, соответствующим паспорту датчика (например, `+12V` или `+24V`).

    * GND (Минус питания / Общий): Черный провод. Подключается к клемме `GND` того же источника питания.

  • Сигнальная линия:
  • * Датчик формирует сигнал типа "сухой контакт" через встроенное реле. У реле есть общий контакт (`COM`) и два переключаемых — `NO` (нормально открытый) и `NC` (нормально закрытый).

    * Схема для NO-датчика: Клемма `COM` датчика подключается к `GND` контроллера HI. Клемма `NO` датчика подключается к одному из универсальных входов `UI-01`...`UI-22`. При срабатывании датчика контакт `NO` замыкается на `COM`, тем самым "притягивая" вход `UI` к земле.

    * Схема для NC-датчика: Клемма `COM` датчика подключается к `GND` контроллера HI. Клемма `NC` датчика подключается к `UI`. В этом случае вход `UI` постоянно притянут к земле, а при срабатывании датчика контакт `NC` размыкается.

    Выбор источника питания

    Пример ASCII-схемы подключения (`WIRING-SENS-PIR-001`)

    //========= WIRING-SENS-PIR-001: PIR Sensor to Hallway Light Control =========
    
    

    // Легенда:

    // CTRL:HI-Core - Контроллер HI

    // PSU:12VDC - Внешний блок питания 12V DC

    // PIR-HALL-01 - PIR-датчик в коридоре

    [PSU:12VDC] (PIR-HALL-01) [CTRL:HI-Core]

    +12V -------- (Красный) --------- +V

    GND -------- (Черный) ---------- GND

    | |

    | |

    +----(Общая земля)---------------+--------------------- GND (UI Bank)

    |

    COM ----(Синий)---+

    | | (внутренняя перемычка в датчике)

    NC -----(Белый)------> UI-07 (Дискретный вход 7)

    // Пояснение:

    // 1. Датчик питается от внешнего БП 12V.

    // 2. Минус (GND) БП и GND контроллера объединены для выравнивания потенциалов.

    // 3. Используется NC-выход датчика. В спокойном состоянии вход UI-07 замкнут на GND.

    // При обнаружении движения реле размыкается.

    ---

    Чтение состояния PIR-датчика в Node-RED

    После корректного физического подключения переходим к программной части — настройке чтения состояния в среде Node-RED.

    > 🔗 Связанный материал: Принцип работы с NO/NC контактами подробно разобран в уроке `COURSE-04-M02-L02` "Понятие 'сухого контакта'". Убедитесь, что вы понимаете разницу, прежде чем настраивать узел.

    Для взаимодействия с дискретными входами контроллера используется специализированный узел, назовем его `HI-DI`.

    Настройка потока в Node-RED

  • Добавление узла `HI-DI`: Перетащите узел `HI-DI` из палитры на рабочее поле.
  • Конфигурация узла:
  • * Pin: Выберите из списка физический вход, к которому подключен датчик (в нашем примере — `UI-07`).

    * Resistor: Для работы с "сухими контактами" необходимо активировать внутренний подтягивающий резистор. Установите значение в `pull-up`. Это обеспечит стабильный высокий уровень (`1` или `true`) на входе, когда контакт разомкнут.

    * Debounce: Этот параметр позволяет отфильтровать дребезг контактов. Для PIR-датчиков это не так критично, как для кнопок, но рекомендуется установить небольшое значение, например, `50` мс.

    * Name: Задайте осмысленное имя узла, например, "PIR Коридор".

  • Анализ `msg.payload`: Подключите узел `Debug` к выходу `HI-DI`. Разверните окно отладки. Когда в зоне видимости датчика нет движения, он (в нашей NC-схеме) замкнут, и вход `UI-07` притянут к `GND`. Узел `HI-DI` будет выдавать `msg.payload: false`.
  • Когда датчик обнаруживает движение, его NC-реле размыкается. Подтягивающий резистор контроллера устанавливает на входе `UI-07` высокий уровень. Узел `HI-DI` начнет отправлять `msg.payload: true`.

        // Сообщение при обнаружении движения (для NC-схемы с pull-up)

    {

    "payload": true,

    "topic": "UI-07"

    }

    Вы заметите, что сообщения `true` будут приходить непрерывно или с некоторой периодичностью, пока активно реле датчика (на протяжении всего его `Trigger Time`). Как только `Trigger Time` истечет, датчик вернется в спокойное состояние, и `HI-DI` отправит одно сообщение `msg.payload: false`.

    Инвертирование логики для NO/NC

    Важно правильно сопоставить тип контакта с логикой в Node-RED.

    Для простоты дальнейшей логики рекомендуется приводить сигнал к виду: `true` = движение, `false` = нет движения.

    Простой поток для отладки:
    [HI-DI: PIR Коридор] -> [Debug: Raw Signal]
    

    Изучив сообщения в окне `Debug`, вы своими глазами увидите, как долго датчик держит сигнал `true` и как быстро возвращается в состояние `false`. Это понимание критично для следующего шага.

    ---

    Логика обработки: Управление светом с учетом времени срабатывания

    Простейший сценарий "увидел движение — включил свет" реализуется связкой `HI-DI` -> `HI-DO` (узел управления реле). Но здесь нас ждет проблема: как только `Trigger Time` датчика истечет (допустим, 10 секунд), свет погаснет, даже если человек все еще находится в комнате, но временно не двигается. Это создает дискомфорт.

    Решение состоит в том, чтобы добавить в нашу логику таймер "отложенного выключения", который перезапускается при каждом новом обнаружении движения. Для этого в Node-RED есть стандартный и очень мощный узел — `trigger`.

    > 💡 Подсказка: Для коридоров или проходных зон используйте два PIR-датчика, расположенных в начале и в конце. Их выходы в Node-RED можно объединить через узел `Boolean Logic` (с функцией `OR`). Логика "ИЛИ" (если сработал датчик 1 ИЛИ датчик 2) позволит избежать выключения света, когда человек находится между датчиками.

    Конфигурация узла `trigger` для управления светом

    Узел `trigger` работает как таймер с возможностью сброса. Настроим его для нашей задачи:

  • Перетащите узел `trigger` между узлами `HI-DI` и `HI-DO`.
  • Откройте его настройки:
  • Send: `{"payload": true}`. Это сообщение будет отправлено немедленно* при получении первого входящего сообщения (т.е. свет включится сразу).

    * then wait for: `3 minutes` (или любое другое желаемое время, например `90 seconds`). Это время, в течение которого свет будет гарантированно гореть после последнего обнаруженного движения.

    * then send: `{"payload": false}`. Это сообщение будет отправлено по истечении таймера (команда на выключение света).

    * Установите галочку `Extend delay if new message arrives`. Это ключевая настройка! Она означает, что если в течение 3 минут придет новое сообщение от PIR-датчика (`true`), таймер сбросится и начнет отсчет 3 минут заново.

    * Можно также установить галочку `Handle every message`, чтобы каждое сообщение от датчика сбрасывало таймер.

    Создание полноценного потока `FLOW-AUTO-LIGHT-012`

    Теперь соберем все вместе в законченный и надежный сценарий.

    ASCII-схема потока:
                            +----------------------+    +-----------------------+
    

    (Движение есть: true) | | | Отправить {payload:true}|

    ----------------------> | trigger: 3 min | -> | немедленно | -> [HI-DO: Свет Коридор] -> (Реле вкл.)

    (Движения нет 3 мин) | | | |

    | Wait, then send | -> | Отправить {payload:false}| -> [HI-DO: Свет Коридор] -> (Реле выкл.)

    +----------------------+ +-----------------------+

    ^

    |

    [HI-DI: PIR Коридор] ---+

    Логика работы потока:
  • Человек входит в коридор. `HI-DI` отправляет в `trigger` сообщение `{ "payload": true }`.
  • `trigger` немедленно пересылает `{ "payload": true }` на узел `HI-DO`. Реле света замыкается, свет включается. Одновременно `trigger` запускает свой внутренний таймер на 3 минуты.
  • Человек продолжает двигаться по коридору. PIR-датчик снова срабатывает и отправляет еще одно `{ "payload": true }` в `trigger`.
  • `trigger` получает это сообщение, сбрасывает свой 3-минутный таймер и запускает его заново. Свет продолжает гореть.
  • Человек покидает коридор. PIR-датчик перестает генерировать события.
  • `trigger` ждет. Поскольку новых сообщений `true` не поступает, его 3-минутный таймер доходит до конца.
  • По истечении таймера `trigger` отправляет `{ "payload": false }` на узел `HI-DO`. Реле света размыкается, свет выключается.
  • Этот паттерн (`датчик -> trigger -> исполнитель`) является одним из самых фундаментальных и часто используемых в домашней и коммерческой автоматизации.

    // Пример JSON-экспорта для узла trigger (можно импортировать в Node-RED)
    

    [

    {

    "id": "trigger_node_example",

    "type": "trigger",

    "z": "your_flow_id",

    "name": "Задержка выключения света 3 мин",

    "op1": "true",

    "op2": "false",

    "op1type": "bool",

    "op2type": "bool",

    "duration": "3",

    "extend": true,

    "overrideDelay": false,

    "units": "min",

    "reset": "",

    "bytopic": "all",

    "topic": "topic",

    "outputs": 1,

    "x": 450,

    "y": 200,

    "wires": [

    [

    "hi_do_node_id"

    ]

    ]

    }

    ]

    ---

    Итоги и ключевые выводы

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

    Ключевые моменты урока:
  • PIR-датчик – это активное устройство. Он всегда требует отдельного питания (обычно 12/24V DC), что необходимо учитывать при проектировании и монтаже системы.
  • Сигнал от PIR-датчика является длительным, а не импульсным. Его продолжительность определяется внутренней настройкой `Trigger Time`, и эту особенность необходимо корректно обрабатывать в логике.
  • Узел `trigger` в Node-RED – основной инструмент для работы с PIR-датчиками. Он позволяет легко реализовать логику "отложенного выключения", которая делает автоматизацию комфортной для пользователя, предотвращая преждевременное выключение света.
  • Правильное подключение и настройка — от проверки полярности мультиметром до конфигурирования узлов в Node-RED — это единый процесс, где каждый этап важен для достижения надежного результата.
  • Освоив этот урок, вы сможете самостоятельно реализовать один из самых востребованных сценариев автоматизации — интеллектуальное управление освещением на основе присутствия.

    Что дальше?

    В следующем уроке мы углубимся в работу с аналоговыми входами. Мы рассмотрим, как подключать датчики, которые измеряют не просто "да/нет", а непрерывные физические величины — температуру, влажность, освещенность, и как преобразовывать их аналоговые сигналы (0-10V, 4-20mA) в цифровые данные для использования в ваших сценариях автоматизации.