Недавно я приобрёл дешёвые микроволновые датчики движения RCWL-0516, отчасти с целью понять, как китайцы умудрились собрать радар стоимостью меньше доллара.

Заставить работать такой оказалось несложно. Я просто подключил контакт VIN к 5 вольтам, GND к земле и добавил блокировочный конденсатор на контакт 3V3. Когда в радиусе 5 метров происходит какое-то движение, контакт OUT на 3 секунды поднимает уровень напряжения до 3 В.

В общем, девайс работает, но как?

Начал я с того, что нашёл спецификацию для большой микросхемы SOIC-16. Оказывается, BISS0001 — это инфракрасный датчик движения? Как же он устроен?

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

В моём модуле сигнал промежуточной частоты поступает на микросхему через контакт 14 и в усиленном виде выходит с неё через контакт 16, с которого его намного удобнее снимать осциллографом1:



В середине этого графика отражён момент, когда я примерно на 40 см пододвинул ноутбук к датчику, но датчик также с обеих сторон зафиксировал более медленные смещения уровня, когда я потянулся, чтобы отключить осциллограф. Фактически, этого графика достаточно, чтобы выяснить, какую частоту использует радар: во время перемещения ноутбука произошло 8 пиков, то есть круговой путь сигнала изменился на 8 шагов волны. Восемь шагов при смещении на 80 см — это примерно 10 см каждый, что очень близко к фактической длине волны 9,4 см.

▍ Так в чём же кроется вся магия?


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



На первый взгляд, всё это выглядит как однотранзисторный осциллятор, работающий на частоте 3,18 ГГц.



S-образная дорожка на схеме эмиттера представляет СВЧ-резонатор2 и антенну, управляемую биполярным транзистором, получающим обратную связь от конденсатора, образованного резонатором и параллельной медной дорожкой. Подозреваю, что кольцевой сегмент на тыльной стороне платы служит просто для предотвращения колебаний на других частотах. Во многих аналогичных датчиках либо её нет, либо используется сплошная плоскость заземления.

Осциллятор также довольно нестабилен и отклоняется на несколько МГц из-за ёмкости, привносимой движениями руки (hand capacitance), и дрейфа напряжения смещения. По всей видимости, именно из-за этого модуль довольно чувствителен к шумам источника питания.

Но фактически это 2 осциллятора в одном: СВЧ-колебания совершаются с частотой примерно 20 Мгц, создавая на эмиттере следующую форму волны:



Мой осциллограф не может регистрировать 3 ГГц, но эта частота присутствует везде, за исключением нисходящей части сигнала.

Происходит же здесь вот что: в процессе работы осциллятор изменяет ёмкость конденсаторов 33 пФ, поднимая напряжение эмиттера до тех пор, пока не утратит возможность функционировать. В этот момент резистор на 220 Ом разряжает конденсатор, перезапуская процесс осцилляции в считаные наносекунды.

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

Но подождите-ка, если получение сигнала происходит в процессе запуска осциллятора ещё до начала передачи, как датчик может регистрировать смещение фазы из-за движущихся объектов?

При временно́й разнице примерно в 15 нс, любой сигнал, отражённый от статического объекта на расстоянии более 2,5 м, будет поступать во время запуска осциллятора. Такое отражение от неподвижных объектов выступает в качестве локального осциллятора радара. Сверхрегенеративный приёмник обнаруживает амплитудно-модулированный сигнал, полученный в результате наложения сигналов, отражённых от статических и движущихся объектов. В закрытом пространстве со множеством отражений всегда будут присутствовать радиосигналы, позволяющие определить движущиеся объекты, как бы близко они ни находились.

Пожалуй, именно из-за такого подхода к реализации, когда желаемое выдаётся за действительное, радар и демонстрирует столь непоследовательные результаты. Внутри помещений в диапазоне до 5 метров устройство работает вполне неплохо, но на улице в условиях отсутствия отражений от неподвижных объектов он зачастую не работает вообще.

▍ Занятный эксперимент — передатчик в S-диапазоне


В качестве первой доработки я решил убрать конденсаторы, вызывающие пульсацию с частотой 20 МГц:



Это превратило устройство в передатчик. Теперь подача сигнала практически в любую часть осциллятора приводит к его частотной модуляции, и устройство можно амплитудно модулировать, циклически подавая питание.

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

▍ Бистатический радар


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


Сигнал, полученный при передвижении ноутбука к радару и от него

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

При этом он довольно неплохо работает в качестве датчика скорости, выполняя БПФ (быстрое преобразование Фурье) или просто обнаруживая пересечения нулевой точки в промежуточной частоте (на контактах 14/16 микросхемы). Математика тут простая. Для получения скорости достаточно просто умножить длину волны на частоту пульсаций и поделить результат на 2. Например, максимальная частота пульсаций на графике осциллографа составляла 15 Гц, значит скорость была равна .7 м/с:

9.4 cm * 15 Hz / 2 = 70 cm/s = .7 m/s

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

1. По факту в микросхему интегрировано несколько операционных усилителей, двухпороговый компаратор и RC-таймер. Усиление, чувствительность и тайминги устанавливаются с помощью внешних пассивных компонентов. ↩︎

2. Это микрополосковая линия передачи, ¼ длины волны. Конденсатор на её конце замыкает радиочастотный сигнал на землю, отражая его обратно транзистору. Фазовые сдвиги суммируются в 360° (90° в одну сторону, 180° отражение от конденсатора 66 пФ и 90° в обратную сторону), поэтому на частоте 3,18 ГГц линия работает как разомкнутая цепь, а при постоянном токе — как короткозамкнутая. Причём на волнах, нечётно-кратных 3,18 ГГц, возникает резонанс. Возможно, кольцевая структура на задней стороне как раз устраняет эти более высокочастотные колебания. ↩︎

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (5)


  1. Jury_78
    05.07.2024 13:36
    +1

    Оказывается, BISS0001 — это инфракрасный датчик движения?

    Датчик? Так и в оригинале написано?


    1. amartology
      05.07.2024 13:36

      Да, в оригинале написано "детектор"


      1. ABRogov
        05.07.2024 13:36
        +1

        Все же странно, детектор это уже обработка сигнала - детектирование, а датчик это обычно преобразователь физических величин в электрические.


      1. Jury_78
        05.07.2024 13:36

        Детектор лучше чем датчик. По мне так лучше "Контроллер для...". В инструкции к микросхеме написано: "PIR Motion Detector IC"


  1. Zhuikoff
    05.07.2024 13:36
    +1

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