Датчик движения микроволновый rcwl 0516

Содержание

Пирлоэлектрический датчик движения — общая информация

ПИР датчики движения по сути состоят из пироэлектрического чувствительного элемента (цилиндрическая деталь с прямоугольным кристаллом в центре), который улавливает уровень инфракрасного излучения. Все вокруг излучает небольшой уровень радиации. Чем больше температура, тем выше уровень излучения. Датчик фактически разделен на две части. Это обусловлено тем, что нам важен не уровень излучения, а непосредственно наличие движение в пределах его зоны чувствительности. Две части датчика установлены таким образом, что если одна половина улавливает больший уровень излучения, чем другая, выходной сигнал будет генерировать значение high или low.

Сам модуль, на котором установлен датчик движения, состоит также из дополнительной электрической обвязки: предохранители, резисторы и конденсаторы. В большинстве недорогих пир-датчиков используются недорогие чипы BISS0001 («Micro Power PIR Motion Detector IC»). Этот чип воспринимает внешний источник излучения и проводит минимальную обработку сигнала для его преобразования из аналогового в цифровой вид.

Одна из базовых моделей пироэлектрических датчиков подобного класса выглядит так:

Более новые модели PIR-датчиков имеют дополнительные выходы для дополнительной настройки и установленные коннекторы для сигнала, питания и земли:

ПИР датчики отлично подходят для проектов, в которых необходимо определять наличие или отсутствие человека в пределах определенного рабочего пространства. Помимо перечисленных выше достоинство подобных датчиков, они имеют большую зону чувствительности. Однако учтите, что пироэлектрические датчики не предоставят вам информации о том, сколько человек вокруг и насколько близко они находятся к датчику. Кроме того, сработать они могут и на домашних питомцев.

Общая техническая информация

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

  • Форма: Прямоугольник;
  • Цена: около 10.00 долларов в магазине Adafruit;
  • Выходной сигнал: цифровой импульс high (3 В) при наличии движения и цифровой сигнал low, когда движения нет. Длина импульса зависит от резисторов и конденсаторов на самом модуле и разная в различных датчиках;
  • Диапазон чувствительности: до 6 метров. Угол обзора 110° x 70°;
  • Питание: 3В — 9В, но наилучший вариант — 5 вольт;
  • BIS0001 (даташит);
  • RE200B (даташит);
  • NL11NH (даташит);
  • Parallax (даташит).

Ссылки для заказа оборудования, которое используется в статье в дальнейшем из Китая

>Для заказа с Aliexpress:

Детали

В качестве антенны для радиомодуля использован кусок монтажного провода длиной примерно 20 см. Его нужно припаять к монтажной точке на его плате, подписанной «ANT».

Сирена BF1 — готовая электронная сирена для автомобильных сигнализаций. Подойдет, практически любая, которая подключается только по питанию (подавляющее большинство именно такие).

Светодиод HL1 — любой индикаторный мигающий светодиод. Микросхему К561ЛЕ10 можно заменить на CD4025 или любой аналог «4025». Диод КД522 можно заменить практически любым кремниевым диодом малой мощности, например, КД521, КД503, КД 102, КД103, 1N4148 и др.

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

Дальность взаимодействия приемного модуля и радиобрелка оказалась существенной, — более 100 метров. В процессе налаживания можно изменить время звучания сирены, подобрав сопротивление R5 или емкость C3.

Дальность зоны контроля датчика Х2, как уже сказано выше, можно уменьшить, заменив на его плате резистор R9 резистором большего сопротивления.

Зона действия датчика Х2 круговая, то есть, он чувствует и то что перед платой, и то что за ней. Таким образом, датчик желательно устанавливать посредине помещения.

Коренов Є. А.

Схема соединений

Подключите Arduino к RCWL-0516, символьному ЖК-дисплею, зуммеру и светодиоду, как показано на схеме ниже.

Таблица соединений 1:

Arduino Pin Number
LED 2
Content 3

Таблица соединений 2:

Arduino Analog IO Character LCD
A5 SCL
A4 SDA

Таблица соединений 3:

Arduino Nano RCWL-0516
GND GND
5V VIN
D2 OUT

Вывод 3V3 на RCWL-0516 является выходным выводом. Вывод CDS позволяет вам добавить LDR (светозависимый резистор) к плате, что позволяет работать в режиме низкого энергопотребления, чтобы датчик активировался только в темноте. После подключения перепроверьте соединения, а затем загрузите исходный код (ниже).

2Подключение и работа радара RCWL-0516

Сначала проверим работоспособность датчика RCWL-0516 без Arduino. Для индикации подключим к выходу OUT датчика светодиод. Когда датчик будет детектировать движение, на выходе OUT будет появляться напряжение 3.3 В, и светодиод будет загораться.

Схема подключения датчика RCWL-0516

А вот так это выглядит вживую:

Вывод срабатывания датчика RCWL-0516 на светодиод

Очевидно, что для чтения показаний датчика RCWL-0516 с помощью Arduino, достаточно прочитать логический уровень на любом входе. Например, будем использовать аналоговый вход A0. Но просто прочитать значение – слишком простая задача. Давайте будем передавать информацию о срабатывании датчика по радиоканалу на удалённое устройство. В роли удалённого устройства также будет Arduino. Радиоканал устроим с помощью уже известной нам пары XY-MK-5V и FS1000A (вот здесь и здесь).

Передатчик будет выглядеть так:

Передатчик показаний датчика RCWL-0516 на Arduino и FS1000A

Здесь данные с выхода OUT датчика RCWL-0516 поступают на аналоговый вход A0 Arduino. А выход TX (D0) последовательного порта Arduino идёт на ножку DATA передатчика. Питается и датчик движения, и передатчик напряжением с выхода 5V Arduino.

Для устойчивости радиоканала важно, чтобы по нему постоянно передавались данные. Причём это не должны быть одни нули

Допустим, когда датчик RCWL-0516 в состоянии ожидания, мы будем передавать по радио число 0xF0, а когда датчик фиксирует движение, будем передавать 0x0F. Когда датчик зафиксирует движение, также будем зажигать встроенный светодиод Arduino. Таким образом, скетч передатчика будет такой:

Скетч передатчика показаний датчика RCWL-0516 (разворачивается)

  void setup() {
  Serial.begin(9600);  
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  int val = analogRead(A0);
  if (val > 500){ // фиксация движения, на выходе HIGH
     Serial.write(0x0F);
     digitalWrite(LED_BUILTIN, HIGH);
  } 
  else { // нет движения
    Serial.write(0xF0);
    digitalWrite(LED_BUILTIN, LOW);
  }
}
    

Давайте сначала подключим приёмник к компьютеру с помощью преобразователя UART-USB и посмотрим, что вообще мы принимаем из радиоэфира (см. статью для подробностей).

Данные, принимаемые из радиоэфира

Видно, что в целом мы видим то, что и хотим увидеть: числа 0x0f и 0xf0. Но встречаются и искажения информации, вызванные шумами радиоэфира, от которых придётся избавляться. Самый простой способ – брать несколько соседних значений. И если они все равны ожидаемому, то считаем это за срабатывание. Поэтому скетч для приёмника будет несколько сложнее.

Продолжение следует…

1Описание, принцип действия и схема радара RCWL-0516

Датчик представляет собой модуль размером 35.9×17.3 мм и практически плоский, за исключением микросхемы BISS0001 (аналог RCWL-9196) на лицевой стороне и линейного стабилизатора напряжения 7133-1 на обратной. Благодаря линейному стабилизатору модуль можно питать напряжениями от 4 до 27 В, которое подаётся на вывод VIN. Внешний вид модуля приведён на фото.

Верхняя сторона датчика RCWL-0516

Обратите внимание, что вывод 3V3 – это не вход питания, а выход линейника! На него подавать ничего не нужно. Можно с него брать напряжение 3.3 В (потребители до 30 мА)

Микросхема BISS0001 – это т.н. PIR-контроллер. Аббревиатура PIR происходит от Passive Infra-Red, т.е. пассивный инфракрасный детектор. Дело в том, что изначально микросхема разрабатывалась как контроллер именно для инфракрасных детекторов движения.

Нижняя сторона датчика RCWL-0516

Датчик RCWL-0516 работает на эффекте Доплера. Напомню, эффект Доплера – это изменение частоты отражённой волны при движении наблюдаемого объекта. Модуль постоянно излучает в пространство радиоволновое излучение определённой частоты (около 3150 МГц). Отражаясь от объекта, волна возвращается и фиксируется датчиком. Если её частота несколько изменилась, значит, объект находится в движении.

В случае обнаружения движения датчик выставляет на выходе OUT логическую единицу (3.3 В). Причём датчик может работать в двух режимах: перезапускаемом (retriggerable) и неперезапускаемом (non-retriggerable).

  • перезапускаемый режим – датчик будет держать на выходе OUT логическую единицу так долго, сколько будет фиксировать движение;
  • неперезапускаемый режим – датчик будет держать на выходе OUT логическую единицу установленное время (от 2 до 300 секунд).

Режим задаётся так. Если на входе «1» микросхемы BISS0001 логическая единица – режим перезапускаемый, если логический ноль – неперезапускаемый. В данном модуле на входе «1» микросхемы 3.3 В, т.е. он работает в перезапускаемом режиме.

Для регулировки времени срабатывания триггера (времени удержания импульса на выходе OUT) служит место для конденсатора C-TM. Без установленного конденсатора время срабатывания триггера – 2 сек. Добавление ёмкости повысит длительность импульса триггера.

После срабатывания триггера датчик на некоторое время «слепнет». Такой же эффект происходит сразу после включения. Поэтому после включения датчику нужно дать время (обычно до 10 секунд) чтобы «успокоиться» и настроиться на окружающую обстановку.

Для регулировки дальности обнаружения датчика служит место для резистора R-GN. По умолчанию датчик настроен на максимальною дистанцию обнаружения 7…9 м. Добавление резистора сопротивлением 1 МОм снизит дистанцию примерно в 1.5…2 раза.

Вывод CDS соединён с выводом 9 микросхемы BISS0001, который позволяет отключить датчик (активация/деактивация). К этому выводу в параллель (на место CDS в углу платы на лицевой стороне модуля) можно подключить фоторезистор, который будет включать датчик только в тёмное время суток. А пока освещения достаточно, его сопротивление маленькое, и радиоизлучатель будет выключен. С помощью резистора на месте R-CDS можно регулировать порог срабатывания фоторезистора. Если же просто «посадить» выход CDS на землю, то датчик будет неактивен.

В приложении к статье можно скачать принципиальную схему и описание детектора RCWL-0516. Они сделаны для более ранней модификации данного модуля, но практически идентичны, за исключением нескольких деталей. Так, например, на схемах отсутствует линейный стабилизатор напряжения на входе питания. Но в измерительной части всё соответствует рассматриваемому устройству.

В документации приведена рекомендация по размещению датчика RCWL-0516. Датчик крепится на потолке помещения на высоте не более 7 метров.

Пример размещения датчика RCWL-0516 внутри помещения

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

Исходный код программы (скетча)

Arduino

int Sensor = 12;
int LED = 3;
void setup() {
Serial.begin(9600);
pinMode (Sensor, INPUT);
pinMode (LED, OUTPUT);
Serial.println(«Waiting for motion»);
}
void loop() {
int val = digitalRead(Sensor); //Read Pin as input
if((val > 0) && (flg==0))
{
digitalWrite(LED, HIGH);
Serial.println(«Motion Detected»);
flg = 1;
}
if(val == 0)
{
digitalWrite(LED, LOW);
Serial.println(«NO Motion»);
flg = 0;
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

intSensor=12;

intLED=3;

voidsetup(){

Serial.begin(9600);

pinMode(Sensor,INPUT);

pinMode(LED,OUTPUT);

Serial.println(«Waiting for motion»);

}

voidloop(){

intval=digitalRead(Sensor);//Read Pin as input

if((val>)&&(flg==))

{

digitalWrite(LED,HIGH);

Serial.println(«Motion Detected»);

flg=1;

}

if(val==)

{

digitalWrite(LED,LOW);

Serial.println(«NO Motion»);

flg=;

}

}

Подключение PIR датчика движения к Arduino

Напишем программу для считывания значений с пироэлектрического датчика движения. Подключить PIR датчик к микроконтроллеру просто. Датчик выдает цифровой сигнал, так что все, что вам необходимо — считывать с пина Arduino сигнал HIGH (рбнаружено движение) или LOW (движения нет).

При этом не забудьте установить коннектор в позицию H!

Подайте питание 5 вольт на датчик. Землю соежинети с землей. После этого соедините пин сигнала с датчика с цифровым пином на Arduino. В данном примере использован пин 2.

Программа простая. По сути она отслеживает состояние пина 2. А именно: какой на нем сигнал: LOW или HIGH. Кроме того, віводится сообщение, когда состояние пина меняется: есть движение или движения нет.

* проверка PIR датчика движения

int ledPin = 13; // инициализируем пин для светодиода

int inputPin = 2; // инициализируем пин для получения сигнала от пироэлектрического датчика движения

int pirState = LOW; // начинаем работу программы, предполагая, что движения нет

int val = 0; // переменная для чтения состояния пина

pinMode(ledPin, OUTPUT); // объявляем светодиод в качестве OUTPUT

pinMode(inputPin, INPUT); // объявляем датчик в качестве INPUT

val = digitalRead(inputPin); // считываем значение с датчика

digitalWrite(ledPin, HIGH); // включаем светодиод

if (pirState == LOW) <

// мы только что включили

// мы выводим на серийный монитор изменение, а не состояние

digitalWrite(ledPin, LOW); // выключаем светодиод

if (pirState == HIGH)<

// мы только что его выключили

// мы выводим на серийный монитор изменение, а не состояние

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

Схема микроволнового датчика движения

Наш датчик-это радар, основанный на эффекте Доплера, состоящий из электронного блока, показанного на схеме, в который мы собираемся вставить плату модуля датчика. Последний основан на микросхеме RCWL9196, которая взаимодействует с радиолокатором, собранном на генераторе Колпица на транзисоре Mmbr941m , который использует специально сформированную антенну на печатной плате. На рис. 1 показана схема датчика. Плату датчика можно увидеть на рис. 2.

Рис.1

Датчик имеет 5 выводов:

  • OUT — выход датчика (устанавливается в «1» при наличии движений + задерживается на 2 секунды после их прекращения).
  • VIN — вход напряжения питания, от +4 до +28 В постоянного тока.
  • GND — вход питания (общий).
  • 3V3 — выход стабилизированного напряжения питания 3,3 В (можно использовать для питания микроконтроллеров).
  • COS- вход разрешения (подтянут внутренним сопростивлением чипа). Если на данном выводе установить уровень логического «0», то после сброса триггера, он не будет устанавливаться (датчик перестанет реагировать на движения).
  • Если в зоне действия датчика нет объектов способных отражать радиоволны, то приёмник ничего не примет и датчик не сработает.
  • Если в зоне действия датчика имеются неподвижные объекты способные отражать радиоволны, то приёмник примет радиоволну передатчика, отражённую от этих объектов, но частота принятой радиоволны будет равна частоте сигнала передатчика и датчик не сработает.
  • Если в зоне действия датчика имеется объект способный отражать радиоволны, который приближается к датчику (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет выше чем у сигнала передатчика и датчик сработает.
  • Если в зоне действия датчика имеется объект способный отражать радиоволны, который удаляется от датчика (движется), то приёмник примет отражённую от объекта радиоволну, частота которой будет ниже чем у сигнала передатчика и датчик сработает.

На плате устройства предусмотрено место для установки фоторезистора (CDS). Очевидно, данный датчик предназначен в первую очередь для управления освещением.

Рис. 2

Питание:

Напряжение питания от 4 до 28 В постоянного тока, подаётся на выводы «VIN» и «GND» модуля. Не подключайте питание к выходу «3V3» модуля. Вывод модуля «3V3» является выходом стабилизированного напряжения 3,3 В. От этого напряжения можно запитывать другие маломощные устройства, например, микроконтроллер.

Модуль собран на печатной плате с плоской антенной и содержащей генератор, радиочастотный смеситель и дискриминатор, обнаруживающий изменение радиоволны, вызванное присутствием движущегося человека в зонео бнаружения датчика. Ток потребления 3 мА, при напряжении питания 5 В. Дальность уверенного срабатывания около 1 м, если датчик располагается на полу и около 3 м, если датчик лежит на столе.

В RCWL9196 есть смеситель и дискриминатор сигнала и обеспечивает вывод высокого логического сигнала на контакт модуля при обнаружении движения.

Регулировка параметров:

C-TM- Конденсатор для регулировки времени удержания импульса. Время в секундах можно вычислить по формуле: T=(1/F)*32678

R-NG-Если нужно снизить дальность до 5м., добавляем резистор 1 МОм

CDS- Место для подключения фоторезистора (если необходимо, для управления светом)

R-CDS- Резистор для регулировки срабатывания фоторезистораВывод CDS- можно использовать для дистанционной установки фоторезистора, а так же для подбора переменным резисторомстепени освещенности при которой начинает работать датчик, потом этот номинал припаивается к R-CDS

Данный датчик можно приобрести на Алиэкспресс примерно за 60 рублей.

Список деталей для дачтика на RCWL-0516

C1: –

C2, C3, C18: 10 nF керамический

C4, C8, C10, C11, C13: 100 nF керамический

C15, C16, C17: 100 nF керамический

C5, C6, C7: 22 pF керамический

C9: 1 nF керамический

C12, C14: 33 pF керамический

R1, R10: 100 ом

R2: 10 ком

R3, R16, R18: –

R4, R13, R14, R15, R17: 1 Mом 

R5, R6: 22 ком

R7: 56 ком

R8: 1 ком

R9: 220 ом

R11: 4,7 ком

R12: 2,2 ком

Q1:BFR520

U1:RCWL-9196

J1: 5 конаткный разъем (PLS)

RCWL-0516 может быть связан с Arduino или Fishino; в этом случае (как вы можете видеть из рис. 3) его можно использовать для автоматического открывания дверей или моторизованных ворот, автоматического включения-выключения света в комнатах или коридорах, а также создать аварийные системы безопасности.

Мы также можем использовать аналоговый выход RCWL-9196 и подключить его к одному из аналоговых входов Arduino, чтобы получить примерное измерение расстояния дообнаруженного человека, основанное на амплитуде выходного сигнала.

Принцип работы пироэлектрических (PIR) датчиков движения

PIR датчики не такие простые как может показаться на первый взгляд. Основная причина — большое количество переменных, которые влияют на его входной и выходной сигналы. Чтобы объяснить основы работы ПИР датчиков, мы используем рисунок, приведенный ниже.

Пироэлектрический датчик движения состоит из двух основных частей. Каждая из частей включает в себя специальный материал, чувствительный к инфракрасному излучению. В данном случае линзы особо не влияют на работу датчика, так что мы видим два участка чувствительности всего модуля. Когда датчик находится в состоянии покоя, оба сенсора определяют одинаковое количество излучения. Например, это может быть излучение помещения или окружающей среды на улице. Когда теплокровный объект (человек или животное), проходит мимо, он пересекает зону чувствительности первого сенсора, в результате чего на модуле ПИР датчика генерируются два различных значения излучения. Когда человек покидает зону чувствительности первого сенсора, значения выравниваются. Именно изменения в показаниях двух датчиков регистрируются и генерируют импульсы HIGH или LOW на выходе.

Конструкция PIR датчика

Чувствительные элементы ПИР датчика устанавливается в металлический герметический корпус, который защищает от внешних шумов, перепадов температур и влажности. Прямоугольник в центре сделан из материала, который пропускает инфракрасное излучение (обычно это материал на основе силикона). За этой пластиной устанавливаются два чувствительных элемента.

Рисунок из даташита Murata:

Рисунок из даташита RE200B:

На рисунке из даташита RE200B видно два чувствительных элемента:

На рисунке выше приведена внутренняя схема подключения.

Линзы

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

На рисунке выше приведен пример линзы из пластика. Это значит, что диапазон чувствительности датчика представляет из себя два прямоугольника. Но, как правило, нам нужно обеспечить большие углы обзора. Для этого можно использовать линзы, подобные тем, которые используются в фотоаппаратах. При этом линза для датчика движения должна быть маленькая, тонкая и изготавливаться из пластика, хотя он и добавляет шумы в измерения. Поэтому в большинстве PIR датчиков используются линзы Френеля (рисунок из Sensors Magazine):

Линзы Френеля концентрируют излучение, значительно расширяя диапазон чувствительности пиродатчиков (рисунок с BHlens.com)

Рисунок из Cypress appnote 2105:

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

На рисунке ниже можно увидеть отдельные секции — линзы Френеля:

На этом макроснимке обратите внимание, что фактура отдельных линз отличается:

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

Рисунки из даташита NL11NH:

Ниже еще один рисунко. Более яркий, но менее информативный

Кроме того, обратите внимание, что у большинства датчиков угол обзора составляет 110 градусов, а не 90

Рисунок из IR-TEC:

Пример программы

Скетч представляет собой программный код, который помогает проверить работоспособность датчика движения после его включения. В самом простом его примере есть множество недостатков:

  • Вероятность ложных срабатываний, за счет того, что для самоинициализации датчика требуется одна минута;
  • Отсутствие выходных устройств исполнительного типа – реле, сирены, светоиндикации;
  • Короткий временной интервал сигнала на выходе сенсора, который необходимо на программном уровне задержать, в случае появления движения.

Указанные недостатки устраняются при расширении функционала датчика.

Скетч самого простого типа, который может быть использован в качестве примера работы с датчиком движения на Arduino, выглядит таким образом:

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

В коде программы сначала объявим используемые контакты.

Arduino

int Sensor = 12;
int LED = 3;

1
2

intSensor=12;

intLED=3;

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

Arduino

void setup() {
Serial.begin(9600);
pinMode (Sensor, INPUT);
pinMode (LED, OUTPUT);
Serial.println(«Waiting for motion»);
}

1
2
3
4
5
6

voidsetup(){

Serial.begin(9600);

pinMode(Sensor,INPUT);

pinMode(LED,OUTPUT);

Serial.println(«Waiting for motion»);

}

Далее, внутри функции loop(), мы будем считывать состояние контакта, к которому подключен датчик движения, с помощью функции digitalRead(). И если значение на данном контакте больше 0, мы будем включать светодиод, иначе мы будем выключать светодиод.

Arduino

void loop() {
int val = digitalRead(Sensor); //Read Pin as input
if((val > 0) && (flg==0))
{
digitalWrite(LED, HIGH);
Serial.println(«Motion Detected»);
flg = 1;
}
if(val == 0)
{
digitalWrite(LED, LOW);
Serial.println(«NO Motion»);
flg = 0;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14

voidloop(){

intval=digitalRead(Sensor);//Read Pin as input

if((val>)&&(flg==))

{

digitalWrite(LED,HIGH);

Serial.println(«Motion Detected»);

flg=1;

}

if(val==)

{

digitalWrite(LED,LOW);

Serial.println(«NO Motion»);

flg=;

}

После того как аппаратная часть проекта будет готова, загрузите программу в плату Arduino. Откройте окно монитора последовательного порта на скорости 9600 бод и совершайте какие-нибудь движения неподалеку от датчика – наблюдайте как будет включаться/выключаться светодиод и будут печататься соответствующие сообщения в окне монитора последовательной связи.

Schematic

There are two parts to this circuit: 1. A microwave frequency transmitter/receiver/mixer and 2.a much lower frequency part based on an IC (marked RCWL-9196) which is very similar to the BISS0001 IC used in PIR motion detectors.

First the microwave part:

A critical function of a doppler radar is to be able to ‘mix’ the reflected signal with the transmitted signal to arrive at a frequency which is the difference between the transmitted and reflected signal. In this board Q1 also cleverly assumes the function of the mixer: .

The low doppler frequency difference is extracted by a low pass RC filter (C9 = 1nF, R3 = 1k, fc = 1/2πRC ≈ 160kHz) and amplified by the RCWL-9196 IC and treated exactly the same as a signal from a PIR sensor.

Update 4 Jan 2017: finally found the signal at 3.181GHz with the HackRF One SDR! One interesting observation: waving my hand in front of the sensor causes significant changes in the transmitting frequency, shifting by up to 1MHz. My theory: the low frequency doppler shift causes small changes in the transistor base bias. I used spice simulations to verify that small changes to transistor base bias causes changes in oscillation frequency. By running a few simulations I estimate that 1µV change in bias will change oscillation frequncy by 1.4MHz.

The low frequncy part

The core of the low frequncy signal processing is an IC marked RCWL-9196. The schematic says (in chinese) that it’s similar to a BISS0001 PIR IC. But there are differences. Unfortunately I can’t find any hard information (eg datasheet) on this. Nor can I find any information on the brand/company name «RCWL».

Pin number BISS0001 RCWL-9196
1 A Retriggerable & non-retriggerable mode select (A=1 : re-triggerable) same
2 VO Detector output pin (active high) same
3 RR1 Output pulse width control (Tx) same?
4 RC1 Output pulse width control (Tx) same?
5 RC2 Trigger inhibit control (Ti) same?
6 RR2 Trigger inhibit control (Ti) same?
7 Vss Ground same
8 VRF RESET & voltage reference input (Normally high. Low=reset) Vin (4 — 28V)
9 VC Trigger disable input (VC > 0.2Vdd=enable; Vc < 0.2Vdd =disabled) same
10 IB Op-amp input bias current setting ?
11 Vdd Supply voltage 3.3V regulated output (100mA max?)
12 2OUT 2nd stage Op-amp output same
13 2IN- 2nd stage Op-amp inverting input same
14 1IN+ 1st stage Op-amp non-inverting input same
15 1IN- 1st stage Op-amp inverting input same
16 1OUT 1st stage Op-amp output same