Перейти к содержанию

Почему PIR-датчик срабатывает сразу после включения?

Обновлено Редакция GAW

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

Время стабилизации по документам Panasonic

ДатчикТок потребленияTwuЧто с выходом
EKMC160111 (стандартный)170 мкА тип.до 30 сне определён, обнаружение не гарантируется
EKMB110111 (1 мкА)около 1 мкА в покое25 с тип., до 210 сне определён

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

Как учесть в программе

Ждать нужно максимальное время из документа, а не типичное: для EKMC160111 это 30 с, для EKMB110111 — 210 с, хотя обычно он стабилизируется примерно за 25 с.

const unsigned long PIR_SETTLE_MS = 30000;   // Twu max: 30000 ms for EKMC160111, 210000 ms for EKMB110111
unsigned long pirPowerOn;

void setup() {
  pinMode(PIR_PIN, INPUT);
  pirPowerOn = millis();                      // sensor is powered together with the MCU
}

void loop() {
  if (millis() - pirPowerOn < PIR_SETTLE_MS) return;   // ignore the output while it settles
  if (digitalRead(PIR_PIN) == HIGH) { /* motion */ }
}

Если датчик питается от управляемого ключа, отсчёт начинают от момента включения ключа, а не от старта программы.

Если ложные срабатывания продолжаются

Panasonic перечисляет сбои по питанию и радиопомехи среди причин ошибок и советует стабилизированное питание, конденсатор у вывода питания датчика и короткие экранированные провода. Остальные причины — солнце, отопление, животные — разобраны в статье «PIR-датчики движения», принцип работы — в термине «PIR-датчик». Как будить ESP32 внешним сигналом, когда датчик сработал, — в ответе «Пробуждение ESP32 кнопкой».

Похожие вопросы

Почему датчик срабатывает, когда ESP32 передаёт по Wi-Fi?

Panasonic в мерах предосторожности называет источники сбоев: статическое электричество, молнии, сотовые телефоны, любительские радиостанции — то есть сильные радиопомехи — и шум по питанию. Модуль Wi-Fi в нескольких сантиметрах и общий провод питания с импульсами тока при передаче — та же ситуация. Помогают конденсатор у вывода питания датчика, короткие провода и расстояние до антенны.

Можно ли сократить время стабилизации?

Его задаёт сам датчик, и в документах Panasonic способа ускорить нет. Если питание датчика отключают для экономии, его включают заранее, а результат игнорируют до конца Twu; для батарейных устройств выгоднее не выключать датчик вовсе — EKMB в покое потребляет около 1 мкА.

Датчик иногда срабатывает раз в несколько часов без причины. Это брак?

Не обязательно: Panasonic предупреждает, что пироэлектрический элемент изредка выдаёт самопроизвольный импульс. Если такие события недопустимы, считают тревогой только два и больше срабатываний за короткое время — Panasonic называет это схемой подсчёта импульсов.

Источники

  1. Panasonic. PIR Motion Sensor «PaPIRs» EKMC160111, Specifications Ver. 6.3 (1 December 2020) — разд. 4-3: питание 3,0–6,0 В, ток 170 мкА тип., выходной ток до 100 мкА, время стабилизации после подачи напряжения Twu — до 30 с; разд. 4-4: в этот период состояние выхода не определено и обнаружение не гарантируется; разд. 6-1: изредка возможен самопроизвольный выходной импульс из-за природы пироэлемента, при строгих требованиях — счёт импульсов; разд. 6-3: стабилизированное питание, конденсатор на выводе питания, помехоустойчивость по питанию ±20 В (импульсы 50 нс или 1 мкс), сбои от статического электричества, молний, сотовых телефонов, любительских радиостанций; короткие экранированные провода
  2. Panasonic. PIR Motion Sensor «PaPIRs» EKMB110111, Specifications Ver. 6.1 — разд. 4-3: питание 2,3–4,0 В, ток 1,0 мкА тип. (1,6 макс.) в режиме сна и 1,9 мкА тип. в ожидании, время стабилизации Twu — 25 с тип., 210 с макс.; разд. 4-4: t1 (Twu) — выход в это время не определён; t2 — время удержания около 2,6 с типично

Нашли ошибку?