Использование RF-модулей. Использование RF-модулей 433 мгц беспроводной приемник передатчик

433/315 МГц, вы узнаете из этого небольшого обзора. Эти радиомодули обычно продают в паре - с одним передатчиком и одним приемником. Пару можно купить на eBay по $4, и даже $2 за пару, если вы покупаете 10 штук сразу.

Большая часть информации в интернете обрывочна и не очень понятна. Поэтому мы решили проверить эти модули и показать, как получить с их помощью надежную связь USART -> USART.

Распиновка радиомодулей

В общем, все эти радиомодули имеют подключение 3 основных контакта (плюс антенна);

Передатчик

  • Напряжение vcc (питание +) 3В до 12В (работает на 5В)
  • GND (заземление -)
  • Приём цифровых данных.

Приемник

  • Напряжение vcc (питание +) 5В (некоторые могут работать и на 3.3 В)
  • GND (заземление -)
  • Выход полученых цифровых данных.

Передача данных

Когда передатчик не получает на входе данных, генератор передатчика отключается, и потребляет в режиме ожидания около нескольких микроампер. На испытаниях вышло 0,2 мкА от 5 В питания в выключенном состоянии. Когда передатчик получает вход каких-то данных, он излучает на 433 или 315 МГц несущей, и с 5 В питания потребляет около 12 мА.

Передатчик можно питать и от более высокого напряжения (например 12 В), которое увеличивает мощность передатчика и соответственно дальность. Тесты показали с 5 В питанием до 20 м через несколько стен внутри дома.

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

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

Тестирование RF модулей

При испытаниях обоих модулей от +5В источника постоянного тока, а также с 173 мм вертикальной штыревой антенной. (для частоты 433,92 МГц это "1/4 волны"), было получено реальных 20 метров через стены, и тип модулей не сильно влияет на эти тесты. Поэтому можно предположить, что эти результаты типичны для большинства блоков. Был использован цифровой источник сигнала с точной частотой и 50/50 скважностью, это было использовано для модуляции данных передатчика.

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

Выше показан простой вариант блока для последовательной передачи информации микроконтроллеру, которая будет получена с компьютера. Единственное изменение - добавлен танталовый конденсатор 25 В 10 мкф на выводы питания (Vcc и GND) на оба модуля.

Вывод

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

Обсудить статью RF РАДИОМОДУЛИ НА 433 МГЦ

Радио модули: передатчик (FS1000A) и приёмник (MX-RM-5V) - предназначены для передачи данных по радиоканалу, на нелицензируемой частоте 433,920 МГц, лежащей в диапазоне LPD433 (Low Power Device) предназначенном для маломощных устройств.

Характеристики передатчика FS1000A

  • Рабочая частота: 433.920 МГц (указывается на металлическом корпусе модуля);
  • Дальность передачи: до 100 м (в зоне прямой видимости, без антенны);
  • Выходная мощность: до 40 мВт;
  • Напряжение питания: 3 ... 12 В;
  • Ток потребления в режиме ожидания: 0 мА;
  • Ток потребления в режиме передачи: 20 .. 30 мА;
  • Рабочая температура: -10 ... 70 °C;
  • Габариты: 19х19х8 мм;
  • Вес: 2 г;

Характеристики приёмника MX-RM-5V

  • Рабочая частота: 433.920 МГц (указывается в таблице на печатной плате, если это не шаблон 123456789);
  • Тип модуляции: ASK - амплитудная манипуляция;
  • Дальность приёма: до 100 м (в зоне прямой видимости, без антенны);
  • Напряжение питания: 5В;
  • Ток потребления: 4 мА;
  • Габариты 30х14х17 мм;
  • Вес: 4 г;

Подключение

Для удобства подключения к Arduino воспользуйтесь , или .

Передатчик подключается к любым выводам , а подключение приёмника зависит от типа используемой библиотеки:

  • При использовании библиотек , RemoteSwitch, RCSwitch, приёмник подключается только к выводу использующему внешнее прерывание. Но данные библиотеки не используют аппаратные таймеры, а значит не ограничивают Вас в использовании ШИМ.
  • При использовании библиотеки , приёмник подключается к любому выводу . Но библиотека использует первый аппаратный таймер, что накладывает ограничение на использование как данного таймера, так и его выводов ШИМ.

Питание

  • К выводам Vcc и GND передатчика, подаётся напряжение 2 ... 12 В постоянного тока.
  • К выводам Vcc и GND приёмника, подаётся напряжение 5 В постоянного тока.

Подробнее о модулях

  • Передатчик использует цифровой вход для передачи сигнала с использованием амплитудной манипуляции ASK (Amplitude Shift Keying). Амплитудная манипуляция (ASK) отличается от амплитудной модуляции (AM - amplitude modulation) тем, что модулировать можно любой сигнал (как цифровой, так и аналоговый), а манипулировать только цифровым.
  • Данные передаются по радиоканалу на расстоянии до 100 м в пределах прямой видимости (указано производителем)
  • Расстояние уверенного приёма можно увеличить, если подключить антенны к передатчику и приёмнику.
  • Приёмник имеет два, электрически соединённых, цифровых выхода (можно использовать любой). На выходе устанавливается уровень логической «1» при наличии несущей частоты в радиоканале и уровень логического «0» при её отсутствии.
  • В приёмнике реализован блок автоматической регулировки усиления (AGC - Automatic Gain Control) благодаря которому увеличивается дальность приёма, но при отсутствии сигнала от передатчика, на выходе приёмника наблюдаются хаотичные чередования логических уровней.
  • Приемник критичен даже к незначительным пульсациям на шине питания. Если таковые имеются, то приемник принимает их за информационный сигнал, усиливает и выводит на выход в виде логических уровней. Пульсации на шине питания могут вызывать такие устройства как: сервоприводы, LED индикаторы, устройства с собственными генераторами или использующие ШИМ и т.д.
  • Влияние пульсаций на приёмник можно снизить несколькими способами, вот некоторые из них:
    • Использовать, для питания Arduino, внешний источник, а не шину USB. Так как напряжение на выходе многих внешних источников питания контролируется или сглаживается. В отличии от шины USB, где напряжение может существенно «проседать».
    • Установить на шине питания приёмника сглаживающий конденсатор.
    • Использовать отдельное стабилизированное питание для приёмника.
    • Использовать отдельное питание для устройств вносящих пульсации в шину питания.

Антенны

Первый усилитель любого приёмника и последний усилитель любого передатчика, это антенна. Самая простая антенна - штыревая (отрезок провода определённой длины). Длина антенны (как приёмника, так и передатчика), должна быть кратна четверти длины волны несущей частоты. То есть, штыревые антенны, бывают четвертьволновые (L/4), полуволновые (L/2) и равные длине волны (1L).

Новый приемопередатчик 433/868 МГц S2-LP производства STMicroelectronics – преемник известного SPIRIT1. Высокая чувствительность позволила увеличить дальность передачи, а повышенная избирательность, ультранизкое энергопотребление и гибкость настроек при сохранении цены и малых габаритах делают новую микросхему прекрасным бюджетным решением для медицины, сельского хозяйства, охраны природы и интеллектуальных городских систем .

Одним из наиболее динамично развивающихся сегментов современной электроники является Интернет вещей (IoT). Рынок IoT за 2016 год вырос на треть, а в 2017 году ожидается рост на 40%. Отраслевые эксперты предсказывают, что к 2020 году в мире будет насчитываться 20…50 млрд. устройств, подключенных к Интернету. Расширяется и сфера применения IoT: энергетика, промышленность, жилищно-коммунальное, сельское хозяйство, транспорт, медицина – вот лишь некоторые сегменты экономики, в которых активно развивается концепция Интернета вещей. В странах Евросоюза, Китае, Южной Корее и Индии уже известны примеры внедрения IoT на уровне целых городов, благодаря чему удается повысить эффективность управления транспортными потоками и расходом энергии.

Приемопередатчик S2-LP (S2-LP)

Концепция Интернета вещей во многих случаях подразумевает использование радио в качестве канала передачи информации. С увеличением количества передающих устройств растет и уровень электромагнитных помех, что в свою очередь приводит к ужесточению требований к параметрам избирательности радиочастотных приемопередатчиков (трансиверов) и малого уровня энергопотребления. В начале 2017 года компания STMicroelectronics выпустила новый приемопередатчик , обеспечивающий работу в субгигагерцевом диапазоне. Использование радиоканала с частотами до 1 ГГц позволяет добиться максимальной дальности передачи сигнала. Новая микросхема разработана для таких применений как автоматизация зданий, медицина, системы мониторинга для сельского хозяйства, автоматические парковки и интеллектуальные системы ЖКХ по сбору данных со счетчиков ресурсов. Данный приемопередатчик может работать в частотных диапазонах 430…470 МГц и 860…940 МГц. Помимо уже привычных типов модуляции 2-GFSK, OOK и ASK он также поддерживает модуляцию 4-GFSK/D-BPSK, а скорость передачи данных настраивается в диапазоне 0,3…500 кбит/с. S2-LP может работать в сетях LPWAN компании SigFox , а также имеет встроенный обработчик пакетов 802.15.4g. При своих миниатюрных габаритах (4×4 мм, корпус QFN24) данная микросхема обладает превосходными характеристиками: чувствительность до -130 дБм при скорости передачи данных 300 бит/с, выходная мощность на антенном разъеме – до 16 дБм. Кроме того, стоит отметить и отличные параметры энергопотребления: ток потребления 10 мА при выходной мощности 10 дБм в режиме низкого энергопотребления; 8 мА на приеме в режиме высокой производительности; 350 нА – в режиме ожидания.

По сравнению со своим предшественником, приемопередатчиком , у S2-LP повышена чувствительность, благодаря чему увеличивается дальность передачи сигнала. Высокая избирательность S2-LP позволяет создавать на его основе устройства, которые будут соответствовать требованиям стандартов EN300-220 и EN303-131 к устройствам категории 1. Впервые примененный усилитель класса E позволил достигнуть лучшего в отрасли энергопотребления в режиме передачи. Приемопередатчик S2-LP является одним из лучших по параметрам радио (в частности, чувствительности и избирательности приемного тракта, а также диапазону выходных частот и улучшенной фильтрации). Также он имеет ультрамалое потребление, что делает его оптимальным выбором для самых требовательных приложений.

Технические параметры S2-LP

Рассмотрим отдельные технические параметры S2-LP и сравним их с соответствующими параметрами SPIRIT1. У приемопередатчика S2-LP повышена чувствительность за счет уменьшения наведенных помех. Это стало возможным вследствие разнесения SMPS-блока и ВЧ-тракта на печатной плате (рисунок 1) и увеличению расстояния между выводами SMPS и ВЧ-частью микросхемы (рисунок 2). Также была изменена схема внутреннего питания для организации лучшей развязки отдельных напряжений.

Рис. 1. Взаимное расположение SMPS-блока и ВЧ -тракта на печатной плате у приемопередатчиков SPIRIT1 и S2-LP (SPIRIT2)

Сравнение чувствительности приемопередатчиков SPIRIT1 и S2-LP при модуляции 2-FSK приведено на рисунке 3. На нем мы видим, что среднее значение практического улучшения чувствительности приемопередатчика S2-LP по сравнению с таковой у микросхемы SPIRIT1 составляет 3 дБ в диапазоне скорости передачи данных 1,2…250 кбит/с. Микросхема S2-LP соответствует требованиям для работы в сети SigFox, где необходимо иметь чувствительность приемопередатчика не ниже -126 дБм при скорости передачи данных 600 бит/с.

В таблице 1 приведены ориентировочные значения дальности передачи сигнала приемопередатчиками SPIRIT1 и S2-LP при выходной мощности 10 дБм, скорости передачи данных 1,2 кбит/с и коэффициенте усиления антенны 0 дБи.

Таблица 1. Дальности связи SPIRIT1 и S2-LP

Среда распространения Радиус действия, м
SPIRIT1 S2-LP
Помещение 73 82
Городская среда 442 525
Открытое пространство 11200 14800

В современном мире параметр избирательности, то есть способности декодирования принимаемого сигнала в присутствии значительных помех на соседних частотах, играет важную роль, так как появляется все больше и больше устройств, работающих в диапазонах ISM, а также LTE-оборудование на смежных частотах. Различные стандарты разделяют устройства на категории по избирательности, а стандарты EN300-220 и EN303-131 предъявляют к устройствам категории 1 требование избирательности по соседнему каналу не менее 60 дБ при отстройке 2 МГц/10 МГц не менее 84 дБ. На сегодняшний день на рынке отсутствуют радиочастотные приемопередатчики, полностью соответствующие критериям категории 1 на частотах 433 и 868 МГц. Для устранения этого несоответствия приходится применять узкополосные ПАВ-фильтры, что негативно сказывается на стоимости изделия и его чувствительности (вносимые фильтром потери составляют ориентировочно 3 дБ). На малых скоростях передачи данных S2-LP соответствует требованиям категории 1, что позволяет избавиться от необходимости использования ПАВ-фильтра. По сравнению с микросхемой SPIRIT1 у приемопередатчика S2-LP улучшена фильтрация при отстройке 2 МГц (рисунок 4), а его канальный фильтр программируется вплоть до значения 6,25 кГц (у SPIRIT1 – до 12,5 кГц).

У приемопередатчика S2-LP предусмотрено несколько LDO для организации питания различных блоков. Гибкая система питания включает несколько режимов:

  • BM (Boost Mode) – режим повышенной мощности, в котором на антенном разъеме возможно получить мощность +16 дБм;
  • HPM (High Performance Mode) – режим высокой производительности, в котором задействуются внутренние LDO и достигается наилучшая изоляция вкупе с минимальными шумами и пульсацией SMPS;
  • LPM (Low Power Mode) – режим малого энергопотребления, в котором все узлы питаются напрямую от SMPS в обход внутренних LDO, а также повышается КПД.

Все перечисленные режимы питания доступны на одной печатной плате с одним перечнем элементов. Выходное напряжение SMPS программируется с шагом 0,1 В в диапазоне 1,1…1,8 В.

В таблицах 2, 3 и 4 приведены типовые значения параметров микросхемы S2-LP в зависимости от выбранного режима питания.

Таблица 2. Типовые значения тока потребления приемопередатчиков SPIRIT1 и S2-LP в зависимости от режима питания при напряжении питания 3 В

Таблица 3. Типовые значения чувствительности приемопередатчика S2-LP для частот 433 МГц
и 868 МГц в зависимости от режима питания при скорости передачи данных 300 бит/с

Таблица 4. Типовые значения избирательности приемопередатчика S2-LP для различных отстроек
в зависимости от режима питания при скорости передачи данных 1200 бит/с

Отстройка Избирательность в режиме:
LPM (Vsmps = 1,2 В), дБ LPM (Vsmps = 1,2 В), дБ
+/- 2 МГц 82 81
+/- 10 МГц 85 84
Соседний канал 49 59

Как и у микросхемы SPIRIT1, у S2-LP есть режимы ожидания (Stand-by) и сна (Sleep A), однако у S2-LP есть и второй режим сна – Sleep B, в котором стало возможным сохранение данных в FIFO. В режимах же Stand-by и Sleep A ток потребления S2-LP значительно снижен по сравнению с его величиной у SPIRIT1, в чем можно убедиться, ознакомившись с данными таблицы 5.

Таблица 5. Типовые значения тока потребления SPIRIT1 и S2-LP

В приемопередатчике SPIRIT1 усилитель работал в классах AB и E, что являлось компромиссом между производительностью и энергопотреблением. В микросхеме S2-LP использован усилитель класса E, что позволяет максимизировать КПД и получить технически более совершенное решение. S2-LP является лучшим в своем классе трансивером по току потребления в режиме передачи (10 мА при 10 мВт).

Кроме того, S2-LP можно использовать с внешним интегральным балуном, который будет доступен в двух версиях: для диапазонов 433 МГц и 868 МГц.

При работе над программным обеспечением S2-LP были учтены замечания разработчиков к SPIRIT1. В частности, у S2-LP появился гибкий обработчик пакетов, благодаря чему поддерживаются преамбула большой длительности, синхрослово длиной до 64 бит (с точностью до бита), а также код Манчестера. Все это избавляет микроконтроллер от лишней обработки данных, что приводит к оптимизации энергопотребления на системном уровне.

S2-LP имеет встроенный обработчик пакетов стандарта 802.15.4g: декодирование физического уровня 802.15.4g, обработку полезной нагрузки 802.15.4g со 128-битным FIFO, возможность работы с двумя синхрословами, а также совместимый с 802.15.4g CRC. Все это упрощает реализацию стека 6LoWPAN.

Как уже упоминалось ранее, S2-LP поддерживает DUAL SYNC (то есть работу с двумя синхрословами). Вкратце работу в этом режиме можно описать следующим образом: микроконтроллер, управляющий S2-LP, попеременно задействует частоты 433 и 868 МГц до тех пор, пока не будет получен пакет с одним из синхрослов; при детектировании синхрослова происходит прием сигнала на частоте, соответствующей данному синхрослову. Благодаря быстрому обнаружению синхрослова снижаются ограничения на тайминги, что положительно влияет на быстродействие системы.

Как и у приемопередатчика SPIRIT1, у микросхемы S2-LP есть режим быстрого прекращения приема (Sniff Mode), однако в алгоритмах их работы есть различие. Вкратце логику работы этого режима у приемопередатчика SPIRIT1 можно описать следующим образом: находясь в режиме сна, приемопередатчик периодически пробуждается на короткое время для измерения уровня принимаемого сигнала (RSSI); если RSSI ниже порогового уровня, то приемопередатчик возвращается в режим сна; в противном случае приемопередатчик остается в режиме приема вплоть до конца пакета, после чего принимается решение о валидности принятых данных. Схематичная временная диаграмма работы SPIRIT1 в режиме Sniff Mode приведена на рисунке 5.

Приемопередатчик S2-LP дополнительно обрабатывает ложное обнаружение данных. Работает это следующим образом: как и в случае со SPIRIT1, S2-LP находится в режиме сна до тех пор, пока RSSI не превысит пороговое значение, после чего запускается новый таймер, в окне которого можно задействовать оценку качества сигнала; если один из индикаторов качества не соответствует ожиданиям, то прием сигнала мгновенно прекращается, а приемопередатчик снова переходит в режим сна. Таким образом, при ложном захвате нет необходимости ждать окончания пакета, что помогает добиться снижения тока потребления. Схематичная временная диаграмма работы S2-LP в режиме Sniff Mode приведена на рисунке 6.

Средства разработки

Для того чтобы разработчики смогли на практике оценить возможности приемопередатчика S2-LP, компания ST предлагает наборы для разработки на базе S2-LP – (для частот 868/915 МГц) и Steval-FKI433 (для частоты 433 МГц). Внешний вид набора Steval-FKI868 представлен на рисунке 7.

В обоих случаях элементы обвязки четко разделены по функциональным блокам, что является отличным примером расстановки элементов с участием S2-LP и позволяет разработчикам быстрее освоиться с логикой работы платы, а также – в будущем – легко перенести подобное расположение элементов на свою печатную плату. На рисунке 8 представлено увеличение области с элементами обвязки на плате Steval-FKI868, а на рисунке 9 – соответствующая трассировка печатной платы.

Как в Steval-FKI868, так и в Steval-FKI433 материнской платой является , содержащая на борту микроконтроллер , дебаггер-программатор ST-LINK/V2-1 с разъемом SWD, несколько вариантов питания, три светодиода, две кнопки и USB-порт. Осуществляется поддержка нескольких интегрированных сред разработки, таких как IAR™, ARM® Keil® и других.

В комплект поставки обоих наборов входит подробная документация, а также набор программного обеспечения STSW-S2LP-DK, в который входят:

  • графическая оболочка S2-LP DK GUI для Windows, представляющая собой интерактивный интерфейс регистров S2-LP и предназначенная для удобного конфигурирования параметров РЧ и обработчика пакетов;
  • библиотеки S2-LP и примеры кода;
  • низкоуровневый API для сопряжения материнской платы с дочерней платой;
  • драйвер HAL для ;
  • драйверы для ПК (виртуальный USB + устройство хранения данных).

Заключение

Новый приемопередатчик S2-LP имеет ряд преимуществ, благодаря которым он может с успехом применяться в системах с повышенными требованиями к времени жизни батареи и дальности связи. Малый уровень энергопотребления позволяет приемопередатчику работать более 10 лет от дискового элемента . Высокая выходная мощность 16 дБм и чувствительность -130 дБм позволяют передавать данные на расстояние более 10 км. Разумеется, всегда существует компромисс между выходной мощностью и потреблением, между чувствительностью и скоростью передачи данных. Благодаря чрезвычайной гибкости настроек радио, разработчик с помощью S2-LP сможет создать радиолинк, максимально оптимизированный под конкретные задачи. Высокие радиочастотные характеристики нового трансивера не привели к повышению цены микросхемы, что позволяет использовать S2-LP даже в бюджетных приложениях.

На том же Aliexpress нашел недорогие радиомодули. Небольшие платы (не больше 2-3 см) с распаянными на них передатчиком и приемником диапазона 315МГц или 433МГц (указываем при заказе). В пересчете на один модуль цена получается 20-25 рублей. Юго-восточные соседи именуют данные конструкции так: RF wireless receiver module & transmitter module board.

Оказалось - очень интересные и полезные устройства для решения задачи передачи небольшого объема данных на короткие расстояния (в пределах 10-20 метров). Продаются, как правило, комплектами: передатчик + приемник.

Вроде бы радиопередатчик, но согласно «Перечня радиоэлектронных средств, для которых не требуется разрешений на использование», устройства дистанционного управления охранной сигнализации и оповещения в диапазоне 315/433МГц ±0,2% с выходной мощностью до 10 мВт могут эксплуатироваться без специальной регистрации. Радиочастотные модули очень просты в применении - для включения модуля достаточно подать питание, передаваемые данные и подключить антенну.

Такие модули широко распространены в бытовой технике. Они применяются, например в схемах: дистанционного управления люстрой, беспроводного дверного звонка и т.д.

Передатчик

Приемник

Радиомодуль приемника собран на печатной плате несколько большего размера 15х30мм по примерной схеме показанной на рисунке слева (схемка взята отсюда). За совпадение изображенного с оригиналом не ручаюсь, но общий принцип работы из рисунка ясен: есть транзисторный приемник ВЧ сигнала, к выходу которого через ФНЧ подключен компаратор на операционном усилителе. Таким образом, при наличии сигнала на входе приемника в указанном диапазоне, на выходе получаем "единицу", при отсутствии сигнала - "ноль". Приемник, имевшийся в моем распоряжении, несколько отличается от приведенной схемы. В частности, подстройка частоты производится не конденсатором, а индуктивностью (см фото), а выход операционного усилителя прямо подключен к линии DATA.

Примерные параметры устройства (по данным продавца с вышеуказанного сайта):

  • Питание (VCC) +5В.
  • Потребляемый ток не замерял, обещают - не выше 4мА.
  • Чувствительность приемника обещают на уровне 5мкВ...
Простейший вид модуляции (ООК) обладает рядом недостатков, главный из которых - низкая помехоустойчивость. Во время передачи лог. «О» передатчик не излучает несущей, и любая помеха на рабочей частоте приведет к наличию сигнала лог. «1» на выходе приемника. Без применения кодеров/декодеров использовать радиомодули, практически, невозможно. Действительно, осциллограмма сигнала на выходе приемника в отсутствии излучения передатчика представляет собой "хаотическое" появление лог."1".
Подключение модуля: GND - общий провод питания, VCC - питание приемника, DATA - выход приемника - можно трактовать как TTL сигнал и подавать его на вход микроконтроллера. К выводу ANT подключается антенна, в качестве которой можно оспользовать "четверть-волновый штырь" - отрезок провода 17см для диапазона 433МГц (но можно и подлиннее что-нибудь прицепить).

Иногда, между устройствами требуется установить беспроводное соединение. В последнее время для этой цели все чаще стали применять Bluetooth и Wi-Fi модули. Но одно дело передавать видео и здоровенные файлы, а другое - управлять машинкой или роботом на 10 команд. С другой стороны радиолюбители часто строят, налаживают и переделывают заново приемники и передатчики для работы с готовыми шифраторами/дешифраторами команд. В обеих случаях можно использовать достаточно дешевые RF-модули. Особенности их работы и использования под катом.

Типы модулей

RF-модули для передачи данных работают в диапазоне УКВ и используют стандартные частоты 433МГц, 868МГц либо 2,4ГГц (реже 315МГц, 450МГц, 490МГц, 915МГц и др.) Чем выше несущая частота, тем с большей скоростью можно передавать информацию.
Как правило, выпускаемые RF-модули предназначены для работы с каким-либо протоколом передачи данных. Чаще всего это UART (RS-232) или SPI. Обычно UART модули стоят дешевле, а так же позволяют использовать нестандартные (пользовательские) протоколы передачи. Вначале я думал склепать что-то типа такого , но вспомнив свой горький опыт изготовления аппаратуры радиоуправления выбрал достаточно дешевые HM-T868 и HM-R868 (60грн. = менее $8 комплект). Существуют также модели HM-*315 и HM-*433 отличающиеся от нижеописанных лишь несущей частотой (315МГц и 433МГц соответственно). Кроме того есть множество других модулей аналогичных по способу работы, поэтому информация может быть полезной обладателям и других модулей.

Передатчик

Почти все RF-модули представляют собой небольшую печатную плату с контактами для подключения питания, передчи данных и управляющих сигналов. Рассмотрим передатчик(трансмиттер) HM-T868
На нем имеется трехконтактный разъем: GND(общий), DATA(данные), VCC(+питания), а также пятачок для припайки антенны(я использовал огрызок провода МГТФ на 8,5см - 1/4 длинны волны).

Приемник

Ресивер HM-R868, внешне, очень похож на соответствующий ему трансмиттер

но на его разъеме есть четвертый контакт - ENABLE, при подаче на него питания приемник начинает работать.

Работа

Судя по документации, рабочим напряжением является 2,5-5В, чем выше напряжение, тем большая дальность работы. По сути дела - это радиоудлинитель: при подаче напряжения на вход DATA передатчика, на выходе DATA приемника так же появится напряжение (при условии что на ENABLE также будет подано напряжение). НО, есть несколько нюансов. Во-первых: частота передачи данных (в нашем случае - это 600-4800 бит/с). Во-вторых: если на входе DATA нету сигнала более чем 70мс, то передатчик переходит в спящий режим(по-сути отключается). В-третьих: если в зоне приема ресивера нету работающего передатчика - на его выходе появляется всякий шум.

Проведем небольшой эксперимент: к контактам GND и VCC трансмиттера подключим питание. Вывод DATA соединим с VCC через кнопку или джампер. К контактам GND и VCC ресивера также подключаем питание, ENABLE и VCC замыкаем между собой. К выходу DATA подключаем светодиод (крайне желательно через резистор). В качестве антенн используем любой подходящий провод длинной в 1/4 длинны волны. Должна получиться такая схемка:


Сразу после включения приемника и/или подачи напряжения на ENABLE должен загореться светодиод и гореть непрерывно (ну или почти непрерывно). После нажатии кнопки на передатчике, со светодиодом также ничего не происходит - он продолжает гореть и дальше. При отпускании кнопки светодиод мигнет(погаснет и снова загорится) и продолжает гореть дальше. При повторном нажатии и отпускании кнопки все должно повторится. Что же там происходило? Во время включения приемника, передатчик находился в спящем состоянии, приемник не нашел нормального сигнала и стал принимать всякий шум, соответственно и на выходе появилась всякая бяка. На глаз отличить непрерывный сигнал от шума нереально, и кажется, что светодиод светит непрерывно. После нажатия кнопки трансмиттер выходит из спячки и начинает передачу, на выходе ресивера появляется логическая «1» и светодиод светит уже действительно непрерывно. После отпускания кнопки передатчик передает логический «0», который принимается приемником и на его выходе также возникает «0» - светодиод, наконец, гаснет. Но спустя 70мс передатчик видит что на его входе все тот же «0» и уходит в сон, генератор несущей частоты отключается и приемник начинает принимать всякие шумы, на выходе шум - светодиод опять загорается.

Из вышесказанного следует, что если на входе трансмиттера сигнал будет отсутствовать менее 70мс и находится в правильном диапазоне частот, то модули будут вести себя как обычный провод (на помехи и другие сигналы мы пока не обращаем внимания).

Формат пакета

RF-модули данного типа можно подключить напрямую к аппаратному UART или компьютеру через MAX232, но учитывая особенности их работы я бы посоветовал использовать особые протоколы, описанные программно. Для своих целей я использую пакеты следующего вида: старт-биты, байты с информацией, контрольный байт(или несколько) и стоп-бит. Первый старт-бит желательно сделать более длинным, это даст время чтобы передатчик проснулся, приемник настроился на него, а принимающий микроконтроллер(или что там у Вас) начал прием. Затем что-то типа «01010», если на выходе приемника такое, то это скорее всего не шум. Затем можно поставить байт идентификации - поможет понять какому из устройств адресован пакет и с еще большей вероятностью отбросит шумы. До этого момента информацию желательно считывать и проверять отдельными битами, если хоть один из них неправильный - завершаем прием и начинаем слушать эфир заново. Дальше передаваемую информацию можно считывать сразу по байтам, записывая в соответствующие регистры/переменные. По окончании приема выполняем контрольное выражение, если его результат равен контрольному байту - выполняем требуемые действия с полученной информацией, иначе - снова слушаем эфир. В качестве контрольного выражения можно считать какую-нибудь контрольную сумму, если передаваемой информации немного, либо Вы не сильны в программировании - можно просто посчитать какое-то арифметическое выражение, в котором переменными будут передаваемые байты. Но необходимо учитывать то, что в результате должно получится целое число и оно должно поместится в количество контрольных байт. Поэтому лучше вместо арифметических операций использовать побитовые логические: AND, OR, NOT и, особенно, XOR. Если есть возможность, делать контрольный байт нужно обязательно так как радиоэфир - вещь очень загаженная, особенно сейчас, в мире электронных девайсов. Порой, само устройство может создавать помехи. У меня, например, дорожка на плате с 46кГц ШИМ в 10см от приемника очень сильно мешала приему. И это не говоря о том, что RF-модули используют стандартные частоты, на которых в этот момент могут работать и другие устройства: рации, сигнализации, радиоуправление, телеметрия и пр.